| f-comment 2@ nip |
f-comment 2@ nip |
| IF cr f-comment 2@ 2 /string 1- |
IF cr f-comment 2@ 2 /string 1- |
| dup IF |
dup IF |
| |
2dup s" -" compare 0= |
| |
IF |
| |
flush-comment @ 1 = |
| |
IF ." #else" |
| |
ELSE ." [ELSE]" THEN |
| |
ELSE |
| flush-comment @ 1 = |
flush-comment @ 1 = |
| IF ." #ifdef HAS_" bounds ?DO I c@ toupper emit LOOP |
IF ." #ifdef HAS_" bounds ?DO I c@ toupper emit LOOP |
| ELSE ." has? " type ." [IF]" THEN cr |
ELSE ." has? " type ." [IF]" THEN |
| |
THEN cr |
| ELSE flush-comment @ 1 = IF ." #endif" ELSE ." [THEN]" THEN |
ELSE flush-comment @ 1 = IF ." #endif" ELSE ." [THEN]" THEN |
| cr THEN |
cr THEN |
| 0 0 f-comment 2! THEN ; |
0 0 f-comment 2! THEN ; |
| : process ( xt -- ) |
: process ( xt -- ) |
| bl word count rot |
bl word count rot |
| process-file ; |
process-file ; |
| |
|