version 1.1, 1996/08/26 10:07:19
|
version 1.2, 1996/09/10 16:08:38
|
Line 34 constant no-interpretation-does-code
|
Line 34 constant no-interpretation-does-code
|
|
|
: create-interpret/compile ( -- ) |
: create-interpret/compile ( -- ) |
0 0 interpret/compile: |
0 0 interpret/compile: |
here lastxt interpret/compile-int ! |
|
no-interpretation-does-code here does-code! |
|
0 >body allot |
|
here lastxt interpret/compile-comp ! |
here lastxt interpret/compile-comp ! |
no-compilation-does-code here does-code! |
no-compilation-does-code here does-code! |
0 >body allot ; \ restrict? |
[ 0 >body ] literal allot |
|
here lastxt interpret/compile-int ! |
|
no-interpretation-does-code here does-code! |
|
[ 0 >body ] literal allot ; \ restrict? |
|
|
: fix-does-code ( addr ret-addr -- ) |
: fix-does-code ( addr ret-addr -- ) |
lastxt [ interpret/compile-struct drop ] literal + >r |
lastxt [ interpret/compile-struct drop ] literal + >r |
lastxt interpret/compile? |
lastxt interpret/compile? |
lastxt interpret/compile-int @ r@ = and |
lastxt interpret/compile-int @ r@ >body = and |
lastxt interpret/compile-comp @ r> >body = and |
lastxt interpret/compile-comp @ r> = and |
0= abort" not created with create-interpret/compile" |
0= abort" not created with create-interpret/compile" |
cell+ cell+ /does-handler + \ to does-code |
[ /does-handler cell+ cell+ ] literal + \ to does-code |
swap @ does-code! ; |
swap @ does-code! ; |
|
|
: (interpretation>) ( -- ) |
: (interpretation>) ( -- ) |
Line 55 constant no-interpretation-does-code
|
Line 55 constant no-interpretation-does-code
|
|
|
: interpretation> ( -- orig colon-sys ) |
: interpretation> ( -- orig colon-sys ) |
POSTPONE (interpretation>) POSTPONE ahead |
POSTPONE (interpretation>) POSTPONE ahead |
dodoes, defstart dead-code off 0 set-locals-size-list POSTPONE >body ; immediate restrict |
dodoes, defstart dead-code off 0 set-locals-size-list ; immediate restrict |
|
|
: <interpretation ( orig colon-sys -- ) |
: <interpretation ( orig colon-sys -- ) |
?struc POSTPONE exit |
?struc POSTPONE exit |
Line 66 constant no-interpretation-does-code
|
Line 66 constant no-interpretation-does-code
|
|
|
: compilation> ( -- orig colon-sys ) |
: compilation> ( -- orig colon-sys ) |
POSTPONE (compilation>) POSTPONE ahead |
POSTPONE (compilation>) POSTPONE ahead |
dodoes, defstart dead-code off 0 set-locals-size-list ; immediate restrict |
dodoes, defstart dead-code off 0 set-locals-size-list POSTPONE >body ; immediate restrict |
|
|
comp' <interpretation drop Alias <compilation immediate restrict |
comp' <interpretation drop Alias <compilation immediate restrict |
|
|