加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C业务规则表达式解析器/评估

发布时间:2020-12-16 03:13:15 所属栏目:百科 来源:网络整理
导读:我正在寻找用C编写的便携式轻量级库的建议,支持数学和业务规则的表达和评估.我明白C不在STL中提供这样的功能. 基本要求如下: 要评估的表达式将由数字和字符串以及表示数字或字符串的变量组成. 某些表达式预计将被多次评估(1000-2000次),因此需要对表达式进
我正在寻找用C编写的便携式轻量级库的建议,支持数学和业务规则的表达和评估.我明白C不在STL中提供这样的功能.

基本要求如下:

要评估的表达式将由数字和字符串以及表示数字或字符串的变量组成.

某些表达式预计将被多次评估(1000-2000次),因此需要对表达式进行高性能评估.

本来是我公司的项目,我们将所有业务规则编码为从基本表达式类派生的类.问题是,这种方法在表达式数量增加时不能很好地扩展.

我已经搜索到了,但是我可以找到的大多数“图书馆”都是分流码算法的大概简单例子,大多数表达式解析器在同一步骤中执行解析和评估,使得它们不适合连续重新评估,而且只支持数字.

我正在寻找:

  1. Library written in C++ (C++03 or C++11)
  2. Stable/production worthy
  3. Fast evaluations
  4. Portable (win32/linux)
  5. Any suggestions for building high performance business rules engine.

业务规则示例

‘rule_result =(remaining_items< min_items)和(item ==“beach ball”)'

解决方法

参见 this answer概述的 C++ Mathematical Expression Library.

但是,如果您真的想要速度,请考虑将表达式直接编译为C/C++,然后动态加载它们(共享对象/ DLL).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读