【发布时间】:2019-01-24 00:37:11
【问题描述】:
我有一个应用程序需要从源文件中读取和评估表达式。到目前为止,我一直在使用 muParser 来执行此操作。但是现在我遇到了一种情况,我需要在表达式中提供简单的循环支持。我不需要从脚本语言或任何其他高级功能调用函数的能力,实际上只是:
- 数学表达式(+、-、/、*、&、|、~等)
- 逻辑表达式(!、||、&& 等)
- 条件句(if,else..)
- 循环(for)
使用 muParser,我在读入表达式后对其进行解析,根据需要分配变量然后求解:
expr="[0] + [1]*256 - 40"
在上面的例子中,我将 [0] 和 [1] 替换为它们对应的变量,然后就可以解决了。现在,我需要这样的东西:
expr="for(i=0; i < 10; i+=2) { if(i<=6) { [0] + [i]*256 -40; } }"
我在现实中所做的只是解析字节流。在脚本中,我将字节称为 [byte],将位称为 [byte][bit]。有人可以建议一个好的框架/脚本语言可以让我做这样的事情吗?
【问题讨论】: