Parsing/RPN to infix conversion: Difference between revisions

m
no edit summary
(Added C implementation.)
mNo edit summary
Line 2,098:
read +, stack = [1 + 2 + 3]
Correct!</pre>
 
=={{header|Julia}}==
<lang julia>
function parseRPNstring(rpns)
infix = []
rpn = split(rpns)
for tok in rpn
if all(isnumber, tok)
push!(infix, tok)
else
last = pop!(infix)
prev = pop!(infix)
push!(infix, Expr(:call, Symbol(tok), prev, last))
end
end
infix
end
 
println(parseRPNstring("3 4 2 * 1 5 - 2 3 ^ ^ / +"))
println(parseRPNstring("1 2 + 3 4 + ^ 5 6 + ^"))
</lang>
{{output}}
<pre>
Any[:("3" + ("4" * "2") / ("1" - "5") ^ ("2" ^ "3"))]
Any[:((("1" + "2") ^ ("3" + "4")) ^ ("5" + "6"))]
</pre>
 
=={{header|Nim}}==
{{trans|Go}}
4,105

edits