From 0b6b0947ed610761760e3d7d57ad80e14cc4dad6 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Mon, 5 Feb 2024 11:26:37 -0800 Subject: [PATCH] eval lexer: allow a few more corner cases of various compiler/linker-inserted identifiers, so that eval works in all cases --- src/eval/eval_parser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/eval/eval_parser.c b/src/eval/eval_parser.c index 142a9289..cd582624 100644 --- a/src/eval/eval_parser.c +++ b/src/eval/eval_parser.c @@ -338,7 +338,7 @@ eval_token_array_from_text(Arena *arena, String8 text) //- rjf: no active token -> seek token starter default: { - if(char_is_alpha(byte) || byte == '_' || byte == '`') + if(char_is_alpha(byte) || byte == '_' || byte == '`' || byte == '$') { active_token_kind = EVAL_TokenKind_Identifier; active_token_start_idx = idx; @@ -414,7 +414,7 @@ eval_token_array_from_text(Arena *arena, String8 text) } } } - else if(!char_is_alpha(byte) && !char_is_digit(byte, 10) && byte != '_' && !active_token_kind_started_with_tick) + else if(!char_is_alpha(byte) && !char_is_digit(byte, 10) && byte != '_' && !active_token_kind_started_with_tick && byte != '@') { advance = 0; token_formed = 1;