| \ wiki forth |
\ wiki forth |
| |
|
| \ Copyright (C) 2003,2004,2005,2006 Free Software Foundation, Inc. |
\ Copyright (C) 2003,2004,2005,2006,2007 Free Software Foundation, Inc. |
| |
|
| \ This file is part of Gforth. |
\ This file is part of Gforth. |
| |
|
| |
|
| \ line handling |
\ line handling |
| |
|
| : char? ( -- c ) >in @ char swap >in ! ; |
: char? ( -- c ) >in @ char swap >in ! $FF umin ; |
| |
|
| : parse-tag ( addr u char -- ) |
: parse-tag ( addr u char -- ) |
| >r r@ parse .type |
>r r@ parse .type |
| I c@ dup 'A 'Z 1+ within IF bl + nav+ |
I c@ dup 'A 'Z 1+ within IF bl + nav+ |
| ELSE dup 'a 'z 1+ within IF nav+ |
ELSE dup 'a 'z 1+ within IF nav+ |
| ELSE dup '0 '9 1+ within IF nav+ |
ELSE dup '0 '9 1+ within IF nav+ |
| ELSE dup bl = swap '- = or IF '- nav+ |
ELSE dup bl = over '- = or IF '- nav+ |
| |
ELSE nav+ |
| THEN THEN THEN THEN |
THEN THEN THEN THEN |
| LOOP ; |
LOOP ; |
| : >nav ( addr u -- addr' u' ) |
: >nav ( addr u -- addr' u' ) |
| 3 OF s" down" class= ENDOF |
3 OF s" down" class= ENDOF |
| ENDCASE |
ENDCASE |
| THEN |
THEN |
| s" a" tag parse-string s" a" /tag |
s" a" tag parse-string s" a" /tag ." <!--" cr ." -->" |
| THEN |
THEN |
| rdrop |
rdrop |
| 1 toc-index +! toc-index @ /toc-line mod 0= |
1 toc-index +! toc-index @ /toc-line mod 0= |