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] ; |