summaryrefslogtreecommitdiffhomepage
path: root/compiler.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2024-09-24 00:06:57 +0200
committerGitHub <noreply@github.com>2024-09-24 00:06:57 +0200
commit9cf53dda36bc25b513ec1b1cdfc851a10b37473f (patch)
treebbddd088685164124bfbc100a97098fa280375fc /compiler.c
parentfa22732f3463a443d5b42d933e245680fc8ed20f (diff)
parent2b2e732b6081afb473a2cc698fd4397260b0960c (diff)
Merge pull request #226 from jow-/lexer-improvements
Enhance lexer functionality and improve token reporting
Diffstat (limited to 'compiler.c')
-rw-r--r--compiler.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler.c b/compiler.c
index 53e61e7..b64537a 100644
--- a/compiler.c
+++ b/compiler.c
@@ -242,7 +242,17 @@ uc_compiler_parse_advance(uc_compiler_t *compiler)
compiler->parser->prev = compiler->parser->curr;
while (true) {
- compiler->parser->curr = *uc_lexer_next_token(&compiler->parser->lex);
+ uc_token_t *tok = uc_lexer_next_token(&compiler->parser->lex);
+
+ if (tok->type == TK_COMMENT || tok->type == TK_LSTM) {
+ ucv_put(tok->uv);
+ continue;
+ }
+ else if (tok->type == TK_RSTM) {
+ tok->type = TK_SCOL;
+ }
+
+ compiler->parser->curr = *tok;
if (compiler->parser->curr.type != TK_ERROR)
break;