version 1.3, 1999/03/23 20:24:25
|
version 1.18, 2010/04/25 18:27:10
|
Line 1
|
Line 1
|
\ |
\ |
|
|
\ Copyright (C) 1996, 1998 Free Software Foundation, Inc. |
\ Copyright (C) 1996, 1998,1999,2003,2005,2006,2007 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
\ Gforth is free software; you can redistribute it and/or |
\ Gforth is free software; you can redistribute it and/or |
\ modify it under the terms of the GNU General Public License |
\ modify it under the terms of the GNU General Public License |
\ as published by the Free Software Foundation; either version 2 |
\ as published by the Free Software Foundation, either version 3 |
\ of the License, or (at your option) any later version. |
\ of the License, or (at your option) any later version. |
|
|
\ This program is distributed in the hope that it will be useful, |
\ This program is distributed in the hope that it will be useful, |
Line 15
|
Line 15
|
\ GNU General Public License for more details. |
\ GNU General Public License for more details. |
|
|
\ You should have received a copy of the GNU General Public License |
\ You should have received a copy of the GNU General Public License |
\ along with this program; if not, write to the Free Software |
\ along with this program. If not, see http://www.gnu.org/licenses/. |
\ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
|
|
doer? :docon [IF] |
doer? :docon [IF] |
: docon: ( -- addr ) \ gforth |
: docon: ( -- addr ) \ gforth |
Line 24 doer? :docon [IF]
|
Line 23 doer? :docon [IF]
|
['] bl >code-address ; |
['] bl >code-address ; |
[THEN] |
[THEN] |
|
|
|
doer? :dovalue [IF] |
|
: dovalue: ( -- addr ) \ gforth |
|
\G The code address of a @code{CONSTANT}. |
|
['] def#tib >code-address ; |
|
[THEN] |
|
|
: docol: ( -- addr ) \ gforth |
: docol: ( -- addr ) \ gforth |
\G The code address of a colon definition. |
\G The code address of a colon definition. |
['] on >code-address ; |
['] on >code-address ; |
Line 46 doer? :douser [IF]
|
Line 51 doer? :douser [IF]
|
doer? :dodefer [IF] |
doer? :dodefer [IF] |
: dodefer: ( -- addr ) \ gforth |
: dodefer: ( -- addr ) \ gforth |
\G The code address of a @code{defer}ed word. |
\G The code address of a @code{defer}ed word. |
['] source >code-address ; |
['] parser1 >code-address ; |
[THEN] |
[THEN] |
|
|
doer? :dofield [IF] |
doer? :dofield [IF] |
|
|
: dofield: ( -- addr ) \ gforth |
: dofield: ( -- addr ) \ gforth |
\G The code address of a @code{field}. |
\G The code address of a @code{field}. |
['] reveal-method >code-address ; |
['] >body >code-address ; |
[THEN] |
[THEN] |
|
|
has? prims 0= [IF] |
true [IF] \ !! don't know what to put here |
: dodoes: ( -- addr ) \ gforth |
: dodoes: ( -- addr ) \ gforth |
\G The code address of a @code{field}??? |
\G The code address of a @code{DOES>}-defined word. |
['] spaces >code-address ; |
\ DOES> is interpret/compile: but cross' ['] gives the address of |
|
\ a DOES>-defined word |
|
['] DOES> >code-address ; |
|
|
|
[THEN] |
|
|
|
|
|
doer? :doabicode [IF] |
|
(ABI-CODE) (abi-code-dummy) |
|
: doabicode: ( -- addr ) \ gforth |
|
\G The code address of a @code{ABI-CODE} definition. |
|
['] (abi-code-dummy) >code-address ; |
|
[THEN] |
|
|
|
doer? :do;abicode [IF] |
|
(;abi-code) (;abi-code-dummy) |
|
: do;abicode: ( -- addr ) |
|
['] (;abi-code-dummy) >code-address ; |
[THEN] |
[THEN] |