我有一个应用程序需要阅读并评估源文件中的表达式。我一直在使用muParser来做到这一点。但是现在我遇到了一个需要简单循环支持的情况。我并不需要调用函数从脚本语言的能力,或任何其他先进的功能,真的只是:从C++中评估脚本化表达式
- 数学表达式(+, - ,/,*,&,|,〜,等)
- 逻辑表达式(!,||,& &等)
- 条件句(如果,否则..)
- 循环(对于)
随着muParser我解析表达式AFTE R读取它们,根据需要分配变量,然后求解:
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]。有人可能会建议一个好的框架/脚本语言会让我做这样的事吗?
也好(尽管不太广泛使用)是AngelScript(http://www.angelcode.com/angelscript/),它有一个非常类似C++的语法。 – 2012-01-29 23:58:34
我想我会咬紧牙关,并选择其中的一种。感谢所有 – Prismatic 2012-01-30 01:49:12