September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -0,0 +1,18 @@
|
|||
var ops=D("^",True, "*",'*, "/",'/, "+",'+, "-",'-);
|
||||
|
||||
fcn parseRPN(e){
|
||||
println("\npostfix: ", e);
|
||||
stack:=L();
|
||||
foreach tok in (e.split()){
|
||||
op:=ops.find(tok);
|
||||
if(op){
|
||||
y := stack.pop(); x := stack.pop();
|
||||
if(True==op) x=x.pow(y);
|
||||
else x=op(x,y);
|
||||
stack.append(x);
|
||||
}
|
||||
else stack.append(tok.toFloat());
|
||||
println(tok," --> ",stack);
|
||||
}
|
||||
println("result: ", stack[0])
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
tests:=T("3 4 2 * 1 5 - 2 3 ^ ^ / +");
|
||||
foreach t in (tests) { parseRPN(t) }
|
||||
Loading…
Add table
Add a link
Reference in a new issue