--- gforth/cross.fs 1997/05/21 20:39:21 1.48 +++ gforth/cross.fs 1997/07/31 16:17:07 1.51 @@ -722,7 +722,7 @@ Cond: DOES> restrict? dup >magic @ = IF gexecute T 0 , H EXIT THEN THEN - compile :dodoes gexecute T here H cell - reloff ; + compile :dodoes gexecute T here H tcell - reloff ; : TCreate ( -- ) last-ghost @ @@ -840,16 +840,17 @@ Build: ; by: :dofield T @ H + ;DO Builder (Field) -Build: >r rot r@ nalign dup T , H ( align1 size offset ) - + swap r> nalign ; +Build: ( align1 offset1 align size "name" -- align2 offset2 ) + rot dup T , H ( align1 align size offset1 ) + + >r nalign r> ; by (Field) Builder Field -: struct T 0 1 chars H ; +: struct T 1 chars 0 H ; : end-struct T 2Constant H ; -: cells: ( n -- size align ) - T cells 1 cells H ; +: cell% ( -- align size ) + T 1 cells H dup ; \ ' 2Constant Alias2 end-struct \ 0 1 T Chars H 2Constant struct @@ -1077,6 +1078,7 @@ previous : lshift lshift ; : 2/ 2/ ; : . . ; +: const ; \ mach-file count included