我现在正在制作一个简单的字节码解释器,它使用RPN表达符号和真正的后缀表示法,但现在我的问题是:短路评估实际上可以用于后缀表达式?例如,在评估表达式时(错误的& &(factorial(7)> factorial(5)))C++知道运算符在两个操作数上的结果甚至到达第二个操作数之前的结果为false,因为(false & &什么)总是等于假。现在,当你把它放在RPN中时,你会得到(假(7阶乘5阶乘>)& &)。RPN短路评估
我想构建一个高效的RPN表达式解析器,所以问题是这样的:我如何制作一个高效的RPN表达式解析器并进行短路评估?
您可以编写代码。我们不是为你设计你的系统,或是教你如何设计它。 –
@MarcB感谢您提供的信息。无论如何,我确实得到了一个有用的答案,所以是的。 –
RPN和postfix符号是相同的东西,而不是两个不同的东西。您不会将RPN解析器构建到解释器中。输入已被解析并可以线性处理。如果你想短路评估,你需要引入分支。 – EJP