Diff for /gforth/kernel/doers.fs between versions 1.1 and 1.10

version 1.1, 1998/05/07 22:44:43 version 1.10, 2007/12/31 19:02:25
Line 1 Line 1
   \ run-time code for defining words
   
   \ Copyright (C) 1995,1996,1997,1998,1999,2000,2003,2007 Free Software Foundation, Inc.
   
   \ This file is part of Gforth.
   
   \ Gforth is free software; you can redistribute it and/or
   \ modify it under the terms of the GNU General Public License
   \ as published by the Free Software Foundation, either version 3
   \ of the License, or (at your option) any later version.
   
   \ This program is distributed in the hope that it will be useful,
   \ but WITHOUT ANY WARRANTY; without even the implied warranty of
   \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   \ GNU General Public License for more details.
   
   \ You should have received a copy of the GNU General Public License
   \ along with this program. If not, see http://www.gnu.org/licenses/.
   
   
 \ If we leave out the compiler we need the runtime code for our defining  \ If we leave out the compiler we need the runtime code for our defining
Line 7 Line 25
 has? compiler 0= [IF]  has? compiler 0= [IF]
   
 \ fillers for interpreter only mode  \ fillers for interpreter only mode
 .( Do-Fillers: )  \D compileddofillers .( Do-Fillers: )
   
 : (does>) ;      : (does>) ;    
   
 doer? :dofield 0= [IF] .( DOFIELD )  doer? :dofield 0= [IF] \D compileddofillers .( DOFIELD )
 | : (Field)  DOES> @ + ;  | : (Field)  DOES> @ + ;
 [THEN]  [THEN]
   
 doer? :dodefer 0= [IF] .( DODEFER )  doer? :dodefer 0= [IF] \D compileddofillers .( DODEFER )
 | : Defer ( "name" -- ) DOES> @ execute ;  | : Defer ( "name" -- ) DOES> @ execute ;
 [THEN]  [THEN]
   
 | : 2Constant ( w1 w2 "name" -- ) \ double  \D compileddofillers .( DO2CON )
   | : 2Constant ( w1 w2 "name" -- ) 
     DOES> ( -- w1 w2 )      DOES> ( -- w1 w2 )
         2@ ;          2@ ;
   
 doer? :docon 0= [IF] .( DOCON )  doer? :docon 0= [IF] \D compileddofillers .( DOCON )
 | : (Constant)  DOES> @ ;  | : (Constant)  DOES> @ ;
 [THEN]  [THEN]
   
 doer? :douser 0= [IF] .( DOUSER )  doer? :douser 0= [IF] \D compileddofillers .( DOUSER )
 | : User DOES> @ up @ + ;  | : User DOES> @ [IFDEF] up@ up@ [ELSE] up @ [THEN] + ;
 [THEN]  [THEN]
   
 doer? :dovar 0= [IF] .( DOVAR )  doer? :dovar 0= [IF] \D compileddofillers .( DOVAR )
 | : Create ( "name" -- ) \ core  | : Create ( "name" -- ) \ core
     DOES> ;      DOES> ;
   
 .( .)  \D compileddofillers .( .)
 [THEN]  [THEN]
   

Removed from v.1.1  
changed lines
  Added in v.1.10


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>