符号计算

Mak*_*ler 9 c++ math

有没有人知道在C++中进行代数计算的好方法/库?

我有一个用c ++开发的应用程序需要进行代数计算.现在我构建了一个C++解析器,它接受像"5 +(2 - MYFUNC(3))"这样的字符串形式的表达式,它们被标记化为结构体,然后使用Shunting Yard算法转换为后缀表示法并进行评估.

这些表达式中的MYFUNC是我自己定义的函数,可以进行一些复杂的计算.

这是一个高性能应用程序,表达式还包含动态替换为值的变量,并重新计算表达式

例如var1 +(2 - MYFUNC(var2)) - > var1和var2在运行过程中被某些值替换并重新评估

我正在使用Linux,到目前为止找到了Giac库,但不确定它是否好,任何反馈都会受到欢迎.

人们通常如何解决这个问题?这种情况下的主要语言是C++.

kum*_*ran 2

看看 Bison 和 Flex Parser。这里的基本思想是编写一个语法文件并将其转换为可以集成到您的应用程序中的 C 代码。任何关于 Flex 和 Bison 的书 (http://www.amazon.com/Flex-Bison-Text-Processing-Tools/dp/0596155972) 都足以适合初步阅读。

也许这对你有帮助。!