反向波兰表示法(RPN)是一种表示表达式的方法,其中运算符符号放在被操作的参数之后。波兰表示法是由波兰数学家扬·卢卡西维奇于20世纪20年代发明的,其中运算符位于操作数之前。20世纪50年代末,澳大利亚哲学家和计算机科学家查尔斯·汉布林(Charles L.Hamblin)建议将运算符放在操作数之后,从而创建了反向波兰符号。
例如,以下RPN表达式将生成2和3的和,即5:2 3+。
反向波兰表示法,也称为后缀表示法,与标准算术表达式的“中缀表示法”形成对比,在标准算术表达式中,操作符符号出现在操作数之间。
RPN的特性是,不需要括号来表示术语的评估或分组顺序。RPN表达式只是从左到右求值这大大简化了计算机程序中表达式的计算。例如,算术表达式可以用RPN表示为.
实际上,可以使用堆栈结构。从左到右读取表达式,以下操作是执行时间:
1.如果表达式中接下来出现一个值,推这上的值堆栈.
2.如果接下来出现操作员,流行音乐堆栈顶部的两个项,并将操作结果推送到堆栈.
使用解析算法作为递归下降解析,可以将标准中缀算术表达式转换为RPN表达式。
RPN用于Hewlett-Packard和一些德州仪器计算器中,并在一些计算机语言内部使用。