version 1.23, 1995/02/08 13:38:50
|
version 1.24, 1995/02/23 20:17:16
|
Line 120 H
|
Line 120 H
|
-4 Constant :dovar |
-4 Constant :dovar |
-5 Constant :douser |
-5 Constant :douser |
-6 Constant :dodefer |
-6 Constant :dodefer |
-7 Constant :dodoes |
-7 Constant :dostruc |
-8 Constant :doesjump |
-8 Constant :dodoes |
|
-9 Constant :doesjump |
|
|
>CROSS |
>CROSS |
|
|
Line 287 VARIABLE Already
|
Line 288 VARIABLE Already
|
UNTIL |
UNTIL |
2 cells + count cr ." CROSS: Exists: " type 4 spaces drop |
2 cells + count cr ." CROSS: Exists: " type 4 spaces drop |
swap cell+ ! |
swap cell+ ! |
ELSE true ABORT" CROSS: Ghostnames inconsistent" |
ELSE true abort" CROSS: Ghostnames inconsistent " |
THEN ; |
THEN ; |
|
|
: resolve ( ghost tcfa -- ) |
: resolve ( ghost tcfa -- ) |
Line 604 Build: ( n -- ) T A, H ;
|
Line 605 Build: ( n -- ) T A, H ;
|
by Constant |
by Constant |
Builder AConstant |
Builder AConstant |
|
|
|
Build: ( d -- ) T , , H ; |
|
DO: ( ghost -- d ) T dup cell+ @ swap @ H ;DO |
|
Builder 2Constant |
|
|
Build: T 0 , H ; |
Build: T 0 , H ; |
by Constant |
by Constant |
Builder Value |
Builder Value |
Line 613 DO: ( ghost -- ) ABORT" CROSS: Don't exe
|
Line 618 DO: ( ghost -- ) ABORT" CROSS: Don't exe
|
Builder Defer |
Builder Defer |
by Defer :dodefer resolve |
by Defer :dodefer resolve |
|
|
|
\ Sturctures 23feb95py |
|
|
|
>CROSS |
|
: nalign ( addr1 n -- addr2 ) |
|
\ addr2 is the aligned version of addr1 wrt the alignment size n |
|
1- tuck + swap invert and ; |
|
>TARGET |
|
|
|
Build: >r rot r@ nalign dup T , H ( align1 size offset ) |
|
+ swap r> nalign ; |
|
DO: T @ H + ;DO |
|
Builder Field |
|
by Field :dostruc resolve |
|
|
|
: struct T 0 1 chars H ; |
|
: end-struct T 2Constant H ; |
|
|
|
: cells: ( n -- size align ) |
|
T cells 1 cells H ; |
|
|
|
\ ' 2Constant Alias2 end-struct |
|
\ 0 1 T Chars H 2Constant struct |
|
|
\ structural conditionals 17dec92py |
\ structural conditionals 17dec92py |
|
|
>CROSS |
>CROSS |