diff --git a/src/main/antlr/BSLLexer.g4 b/src/main/antlr/BSLLexer.g4 index 63dcad7f..4ffd12ef 100644 --- a/src/main/antlr/BSLLexer.g4 +++ b/src/main/antlr/BSLLexer.g4 @@ -154,7 +154,7 @@ FLOAT : DIGIT+ '.' DIGIT*; STRING: '"' (~[\r\n"] | '""')* '"'; STRINGSTART: '"' (~["\n\r]| '""')*; STRINGTAIL: BAR (~["\n\r] | '""')* '"'; -STRINGPART: BAR ~["\n\r]*; +STRINGPART: BAR (~[\r\n"] | '""')*; // keywords PROCEDURE_KEYWORD diff --git a/src/test/java/org/github/_1c_syntax/bsl/parser/BSLLexerTest.java b/src/test/java/org/github/_1c_syntax/bsl/parser/BSLLexerTest.java index 43a80f54..90a98618 100644 --- a/src/test/java/org/github/_1c_syntax/bsl/parser/BSLLexerTest.java +++ b/src/test/java/org/github/_1c_syntax/bsl/parser/BSLLexerTest.java @@ -152,7 +152,13 @@ void testString() { assertMatch("\"\"\"\"", BSLLexer.STRING); assertMatch("|СПЕЦСИМВОЛ \"\"~\"\"\"", BSLLexer.STRINGTAIL); assertMatch("\"Минимальная версия платформы \"\"1С:Предприятие 8\"\" указана выше рекомендуемой.", BSLLexer.STRINGSTART); - + assertMatch("А = \" \n | А \"\"\"\" + А \n |\";", + BSLLexer.IDENTIFIER, + BSLLexer.ASSIGN, + BSLLexer.STRINGSTART, + BSLLexer.STRINGPART, + BSLLexer.STRINGTAIL, + BSLLexer.SEMICOLON); } @Test