summaryrefslogtreecommitdiff
path: root/src/compiler/lexer.c
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-01-24 04:12:03 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-01-24 04:12:03 +0330
commit5d46c19b25a05a289ccecfa38bc0be849af87877 (patch)
tree04498dd1e3ece62449f96864c0c8d1bd7ebc37f4 /src/compiler/lexer.c
parent76272a881916b466f42f78ba16c696a843628d08 (diff)
add types and type checking (not complete)
Diffstat (limited to 'src/compiler/lexer.c')
-rw-r--r--src/compiler/lexer.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/compiler/lexer.c b/src/compiler/lexer.c
index f248641..8994bce 100644
--- a/src/compiler/lexer.c
+++ b/src/compiler/lexer.c
@@ -123,14 +123,11 @@ LexerNodeArray lexer(char *str) {
lexerPushClear(&result, &result_size, iter, &node_str_begin,
&node_token, LEXER_TOKEN_NUMBER);
}
- } else if (isSymbol(c)) {
- if (node_token != LEXER_TOKEN_SYMBOL) {
+ } else if (isSymbol(c) || isSingleSymbol(c)) {
+ if (node_token != LEXER_TOKEN_SYMBOL || isSingleSymbol(*node_str_begin)) {
lexerPushClear(&result, &result_size, iter, &node_str_begin,
&node_token, LEXER_TOKEN_SYMBOL);
}
- } else if (isSingleSymbol(c)) {
- lexerPushClear(&result, &result_size, iter, &node_str_begin, &node_token,
- LEXER_TOKEN_SYMBOL);
} else {
RETURN_ERROR:
free(result.data);