aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-12-14 16:09:27 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-12-14 16:09:27 +0100
commiteee6ae106043cec6afa19e3dcd386bbec11ee39b (patch)
treec1cf8c84dfafbd497be5d83574c8756c47fb5c73 /container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4
parent5f671b4a7b518bd4ef811a2a8d603a4b852ee1c9 (diff)
Simplify by requiring only constants in maps and arrays at grammar level
Diffstat (limited to 'container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4')
-rw-r--r--container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g433
1 files changed, 8 insertions, 25 deletions
diff --git a/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4 b/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4
index d9c0ab81121..5bc0253ee5f 100644
--- a/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4
+++ b/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4
@@ -317,10 +317,6 @@ mapExpression
: LBRACE propertyNameAndValue? (COMMA propertyNameAndValue)* RBRACE
;
-constantMapExpression
- : LBRACE constantPropertyNameAndValue? (COMMA constantPropertyNameAndValue)* RBRACE
- ;
-
arguments[boolean in_select]
: LPAREN RPAREN
| LPAREN (argument[$in_select] (COMMA argument[$in_select])*) RPAREN
@@ -354,7 +350,7 @@ annotateExpression
;
annotation
- : LBRACKET constantMapExpression RBRACKET
+ : LBRACKET mapExpression RBRACKET
;
logicalORExpression
@@ -441,28 +437,19 @@ primaryExpression
@init {
boolean in_select = expression_stack.peek().in_select;
}
- : callExpresion[in_select]
- | parameter
+ : callExpression[in_select]
| fieldref
- | scalar_literal
- | arrayLiteral
- | mapExpression
+ | constantExpression
| LPAREN expression[in_select] RPAREN
;
-callExpresion[boolean in_select]
+callExpression[boolean in_select]
: namespaced_name arguments[in_select]
;
-
+
fieldref
: namespaced_name
;
-arrayLiteral
-@init {
- boolean in_select = expression_stack.peek().in_select;
-}
- : LBRACKET expression[in_select]? (COMMA expression[in_select])* RBRACKET
- ;
// a parameter is an argument from outside the YQL statement
parameter
@@ -470,10 +457,6 @@ parameter
;
propertyNameAndValue
- : propertyName ':' expression[{expression_stack.peek().in_select}] //{return (PROPERTY propertyName expression);}
- ;
-
-constantPropertyNameAndValue
: propertyName ':' constantExpression
;
@@ -484,12 +467,12 @@ propertyName
constantExpression
: scalar_literal
- | constantMapExpression
- | constantArray
+ | mapExpression
+ | arrayLiteral
| parameter
;
-constantArray
+arrayLiteral
: LBRACKET i+=constantExpression? (COMMA i+=constantExpression)* RBRACKET
;