diff options
Diffstat (limited to 'src/ast.h')
-rw-r--r-- | src/ast.h | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -38,6 +38,13 @@ typedef struct ast_function_declaration_t { ast_node_t* body; } ast_function_declaration_t; +typedef struct ast_binary_operation_t { + // FIXME: We want to use enum to distinguish operators + string_view_t op; + ast_node_t* left; + ast_node_t* right; +} ast_binary_operation_t; + typedef enum { AST_LITERAL_INTEGER } ast_literal_kind_t; @@ -59,6 +66,7 @@ typedef struct ast_visitor_t { typedef enum { AST_FUNCTION_DECLARATION, + AST_BINARY_OPERATION, AST_LITERAL, AST_RETURN_STMT, AST_UNKOWN_NODE @@ -66,6 +74,7 @@ typedef enum { typedef union { ast_function_declaration_t function; + ast_binary_operation_t binary_operation; ast_literal_t literal; ast_return_stmt_t return_stmt; } ast_node_data_t; |