diff options
author | dec05eba <dec05eba@protonmail.com> | 2019-03-18 23:47:45 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-07-25 14:36:46 +0200 |
commit | 2323ca6c9ec3c8ee76b9acf13745b80b92952a6a (patch) | |
tree | 93013237dbcb0fa96ceb5f3c026fd040aff464cf /src/tokenizer.c | |
parent | 5a93c32a59775cd1be4b4f450e8230016b434366 (diff) |
Add struct, import caching, binop ops etc
Diffstat (limited to 'src/tokenizer.c')
-rw-r--r-- | src/tokenizer.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/tokenizer.c b/src/tokenizer.c index 5f6e59c..4403251 100644 --- a/src/tokenizer.c +++ b/src/tokenizer.c @@ -62,6 +62,7 @@ static Token tokenizer_skip_whitespace(Tokenizer *self) { ++self->index; } self->prev_index = self->index; + return TOK_NONE; } /* Returns -1 if end of string can't be found */ @@ -184,6 +185,13 @@ static CHECK_RESULT int __tokenizer_next(Tokenizer *self, Token *token) { } break; } + case 6: { + if(am_memeql(self->value.identifier.data, "struct", 6)) { + *token = TOK_STRUCT; + return TOKENIZER_OK; + } + break; + } } *token = TOK_IDENTIFIER; } else if(c == '"') { @@ -397,6 +405,9 @@ static BufferView tokenizer_expected_token_as_string(Token token) { case TOK_FN: str = "fn"; break; + case TOK_STRUCT: + str = "struct"; + break; case TOK_EQUALS: str = "="; break; @@ -431,9 +442,6 @@ static BufferView tokenizer_expected_token_as_string(Token token) { case TOK_COLON: str = ":"; break; - default: - str = "Unknown token"; - break; } return create_buffer_view(str, strlen(str)); } |