diff options
Diffstat (limited to 'src/tokenizer.c')
-rw-r--r-- | src/tokenizer.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/tokenizer.c b/src/tokenizer.c index 7620fc0..1586691 100644 --- a/src/tokenizer.c +++ b/src/tokenizer.c @@ -216,6 +216,9 @@ static CHECK_RESULT int __tokenizer_next(Tokenizer *self, Token *token) { } else if(am_memeql(self->value.identifier.data, "extern", 6)) { *token = TOK_EXTERN; return TOKENIZER_OK; + } else if(am_memeql(self->value.identifier.data, "return", 6)) { + *token = TOK_RETURN; + return TOKENIZER_OK; } break; } @@ -346,6 +349,8 @@ static CHECK_RESULT int __tokenizer_next(Tokenizer *self, Token *token) { } self->index += 6; + /* TODO: This should be moved to the parser */ + result = tokenizer_next(self, &last_token); if(result != 0 || last_token != TOK_OPEN_PAREN) { err_msg = "Expected '(' after @import"; @@ -490,6 +495,9 @@ static BufferView tokenizer_expected_token_as_string(Token token) { case TOK_EXTERN: str = "extern"; break; + case TOK_RETURN: + str = "return"; + break; } return create_buffer_view(str, strlen(str)); } |