| \ create a documentation file |
\ create a documentation file |
| |
|
| \ Copyright (C) 1995,1999 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1999,2000,2003,2004 Free Software Foundation, Inc. |
| |
|
| \ This file is part of Gforth. |
\ This file is part of Gforth. |
| |
|
| source >in ! drop ; immediate |
source >in ! drop ; immediate |
| |
|
| : put-doc-entry ( -- ) |
: put-doc-entry ( -- ) |
| locals-list @ 0= \ not in a colon def, i.e., not a local name |
dpp @ normal-dp = \ not defining locals |
| last @ 0<> and \ not an anonymous (i.e. noname) header |
latest 0<> and \ not an anonymous (i.e. noname) header |
| if |
if |
| s" " >fileCR |
s" " >fileCR |
| s" make-doc " >file |
s" make-doc " >file |
| >in @ >r |
>in @ >r |
| [char] ( parse 2drop |
parse-name 2dup s" (" str= if |
| [char] ) parse |
2drop ') parse |
| |
else |
| |
2dup s" {" str= if |
| |
2drop '} parse |
| |
else \ no stack comment or locals |
| |
2drop |
| |
r@ >in ! \ restore "\" |
| |
s" unknown " \ default stack comment |
| |
endif |
| |
endif |
| [char] \ parse 2drop |
[char] \ parse 2drop |
| >in @ |
>in @ |
| bl word dup c@ |
bl word dup c@ |
| ELSE |
ELSE |
| drop >in ! |
drop >in ! |
| THEN |
THEN |
| last @ name>string >file |
latest name>string >file |
| |
s" " >file |
| >file |
>file |
| s" )" >file |
s" )" >file |
| POSTPONE \g |
POSTPONE \g |