version 1.25, 1997/02/06 21:23:05
|
version 1.26, 1997/02/08 22:58:16
|
Line 73 variable line \ line number of char poin
|
Line 73 variable line \ line number of char poin
|
variable skipsynclines \ are sync lines ("#line ...") invisible to the parser? |
variable skipsynclines \ are sync lines ("#line ...") invisible to the parser? |
skipsynclines on |
skipsynclines on |
|
|
|
Variable flush-comment flush-comment off |
|
|
|
: ?flush-comment |
|
flush-comment @ 0= ?EXIT |
|
f-comment 2@ nip |
|
IF cr f-comment 2@ 2 /string type 0 0 f-comment 2! THEN ; |
|
|
: start ( -- addr ) |
: start ( -- addr ) |
cookedinput @ ; |
cookedinput @ ; |
|
|
Line 228 eof-char singleton charclass eof
|
Line 235 eof-char singleton charclass eof
|
nowhite ++ |
nowhite ++ |
<- name ( -- ) |
<- name ( -- ) |
|
|
(( {{ start }} ` \ nonl ** nl {{ end |
(( {{ ?flush-comment start }} ` \ nonl ** nl {{ end |
2dup 2 min s" \+" compare 0= IF f-comment 2! ELSE 2drop THEN }} |
2dup 2 min s" \+" compare 0= IF f-comment 2! ELSE 2drop THEN }} |
)) <- comment ( -- ) |
)) <- comment ( -- ) |
|
|
Line 600 set-current
|
Line 607 set-current
|
: output-label ( -- ) |
: output-label ( -- ) |
." &&I_" c-name 2@ type ." ," cr ; |
." &&I_" c-name 2@ type ." ," cr ; |
|
|
: output-alias ( -- ) |
: output-alias ( -- ) flush-comment on |
f-comment 2@ nip |
?flush-comment |
IF cr f-comment 2@ 2 /string type 0 0 f-comment 2! THEN |
|
primitive-number @ . ." alias " forth-name 2@ type cr |
primitive-number @ . ." alias " forth-name 2@ type cr |
-1 primitive-number +! ; |
-1 primitive-number +! ; |
|
|
: output-forth ( -- ) |
: output-forth ( -- ) flush-comment on |
f-comment 2@ 2 min s" \+" compare 0= |
?flush-comment |
IF cr f-comment 2@ 2 /string type 0 0 f-comment 2! THEN |
|
forth-code @ 0= |
forth-code @ 0= |
IF output-alias |
IF output-alias |
ELSE ." : " forth-name 2@ type ." ( " |
ELSE ." : " forth-name 2@ type ." ( " |