我正在Java项目的上下文中使用一种工具来评估自定义域特定的,类似规则的表达式,例如
min-5 avg datalist > Number
带有各个标记的含义如下:
说明:
- 可选的发生次数和聚合不能同时发生,这没有任何意义。
- 上面的多个表达式可以与和/或
链接在一起- 这些表达式是外部输入,不是预定义的
对此表达式的求值应输出一个布尔值
由于我比较不熟悉表达式评估/解析,因此我正在寻找一种优雅的方法来解决此问题,可能使用Java框架/工具。
到目前为止,我已经尝试过:
我正在寻找一种解决方案,以一种优雅的方式解决此问题,感谢您的任何建议
答案 0 :(得分:0)
您尝试做的是DSL(特定于域的语言),解决问题的一种优雅方法是为特定于您的语言创建语法,以帮助您解析功能。 看一下JavaCC或Antlr。