Implementations that use RPN are stack-based; that is, operands are popped from a stack, and calculation results are pushed back onto it. Although this concept may seem obscure at first, RPN has the advantage of being extremely easy for a computer to analyze due to it being a regular grammar. RPN has been used in Hewlett-Packard calculators as well as in some programming languages such as Forth and PostScript. Most Unix systems also comes with a calculator program that uses RPN: dc.
Practical implications From the practical point of view, in RPN:
Example For instance, the calculation: ((1 + 2) * 4) + 3 can be written down like this in RPN:
1 2 + 4 * 3 +The expression is evaluated in the following way (the Stack is displayed after Operation has taken place):
Input | Stack | Operation |
---|---|---|
1 | 1 | Push operand |
2 | 1, 2 | Push operand |
+ | 3 | Addition |
4 | 3, 4 | Push operand |
* | 12 | Multiplication |
3 | 12, 3 | Push operand |
+ | 15 | Addition |
Compare to Polish notation.
Search Encyclopedia
|
Featured Article
|