summaryrefslogtreecommitdiff
path: root/src/compiler/lexer.c
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-02-12 11:55:38 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-02-12 11:55:38 +0330
commit5c336962d3d0a885a870708076f154ee422fee12 (patch)
tree6f24bf2de914d94fd309d34c7c82e8025692154b /src/compiler/lexer.c
parent217b2c70adfd60756591dd6b06b60279f805a596 (diff)
add if
Diffstat (limited to 'src/compiler/lexer.c')
-rw-r--r--src/compiler/lexer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/lexer.c b/src/compiler/lexer.c
index baedf24..a61c3af 100644
--- a/src/compiler/lexer.c
+++ b/src/compiler/lexer.c
@@ -20,6 +20,7 @@ const char *LEXER_TOKEN_STRINGS[] = {
"LEXER_TOKEN_KEYWORD_RETURN",
"LEXER_TOKEN_KEYWORD_TRUE",
"LEXER_TOKEN_KEYWORD_FALSE",
+ "LEXER_TOKEN_KEYWORD_IF",
"LEXER_TOKEN_NUMBER",
@@ -67,13 +68,14 @@ 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",
+ "type", "void", "u64", "bool", "print_u64", "return", "true", "false", "if",
};
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,
};
const size_t LEXER_KEYWORD_SIZE =
sizeof(LEXER_KEYWORD_TOKENS) / sizeof(*LEXER_KEYWORD_TOKENS);
@@ -205,6 +207,7 @@ void lexerPushClear(LexerNodeArray *array, size_t *array_size, char *iter,
case LEXER_TOKEN_KEYWORD_RETURN:
case LEXER_TOKEN_KEYWORD_TRUE:
case LEXER_TOKEN_KEYWORD_FALSE:
+ case LEXER_TOKEN_KEYWORD_IF:
case LEXER_TOKEN_NUMBER:
case LEXER_TOKEN_SYMBOL_EOL:
case LEXER_TOKEN_SYMBOL_OPEN_PARENTHESIS: