| ProblemThe X:structures extension definesFIELD:as:
10.6.2.xxxx FIELD:          "field-colon"              FACILITY EXT
            ( -- )                                     X:structures
While this is a very concise definition, there are a few difficulties
with it:
    The semantics of FIELD:are identical to the execution semantics
    of the phrase:
        ALIGNED 1 CELLS +FIELDSee:
  10.6.2.---- +FIELD, 10.6.2.----BEGIN-STRUCTUREand
  10.6.2.----END-STRUCTURE. 
This applies toThe stack description is incorrect, it should be:
	( n1 "<spaces>name" -- n2 )It defines a child word which is not described.  Normally this is
   described in a "name Execution" clause.There is no actual description of the word, simply what amounts
   to a reference implementation. CFIELD:,DFFIELD:,FFIELD:andSFFIELD:as well.SolutionReplace the definition ofFIELD:and friends with:
10.6.2.xxxx FIELD:          "field-colon"              FACILITY EXT
            ( n1 "<spaces>name" -- n2 )                X:structures
    Skip leading space delimiters.  Parse name delimited by a space.
    Offset is the first cell aligned value greater than or equal to
    n1.  n2 = offset + 1 cells.
    
    Create a definition for name with the execution semantics given
    below.
name Execution: ( a-addr1 -- a-addr2 )
    Add the offset calculated during the compile time action to
    a-addr1 giving the cell aligned address a-addr2.
See:
  10.6.2.---- BEGIN-STRUCTURE, A.10.6.----BEGIN-STRUCTURE,
  A.10.6.2.----FIELD: ProposalModify the definition of the following words in accordance with the
text given in the Solution, above, with the modification of the
alignment as follows:Add the following as the Rationale for 10.6.2.----
| FIELD: | cell aligned |  | CFIELD: | character aligned |  | FFIELD: | float aligned |  | SFFIELD: | single-float aligned |  | DFFIELD: | double-float aligned | 
 FIELD:
  A.10.6.2.xxxx FIELD:Create an aligned single cell field in a data structure.
  
  The various xFIELD:words provide for different alignment and
  size allocation.
  
  The xFIELD:words could be defined as:
: FIELD:      ALIGNED 1 CELLS    +FIELD ; \ cell aligned
: CFIELD:             1 CHARS    +FIELD ; \ character aligned
: FFIELD:    FALIGNED 1 FLOATS   +FIELD ; \ float aligned
: SFFIELD:  SFALIGNED 1 SFLOATS  +FIELD ; \ single-float aligned
: DFFIELD:  DFALIGNED 1 DFLOATS  +FIELD ; \ double-float aligned
  
 |