version 1.7, 2003/03/22 10:04:08
|
version 1.14, 2010/04/10 12:37:07
|
Line 1
|
Line 1
|
\ create a documentation file |
\ create a documentation file |
|
|
\ Copyright (C) 1995,1999,2000 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1999,2000,2003,2004,2007 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
\ Gforth is free software; you can redistribute it and/or |
\ Gforth is free software; you can redistribute it and/or |
\ modify it under the terms of the GNU General Public License |
\ modify it under the terms of the GNU General Public License |
\ as published by the Free Software Foundation; either version 2 |
\ as published by the Free Software Foundation, either version 3 |
\ of the License, or (at your option) any later version. |
\ of the License, or (at your option) any later version. |
|
|
\ This program is distributed in the hope that it will be useful, |
\ This program is distributed in the hope that it will be useful, |
Line 15
|
Line 15
|
\ GNU General Public License for more details. |
\ GNU General Public License for more details. |
|
|
\ You should have received a copy of the GNU General Public License |
\ You should have received a copy of the GNU General Public License |
\ along with this program; if not, write to the Free Software |
\ along with this program. If not, see http://www.gnu.org/licenses/. |
\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
|
|
|
|
\ the stack effect of loading this file is: ( addr u -- ) |
\ the stack effect of loading this file is: ( addr u -- ) |
Line 67 s" \ automatically generated by makedoc.
|
Line 66 s" \ automatically generated by makedoc.
|
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 |
latest 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@ |
parse-name dup |
IF |
IF |
dup count 1- chars + c@ [char] - = |
2dup 1- chars + c@ [char] - = |
IF |
IF |
s" --" >file |
s" --" >file |
count >file drop |
>file drop |
ELSE |
ELSE |
drop >in ! |
2drop >in ! |
THEN |
THEN |
ELSE |
ELSE |
drop >in ! |
2drop >in ! |
THEN |
THEN |
latest name>string >file |
latest name>string >file |
|
s" " >file |
>file |
>file |
s" )" >file |
s" )" >file |
POSTPONE \g |
POSTPONE \g |