diff options
author | Jo-Philipp Wich <jo@mein.io> | 2024-09-24 00:06:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-24 00:06:57 +0200 |
commit | 9cf53dda36bc25b513ec1b1cdfc851a10b37473f (patch) | |
tree | bbddd088685164124bfbc100a97098fa280375fc /compiler.c | |
parent | fa22732f3463a443d5b42d933e245680fc8ed20f (diff) | |
parent | 2b2e732b6081afb473a2cc698fd4397260b0960c (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.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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; |