1: \
2:
3: \ Copyright (C) 1996 Free Software Foundation, Inc.
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
9: \ as published by the Free Software Foundation; either version 2
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
18: \ along with this program; if not, write to the Free Software
19: \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20:
21: doer? :docon [IF]
22: : docon: ( -- addr ) \ gforth
23: \G the code address of a @code{CONSTANT}
24: ['] bl >code-address ;
25: [THEN]
26:
27: : docol: ( -- addr ) \ gforth
28: \G the code address of a colon definition
29: ['] on >code-address ;
30: \ !! mark on
31:
32: doer? :dovar [IF]
33: : dovar: ( -- addr ) \ gforth
34: \G the code address of a @code{CREATE}d word
35: \ in rom-applications variable might be implemented with constant
36: \ use really a created word!
37: ['] ??? >code-address ;
38: [THEN]
39:
40: doer? :douser [IF]
41: : douser: ( -- addr ) \ gforth
42: \G the code address of a @code{USER} variable
43: ['] sp0 >code-address ;
44: [THEN]
45:
46: doer? :dodefer [IF]
47: : dodefer: ( -- addr ) \ gforth
48: \G the code address of a @code{defer}ed word
49: ['] source >code-address ;
50: [THEN]
51:
52: doer? :dofield [IF]
53: : dofield: ( -- addr ) \ gforth
54: \G the code address of a @code{field}
55: ['] reveal-method >code-address ;
56: [THEN]
57:
58: has? prims 0= [IF]
59: : dodoes: ( -- addr ) \ gforth
60: \G the code address of a @code{field}
61: ['] spaces >code-address ;
62: [THEN]
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>