aboutsummaryrefslogtreecommitdiff
path: root/src/lexer
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-30 21:13:34 +0200
committerhachem <im@hachem.wtf>2026-08-30 21:13:34 +0200
commit13704a1df5c15af7163cc7764b0aeebc81ad2bdd (patch)
tree4b9f10e1a686e8a4a87534d974d0bc3c64bd3d61 /src/lexer
parent5d13b5dc014b2e81325c627ce36c44633655b2a4 (diff)
feat: add comment support
Diffstat (limited to 'src/lexer')
-rw-r--r--src/lexer/lexer.c21
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;
}