diff --git a/src/rockstar/parser/MultilineReader.java b/src/rockstar/parser/MultilineReader.java index 076c65d..b0e80b3 100644 --- a/src/rockstar/parser/MultilineReader.java +++ b/src/rockstar/parser/MultilineReader.java @@ -28,6 +28,7 @@ public class MultilineReader { int tokenStartPos = -1; boolean isInComment = false; + char commentStyle; boolean isInQuote = false; boolean isInNumber = false; boolean wasApos = false; @@ -80,7 +81,9 @@ private String readBuffer() throws IOException { private void processChar(char c) { if (isInComment) { // in bracket comment - if (c == ')') { + if ((commentStyle == '(' && c == ')') + || (commentStyle == '[' && c == ']') + || (commentStyle == '{' && c == '}')) { isInComment = false; } return; @@ -109,7 +112,10 @@ private void processChar(char c) { addToken(0); break; case '(': + case '[': + case '{': isInComment = true; + commentStyle = c; addToken(0); break; case '"':