-6ren">
gpt4 book ai didi

java - 寻找表达式评估器

转载 作者:太空狗 更新时间:2023-10-29 22:43:29 25 4
gpt4 key购买 nike

我正在寻找简单条件表达式的求值器。表达式应包括变量(只读)、字符串、数字和一些基本运算符。

例如像这样的表达式:

${a} == "Peter" && ( ${b} == null || ${c} > 10 )

到目前为止,我实现了一个相当“神奇”的解析器,它返回一个我可以评估的 AST,但我无法相信我是第一个解决该问题的人。

我可以改用哪些现有代码?

最佳答案

你看过MVEL了吗? ?他们提供了一个 getting started guideperformance analysis .

这是他们的一个简单示例:

// The compiled expression is serializable and can be cached for re-use.
CompiledExpression compiled = MVEL.compileExpression("x * y");

Map vars = new HashMap();
vars.put("x", new Integer(5));
vars.put("y", new Integer(10));

// Executes the compiled expression
Integer result = (Integer) MVEL.executeExpression(compiled, vars);
assert result.intValue() == 50;

另外(回答我自己的问题)MVEL 似乎为 bytecode generation 提供了一些支持.

其他选择,从上述答案和我自己的答案中挑选出来:

关于java - 寻找表达式评估器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com