\ \ --- Now follows the C-output. \ 2 value ind : .ind ind spaces ; : .reg ." r" universe @ - 1#c / . ; : .def` i` then> .ind ." STATIC cell " .reg ." = " ; : .val here universe @ ?do i @ over = if @ case ['] _lit of i @ cell+ @ 0 .r endof dup of ." r" i universe @ - 1#c / 0 .r endof endcase unloop ;then 1#c +loop ." foo" ; : .val1` i` then> @ cell+ @ .val ; : .val2` i` then> @ 2#c + @ .val ; : .val2;` i` then> @ 2#c + @ .val ." ;" cr ; : .ucell ." (ucell)" ; : .uval1` .ucell` .val1` ; : .uval2` .ucell` .val2` ; : .uval2;` .ucell` .val2;` ; : .c-defs here universe @ ?do i @ @ case ['] _se of .def ." stack[sp - " i @ cell+ @ 1+ 0 .r ." ];" cr endof ['] _lit of endof ['] ! of endof \ ignore first ['] @ of .def ." *memory(" .val1 ." );" cr endof ['] negate of .def ." -" .val1 ." ;" cr endof ['] + of .def .val1 ." + " .val2; endof ['] * of .def .val1 ." * " .val2; endof ['] / of .def .val1 ." / " .val2; endof ['] mod of .def .val1 ." % " .val2; endof ['] u/ of .def .uval1 ." / " .uval2; endof ['] umod of .def .uval1 ." % " .uval2; endof ['] 0= of .def .val1 ." == 0 ? -1 : 0;" cr endof ['] and of .def .val1 ." & " .val2; endof ['] or of .def .val1 ." | " .val2; endof ['] xor of .def .val1 ." ^ " .val2; endof ['] lshift of .def .val1 ." << " .val2; endof ['] rshift of .def .uval1 ." >> " .val2; endof endcase 2#c +loop ; : .c-mems here universe @ ?do i @ @ ['] ! = if .ind ." *memory(" .val2 ." ) = " .val1 ." ;" cr then 2#c +loop ; : .c-stack ^stack @ first-change ?do .ind ." stack[sp" i