aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/main
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@gmail.com>2022-03-03 13:59:48 +0100
committerGitHub <noreply@github.com>2022-03-03 13:59:48 +0100
commit95979285c20b384c3053d210c9e4e4661e13ecd5 (patch)
tree19c07c9218682ae161921f27ac51a306fd30e082 /searchlib/src/main
parent4f9b53d052fda832c166b44f416c9920dc9eb373 (diff)
Revert "'true' and 'false' literals in ranking expressions"
Diffstat (limited to 'searchlib/src/main')
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/BooleanValue.java2
-rwxr-xr-xsearchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/ConstantNode.java3
-rwxr-xr-xsearchlib/src/main/javacc/RankingExpressionParser.jj21
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;