summaryrefslogtreecommitdiff
path: root/src/compiler/parser.c
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-04-30 02:43:55 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-04-30 02:43:55 +0330
commit141e7fb5fe016bc754d600159b479f7e11b407d8 (patch)
treef9cfe2a1ed519b84207148311f3fb3b8dc90693e /src/compiler/parser.c
parent3a4fa4b89280046885dc044ce4f9761f5eeaa9e1 (diff)
fixing some bugs in new way of operators and printing
Diffstat (limited to 'src/compiler/parser.c')
-rw-r--r--src/compiler/parser.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/compiler/parser.c b/src/compiler/parser.c
index b7a6226..6e8283a 100644
--- a/src/compiler/parser.c
+++ b/src/compiler/parser.c
@@ -244,6 +244,18 @@ void parserNodePrint(const ParserNode *node, int indent) {
case PARSER_TOKEN_BUILTIN_IS_COMPTIME:
case PARSER_TOKEN_BUILTIN_STACK_ALLOC:
case PARSER_TOKEN_BUILTIN_HEAP_ALLOC:
+ case PARSER_TOKEN_BUILTIN_NEG:
+ case PARSER_TOKEN_BUILTIN_ADD:
+ case PARSER_TOKEN_BUILTIN_SUB:
+ case PARSER_TOKEN_BUILTIN_MUL:
+ case PARSER_TOKEN_BUILTIN_DIV:
+ case PARSER_TOKEN_BUILTIN_MOD:
+ case PARSER_TOKEN_BUILTIN_EQUAL:
+ case PARSER_TOKEN_BUILTIN_NOT_EQUAL:
+ case PARSER_TOKEN_BUILTIN_GREATER:
+ case PARSER_TOKEN_BUILTIN_SMALLER:
+ case PARSER_TOKEN_BUILTIN_GREATER_OR_EQUAL:
+ case PARSER_TOKEN_BUILTIN_SMALLER_OR_EQUAL:
case PARSER_TOKEN_TYPE_TYPE:
case PARSER_TOKEN_TYPE_VOID:
case PARSER_TOKEN_TYPE_BOOL:
@@ -741,6 +753,9 @@ ParserNode *parserFromPath(const char *filePath
ParserNode *parser(LexerNodeArray lexed) {
ParserNode *root = newParserNode(PARSER_TOKEN_ROOT, NULL, NULL, NULL, NULL);
if (parserNodeArray(lexed.data, lexed.data + lexed.size, root)) {
+#ifdef PRINT_COMPILE_TREE
+ parserNodePrint(root, 0);
+#endif
return root;
} else {
free(root);