Diff for /gforth/stuff.fs between versions 1.37 and 1.43

version 1.37, 2004/11/28 20:20:37 version 1.43, 2005/06/28 06:49:41
Line 1 Line 1
 \ miscelleneous words  \ miscelleneous words
   
 \ Copyright (C) 1996,1997,1998,2000,2003 Free Software Foundation, Inc.  \ Copyright (C) 1996,1997,1998,2000,2003,2004 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 139  AUser CSP Line 139  AUser CSP
 : compile-literal ( n -- )  : compile-literal ( n -- )
     postpone literal ;      postpone literal ;
   
   : compile-compile-literal ( n -- )
       compile-literal postpone compile-literal ;
   
   : compile-2literal ( n1 n2 -- )
       postpone 2literal ;
   
   : compile-compile-2literal ( n1 n2 -- )
       compile-2literal postpone compile-2literal ;
   
 : [[ ( -- )  : [[ ( -- )
 \G switch from postpone state to compile state  \G switch from postpone state to compile state
     \ this is only a marker; it is never really interpreted      \ this is only a marker; it is never really interpreted
     compile-only-error ; immediate      compile-only-error ; immediate
   
 : postponer ( c-addr u -- )  [ifdef] compiler1
   : postponer1 ( c-addr u -- ... xt )
     2dup find-name dup if ( c-addr u nt )      2dup find-name dup if ( c-addr u nt )
         nip nip name>comp          nip nip name>comp
         2dup [comp'] [[ d= if          2dup [comp'] [[ d= if
             2drop ['] compiler is parser              2drop ['] compiler1 is parser1
         else          else
             postpone,              ['] postpone,
         endif          endif
     else      else
         drop          drop
         2dup snumber? dup if          2dup 2>r snumber? dup if
             0> IF              0> IF
                 swap postpone literal postpone compile-literal                  ['] compile-compile-2literal
               ELSE
                   ['] compile-compile-literal
             THEN              THEN
             postpone Literal postpone compile-literal              2rdrop
             2drop  
         ELSE          ELSE
             drop no.extensions              drop 2r> no.extensions
         THEN          THEN
     then ;      then ;
   
 : ]] ( -- )  : ]] ( -- )
     \ switch into postpone state      \ switch into postpone state
     ['] postponer is parser state on ; immediate restrict      ['] postponer1 is parser1 state on ; immediate restrict
   
   [then]
   
 \ f.rdp  \ f.rdp
   
Line 289  AUser CSP Line 302  AUser CSP
   
 \ defer stuff  \ defer stuff
   
   [ifundef] defer@ : defer@ >body @ ; [then]
   
 :noname    ' defer@ ;  :noname    ' defer@ ;
 :noname    postpone ['] postpone defer@ ;  :noname    postpone ['] postpone defer@ ;
 interpret/compile: action-of ( interpretation "name" -- xt; compilation "name" -- ; run-time -- xt ) \ gforth  interpret/compile: action-of ( interpretation "name" -- xt; compilation "name" -- ; run-time -- xt ) \ gforth
Line 297  interpret/compile: action-of ( interpret Line 312  interpret/compile: action-of ( interpret
 ' action-of  ' action-of
 comp' action-of drop  comp' action-of drop
 interpret/compile: what's ( interpretation "name" -- xt; compilation "name" -- ; run-time -- xt ) \ gforth-obsolete  interpret/compile: what's ( interpretation "name" -- xt; compilation "name" -- ; run-time -- xt ) \ gforth-obsolete
 \G Old name of @code{action-of}  
   
   \G Old name of @code{action-of}
   
   
   : typewhite ( addr n -- ) \ gforth
   \G Like type, but white space is printed instead of the characters.
       \ bounds u+do
       0 max bounds ?do
           i c@ #tab = if \ check for tab
               #tab
           else
               bl
           then
           emit
       loop ;
   

Removed from v.1.37  
changed lines
  Added in v.1.43


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