RPN
E812222
RPN is a mathematical notation in which every operator follows all of its operands, eliminating the need for parentheses and simplifying expression evaluation, especially in stack-based calculators and computing.
Observed surface forms (1)
| Surface form | Occurrences |
|---|---|
| RPN (reverse Polish notation) | 1 |
Statements (48)
| Predicate | Object |
|---|---|
| instanceOf |
expression notation
ⓘ
mathematical notation ⓘ |
| advantage |
efficient for stack machines
ⓘ
no need for operator precedence rules during evaluation ⓘ simple evaluation algorithm ⓘ unambiguous expression representation ⓘ |
| alsoKnownAs |
Polish postfix notation
NERFINISHED
ⓘ
postfix notation ⓘ |
| basedOn | stack data structure ⓘ |
| commonIn |
early stack-based virtual machines
ⓘ
handheld scientific calculators of Hewlett-Packard ⓘ |
| comparedTo |
infix notation
ⓘ
prefix notation ⓘ |
| disadvantage |
can be harder to read for complex expressions
ⓘ
less familiar to many users than infix notation ⓘ |
| eliminatesNeedFor | parentheses in most expressions ⓘ |
| evaluationComplexity | linear in expression length ⓘ |
| evaluationMethod | push operands then apply operators ⓘ |
| follows | operands-before-operator order ⓘ |
| fullName | Reverse Polish Notation NERFINISHED ⓘ |
| hasProperty |
expression can be evaluated in one left-to-right pass
ⓘ
no need for parentheses when operator arity is fixed ⓘ operators consume operands from stack ⓘ results are pushed back onto stack ⓘ |
| historicalOrigin | derived from Polish notation concepts ⓘ |
| isUsedIn |
Forth programming language
NERFINISHED
ⓘ
HP calculators ⓘ PostScript language NERFINISHED ⓘ RPL (Reverse Polish Lisp) NERFINISHED ⓘ computer science ⓘ expression parsing ⓘ programming language interpreters ⓘ stack-based calculators ⓘ stack-based evaluation algorithms ⓘ |
| namedAfter | Polish logician Jan Łukasiewicz (indirectly) NERFINISHED ⓘ |
| operatorPosition | after all operands ⓘ |
| relatedAlgorithm | shunting-yard algorithm NERFINISHED ⓘ |
| simplifies | expression evaluation ⓘ |
| supports |
binary operators
ⓘ
functions with multiple arguments ⓘ unary operators ⓘ |
| typicalExample |
"3 4 + 5 *" represents (3 + 4) * 5
ⓘ
"3 4 +" represents 3 + 4 ⓘ "3 4 5 * +" represents 3 + 4 * 5 ⓘ |
| usedFor |
arithmetic expressions
ⓘ
logical expressions ⓘ stack machine instruction sequences ⓘ |
| usedToRepresent | output of shunting-yard algorithm ⓘ |
Referenced by (2)
Full triples — surface form annotated when it differs from this entity's canonical label.
this entity surface form:
RPN (reverse Polish notation)