Diff for /gforth/stuff.fs between versions 1.41 and 1.42

version 1.41, 2004/12/31 13:23:58 version 1.42, 2005/06/28 06:45:07
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 -- )  : 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
   
 \ f.rdp  \ f.rdp
   

Removed from v.1.41  
changed lines
  Added in v.1.42


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