相关疑难解决方法(0)

带括号的简单计算器如何工作?

我想学习计算器的工作原理.例如,假设我们有中缀符号的输入,如下所示:

1 + 2 x 10 - 2

解析器必须遵守数学中的通用规则.在上面的例子中,这意味着:

1 +(2 x 10) - 2 = 19(而不是3 x 10 - 2 = 28)

然后考虑一下:

1 + 2 x((2/9)+ 7) - 2

它是否涉及抽象语法树?二叉树?如何确保操作顺序在数学上是正确的?我必须使用shunting-yard算法将其转换为后缀表示法吗?然后,我将如何用后缀表示法解析它?为什么要转换?

是否有教程显示如何构建这些相对简单的计算器?或者有人解释一下吗?

syntax parsing calculator abstract-syntax-tree

21
推荐指数
1
解决办法
1万
查看次数