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