updated stuff in ast

This commit is contained in:
Maieul BOYER 2024-08-02 17:05:20 +02:00
parent 27067e158e
commit 7ac90bac55
No known key found for this signature in database
20 changed files with 171 additions and 150 deletions

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
void ast_print_node_if(t_ast_node self)
{

View file

@ -6,11 +6,21 @@
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/07/26 10:55:52 by rparodi #+# #+# */
/* Updated: 2024/08/02 15:48:33 by rparodi ### ########.fr */
/* Updated: 2024/08/02 16:58:13 by maiboyer ### ########.fr */
/* */
/* ************************************************************************** */
#include "./from_node.h"
#include "ast/_from_node.h"
#include "ast/ast.h"
#include "gmr/field_identifiers.h"
#include "gmr/field_identifiers.h"
#include "gmr/symbols.h"
#include "gmr/symbols.h"
#include "me/str/str.h"
#include "me/types.h"
#include "me/vec/vec_ast.h"
#include "parser/api.h"
#include <stdio.h>
/*
sym_arithmetic_binary_expression

View file

@ -1,118 +0,0 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* from_node.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/08/02 14:47:50 by rparodi #+# #+# */
/* Updated: 2024/08/02 15:47:55 by rparodi ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef FROM_NODE_H
# define FROM_NODE_H
# include "ast/ast.h"
# include "gmr/field_identifiers.h"
# include "gmr/symbols.h"
# include "me/mem/mem.h"
# include "me/str/str.h"
# include "me/types.h"
# include "me/vec/vec_ast.h"
# include "parser/api.h"
# include <inttypes.h>
# include <stdio.h>
t_ast_node ast_alloc(t_ast_node_kind kind);
t_error build_sym_case_item(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_case_statement(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_command(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_command_name(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_comment(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_compound_statement(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_elif_clause(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_else_clause(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_extglob_pattern(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_file_redirect(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_for_statement(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_function_definition(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_if_statement(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_list(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_negated_command(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_number(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_pipeline(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_program(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_raw_string(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_redirected_statement(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_regex(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_simple_expansion(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_string_content(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_subshell(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_variable_assignment(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_while_statement(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_word(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_expansion(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_command_substitution(\
t_parse_node self, t_const_str input, t_ast_node *out);
/* FUNCTION DONE BUT BY RAPH */
t_error build_sym_arithmetic_binary_expression(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_arithmetic_literal(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_arithmetic_parenthesized_expression(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_arithmetic_postfix_expression(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_arithmetic_ternary_expression(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_arithmetic_unary_expression(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_arithmetic_expansion(\
t_parse_node self, t_const_str input, t_ast_node *out);
// TODO: This is my homework,
// it'll need to be handled in a special way I feel...
t_error build_sym_heredoc_redirect(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_simple_heredoc_body(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_heredoc_body(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_heredoc_content(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_heredoc_end(\
t_parse_node self, t_const_str input, t_ast_node *out);
t_error build_sym_heredoc_start(\
t_parse_node self, t_const_str input, t_ast_node *out);
#endif

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
void ast_print_node_command_substitution(t_ast_node self)
{

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
void ast_print_node_empty(t_ast_node self)
{

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
void ast_print_node_variable_assignment(t_ast_node self)
{

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
void ast_print_node_file_redirection_heredoc(t_ast_node self)
{

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
void ast_print_node_subshell(t_ast_node self)
{

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
void _print_term(t_ast_terminator_kind term)
{

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
void ast_print_node_arithmetic_expansion(t_ast_node self)
{

View file

@ -10,7 +10,7 @@
/* */
/* ************************************************************************** */
#include "ast/_function_declaration.h"
#include "ast/_print_ast.h"
/*
t_ast_arithmetic_expansion arithmetic_expansion;