From 441519c4cf0ba7b4d63a2cd761e5553ea925de32 Mon Sep 17 00:00:00 2001
From: A404M <ahmadmahmoudiprogrammer@gmail.com>
Date: Thu, 13 Feb 2025 15:09:19 +0330
Subject: add i64

---
 src/compiler/lexer.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

(limited to 'src/compiler/lexer.c')

diff --git a/src/compiler/lexer.c b/src/compiler/lexer.c
index 1f45be0..6b9fb60 100644
--- a/src/compiler/lexer.c
+++ b/src/compiler/lexer.c
@@ -14,6 +14,7 @@ const char *LEXER_TOKEN_STRINGS[] = {
 
     "LEXER_TOKEN_KEYWORD_TYPE",
     "LEXER_TOKEN_KEYWORD_VOID",
+    "LEXER_TOKEN_KEYWORD_I64",
     "LEXER_TOKEN_KEYWORD_U64",
     "LEXER_TOKEN_KEYWORD_BOOL",
     "LEXER_TOKEN_KEYWORD_PRINT_U64",
@@ -69,15 +70,16 @@ const size_t LEXER_SYMBOL_SIZE =
     sizeof(LEXER_SYMBOL_TOKENS) / sizeof(*LEXER_SYMBOL_TOKENS);
 
 const char *LEXER_KEYWORD_STRINGS[] = {
-    "type",   "void", "u64",   "bool", "print_u64",
-    "return", "true", "false", "if",   "else",
+    "type",   "void", "i64",   "u64", "bool", "print_u64",
+    "return", "true", "false", "if",  "else",
 };
 const LexerToken LEXER_KEYWORD_TOKENS[] = {
-    LEXER_TOKEN_KEYWORD_TYPE,      LEXER_TOKEN_KEYWORD_VOID,
-    LEXER_TOKEN_KEYWORD_U64,       LEXER_TOKEN_KEYWORD_BOOL,
-    LEXER_TOKEN_KEYWORD_PRINT_U64, LEXER_TOKEN_KEYWORD_RETURN,
-    LEXER_TOKEN_KEYWORD_TRUE,      LEXER_TOKEN_KEYWORD_FALSE,
-    LEXER_TOKEN_KEYWORD_IF,        LEXER_TOKEN_KEYWORD_ELSE,
+    LEXER_TOKEN_KEYWORD_TYPE,   LEXER_TOKEN_KEYWORD_VOID,
+    LEXER_TOKEN_KEYWORD_I64,    LEXER_TOKEN_KEYWORD_U64,
+    LEXER_TOKEN_KEYWORD_BOOL,   LEXER_TOKEN_KEYWORD_PRINT_U64,
+    LEXER_TOKEN_KEYWORD_RETURN, LEXER_TOKEN_KEYWORD_TRUE,
+    LEXER_TOKEN_KEYWORD_FALSE,  LEXER_TOKEN_KEYWORD_IF,
+    LEXER_TOKEN_KEYWORD_ELSE,
 };
 const size_t LEXER_KEYWORD_SIZE =
     sizeof(LEXER_KEYWORD_TOKENS) / sizeof(*LEXER_KEYWORD_TOKENS);
@@ -203,6 +205,7 @@ void lexerPushClear(LexerNodeArray *array, size_t *array_size, char *iter,
   PUSH:
   case LEXER_TOKEN_KEYWORD_TYPE:
   case LEXER_TOKEN_KEYWORD_VOID:
+  case LEXER_TOKEN_KEYWORD_I64:
   case LEXER_TOKEN_KEYWORD_U64:
   case LEXER_TOKEN_KEYWORD_BOOL:
   case LEXER_TOKEN_KEYWORD_PRINT_U64:
-- 
cgit v1.2.3