summaryrefslogtreecommitdiff
path: root/src/lexer.c
diff options
context:
space:
mode:
authorCarlos Maniero <carlosmaniero@gmail.com>2023-04-25 03:52:59 -0300
committerJohnny Richard <johnny@johnnyrichard.com>2023-04-25 22:54:22 +0200
commitc1a1bd2320b4c1508c4ab20d23b7c193a94d8026 (patch)
treeea54aa17ba0223b9ff58087bdcb6af778186702e /src/lexer.c
parentcca2c345f9b16b88e1fc4e9ea598cf2f7ed8653a (diff)
parser: Add support for variables and identifiers in function body
This commit adds support for variables and identifiers in the function body of the parser, stored as a vector. However, at this point, identifier resolution is not fully implemented, and we currently accept identifiers without checking if they can be resolved. This is a known limitation that will be addressed in a future commit once hash-tables are added to the parser. Signed-off-by: Carlos Maniero <carlosmaniero@gmail.com> Reviewed-by: Johnny Richard <johnny@johnnyrichard.com>
Diffstat (limited to 'src/lexer.c')
-rw-r--r--src/lexer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lexer.c b/src/lexer.c
index b641752..e1f0d80 100644
--- a/src/lexer.c
+++ b/src/lexer.c
@@ -154,7 +154,8 @@ lexer_next_token(lexer_t *lexer, token_t *token)
if (lexer_current_char(lexer) == '+'
|| lexer_current_char(lexer) == '-'
|| lexer_current_char(lexer) == '*'
- || lexer_current_char(lexer) == '/') {
+ || lexer_current_char(lexer) == '/'
+ || lexer_current_char(lexer) == '=') {
lexer_define_literal_token_props(lexer, token, TOKEN_OP);
lexer_drop_char(lexer);
return;