aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.c
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-09-29 23:47:52 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-25 14:36:46 +0200
commitf5dc9ad48db4d22e7d6f15e340063dc7cb14c1e1 (patch)
tree4465a81a77e936dc2ed6ecd90183ba6af9cc2dae /src/tokenizer.c
parentc811a743a1528db1d05970e1aa14162ef7c70b75 (diff)
Implicit cast from str to ?&c_char, fix use of parameters (to use sys v registers)
Diffstat (limited to 'src/tokenizer.c')
-rw-r--r--src/tokenizer.c11
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;