$use Dos Convert Stdio Arithm; $func INV-PROG tX tY = tZ; $func F1 s.210 t.211 e.212 t.213 t.219 = t.16; $func F2 e.436 (e.437) = t.7; $func To-Bin sX = t.Bx; To-Bin sX = sX : { 0 = ("ATOM" ("NIL")); s = ("CONS" ("ATOM" (1)) >); }; Main = { * read args, then run: : vX, : vY, >::t.Bx, >::t.By, \n\n" >; }; *=============================================================== INV-PROG t.2 t.3, :: t.9 = t.9; F1 s.2 t.4 e.6 (s.8 t.9 e.10) t.12, { e.10 : t.13, s.8 : "CONS", :: t.15 = t.15; e.10 : , { s.8 : "ATOM", t.9 : (s.17), :: t.20 = t.20; s.8 : "XA", t.9 : s.21, :: t.20 = t.20; }; }; F2 e.2 (e.4), { e.2 : , e.4 : (("XE" 1) t.5) e.6 = t.5; e.2 : ((s.8 t.9 e.10) t.11) e.12, { e.10 : t.13, s.8 : "CONS", t.11 : ("CONS" t.14 t.15), :: t.16 = t.16; e.10 : , { s.8 : "ATOM", t.9 : (s.17), t.11 : ("ATOM" (s.18)), s.17 : s.18, :: t.19 = t.19; s.8 : "XA", t.9 : s.20, t.11 : ("ATOM" (s.21)), :: t.22 = t.22; s.8 : "XA", t.9 : s.23, t.11 : ("XA" s.24), :: t.25 = t.25; s.8 : "XE", t.9 : s.26, :: t.27 = t.27; }; }; };