diff options
Diffstat (limited to 'src/tokenizer.c')
-rw-r--r-- | src/tokenizer.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/tokenizer.c b/src/tokenizer.c index d753b20..da6ad53 100644 --- a/src/tokenizer.c +++ b/src/tokenizer.c @@ -339,6 +339,14 @@ static CHECK_RESULT int __tokenizer_next(Tokenizer *self, Token *token) { } else { *token = TOK_EQUALS; } + } else if(c == '&') { + ++self->index; + if(self->index < (int)self->code.size && tokenizer_get_char(self) == '&') { + ++self->index; + SET_BINOP(BINOP_AND); + } else { + *token = TOK_AMPERSAND; + } } else if(c == '(') { ++self->index; *token = TOK_OPEN_PAREN; @@ -517,6 +525,9 @@ static BufferView tokenizer_expected_token_as_string(Token token) { case TOK_QUESTION_MARK: str = "?"; break; + case TOK_AMPERSAND: + str = "&"; + break; case TOK_C_VARARGS: str = "..."; break; |