aboutsummaryrefslogtreecommitdiff
path: root/src/lexer
diff options
context:
space:
mode:
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;
}