aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tokenizer.c')
-rw-r--r--src/tokenizer.c8
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));
}