aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/javacc/com
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-01-19 08:57:40 +0100
committerJon Bratseth <bratseth@gmail.com>2022-01-19 08:57:40 +0100
commit593c35f1aed64636249fc4ed9e9dc6a1e30fa6ac (patch)
tree7a784aa0b4671073d71953e8d1da3c48341a522f /container-search/src/main/javacc/com
parenta0ba343a01db44795cce1c610d5d14d7fb450e71 (diff)
Support producing all clauses in a referenced condition
Diffstat (limited to 'container-search/src/main/javacc/com')
-rw-r--r--container-search/src/main/javacc/com/yahoo/prelude/semantics/parser/SemanticsParser.jj11
1 files changed, 8 insertions, 3 deletions
diff --git a/container-search/src/main/javacc/com/yahoo/prelude/semantics/parser/SemanticsParser.jj b/container-search/src/main/javacc/com/yahoo/prelude/semantics/parser/SemanticsParser.jj
index 46117374e59..39ea6435393 100644
--- a/container-search/src/main/javacc/com/yahoo/prelude/semantics/parser/SemanticsParser.jj
+++ b/container-search/src/main/javacc/com/yahoo/prelude/semantics/parser/SemanticsParser.jj
@@ -69,6 +69,7 @@ TOKEN :
<EQUALS: "="> |
<EXCLAMATION: "!"> |
<INCLUDEDIRECTIVE: "@include"> |
+ <LANGUAGEDIRECTIVE: "@language"> |
<LARGER: ">"> |
<LARGEREQUALS: ">="> |
<LEFTBRACE: "("> |
@@ -86,8 +87,8 @@ TOKEN :
<SLASH: "/"> |
<SMALLER: "<"> |
<SMALLEREQUALS: "<="> |
+ <STAR: "*"> |
<STEMMINGDIRECTIVE: "@stemming"> |
- <LANGUAGEDIRECTIVE: "@language"> |
<SUPERDIRECTIVE: "@super"> |
<IDENTIFIER: (~[
"\u0000"-"\u002f","\u003a"-"\u003f","\u005b"-"\u005d","\u007b"-"\u00a7","\u00a9","\u00ab"-"\u00ae","\u00b0"-"\u00b3","\u00b6"-"\u00b7","\u00b9","\u00bb"-"\u00bf",
@@ -312,10 +313,14 @@ NamespaceProduction namespaceProduction() :
ReferenceTermProduction referenceTermProduction() :
{
String reference;
+ boolean produceAll = false;
}
{
- <LEFTSQUAREBRACKET> reference = referenceIdentifier() <RIGHTSQUAREBRACKET>
- { return new ReferenceTermProduction(reference); }
+ <LEFTSQUAREBRACKET>
+ reference = referenceIdentifier()
+ (<STAR> { produceAll = true; })?
+ <RIGHTSQUAREBRACKET>
+ { return new ReferenceTermProduction(reference, produceAll); }
}
LiteralTermProduction literalTermProduction() :