编译原理 —— 逆波兰式

什么是逆波兰式

逆波兰式除去了原表达式中的括号,并将运算对象写在前面,运算符写在后面,因而又称为后缀式。用逆波兰式表示表达式的最大优点是易于计算处理。


逆波兰式处理过程

逆波兰式只使用一个工作栈,当计算机自左向右顺序扫描逆波兰式时,若当前符号是运算对象则进栈,若当前符号是运算符,并且为K元运算符,则将栈顶的K个元素依次取出,同时进行K元运算,并将运算结果置于栈顶,表达式处理完毕时,其计算结果自然呈现在栈顶。

编译原理 —— 逆波兰式_第1张图片

将一般表达式转换成逆波兰式

一般表达式 逆波兰式
E(若为常数或变量) E
(E) E的逆波兰式
E1 op E2(二元运算) E1的逆波兰式 E2的逆波兰式 op
op E(一元运算) E的逆波兰式 op

你可能感兴趣的:(编译原理)