编译器如何评估数学表达式?

时间:2013-12-19 17:40:54

标签: evaluation infix-notation

我知道它必须对编译器执行某些操作,将中缀表达式转换为后缀前缀(我不知道哪一个我认为编译器会这样做,因为在postfix和前缀表达式中,不需要括号来强调运算符的优先级。 所以有人能告诉我为什么以及计算机如何评估数学表达式? 所有编程语言编译器的过程是否相同?

1 个答案:

答案 0 :(得分:1)

通常使用操作数和运算符堆栈来进行后缀表示法。任何第一年的计算机科学书籍(编译器设计)都会讨论细节。它与遇到的括号以及输入中遇到的运算符的相对优先级(和关联性)有关。大多数计算机语言具有类似的评估,优先级和关联性规则,并将使用类似的过程。但不是全部!