version 1.2, 1997/06/06 17:28:16
|
version 1.3, 1997/08/31 19:32:31
|
Line 56 interpret/compile: DOES> ( compilation
|
Line 56 interpret/compile: DOES> ( compilation
|
immediate |
immediate |
|
|
|
|
|
doer? :docon [IF] |
|
: docon: ( -- addr ) \ gforth |
|
\G the code address of a @code{CONSTANT} |
|
['] bl >code-address ; |
|
[THEN] |
|
|
|
: docol: ( -- addr ) \ gforth |
|
\G the code address of a colon definition |
|
['] on >code-address ; |
|
\ !! mark on |
|
|
|
doer? :dovar [IF] |
|
: dovar: ( -- addr ) \ gforth |
|
\G the code address of a @code{CREATE}d word |
|
\ in rom-applications variable might be implemented with constant |
|
\ use really a created word! |
|
['] ??? >code-address ; |
|
[THEN] |
|
|
|
doer? :douser [IF] |
|
: douser: ( -- addr ) \ gforth |
|
\G the code address of a @code{USER} variable |
|
['] sp0 >code-address ; |
|
[THEN] |
|
|
|
doer? :dodefer [IF] |
|
: dodefer: ( -- addr ) \ gforth |
|
\G the code address of a @code{defer}ed word |
|
['] source >code-address ; |
|
[THEN] |
|
|
|
doer? :dofield [IF] |
|
: dofield: ( -- addr ) \ gforth |
|
\G the code address of a @code{field} |
|
['] reveal-method >code-address ; |
|
[THEN] |
|
|
|
has-prims 0= [IF] |
|
: dodoes: ( -- addr ) \ gforth |
|
\G the code address of a @code{field} |
|
['] spaces >code-address ; |
|
[THEN] |
|
|
|
: interpret/compile? ( xt -- flag ) |
|
>does-code ['] S" >does-code = ; |
|
|