RosettaCodeData/Task/Parsing-RPN-calculator-algorithm/PicoLisp/parsing-rpn-calculator-algorithm-1.l

13 lines
393 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
(de rpnCalculator (Str)
(let (^ ** Stack) # Define '^' from the built-in '**'
(prinl "Token Stack")
(for Token (str Str "*+-/\^")
(if (num? Token)
(push 'Stack @)
(set (cdr Stack)
((intern Token) (cadr Stack) (pop 'Stack)) ) )
(prin Token)
(space 6)
(println Stack) )
(println (car Stack)) ) )