public static ExprNode mathGetExpr(ParseTree ctx, Map<Tree, ExprNode> astExprNodeMap, ConfigurationInformation configurationInformation) {
int count = 1;
ExprNode base = ASTExprHelper.exprCollectSubNodes(ctx.getChild(0), 0, astExprNodeMap).get(0);
while (true) {
int token = ASTUtil.getAssertTerminatedTokenType(ctx.getChild(count));
MathArithTypeEnum mathArithTypeEnum = tokenToMathEnum(token);
ExprNode right = ASTExprHelper.exprCollectSubNodes(ctx.getChild(count + 1), 0, astExprNodeMap).get(0);
ExprMathNode math = new ExprMathNode(mathArithTypeEnum,
configurationInformation.getEngineDefaults().getExpression().isIntegerDivision(),
configurationInformation.getEngineDefaults().getExpression().isDivisionByZeroReturnsNull());
math.addChildNode(base);
math.addChildNode(right);
base = math;
count += 2;
if (count >= ctx.getChildCount()) {
break;
}
}
return base;
}
ASTExprHelper.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:esper
作者:
评论列表
文章目录