version 1.96, 2001/05/13 10:54:10
|
version 1.102, 2001/12/24 14:09:06
|
Line 53
|
Line 53
|
|
|
warnings off |
warnings off |
|
|
|
[IFUNDEF] try |
|
include startup.fs |
|
[THEN] |
|
|
: struct% struct ; \ struct is redefined in gray |
: struct% struct ; \ struct is redefined in gray |
|
|
|
warnings off |
|
|
include ./gray.fs |
include ./gray.fs |
|
|
32 constant max-effect \ number of things on one side of a stack effect |
32 constant max-effect \ number of things on one side of a stack effect |
Line 641 stack inst-stream IP Cell
|
Line 647 stack inst-stream IP Cell
|
2drop type ; |
2drop type ; |
|
|
: print-entry ( -- ) |
: print-entry ( -- ) |
." I_" prim prim-c-name 2@ type ." :" ; |
." LABEL(" prim prim-c-name 2@ type ." ):" ; |
|
|
: output-c ( -- ) |
: output-c ( -- ) |
print-entry ." /* " prim prim-name 2@ type ." ( " prim prim-stack-string 2@ type ." ) */" cr |
print-entry ." /* " prim prim-name 2@ type ." ( " prim prim-stack-string 2@ type ." ) */" cr |
Line 761 stack inst-stream IP Cell
|
Line 767 stack inst-stream IP Cell
|
\ cr ; |
\ cr ; |
|
|
: output-label ( -- ) |
: output-label ( -- ) |
." (Label)&&I_" prim prim-c-name 2@ type ." ," cr ; |
." INST_ADDR(" prim prim-c-name 2@ type ." )," cr ; |
|
|
: output-alias ( -- ) |
: output-alias ( -- ) |
( primitive-number @ . ." alias " ) ." Primitive " prim prim-name 2@ type cr ; |
( primitive-number @ . ." alias " ) ." Primitive " prim prim-name 2@ type cr ; |
Line 793 stack inst-stream IP Cell
|
Line 799 stack inst-stream IP Cell
|
name-line @ 0 .r |
name-line @ 0 .r |
." ,0" cr ; |
." ,0" cr ; |
|
|
|
: output-vi-tag ( -- ) |
|
name-filename 2@ type #tab emit |
|
prim prim-name 2@ type #tab emit |
|
." /^" prim prim-name 2@ type ." *(/" cr ; |
|
|
[IFDEF] documentation |
[IFDEF] documentation |
: register-doc ( -- ) |
: register-doc ( -- ) |
prim prim-name 2@ documentation ['] create insert-wordlist |
prim prim-name 2@ documentation ['] create insert-wordlist |
Line 1170 Variable c-flag
|
Line 1181 Variable c-flag
|
THEN }} |
THEN }} |
)) <- if-comment |
)) <- if-comment |
|
|
(( (( eval-comment || forth-comment || c-comment || else-comment || if-comment )) ?? nonl ** )) <- comment-body |
(( (( ` g || ` G )) {{ start }} nonl ** |
|
{{ end |
|
forth-flag @ IF ." group " type cr THEN |
|
c-flag @ IF ." GROUP(" type ." )" cr THEN }} |
|
)) <- group-comment |
|
|
|
(( (( eval-comment || forth-comment || c-comment || else-comment || if-comment || group-comment )) ?? nonl ** )) <- comment-body |
|
|
(( ` \ comment-body nleof )) <- comment ( -- ) |
(( ` \ comment-body nleof )) <- comment ( -- ) |
|
|
Line 1214 warnings @ [IF]
|
Line 1231 warnings @ [IF]
|
[THEN] |
[THEN] |
|
|
|
|
\ run with out of box gforth 0.5.0 |
\ run with gforth-0.5.0 (slurp-file is missing) |
[IFUNDEF] slurp-file |
[IFUNDEF] slurp-file |
: slurp-file ( c-addr1 u1 -- c-addr2 u2 ) |
: slurp-file ( c-addr1 u1 -- c-addr2 u2 ) |
\ c-addr1 u1 is the filename, c-addr2 u2 is the file's contents |
\ c-addr1 u1 is the filename, c-addr2 u2 is the file's contents |