| \ create a documentation file |
\ create a documentation file |
| |
|
| \ Copyright (C) 1995,1999,2000,2003 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1999,2000,2003,2004,2007,2010 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, |
| \ 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 -- ) |
| 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 |