version 1.41, 1999/05/03 09:46:20
|
version 1.47, 2001/09/16 10:20:39
|
Line 1
|
Line 1
|
\ A powerful locals implementation |
\ A powerful locals implementation |
|
|
\ Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
Line 16
|
Line 16
|
|
|
\ 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, write to the Free Software |
\ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
\ 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 87
|
Line 87
|
|
|
require search.fs |
require search.fs |
require float.fs |
require float.fs |
|
require extend.fs \ for case |
|
|
: compile-@local ( n -- ) \ gforth compile-fetch-local |
: compile-@local ( n -- ) \ gforth compile-fetch-local |
case |
case |
Line 292 locals-types definitions
|
Line 293 locals-types definitions
|
postpone laddr# @ lp-offset, ; |
postpone laddr# @ lp-offset, ; |
|
|
\ you may want to make comments in a locals definitions group: |
\ you may want to make comments in a locals definitions group: |
' \ alias \ ( -- ) \ core-ext,block-ext backslash |
' \ alias \ ( compilation 'ccc<newline>' -- ; run-time -- ) \ core-ext,block-ext backslash |
\G Line comment: if @code{BLK} contains 0, parse and discard the remainder |
\G Comment till the end of the line if @code{BLK} contains 0 (i.e., |
\G of the parse area. Otherwise, parse and discard all subsequent characters in the |
\G while not loading a block), parse and discard the remainder of the |
\G parse area corresponding to the current line. |
\G parse area. Otherwise, parse and discard all subsequent characters |
immediate |
\G in the parse area corresponding to the current line. |
|
immediate |
|
|
' ( alias ( ( compilation 'ccc<close-paren>' -- ; run-time -- ) \ core,file paren |
' ( alias ( ( compilation 'ccc<close-paren>' -- ; run-time -- ) \ core,file paren |
\G Comment: parse and discard all subsequent characters in the parse |
\G Comment, usually till the next @code{)}: parse and discard all |
\G area until ")" is encountered. During interactive input, an end-of-line |
\G subsequent characters in the parse area until ")" is |
\G also acts as a comment terminator. For file input, it does not; if the |
\G encountered. During interactive input, an end-of-line also acts as |
\G end-of-file is encountered whilst parsing for the ")" delimiter, Gforth |
\G a comment terminator. For file input, it does not; if the |
\G will generate a warning. |
\G end-of-file is encountered whilst parsing for the ")" delimiter, |
|
\G Gforth will generate a warning. |
immediate |
immediate |
|
|
forth definitions |
forth definitions |
Line 322 also locals-types
|
Line 325 also locals-types
|
\ the returned nfa denotes a word that produces what W: produces |
\ the returned nfa denotes a word that produces what W: produces |
\ !! do the whole thing without nextname |
\ !! do the whole thing without nextname |
drop nextname |
drop nextname |
['] W: >name ; |
['] W: >head-noprim ; |
|
|
previous |
previous |
|
|