Scripting Dynamics
' Ackermann Function from rosettacode.org c$=chr(10) /* All variables are global. No access to the Stack. i1, i2, i3 emulates the Stack. */ DIM i1(25) DIM i2(25) DIM i3(25) i1(1)=1 : i2(1)=3 : ix=1 GOSUB loop: PRINT i1(1) & " " & i2(1) & " = " & i3(1) & c$ i1(1)=2 : i2(1)=4 : ix=1 GOSUB loop: PRINT i1(1) & " " & i2(1) & " = " & i3(1) & c$ end loop: IF i1(ix)=0 THEN i3(ix)=i2(ix)+1 : RETURN IF i2(ix)=0 THEN ix=ix+1 i1(ix)=i1(ix-1)-1 i2(ix)=1 GOSUB loop: i3(ix-1)=i3(ix) ix=ix-1 RETURN endif ix=ix+1 i1(ix)=i1(ix-1) i2(ix)=i2(ix-1)-1 GOSUB loop: i1(ix)=i1(ix-1)-1 i2(ix)=i3(ix) GOSUB loop: i3(ix-1)=i3(ix) ix=ix-1 RETURN