From 888b655cd6f447b71f902c0b0aa6515b1b0e9582 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 20 Mar 2015 11:44:47 +0100 Subject: [PATCH] add some missing elements to Kotlin grammar #KT-7049 Fixed --- .../kotlin/parsing/JetExpressionParsing.java | 2 +- grammar/src/expressions.grm | 2 +- grammar/src/lexical.grm | 22 +++++++++++++++---- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/JetExpressionParsing.java b/compiler/frontend/src/org/jetbrains/kotlin/parsing/JetExpressionParsing.java index 2080bd149b6..f89012348a1 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/parsing/JetExpressionParsing.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/parsing/JetExpressionParsing.java @@ -725,7 +725,7 @@ public class JetExpressionParsing extends AbstractJetParsing { /* * literalConstant * : "true" | "false" - * : StringWithTemplates + * : stringTemplate * : NoEscapeString * : IntegerLiteral * : LongLiteral diff --git a/grammar/src/expressions.grm b/grammar/src/expressions.grm index abc17fb2812..5cd70d74f52 100644 --- a/grammar/src/expressions.grm +++ b/grammar/src/expressions.grm @@ -148,7 +148,7 @@ stringTemplate stringTemplateElement : RegularStringPart - : ShortTemplateEntrySTART (SimpleName | "this") + : ShortTemplateEntryStart (SimpleName | "this") : EscapeSequence : longTemplate ; diff --git a/grammar/src/lexical.grm b/grammar/src/lexical.grm index 73c9ca04876..0c7a1087faa 100644 --- a/grammar/src/lexical.grm +++ b/grammar/src/lexical.grm @@ -10,7 +10,7 @@ IntegerLiteral : Digit+? FloatLiteral - : ; + : ; [helper] HexDigit @@ -26,12 +26,24 @@ CharacterLiteral See [Basic types](basic-types.html) */ -StringWithTemplates - : ; - NoEscapeString : <"""-quoted string>; +RegularStringPart + : + +ShortTemplateEntryStart: + : "$" + +EscapeSequence: + : UnicodeEscapeSequence | RegularEscapeSequence + +UnicodeEscapeSequence: + : "\u" HexDigit{4} + +RegularEscapeSequence: + : "\" + /** See [String templates](basic-types.html#templates) */ @@ -52,7 +64,9 @@ See [Java interoperability](java-interop.html) FieldName : "$" SimpleName; +/* See [Properties And Fields](properties.html) +*/ LabelName : "@" SimpleName;