Diff for /gforth/prims2x.fs between versions 1.139 and 1.141

version 1.139, 2003/05/15 18:43:15 version 1.141, 2003/08/15 14:07:04
Line 329  variable name-line Line 329  variable name-line
 2variable name-filename  2variable name-filename
 2variable last-name-filename  2variable last-name-filename
 Variable function-number 0 function-number !  Variable function-number 0 function-number !
   Variable function-old 0 function-old !
   : function-diff ( n -- )
       ." GROUPADD(" function-number @ function-old @ - 0 .r ." )" cr
       function-number @ function-old ! ;
   : forth-fdiff ( -- )
       function-number @ function-old @ - 0 .r ."  groupadd" cr
       function-number @ function-old ! ;
   
 \ a few more set ops  \ a few more set ops
   
Line 946  variable tail-nextp2 \ xt to execute for Line 953  variable tail-nextp2 \ xt to execute for
     ( primitive-number @ . ." alias " ) ." Primitive " prim prim-name 2@ type cr ;      ( primitive-number @ . ." alias " ) ." Primitive " prim prim-name 2@ type cr ;
   
 : output-c-prim-num ( -- )  : output-c-prim-num ( -- )
     ." #define N_" prim prim-c-name 2@ type prim prim-num @ 8 + 4 .r cr ;      ." N_" prim prim-c-name 2@ type ." ," cr ;
   
 : output-forth ( -- )    : output-forth ( -- )  
     prim prim-forth-code @ 0=      prim prim-forth-code @ 0=
Line 1302  variable tail-nextp2 \ xt to execute for Line 1309  variable tail-nextp2 \ xt to execute for
     loop ;      loop ;
   
 : output-num-part ( p -- )  : output-num-part ( p -- )
     prim-num @ 4 .r ." ," ;      ." N_" prim-c-name 2@ type ." ," ;
       \ prim-num @ 4 .r ." ," ;
   
 : output-name-comment ( -- )  : output-name-comment ( -- )
     ."  /* " prim prim-name 2@ type ."  */" ;      ."  /* " prim prim-name 2@ type ."  */" ;
   
 variable offset-super2  0 offset-super2 ! \ offset into the super2 table  variable offset-super2  0 offset-super2 ! \ offset into the super2 table
   
   : output-costs-gforth-simple ( -- )
        ." {" prim compute-costs
       rot 2 .r ." ," swap 2 .r ." ," 2 .r ." , "
       prim output-num-part
       1 2 .r ." },"
       output-name-comment
       cr ;
   
   : output-costs-gforth-combined ( -- )
       ." {" prim compute-costs
       rot 2 .r ." ," swap 2 .r ." ," 2 .r ." , "
       ." N_START_SUPER+" offset-super2 @ 5 .r ." ,"
       super2-length dup 2 .r ." }," offset-super2 +!
       output-name-comment
       cr ;
   
 : output-costs ( -- )  : output-costs ( -- )
     \ description of superinstructions and simple instructions      \ description of superinstructions and simple instructions
     ." {" prim compute-costs      ." {" prim compute-costs
Line 1441  Variable c-flag Line 1465  Variable c-flag
 )) <- c-comment ( -- )  )) <- c-comment ( -- )
   
 (( ` - nonl ** {{   (( ` - nonl ** {{ 
         forth-flag @ IF ." [ELSE]" cr THEN          forth-flag @ IF forth-fdiff ." [ELSE]" cr THEN
         c-flag @ IF ." #else" cr THEN }}          c-flag @ IF
               function-diff
               ." #else /* " function-number @ 0 .r ."  */" cr THEN }}
 )) <- else-comment  )) <- else-comment
   
 (( ` + {{ start }} nonl ** {{ end  (( ` + {{ start }} nonl ** {{ end
         dup          dup
         IF      c-flag @          IF      c-flag @
                 IF    ." #ifdef HAS_" bounds ?DO  I c@ toupper emit  LOOP cr              IF
                   function-diff
                   ." #ifdef HAS_" bounds ?DO  I c@ toupper emit  LOOP cr
                 THEN                  THEN
                 forth-flag @                  forth-flag @
                 IF  ." has? " type ."  [IF]"  cr THEN                  IF  forth-fdiff  ." has? " type ."  [IF]"  cr THEN
         ELSE    2drop          ELSE    2drop
             c-flag @      IF  ." #endif"  cr THEN              c-flag @      IF
             forth-flag @  IF  ." [THEN]"  cr THEN                  function-diff  ." #endif" cr THEN
               forth-flag @  IF  forth-fdiff  ." [THEN]"  cr THEN
         THEN }}          THEN }}
 )) <- if-comment  )) <- if-comment
   
 (( (( ` g || ` G )) {{ start }} nonl **  (( (( ` g || ` G )) {{ start }} nonl **
    {{ end     {{ end
       forth-flag @ IF  ." group " type cr  THEN        forth-flag @ IF  forth-fdiff  ." group " type cr  THEN
       c-flag @     IF  ." GROUP(" type ." , " function-number @ 0 .r ." )" cr  THEN }}        c-flag @     IF  function-diff
             ." GROUP(" type ." , " function-number @ 0 .r ." )" cr  THEN }}
 )) <- group-comment  )) <- group-comment
   
 (( (( eval-comment || forth-comment || c-comment || else-comment || if-comment || group-comment )) ?? nonl ** )) <- comment-body  (( (( eval-comment || forth-comment || c-comment || else-comment || if-comment || group-comment )) ?? nonl ** )) <- comment-body

Removed from v.1.139  
changed lines
  Added in v.1.141


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