From 0ff9508bb0ea7193b0101c3cd9b4ae594e44fd02 Mon Sep 17 00:00:00 2001
From: A404M <ahmadmahmoudiprogrammer@gmail.com>
Date: Thu, 13 Feb 2025 17:42:22 +0330
Subject: some clean up

---
 src/compiler/ast-tree.c | 5 ++++-
 src/compiler/lexer.c    | 1 +
 src/compiler/parser.c   | 1 +
 src/runner/runner.c     | 1 +
 4 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/compiler/ast-tree.c b/src/compiler/ast-tree.c
index b201c57..3e01b0b 100644
--- a/src/compiler/ast-tree.c
+++ b/src/compiler/ast-tree.c
@@ -554,6 +554,8 @@ AstTree *copyAstTree(AstTree *tree) {
     return newAstTree(tree->token, new_metadata, copyAstTree(tree->type),
                       tree->str_begin, tree->str_end);
   }
+  case AST_TREE_TOKEN_KEYWORD_IF:
+  case AST_TREE_TOKEN_SCOPE:
   case AST_TREE_TOKEN_NONE:
   }
   printLog("Bad token %ld", tree->token);
@@ -741,6 +743,7 @@ RETURN_ERROR:
 
 bool pushVariable(AstTreeHelper *helper, AstTreeVariables *variables,
                   AstTreeVariable *variable) {
+  (void)helper;
   for (size_t j = 0; j < variables->size; ++j) {
     char *var_begin = variables->data[j]->name_begin;
     char *var_end = variables->data[j]->name_end;
@@ -1448,7 +1451,7 @@ AstTree *astTreeParseCurlyBracket(ParserNode *parserNode,
 
 RETURN_ERROR:
   for (size_t i = 0; i < scope->expressions_size; ++i) {
-    // astTreeDelete(scope->expressions[i]);
+    astTreeDelete(scope->expressions[i]);
   }
   free(scope->variables.data);
   free(scope->expressions);
diff --git a/src/compiler/lexer.c b/src/compiler/lexer.c
index 7ea8f43..2e3090b 100644
--- a/src/compiler/lexer.c
+++ b/src/compiler/lexer.c
@@ -215,6 +215,7 @@ void lexerPushClear(LexerNodeArray *array, size_t *array_size, char *iter,
     }
   }
     // goto PUSH;
+    // fall through
   PUSH:
   case LEXER_TOKEN_KEYWORD_TYPE:
   case LEXER_TOKEN_KEYWORD_VOID:
diff --git a/src/compiler/parser.c b/src/compiler/parser.c
index 3b21074..26d53fb 100644
--- a/src/compiler/parser.c
+++ b/src/compiler/parser.c
@@ -766,6 +766,7 @@ ParserNode *parserNumber(LexerNode *node, ParserNode *parent) {
       printError(node->str_begin, node->str_end, "Not implemented");
       return NULL;
     }
+    // fall through
   default: {
     bool success;
     uint64_t value = decimalToU64(node->str_begin, node->str_end, &success);
diff --git a/src/runner/runner.c b/src/runner/runner.c
index d36562a..2ab97a9 100644
--- a/src/runner/runner.c
+++ b/src/runner/runner.c
@@ -277,6 +277,7 @@ AstTree *runExpression(AstTree *expr, RunnerVariablePages *pages) {
   case AST_TREE_TOKEN_TYPE_TYPE:
   case AST_TREE_TOKEN_TYPE_FUNCTION:
   case AST_TREE_TOKEN_TYPE_VOID:
+  case AST_TREE_TOKEN_TYPE_I64:
   case AST_TREE_TOKEN_TYPE_U64:
   case AST_TREE_TOKEN_TYPE_BOOL:
   case AST_TREE_TOKEN_VARIABLE:
-- 
cgit v1.2.3