Diff for /gforth/cross.fs between versions 1.43 and 1.44

version 1.43, 1997/02/08 22:58:09 version 1.44, 1997/02/09 21:51:38
Line 444  Defer skip? ' false IS skip? Line 444  Defer skip? ' false IS skip?
     ghost dup >magic @ <fwd> =      ghost dup >magic @ <fwd> =
     IF  >link @ 0<>  ELSE  drop false  THEN ;      IF  >link @ 0<>  ELSE  drop false  THEN ;
   
   : doer? ( -- flag ) \ name
       ghost >magic @ <do:> = ;
   
 : skip-defs ( -- )  : skip-defs ( -- )
     BEGIN  refill  WHILE  source -trailing nip 0= UNTIL  THEN ;      BEGIN  refill  WHILE  source -trailing nip 0= UNTIL  THEN ;
   
Line 760  Build: T 0 au, , H ; Line 763  Build: T 0 au, , H ;
 by User  by User
 Builder AUser  Builder AUser
   
 Build:  ( n -- ) T , H ;  Build:  ( n -- ) ;
 by: :docon ( ghost -- n ) T @ H ;DO  by: :docon ( ghost -- n ) T @ H ;DO
   Builder (Constant)
   
   Build:  ( n -- ) T , H ;
   by (Constant)
 Builder Constant  Builder Constant
   
 Build:  ( n -- ) T A, H ;  Build:  ( n -- ) T A, H ;
 by Constant  by (Constant)
 Builder AConstant  Builder AConstant
   
 Build:  ( d -- ) T , , H ;  Build:  ( d -- ) T , , H ;
Line 773  DO: ( ghost -- d ) T dup cell+ @ swap @ Line 780  DO: ( ghost -- d ) T dup cell+ @ swap @
 Builder 2Constant  Builder 2Constant
   
 Build: T 0 , H ;  Build: T 0 , H ;
 by Constant  by (Constant)
 Builder Value  Builder Value
   
 Build: T 0 A, H ;  Build: T 0 A, H ;
 by Constant  by (Constant)
 Builder AValue  Builder AValue
   
 Build:  ( -- ) compile noop ;  Build:  ( -- ) compile noop ;
Line 796  Builder interpret/compile: Line 803  Builder interpret/compile:
  1- tuck +  swap invert and ;   1- tuck +  swap invert and ;
 >TARGET  >TARGET
   
   Build: ;
   by: :dofield T @ H + ;DO
   Builder (Field)
   
 Build:  >r rot r@ nalign  dup T , H  ( align1 size offset )  Build:  >r rot r@ nalign  dup T , H  ( align1 size offset )
         + swap r> nalign ;          + swap r> nalign ;
 by: :dofield T @ H + ;DO  by (Field)
 Builder Field  Builder Field
   
 : struct  T 0 1 chars H ;  : struct  T 0 1 chars H ;
Line 920  also minimal Line 931  also minimal
 \ define new [IFDEF] and [IFUNDEF]                      20may93jaw  \ define new [IFDEF] and [IFUNDEF]                      20may93jaw
   
 : defined? defined? ;  : defined? defined? ;
   : needed? needed? ;
   : doer? doer? ;
   
 : [IFDEF] defined? postpone [IF] ;  : [IFDEF] defined? postpone [IF] ;
 : [IFUNDEF] defined? 0= postpone [IF] ;  : [IFUNDEF] defined? 0= postpone [IF] ;

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


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