diff --git a/pkl-core/src/main/java/org/pkl/core/parser/Lexer.java b/pkl-core/src/main/java/org/pkl/core/parser/Lexer.java index d35f60c5..ba16bfb9 100644 --- a/pkl-core/src/main/java/org/pkl/core/parser/Lexer.java +++ b/pkl-core/src/main/java/org/pkl/core/parser/Lexer.java @@ -575,11 +575,11 @@ public class Lexer { private void lexBlockComment() { if (lookahead == EOF) throw unexpectedEndOfFile(); var prev = nextChar(); - // block comments in Pkl can stack - var stack = 1; - while (stack > 0 && lookahead != EOF) { - if (prev == '*' && lookahead == '/') stack--; - if (prev == '/' && lookahead == '*') stack++; + while (lookahead != EOF) { + if (prev == '*' && lookahead == '/') { + nextChar(); + break; + } prev = nextChar(); } if (lookahead == EOF) throw unexpectedEndOfFile(); diff --git a/pkl-core/src/test/files/LanguageSnippetTests/input/basic/comments.pkl b/pkl-core/src/test/files/LanguageSnippetTests/input/basic/comments.pkl index fc4ca9ec..193d22e1 100644 --- a/pkl-core/src/test/files/LanguageSnippetTests/input/basic/comments.pkl +++ b/pkl-core/src/test/files/LanguageSnippetTests/input/basic/comments.pkl @@ -3,11 +3,10 @@ x = 10 // end-of-line comment y = 20 /* multi line -/* nested */ comment */ z = 30 /// documentation comment function myFun() = 0 -a = 20 // single-line comment running until EOF rather than newline \ No newline at end of file +a = 20 // single-line comment running until EOF rather than newline