version 1.55, 2004/12/31 13:23:57
|
version 1.60, 2007/12/31 18:40:24
|
Line 1
|
Line 1
|
\ A powerful locals implementation |
\ A powerful locals implementation |
|
|
\ Copyright (C) 1995,1996,1997,1998,2000,2003,2004 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,1998,2000,2003,2004,2005,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., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
|
|
|
|
\ More documentation can be found in the manual and in |
\ More documentation can be found in the manual and in |
Line 638 forth definitions
|
Line 637 forth definitions
|
2drop |
2drop |
endif ; |
endif ; |
|
|
: >definer ( xt -- definer ) |
: >definer ( xt -- definer ) \ gforth |
\G @var{Definer} is a unique identifier for the way the @var{xt} |
\G @var{Definer} is a unique identifier for the way the @var{xt} |
\G was defined. Words defined with different @code{does>}-codes |
\G was defined. Words defined with different @code{does>}-codes |
\G have different definers. The definer can be used for |
\G have different definers. The definer can be used for |
Line 650 forth definitions
|
Line 649 forth definitions
|
>code-address |
>code-address |
then ; |
then ; |
|
|
: definer! ( definer xt -- ) |
: definer! ( definer xt -- ) \ gforth |
\G The word represented by @var{xt} changes its behaviour to the |
\G The word represented by @var{xt} changes its behaviour to the |
\G behaviour associated with @var{definer}. |
\G behaviour associated with @var{definer}. |
over 1 and if |
over 1 and if |
Line 686 forth definitions
|
Line 685 forth definitions
|
endcase ; |
endcase ; |
interpret/compile: TO ( c|w|d|r "name" -- ) \ core-ext,local |
interpret/compile: TO ( c|w|d|r "name" -- ) \ core-ext,local |
|
|
: locals| |
: locals| ( ... "name ..." -- ) \ local-ext locals-bar |
\ don't use 'locals|'! use '{'! A portable and free '{' |
\ don't use 'locals|'! use '{'! A portable and free '{' |
\ implementation is compat/anslocals.fs |
\ implementation is compat/anslocals.fs |
BEGIN |
BEGIN |