66 lines
2.8 KiB
C
66 lines
2.8 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* function_declaration.h :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* Created: 2024/07/26 11:30:24 by rparodi #+# #+# */
|
|
/* Updated: 2024/07/26 12:59:29 by rparodi ### ########.fr */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#ifndef FUNCTION_DECLARATION_H
|
|
# define FUNCTION_DECLARATION_H
|
|
|
|
# include "ast/ast.h"
|
|
# include "me/types.h"
|
|
# include <stdio.h>
|
|
|
|
#define NOT_DONE \
|
|
{ \
|
|
printf("function `%s` isn't done !\n", __func__); \
|
|
(void)(self); \
|
|
}
|
|
|
|
void ast_print_node(t_ast_node self);
|
|
|
|
void ast_print_node_command(t_ast_node self);
|
|
void ast_print_node_command_substitution(t_ast_node self);
|
|
void ast_print_node_compound_statement(t_ast_node self);
|
|
void ast_print_node_expansion(t_ast_node self);
|
|
void ast_print_node_extglob(t_ast_node self);
|
|
void ast_print_node_file_redirection(t_ast_node self);
|
|
void ast_print_node_list(t_ast_node self);
|
|
void ast_print_node_pipeline(t_ast_node self);
|
|
void ast_print_node_program(t_ast_node self);
|
|
void ast_print_node_raw_string(t_ast_node self);
|
|
void ast_print_node_regex(t_ast_node self);
|
|
void ast_print_node_subshell(t_ast_node self);
|
|
void ast_print_node_variable_assignment(t_ast_node self);
|
|
void ast_print_node_word(t_ast_node self);
|
|
void ast_print_node_function_definition(t_ast_node self);
|
|
void ast_print_node_arithmetic_expansion(t_ast_node self);
|
|
void ast_print_node_function_definition(t_ast_node self);
|
|
void ast_print_node_variable_assignment(t_ast_node self);
|
|
void ast_print_node_pipeline(t_ast_node self);
|
|
void ast_print_node_list(t_ast_node self);
|
|
|
|
/*^^^ DONE ^^^*/
|
|
/*vvv NOT DONE vvv*/
|
|
|
|
void ast_print_node_if(t_ast_node self);
|
|
void ast_print_node_case(t_ast_node self);
|
|
void ast_print_node_case_item(t_ast_node self);
|
|
void ast_print_node_elif(t_ast_node self);
|
|
void ast_print_node_else(t_ast_node self);
|
|
void ast_print_node_for(t_ast_node self);
|
|
void ast_print_node_until(t_ast_node self);
|
|
void ast_print_node_while(t_ast_node self);
|
|
void ast_print_node_heredoc_redirection(t_ast_node self);
|
|
|
|
/// HELPER_FUNCS
|
|
|
|
void _print_term(t_ast_terminator_kind term);
|
|
|
|
#endif
|