diff options
Diffstat (limited to 'src/compiler/lexer.c')
-rw-r--r-- | src/compiler/lexer.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/compiler/lexer.c b/src/compiler/lexer.c index 2e3090b..c740dd3 100644 --- a/src/compiler/lexer.c +++ b/src/compiler/lexer.c @@ -14,6 +14,12 @@ const char *LEXER_TOKEN_STRINGS[] = { "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_BOOL", @@ -83,11 +89,15 @@ const size_t LEXER_SYMBOL_SIZE = sizeof(LEXER_SYMBOL_TOKENS) / sizeof(*LEXER_SYMBOL_TOKENS); const char *LEXER_KEYWORD_STRINGS[] = { - "type", "void", "i64", "u64", "bool", "print_u64", + "type", "void", "i8", "u8", "i16", "u16", + "i32", "u32", "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_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_BOOL, LEXER_TOKEN_KEYWORD_PRINT_U64, LEXER_TOKEN_KEYWORD_RETURN, LEXER_TOKEN_KEYWORD_TRUE, @@ -219,6 +229,12 @@ 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_I8: + case LEXER_TOKEN_KEYWORD_U8: + case LEXER_TOKEN_KEYWORD_I16: + case LEXER_TOKEN_KEYWORD_U16: + case LEXER_TOKEN_KEYWORD_I32: + case LEXER_TOKEN_KEYWORD_U32: case LEXER_TOKEN_KEYWORD_I64: case LEXER_TOKEN_KEYWORD_U64: case LEXER_TOKEN_KEYWORD_BOOL: |