Diff for /gforth/ds2texi.fs between versions 1.1 and 1.7

version 1.1, 1994/10/24 19:15:55 version 1.7, 1995/10/07 17:38:11
Line 7 Line 7
 \ The glossary entries are generated from data present in the wordlist  \ The glossary entries are generated from data present in the wordlist
 \ `documentation'. Each word resides there under its own name.  \ `documentation'. Each word resides there under its own name.
   
   script? [IF]
   warnings off
   require search-order.fs
   require float.fs
   require struct.fs
   require debugging.fs
   [THEN]
   
 wordlist constant documentation  wordlist constant documentation
   
 struct  struct
Line 17  struct Line 25  struct
     2 cells: field doc-description      2 cells: field doc-description
 end-struct doc-entry  end-struct doc-entry
   
   create description-buffer 4096 chars allot
   
   : get-description ( -- addr u )
       description-buffer
       begin
           refill
       while
           source nip
       while
           source swap >r 2dup r> -rot cmove
           chars +
           #lf over c! char+
       repeat then
       description-buffer tuck - ;
   
   : make-doc ( -- )
       get-current documentation set-current
       create
           last @ name>string 2,           \ name
           [char] ) parse save-string 2,   \ stack-effect
           bl parse-word save-string 2,    \ wordset
           bl parse-word dup               \ pronounciation
           if
               save-string
           else
               2drop last @ name>string
           endif
           2,
           get-description save-string 2,
       set-current ;
   
 : emittexi ( c -- )  : emittexi ( c -- )
     >r      >r
     s" @{}" r@ scan 0<>      s" @{}" r@ scan 0<>
Line 34  end-struct doc-entry Line 73  end-struct doc-entry
     drop ;      drop ;
   
 : print-short ( doc-entry -- )  : print-short ( doc-entry -- )
     >r ." @format"      >r
       ." @findex "
       r@ doc-name 2@ typetexi
       ."  @var{ " r@ doc-stack-effect 2@ type ."  }  "
       r@ doc-wordset 2@ type
       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 ." }       "
     r@ doc-wordset 2@ type ."        ``"      r@ doc-wordset 2@ type ."        ``"
     r@ doc-pronounciation 2@ type ." ''@end format" cr      r@ doc-pronounciation 2@ type ." ''" cr ." @end format" cr
     rdrop ;      rdrop ;
   
 : print-doc ( doc-entry -- )  : print-doc ( doc-entry -- )
Line 46  end-struct doc-entry Line 91  end-struct doc-entry
     r@ print-short      r@ print-short
     r@ doc-description 2@ dup 0<>      r@ doc-description 2@ dup 0<>
     if      if
         type ." @*" cr          ." @iftex" cr ." @vskip-3ex" cr ." @end iftex" cr
           type cr cr \ ." @ifinfo" cr ." @*" cr ." @end ifinfo" cr cr
     else      else
         2drop cr          2drop cr
     endif      endif
Line 92  create docline doclinelength chars allot Line 138  create docline doclinelength chars allot
         docline swap process-line          docline swap process-line
     repeat      repeat
     drop rdrop ;      drop rdrop ;
   
   script? [IF]
   require prims2x.fs
   s" primitives.b" ' register-doc process-file
   require doc.fd
   require crossdoc.fd
   s" gforth.ds" r/o open-file throw ds2texi bye
   [THEN]

Removed from v.1.1  
changed lines
  Added in v.1.7


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