评估领域特定表达的搜索方法

Searching approach to evaluate domain specific expression

我正在 java 项目的上下文中开发一个工具来评估自定义域特定的、类似规则的表达式,例如

min-5 avg datalist > Number

各个标记的含义如下:

备注:

  • The optional amount of occurrences and the aggregation can not happen both, that would make no sense.
  • There can be multiple of the above expressions, chained with and/or
  • These expressions are external input, not pre-defined

这个表达式的计算应该输出一个布尔值

因为我对表达式求值/解析比较陌生,所以我正在寻找一种优雅的方法来解决这个问题,可能使用 java framework/tool.

到目前为止我尝试过的:

我正在寻找一种优雅的解决方案,感谢您的任何建议

您尝试做的是 DSL(领域特定语言),解决您的问题的优雅方法是为您的特定语言创建语法,以帮助您解析功能。 看看 JavaCC 或 Antlr。