diff options
author | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-29 21:44:10 +0330 |
---|---|---|
committer | A404M <ahmadmahmoudiprogrammer@gmail.com> | 2025-05-29 21:44:10 +0330 |
commit | 9c7d2cad8ef9bcc019af3924fb72dd896c8c77e7 (patch) | |
tree | 68374525dc338e74241f39174903abb730951940 /src/compiler/lexer.c | |
parent | 80d92c10bf4a646861b27c634c765b7f7ce63c69 (diff) |
add any type
Diffstat (limited to 'src/compiler/lexer.c')
-rw-r--r-- | src/compiler/lexer.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/compiler/lexer.c b/src/compiler/lexer.c index f79868a..08ecc6e 100644 --- a/src/compiler/lexer.c +++ b/src/compiler/lexer.c @@ -40,6 +40,7 @@ const char *LEXER_TOKEN_STRINGS[] = { "LEXER_TOKEN_BUILTIN_SHIFT_LEFT", "LEXER_TOKEN_BUILTIN_SHIFT_RIGHT", "LEXER_TOKEN_KEYWORD_TYPE", + "LEXER_TOKEN_KEYWORD_ANY_TYPE", "LEXER_TOKEN_KEYWORD_VOID", "LEXER_TOKEN_KEYWORD_I8", "LEXER_TOKEN_KEYWORD_U8", @@ -188,9 +189,9 @@ static const size_t LEXER_SYMBOL_SIZE = sizeof(LEXER_SYMBOL_TOKENS) / sizeof(*LEXER_SYMBOL_TOKENS); static const char *LEXER_KEYWORD_STRINGS[] = { - "type", "void", "i8", "u8", - "i16", "u16", "i32", "u32", - "i64", "u64", + "type", "anytype", "void", "i8", + "u8", "i16", "u16", "i32", + "u32", "i64", "u64", #ifdef FLOAT_16_SUPPORT "f16", #endif @@ -202,11 +203,12 @@ static const char *LEXER_KEYWORD_STRINGS[] = { "c_library", "c_function", }; static const LexerToken LEXER_KEYWORD_TOKENS[] = { - LEXER_TOKEN_KEYWORD_TYPE, LEXER_TOKEN_KEYWORD_VOID, - LEXER_TOKEN_KEYWORD_I8, LEXER_TOKEN_KEYWORD_U8, - LEXER_TOKEN_KEYWORD_I16, LEXER_TOKEN_KEYWORD_U16, - LEXER_TOKEN_KEYWORD_I32, LEXER_TOKEN_KEYWORD_U32, - LEXER_TOKEN_KEYWORD_I64, LEXER_TOKEN_KEYWORD_U64, + LEXER_TOKEN_KEYWORD_TYPE, LEXER_TOKEN_KEYWORD_ANY_TYPE, + LEXER_TOKEN_KEYWORD_VOID, LEXER_TOKEN_KEYWORD_I8, + LEXER_TOKEN_KEYWORD_U8, LEXER_TOKEN_KEYWORD_I16, + LEXER_TOKEN_KEYWORD_U16, LEXER_TOKEN_KEYWORD_I32, + LEXER_TOKEN_KEYWORD_U32, LEXER_TOKEN_KEYWORD_I64, + LEXER_TOKEN_KEYWORD_U64, #ifdef FLOAT_16_SUPPORT LEXER_TOKEN_KEYWORD_F16, #endif @@ -465,6 +467,7 @@ lexerPushClear(LexerNodeArray *array, size_t *array_size, char const *iter, // fall through PUSH: case LEXER_TOKEN_KEYWORD_TYPE: + case LEXER_TOKEN_KEYWORD_ANY_TYPE: case LEXER_TOKEN_KEYWORD_VOID: case LEXER_TOKEN_KEYWORD_I8: case LEXER_TOKEN_KEYWORD_U8: |