#ifndef AST_H #define AST_H #include enum NODE_TYPE { PROGRAM_NODE, TYPE_NODE, ARGUMENT_NODE }; typedef struct ast_node_data { void* value; void* type; } ast_node_data; typedef struct ast_node { int type; ast_node_data* data; struct ast_node* left; struct ast_node* right; } ast_node; ast_node* create_program_node(ast_node* previous_node, ast_node* current_node); #endif // AST_H