Annotation of gforth/kernel/getdoers.fs, revision 1.19
1.1 pazsan 1: \
2:
1.19 ! anton 3: \ Copyright (C) 1996, 1998,1999,2003,2005,2006,2007,2010 Free Software Foundation, Inc.
1.1 pazsan 4:
5: \ This file is part of Gforth.
6:
7: \ Gforth is free software; you can redistribute it and/or
8: \ modify it under the terms of the GNU General Public License
1.15 anton 9: \ as published by the Free Software Foundation, either version 3
1.1 pazsan 10: \ of the License, or (at your option) any later version.
11:
12: \ This program is distributed in the hope that it will be useful,
13: \ but WITHOUT ANY WARRANTY; without even the implied warranty of
14: \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: \ GNU General Public License for more details.
16:
17: \ You should have received a copy of the GNU General Public License
1.15 anton 18: \ along with this program. If not, see http://www.gnu.org/licenses/.
1.1 pazsan 19:
20: doer? :docon [IF]
21: : docon: ( -- addr ) \ gforth
1.3 crook 22: \G The code address of a @code{CONSTANT}.
1.1 pazsan 23: ['] bl >code-address ;
24: [THEN]
25:
1.12 pazsan 26: doer? :dovalue [IF]
27: : dovalue: ( -- addr ) \ gforth
28: \G The code address of a @code{CONSTANT}.
29: ['] def#tib >code-address ;
30: [THEN]
31:
1.1 pazsan 32: : docol: ( -- addr ) \ gforth
1.3 crook 33: \G The code address of a colon definition.
1.1 pazsan 34: ['] on >code-address ;
35: \ !! mark on
36:
37: doer? :dovar [IF]
38: : dovar: ( -- addr ) \ gforth
1.3 crook 39: \G The code address of a @code{CREATE}d word.
1.1 pazsan 40: \ in rom-applications variable might be implemented with constant
41: \ use really a created word!
42: ['] ??? >code-address ;
43: [THEN]
44:
45: doer? :douser [IF]
46: : douser: ( -- addr ) \ gforth
1.3 crook 47: \G The code address of a @code{USER} variable.
1.1 pazsan 48: ['] sp0 >code-address ;
49: [THEN]
50:
51: doer? :dodefer [IF]
52: : dodefer: ( -- addr ) \ gforth
1.3 crook 53: \G The code address of a @code{defer}ed word.
1.10 anton 54: ['] parser1 >code-address ;
1.1 pazsan 55: [THEN]
56:
57: doer? :dofield [IF]
1.13 pazsan 58:
1.1 pazsan 59: : dofield: ( -- addr ) \ gforth
1.3 crook 60: \G The code address of a @code{field}.
1.13 pazsan 61: ['] >body >code-address ;
1.1 pazsan 62: [THEN]
63:
1.7 anton 64: true [IF] \ !! don't know what to put here
1.1 pazsan 65: : dodoes: ( -- addr ) \ gforth
1.18 anton 66: \G The code address of a @code{DOES>}-defined word.
67: \ DOES> is interpret/compile: but cross' ['] gives the address of
68: \ a DOES>-defined word
1.9 pazsan 69: ['] DOES> >code-address ;
1.18 anton 70:
1.1 pazsan 71: [THEN]
1.17 dvdkhlng 72:
73:
74: doer? :doabicode [IF]
75: (ABI-CODE) (abi-code-dummy)
76: : doabicode: ( -- addr ) \ gforth
77: \G The code address of a @code{ABI-CODE} definition.
78: ['] (abi-code-dummy) >code-address ;
79: [THEN]
1.18 anton 80:
81: doer? :do;abicode [IF]
82: (;abi-code) (;abi-code-dummy)
83: : do;abicode: ( -- addr )
84: ['] (;abi-code-dummy) >code-address ;
85: [THEN]
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>