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

version 1.1, 1994/10/24 19:15:55 version 1.5, 1995/07/06 15:57:26
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
   include search-order.fs
   include struct.fs
   include debugging.fs
   [THEN]
   
 wordlist constant documentation  wordlist constant documentation
   
 struct  struct
Line 17  struct Line 24  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 72  end-struct doc-entry
     drop ;      drop ;
   
 : print-short ( doc-entry -- )  : print-short ( doc-entry -- )
     >r ." @format"      >r ." @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 92  create docline doclinelength chars allot Line 130  create docline doclinelength chars allot
         docline swap process-line          docline swap process-line
     repeat      repeat
     drop rdrop ;      drop rdrop ;
   
   script? [IF]
   include 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.5


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