math - 数学解析器的智能设计?

标签 math parsing calculator

设计数学解析器最明智的方法是什么?我的意思是一个接受数学字符串(例如:“2 + 3/2 + (2 * 5)”)并返回计算值的函数?很久以前我确实用 VB6 写过一个,但它最终变得臃肿且不太可移植(或者就此而言很智能......)。一般想法、伪代码或真实代码都值得赞赏。

最佳答案

一个很好的方法需要两个步骤。第一步涉及converting the expression from infix to postfix (例如通过 Dijkstra's shunting yard )符号。一旦完成,编写 postfix evaluator 就非常简单了。 .

关于math - 数学解析器的智能设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/114586/

相关文章:

不同 cmath log() 和 exp() 实现中的 c 语言对称性?

math - 如何生成对非对角元素有约束的伪随机正定矩阵?

algorithm - 这个伪代码的时间复杂度是多少?

python - 我在 python 中解析数据文件时遇到 KeyError

r - 拦截并使用点中捕获的可选变量的值 (...)

java - 使用 XPATH 表达式和 Java 解析 XML 文件

javascript - 如何让总计显示在计算器中?

java - 如何编写一个程序将java中的列表中的度数转换为弧度

java计算器小数点

jquery - 删除 "$"+ sum.toFixed(2)