diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-01-19 08:57:40 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-01-19 08:57:40 +0100 |
commit | 593c35f1aed64636249fc4ed9e9dc6a1e30fa6ac (patch) | |
tree | 7a784aa0b4671073d71953e8d1da3c48341a522f /container-search/src/main/javacc/com | |
parent | a0ba343a01db44795cce1c610d5d14d7fb450e71 (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.jj | 11 |
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() : |