Diff for /gforth/struct.fs between versions 1.15 and 1.17

version 1.15, 1999/03/23 20:24:20 version 1.17, 2000/09/23 15:06:03
Line 1 Line 1
 \ data structures (like C structs)  \ data structures (like C structs)
   
 \ Copyright (C) 1995, 1997 Free Software Foundation, Inc.  \ Copyright (C) 1995,1997,2000 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 44  does> ( name execution: -- ) Line 44  does> ( name execution: -- )
     create field, ;      create field, ;
   
 : field ( align1 offset1 align size "name" --  align2 offset2 ) \ gforth  : field ( align1 offset1 align size "name" --  align2 offset2 ) \ gforth
     \G @code{name} execution: @var{addr1} -- @var{addr2}.      \g Create a field @var{name} with offset @var{offset1}, and the type
       \g given by @var{align size}. @var{offset2} is the offset of the
       \g next field, and @var{align2} is the alignment of all fields.@*
       \g @code{name} execution: @var{addr1} -- @var{addr2}.@*
       \g @var{addr2}=@var{addr1}+@var{offset1}
     2 pick       2 pick 
     if \ field offset <> 0      if \ field offset <> 0
         [IFDEF]  (Field)          [IFDEF]  (Field)
Line 58  does> ( name execution: -- ) Line 62  does> ( name execution: -- )
     field, ;      field, ;
   
 : end-struct ( align size "name" -- ) \ gforth  : end-struct ( align size "name" -- ) \ gforth
 \g @code{name} execution: @var{addr1} -- @var{addr1+offset1}@*  \g Define a structure/type descriptor @var{name} with alignment
 \g Create a field @var{name} with offset @var{offset1}, and the type  \g @var{align} and size @var{size1} (@var{size} rounded up to be a
 \g given by @var{size align}. @var{offset2} is the offset of the  \g multiple of @var{align}).@*
 \g next field, and @var{align2} is the alignment of all fields.  \g @code{name} execution: -- @var{align size1}@*
     over nalign \ pad size to full alignment      over nalign \ pad size to full alignment
     2constant ;      2constant ;
   

Removed from v.1.15  
changed lines
  Added in v.1.17


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>