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 |