Diff for /gforth/prims2x.fs between versions 1.43 and 1.44

version 1.43, 1999/05/10 12:54:48 version 1.44, 1999/05/17 13:13:27
Line 634  set-current Line 634  set-current
  cr   cr
 ;  ;
   
   : dstack-used?
     effect-in-size 2@ drop
     effect-out-size 2@ drop max 0<> ;
   
   : fstack-used?
     effect-in-size 2@ nip
     effect-out-size 2@ nip max 0<> ;
   
 : output-funclabel ( -- )  : output-funclabel ( -- )
   1 function-number +!    1 function-number +!
   ." &I_" c-name 2@ type ." ," cr ;    ." &I_" c-name 2@ type ." ," cr ;
Line 643  set-current Line 651  set-current
   '" emit forth-name 2@ type '" emit ." ," cr ;    '" emit forth-name 2@ type '" emit ." ," cr ;
   
 : output-c-func ( -- )  : output-c-func ( -- )
   \ used for word libraries
     1 function-number +!      1 function-number +!
     ." void I_" c-name 2@ type ." ()      /* " forth-name 2@ type      ." Cell * I_" c-name 2@ type ." (Cell *SP, Cell **FP)      /* " forth-name 2@ type
     ."  ( " stack-string 2@ type ."  ) */" cr      ."  ( " stack-string 2@ type ."  ) */" cr
     ." /* " doc 2@ type ."  */" cr      ." /* " doc 2@ type ."  */" cr
     ." NAME(" [char] " emit forth-name 2@ type [char] " emit ." )" cr      ." NAME(" [char] " emit forth-name 2@ type [char] " emit ." )" cr
     \ debugging      \ debugging
     ." {" cr      ." {" cr
     ." DEF_CA" cr  
     declarations      declarations
     compute-offsets \ for everything else      compute-offsets \ for everything else
     ." NEXT_P0;" cr      dstack-used? IF ." Cell *sp=SP;" cr THEN
       fstack-used? IF ." Cell *fp=*FP;" cr THEN
     flush-tos      flush-tos
     fetches      fetches
     stack-pointer-updates      stack-pointer-updates
       fstack-used? IF ." *FP=fp;" cr THEN
     ." {" cr      ." {" cr
     ." #line " c-line @ . [char] " emit c-filename 2@ type [char] " emit cr      ." #line " c-line @ . [char] " emit c-filename 2@ type [char] " emit cr
     c-code 2@ type      c-code 2@ type
     ." }" cr      ." }" cr
     ." NEXT_P1;" cr  
     stores      stores
     fill-tos      fill-tos
     ." NEXT_P2;" cr      ." return (sp);" cr
     ." }" cr      ." }" cr
     cr ;      cr ;
   

Removed from v.1.43  
changed lines
  Added in v.1.44


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