In Postfix Notation, the operators follow their operands.
In Postfix calculators, no equals key is required to force computation to occur. To learn more about a programming language using Postfix at its core, see Forth.
Brackets and parentheses are unnecessary: the user merely performs calculations in the order that is required, letting the automatic stack store intermediate results on the fly for later use. Likewise, there is no requirement for the precedence rules required in infix notation.
prefix notation | infix notation | postfix notation |
---|---|---|
+ 1 * 2 3 |
1 + (2 * 3) |
1 2 3 * + |
For instance, one would write 3 4 +
rather than 3 + 4
. If there are multiple operations, operators are given immediately after their second operands. The expression written (5 + 10) * 3
in conventional notation would be written 10 5 + 3 *
in reverse Polish notation.
operation | 3 | 10 | 5 | + | * |
---|---|---|---|---|---|
stack | 3 | 10 | 5 | 15 | 45 |
3 | 10 | 3 | |||
3 |
The automatic stack permits the automatic storage of intermediate results for use later: this key feature is what permits Postfix calculators to easily evaluate expressions of arbitrary complexity: they do not have limits on the complexity of expression they can evaluate.
a = x - y
where-
means subtraction, a dyadic use of the symbola = -y
where-
means negative, a monadic use of the same symbol
incoming cccc firth concatenative postscript lisp lisp basic modal