aboutsummaryrefslogtreecommitdiff
path: root/src/compiler/lexer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/lexer.c')
-rw-r--r--src/compiler/lexer.c55
1 files changed, 36 insertions, 19 deletions
diff --git a/src/compiler/lexer.c b/src/compiler/lexer.c
index edf5805..c540395 100644
--- a/src/compiler/lexer.c
+++ b/src/compiler/lexer.c
@@ -51,6 +51,7 @@ const char *LEXER_TOKEN_STRINGS[] = {
"LEXER_TOKEN_KEYWORD_NULL",
"LEXER_TOKEN_KEYWORD_CODE",
"LEXER_TOKEN_KEYWORD_NAMESPACE",
+ "LEXER_TOKEN_KEYWORD_SHAPE_SHIFTER",
"LEXER_TOKEN_NUMBER",
"LEXER_TOKEN_CHAR",
"LEXER_TOKEN_STRING",
@@ -161,33 +162,49 @@ 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", "void", "i8", "u8", "i16", "u16",
+ "i32", "u32", "i64", "u64",
#ifdef FLOAT_16_SUPPORT
"f16",
#endif
- "f32", "f64", "f128", "bool", "putc", "return",
- "true", "false", "if", "else", "while", "comptime",
- "null", "struct", "undefined", "code", "lazy", "namespace",
+ "f32", "f64", "f128", "bool", "putc", "return",
+ "true", "false", "if", "else", "while", "comptime",
+ "null", "struct", "undefined", "code", "lazy", "namespace",
+ "shape_shifter",
};
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_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
- LEXER_TOKEN_KEYWORD_F32, LEXER_TOKEN_KEYWORD_F64,
- LEXER_TOKEN_KEYWORD_F128, LEXER_TOKEN_KEYWORD_BOOL,
- LEXER_TOKEN_KEYWORD_PUTC, LEXER_TOKEN_KEYWORD_RETURN,
- LEXER_TOKEN_KEYWORD_TRUE, LEXER_TOKEN_KEYWORD_FALSE,
- LEXER_TOKEN_KEYWORD_IF, LEXER_TOKEN_KEYWORD_ELSE,
- LEXER_TOKEN_KEYWORD_WHILE, LEXER_TOKEN_KEYWORD_COMPTIME,
- LEXER_TOKEN_KEYWORD_NULL, LEXER_TOKEN_KEYWORD_STRUCT,
- LEXER_TOKEN_KEYWORD_UNDEFINED, LEXER_TOKEN_KEYWORD_CODE,
- LEXER_TOKEN_KEYWORD_LAZY, LEXER_TOKEN_KEYWORD_NAMESPACE,
+ LEXER_TOKEN_KEYWORD_F32,
+ LEXER_TOKEN_KEYWORD_F64,
+ LEXER_TOKEN_KEYWORD_F128,
+ LEXER_TOKEN_KEYWORD_BOOL,
+ LEXER_TOKEN_KEYWORD_PUTC,
+ LEXER_TOKEN_KEYWORD_RETURN,
+ LEXER_TOKEN_KEYWORD_TRUE,
+ LEXER_TOKEN_KEYWORD_FALSE,
+ LEXER_TOKEN_KEYWORD_IF,
+ LEXER_TOKEN_KEYWORD_ELSE,
+ LEXER_TOKEN_KEYWORD_WHILE,
+ LEXER_TOKEN_KEYWORD_COMPTIME,
+ LEXER_TOKEN_KEYWORD_NULL,
+ LEXER_TOKEN_KEYWORD_STRUCT,
+ LEXER_TOKEN_KEYWORD_UNDEFINED,
+ LEXER_TOKEN_KEYWORD_CODE,
+ LEXER_TOKEN_KEYWORD_LAZY,
+ LEXER_TOKEN_KEYWORD_NAMESPACE,
+ LEXER_TOKEN_KEYWORD_SHAPE_SHIFTER,
};
static const size_t LEXER_KEYWORD_SIZE =
sizeof(LEXER_KEYWORD_TOKENS) / sizeof(*LEXER_KEYWORD_TOKENS);