diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-05-05 12:58:05 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-05-05 12:58:05 +0200 |
commit | 19825a5096115d7dc1028a6c7c386933b6cb7f68 (patch) | |
tree | dcd2ffa55ddc8890446678d7a89d5438adc1c0a5 /config-model/src/main/javacc/SDParser.jj | |
parent | 27e019f602da01ac331a535b7fbfd49190f1b761 (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.jj | 29 |
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> |