--- gforth/kernel/Attic/special.fs 1997/06/06 17:28:16 1.2 +++ gforth/kernel/Attic/special.fs 1997/08/31 19:32:31 1.3 @@ -56,3 +56,49 @@ interpret/compile: DOES> ( compilation 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 = ; +