version 1.7, 2006/02/25 18:28:12
|
version 1.8, 2006/03/05 14:10:52
|
Line 20
|
Line 20
|
|
|
: ?struc ( flag -- ) abort" unstructured " ; |
: ?struc ( flag -- ) abort" unstructured " ; |
: sys? ( sys -- ) dup 0= ?struc ; |
: sys? ( sys -- ) dup 0= ?struc ; |
: >mark ( -- sys ) here 0 , ; |
: >mark ( -- sys ) here cell allot ; |
: >resolve ( sys -- ) here swap ! ; |
: >resolve ( sys -- ) here swap |
|
[ has? flash [IF] ] flash! [ [ELSE] ] ! [ [THEN] ] ; |
: <resolve ( sys -- ) , ; |
: <resolve ( sys -- ) , ; |
|
|
: BUT sys? swap ; immediate restrict |
: BUT sys? swap ; immediate restrict |
Line 31
|
Line 32
|
|
|
: AHEAD postpone branch >mark ; immediate restrict |
: AHEAD postpone branch >mark ; immediate restrict |
: IF postpone ?branch >mark ; immediate restrict |
: IF postpone ?branch >mark ; immediate restrict |
: THEN sys? dup @ ?struc >resolve ; immediate restrict |
: THEN sys? ( dup @ ?struc ) >resolve ; immediate restrict |
: ELSE sys? postpone AHEAD swap postpone THEN ; |
: ELSE sys? postpone AHEAD swap postpone THEN ; |
immediate restrict |
immediate restrict |
|
|