Diff for /gforth/ds2texi.fs between versions 1.8 and 1.14

version 1.8, 1995/10/16 18:33:06 version 1.14, 1997/04/10 15:00:04
Line 1 Line 1
 \ documentation source to texi format converter  \ documentation source to texi format converter
   
   \ Copyright (C) 1995 Free Software Foundation, Inc.
   
   \ This file is part of Gforth.
   
   \ Gforth is free software; you can redistribute it and/or
   \ modify it under the terms of the GNU General Public License
   \ as published by the Free Software Foundation; either version 2
   \ of the License, or (at your option) any later version.
   
   \ This program is distributed in the hope that it will be useful,
   \ but WITHOUT ANY WARRANTY; without even the implied warranty of
   \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   \ GNU General Public License for more details.
   
   \ You should have received a copy of the GNU General Public License
   \ along with this program; if not, write to the Free Software
   \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   
 \ documentation source can contain lines in the form `doc-word' and  \ documentation source can contain lines in the form `doc-word' and
 \ `short-word'. These are converted to appropriate full or short  \ `short-word'. These are converted to appropriate full or short
 \ (without the description) glossary entries for word.  \ (without the description) glossary entries for word.
Line 8 Line 26
 \ `documentation'. Each word resides there under its own name.  \ `documentation'. Each word resides there under its own name.
   
 script? [IF]  script? [IF]
 warnings off      warnings off
 require search-order.fs      require extend.fs
 require glocals.fs      require search-order.fs
 require float.fs      require glocals.fs
 require struct.fs      require float.fs
 require debugging.fs      require struct.fs
       require debugging.fs
 [THEN]  [THEN]
   
 wordlist constant documentation  wordlist constant documentation
Line 53  create description-buffer 4096 chars all Line 72  create description-buffer 4096 chars all
     +loop ;      +loop ;
           
 : condition-stack-effect ( c-addr1 u1 -- c-addr2 u2 )  : condition-stack-effect ( c-addr1 u1 -- c-addr2 u2 )
     save-string 2dup replace-_ ;      save-mem 2dup replace-_ ;
           
 : condition-wordset ( c-addr1 u1 -- c-addr2 u2 )  : condition-wordset ( c-addr1 u1 -- c-addr2 u2 )
     dup 0=      dup 0=
     if      if
         2drop s" unknown"          2drop s" unknown"
     else      else
         save-string          save-mem
     endif ;      endif ;
   
 : condition-pronounciation ( c-addr1 u1 -- c-addr2 u2 )  : condition-pronounciation ( c-addr1 u1 -- c-addr2 u2 )
     save-string 2dup replace-_ ;      save-mem 2dup replace-_ ;
   
 : make-doc ( -- )  : make-doc ( -- )
     get-current documentation set-current      get-current documentation set-current
     create      create
         last @ name>string 2,           \ name          last @ name>string 2,           \ name
         [char] ) parse save-string 2,   \ stack-effect          [char] ) parse save-mem 2,      \ stack-effect
         bl parse-word condition-wordset 2,      \ wordset          bl parse-word condition-wordset 2,      \ wordset
         bl parse-word dup               \ pronounciation          bl parse-word dup               \ pronounciation
         if          if
Line 79  create description-buffer 4096 chars all Line 98  create description-buffer 4096 chars all
             2drop last @ name>string              2drop last @ name>string
         endif          endif
         2,          2,
         get-description save-string 2,          get-description save-mem 2,
     set-current ;      set-current ;
   
 : emittexi ( c -- )  : emittexi ( c -- )
Line 105  create description-buffer 4096 chars all Line 124  create description-buffer 4096 chars all
     ."  @var{ " r@ doc-stack-effect 2@ type ."  }  "      ."  @var{ " r@ doc-stack-effect 2@ type ."  }  "
     r@ doc-wordset 2@ type      r@ doc-wordset 2@ type
     cr      cr
       ." @cindex "
       ." @code{" r@ doc-name 2@ typetexi ." }"
       cr
     ." @format" cr      ." @format" cr
     ." @code{" r@ doc-name 2@ typetexi ." }       "      ." @code{" r@ doc-name 2@ typetexi ." }       "
     ." @i{" r@ doc-stack-effect 2@ type ." }       "      ." @i{" r@ doc-stack-effect 2@ type ." }       "
Line 117  create description-buffer 4096 chars all Line 139  create description-buffer 4096 chars all
     r@ print-short      r@ print-short
     r@ doc-description 2@ dup 0<>      r@ doc-description 2@ dup 0<>
     if      if
         ." @iftex" cr ." @vskip-3ex" cr ." @end iftex" cr          \ ." @iftex" cr ." @vskip-0ex" cr ." @end iftex" cr
         type cr cr \ ." @ifinfo" cr ." @*" cr ." @end ifinfo" cr cr          type cr cr
           \ ." @ifinfo" cr ." @*" cr ." @end ifinfo" cr cr
     else      else
         2drop cr          2drop cr
     endif      endif
Line 199  create docline doclinelength chars allot Line 222  create docline doclinelength chars allot
     else      else
         ." undocumented: " wordname type cr          ." undocumented: " wordname type cr
     endif ;      endif ;
   
 script? [IF]  
 require prims2x.fs  
 s" primitives.b" ' register-doc process-file  
 require crossdoc.fd  
 require doc.fd  
 [THEN]  

Removed from v.1.8  
changed lines
  Added in v.1.14


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>