| |
|
| default-field |
default-field |
| |
|
| : +field ( n1 n2 "name" -- n3 ) \ X:structures plus-field |
: context+field ( n1 n2 "name" -- n3 ) \ X:structures plus-field |
| create-interpret/compile over , + |
create-interpret/compile over , + |
| interpretation> |
interpretation> |
| @ do-field, @ perform |
@ do-field, @ perform |
| @ do-field, @ cell+ @ compile, , |
@ do-field, @ cell+ @ compile, , |
| <compilation ; |
<compilation ; |
| |
|
| : extend-structure ( n "name" -- struct-sys n ) \ Gforth |
: context:field ['] context+field IS +field ; |
| \g extend an existing structure |
|
| >r 0 value lastxt >body r> ; |
|
| |
|
| : begin-structure ( "name" -- struct-sys 0 ) \ X:structures |
|
| 0 extend-structure ; |
|
| |
|
| : end-structure ( struct-sys +n -- ) \ X:structures |
|
| swap ! ; |
|
| |
|
| : cfield: ( u1 "name" -- u2 ) \ X:structures |
|
| 1 +field ; |
|
| |
|
| : field: ( u1 "name" -- u2 ) \ X:structures |
|
| aligned cell +field ; |
|
| |
|
| : 2field: ( u1 "name" -- u2 ) \ gforth |
|
| aligned 2 cells +field ; |
|
| |
|
| : ffield: ( u1 "name" -- u2 ) \ X:structures |
|
| faligned 1 floats +field ; |
|
| |
|
| : sffield: ( u1 "name" -- u2 ) \ X:structures |
|
| sfaligned 1 sfloats +field ; |
|
| |
|
| : dffield: ( u1 "name" -- u2 ) \ X:structures |
|
| dfaligned 1 dfloats +field ; |
|