23 lines
1.1 KiB
Plaintext
23 lines
1.1 KiB
Plaintext
;Task:
|
|
Create a stack-based evaluator for an expression in [[wp:Reverse Polish notation|<u>r</u>everse <u>P</u>olish <u>n</u>otation (RPN)]] that also shows the changes in the stack as each individual token is processed ''as a table''.
|
|
|
|
|
|
* Assume an input of a correct, space separated, string of tokens of an RPN expression
|
|
* Test with the RPN expression generated from the [[Parsing/Shunting-yard algorithm]] task: <br>
|
|
<big><big><code> 3 4 2 * 1 5 - 2 3 ^ ^ / + </code></big></big>
|
|
* Print or display the output here
|
|
|
|
|
|
;Notes:
|
|
* <big><b> '''^''' </b></big> means exponentiation in the expression above.
|
|
* <big><b> '''/''' </b></big> means division.
|
|
|
|
|
|
;See also:
|
|
* [[Parsing/Shunting-yard algorithm]] for a method of generating an RPN from an infix expression.
|
|
* Several solutions to [[24 game/Solve]] make use of RPN evaluators (although tracing how they work is not a part of that task).
|
|
* [[Parsing/RPN to infix conversion]].
|
|
* [[Arithmetic evaluation]].
|
|
<br><br>
|
|
|