| \ |
\ |
| |
|
| \ Copyright (C) 1996, 1998,1999,2003 Free Software Foundation, Inc. |
\ Copyright (C) 1996, 1998,1999,2003,2005,2006,2007,2010 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, |
| \ 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., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
| |
|
| doer? :docon [IF] |
doer? :docon [IF] |
| : docon: ( -- addr ) \ gforth |
: docon: ( -- addr ) \ gforth |
| ['] 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 ; |
| 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. |
| ['] parser >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] |
| |
|
| true [IF] \ !! don't know what to put here |
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] |