aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/javacc/SDParser.jj
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-05-05 12:58:05 +0200
committerJon Bratseth <bratseth@gmail.com>2022-05-05 12:58:05 +0200
commit19825a5096115d7dc1028a6c7c386933b6cb7f68 (patch)
treedcd2ffa55ddc8890446678d7a89d5438adc1c0a5 /config-model/src/main/javacc/SDParser.jj
parent27e019f602da01ac331a535b7fbfd49190f1b761 (diff)
A double isn't an identifier
Diffstat (limited to 'config-model/src/main/javacc/SDParser.jj')
-rw-r--r--config-model/src/main/javacc/SDParser.jj29
1 files changed, 23 insertions, 6 deletions
diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj
index 0ff9513885f..d498cb5dac2 100644
--- a/config-model/src/main/javacc/SDParser.jj
+++ b/config-model/src/main/javacc/SDParser.jj
@@ -202,6 +202,7 @@ TOKEN :
| < INDEXING: "indexing" >
| < SUMMARYTO: "summary-to" >
| < DOCUMENTSUMMARY: "document-summary" >
+| <DOUBLE_KEYWORD: "double" >
| < RANKTYPE: "rank-type" >
| < WEIGHT: "weight" >
| < TYPE: "type" >
@@ -2203,10 +2204,23 @@ void inputs(RankProfile profile) :
}
{
<INPUTS> <LBRACE> (<NL>)*
- ( reference = queryFeature() type = tensorType("Type of " + reference) { profile.addInput(reference, type); } (<NL>)*) *
+ ( reference = queryFeature() type = inputType(reference) { profile.addInput(reference, type); } (<NL>)*) *
<RBRACE>
}
+TensorType inputType(Reference reference) :
+{
+ TensorType type;
+}
+{
+ (
+ ( type = tensorType("Type of " + reference) )
+ |
+ ( <DOUBLE_KEYWORD> { type = TensorType.empty; } )
+ )
+ { return type; }
+}
+
Reference queryFeature() :
{
String argument;
@@ -2408,10 +2422,13 @@ void rankProperty(RankProfile profile) :
*/
String rankPropertyItem() :
{
- String image, ret = "";
+ String image;
+ String ret = "";
+ Token dToken;
}
{
- ( ( image = identifierWithDash() { ret += image; }
+ ( ( image = identifierWithDash() { ret += image; }
+ | dToken = <DOUBLE> { ret += dToken.image; }
| image = quotedString() { ret += image; }
| ( "(" | ")" | <DOT> | <COMMA> ) { ret += token.image; } )+ )
{ return ret; }
@@ -2542,10 +2559,10 @@ void constants(RankProfile profile) :
void constantValue(RankProfile profile, String name) :
{
- String value;
+ Token value;
}
{
- <COLON> value = identifier() { profile.addConstant(name, Value.parse(value)); }
+ <COLON> ( value = <DOUBLE> | value = <INTEGER> | value = <IDENTIFIER> ) { profile.addConstant(name, Value.parse(value.image)); }
}
void constantTensor(RankProfile profile, String name) :
@@ -2693,7 +2710,7 @@ String identifier() : { }
| <DIRECT>
| <DOCUMENT>
| <DOCUMENTSUMMARY>
- | <DOUBLE>
+ | <DOUBLE_KEYWORD>
| <DYNAMIC>
| <ENABLEBITVECTORS>
| <ENABLEONLYBITVECTOR>