diff options
author | Arnstein Ressem <aressem@gmail.com> | 2022-03-03 13:59:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-03 13:59:48 +0100 |
commit | 95979285c20b384c3053d210c9e4e4661e13ecd5 (patch) | |
tree | 19c07c9218682ae161921f27ac51a306fd30e082 /searchlib/src/main | |
parent | 4f9b53d052fda832c166b44f416c9920dc9eb373 (diff) |
Revert "'true' and 'false' literals in ranking expressions"
Diffstat (limited to 'searchlib/src/main')
3 files changed, 15 insertions, 11 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/BooleanValue.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/BooleanValue.java index 49f267ca522..770be98c739 100644 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/BooleanValue.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/BooleanValue.java @@ -15,7 +15,7 @@ public class BooleanValue extends DoubleCompatibleValue { * Create a boolean value which is frozen at the outset. */ public static BooleanValue frozen(boolean value) { - BooleanValue booleanValue = new BooleanValue(value); + BooleanValue booleanValue=new BooleanValue(value); booleanValue.freeze(); return booleanValue; } diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ConstantNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ConstantNode.java index 2cfe20d8131..46e833197f9 100755 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ConstantNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ConstantNode.java @@ -2,7 +2,6 @@ package com.yahoo.searchlib.rankingexpression.rule; import com.yahoo.searchlib.rankingexpression.Reference; -import com.yahoo.searchlib.rankingexpression.evaluation.BooleanValue; import com.yahoo.searchlib.rankingexpression.evaluation.Context; import com.yahoo.searchlib.rankingexpression.evaluation.Value; import com.yahoo.tensor.TensorType; @@ -40,8 +39,6 @@ public final class ConstantNode extends ExpressionNode { @Override public StringBuilder toString(StringBuilder string, SerializationContext context, Deque<String> path, CompositeNode parent) { - if (value instanceof BooleanValue) // Convert booleans to floats - return string.append(value.asBoolean() ? "1.0" : "0.0"); return string.append(value.toString()); } diff --git a/searchlib/src/main/javacc/RankingExpressionParser.jj b/searchlib/src/main/javacc/RankingExpressionParser.jj index ebe1e048247..865820320d8 100755 --- a/searchlib/src/main/javacc/RankingExpressionParser.jj +++ b/searchlib/src/main/javacc/RankingExpressionParser.jj @@ -153,8 +153,6 @@ TOKEN : <MIN: "min"> | <PROD: "prod"> | <SUM: "sum"> | - <TRUE: "true"> | - <FALSE: "false"> | <IDENTIFIER: (["A"-"Z","a"-"z","0"-"9","_","@"](["A"-"Z","a"-"z","0"-"9","_","@","$"])*)> } @@ -799,9 +797,7 @@ String identifier() : func = binaryFunctionName() { return func.toString(); } | <IF> { return token.image; } | <IN> { return token.image; } | - <IDENTIFIER> { return token.image; } | - <TRUE> { return token.image; } | - <FALSE> { return token.image; } + <IDENTIFIER> { return token.image; } } List<String> identifierList() : @@ -858,14 +854,25 @@ ExpressionNode constantPrimitive(boolean negate) : ( <INTEGER> { value = token.image; } | <FLOAT> { value = token.image; } ) { node = new ConstantNode(Value.parse(negate ? ("-" + value) : value)); } | - ( <STRING> | <TRUE> | <FALSE> ) { - node = new ConstantNode(Value.parse(token.image)); + <STRING> { + value = token.image; + node = new ConstantNode(Value.parse(value)); if (negate) node = new NegativeNode(node); } ) { return node; } } +Value primitiveValue() : +{ + String sign = ""; +} +{ + ( <SUB> { sign = "-";} ) ? + ( <INTEGER> | <FLOAT> | <STRING> ) + { return Value.parse(sign + token.image); } +} + TensorFunctionNode tensorValueBody(TensorType type, List dimensionOrder) : { DynamicTensor dynamicTensor; |