c++ - C++ 业务规则表达式分析器/评估

  显示原文与译文双语对照的内容
0 0

我在找便携式轻量级的建议编写的库。 C++,支持数学和业务规则的表达式和计算。 我知道 C++不提供此类功能的 STL.

基本要求如下:

允许计算所有表达式将被数字和字符串和变量组成,表示任意一个数字或者字符串。

某些表达式都要计算预期次数每秒( 1000 2000次),因此有要求进行高性能运算的表达式。

最初的项目在我的公司,我们所有业务规则编码为从底表达式类派生的类。 这种方法的问题在于未能很好地伸缩作为表达式数量的增加。

多年来我都google了,但大多数" 库" 基本上我能找到大功告成调度场算法的简单示例,大多数执行在同一步骤中解析和评估表达式解析器,使其不适合连续reevaluations,大多数只支持数字。

在找什么:

  1. 库用C++编写( C++03或C++11 )
  2. stable/production值得
  3. 快速评估
  4. 便携( win32/linux )
  5. 有何建议用于构建高性能业务规则引擎。

业务规则示例:

'rule_result= ( remaining_items < min_items ) 和( 项== " 沙滩球" )'

时间:原作者:7个回答

0 0

请参见 C++数学Expression Library中列出这个应答

但是,如果你确实需要速度,请考虑将表达式编译成直接C/C++,然后将它们加载动态( 共享objects/DLLs ) 。

原作者:
0 0

你有没有考虑过自己生成解析器与 Bison + Flex? 它使用基于FSM LALR解析器实现的快速和易于编写,支持计算表达式时可以对它们进行解析以及AST生成用于重复计算。

原作者:
...