diff options
| author | hachem <im@hachem.wtf> | 2026-08-30 21:13:34 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-30 21:13:34 +0200 |
| commit | 13704a1df5c15af7163cc7764b0aeebc81ad2bdd (patch) | |
| tree | 4b9f10e1a686e8a4a87534d974d0bc3c64bd3d61 /src/lexer/lexer.c | |
| parent | 5d13b5dc014b2e81325c627ce36c44633655b2a4 (diff) | |
feat: add comment support
Diffstat (limited to 'src/lexer/lexer.c')
| -rw-r--r-- | src/lexer/lexer.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lexer/lexer.c b/src/lexer/lexer.c index 6018fab..97a91b1 100644 --- a/src/lexer/lexer.c +++ b/src/lexer/lexer.c @@ -75,6 +75,27 @@ static void skip_whitespace(struct Lexer* lexer) lexer->line += 1; advance(lexer); } + else if (c == '/' && lexer->current[1] == '/') + { + while (peek(lexer) != '\n' && peek(lexer) != '\0') + advance(lexer); + } + else if (c == '/' && lexer->current[1] == '*') + { + advance(lexer); + advance(lexer); + while (!(peek(lexer) == '*' && lexer->current[1] == '/') && peek(lexer) != '\0') + { + if (peek(lexer) == '\n') + lexer->line += 1; + advance(lexer); + } + if (peek(lexer) != '\0') + { + advance(lexer); + advance(lexer); + } + } else return; } |
