aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tokenizer.cpp')
-rw-r--r--src/tokenizer.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp
index 23ba6abd2..415352f33 100644
--- a/src/tokenizer.cpp
+++ b/src/tokenizer.cpp
@@ -383,28 +383,29 @@ void tokenizer_skip_whitespace(Tokenizer *t) {
advance_to_next_rune(t);
} else if (t->curr_rune == '/') {
if (t->read_curr[0] == '/') { // Line comment //
- while (t->curr_rune != '\n')
+ while (t->curr_rune != '\n') {
advance_to_next_rune(t);
+ }
} else if (t->read_curr[0] == '*') { // (Nested) Block comment /**/
+ advance_to_next_rune(t);
+ advance_to_next_rune(t);
isize comment_scope = 1;
- for (;;) {
- advance_to_next_rune(t);
+ while (comment_scope > 0) {
if (t->curr_rune == '/') {
advance_to_next_rune(t);
if (t->curr_rune == '*') {
advance_to_next_rune(t);
comment_scope++;
}
- }
- if (t->curr_rune == '*') {
+ } else if (t->curr_rune == '*') {
advance_to_next_rune(t);
if (t->curr_rune == '/') {
advance_to_next_rune(t);
comment_scope--;
}
+ } else {
+ advance_to_next_rune(t);
}
- if (comment_scope <= 0)
- break;
}
} else {
break;