diff options
Diffstat (limited to 'src/lexer')
| -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; } |
