summaryrefslogtreecommitdiff
path: root/src/parser.c
diff options
context:
space:
mode:
authorCarlos Maniero <carlos@maniero.me>2023-05-06 12:29:05 -0300
committerJohnny Richard <johnny@johnnyrichard.com>2023-05-06 22:53:49 +0200
commitccd5e8585f10488eed72c772cc1804efea6b8fb4 (patch)
treef5690cb92e94758d44f5c29715c0d2415659fa7c /src/parser.c
parent6a297e0ef57f2ae6d6134bd44a33c55fa9628cfe (diff)
lexer: Tokenize logical and bitwise operators
The followed logic operators were added to lexer: TOKEN_EQUAL == TOKEN_NOT ! TOKEN_NOT_EQUAL != TOKEN_GT > TOKEN_GT_EQUAL >= TOKEN_LT < TOKEN_LT_EQUAL <= TOKEN_AND && TOKEN_OR || Bitwise operators were also added TOKEN_BITWISE_AND & TOKEN_BITWISE_OR | TOKEN_BITWISE_SHIFT_LEFT << TOKEN_BITWISE_SHIFT_RIGHT >> TOKEN_BITWISE_XOR ^ TOKEN_BITWISE_NOT ~ TOKEN_EQUAL '=' was renamed TOKEN_ASSIGN, and now TOKEN_EQUAL is used for the logical comparator '=='. Signed-off-by: Carlos Maniero <carlos@maniero.me>
Diffstat (limited to 'src/parser.c')
-rw-r--r--src/parser.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/parser.c b/src/parser.c
index 49803eb..baa2ef5 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -264,7 +264,7 @@ parser_parse_variable_assignment(parser_t *parser)
return NULL;
}
- if (!drop_expected_token(parser, TOKEN_EQUAL))
+ if (!drop_expected_token(parser, TOKEN_ASSIGN))
return NULL;
ast_node_t *expression = parser_parse_expression(parser);
@@ -318,7 +318,7 @@ parser_parse_variable_declaration(parser_t *parser)
return NULL;
}
- if (!drop_expected_token(parser, TOKEN_EQUAL)) {
+ if (!drop_expected_token(parser, TOKEN_ASSIGN)) {
return NULL;
}
@@ -360,7 +360,7 @@ is_next_statement_a_variable_assignement(parser_t *parser)
lexer_lookahead(parser->lexer, &token, 2);
- return token.kind == TOKEN_EQUAL;
+ return token.kind == TOKEN_ASSIGN;
}
static bool