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

version 1.5, 1995/07/06 15:57:26 version 1.8, 1995/10/16 18:33:06
Line 9 Line 9
   
 script? [IF]  script? [IF]
 warnings off  warnings off
 include search-order.fs  require search-order.fs
 include struct.fs  require glocals.fs
 include debugging.fs  require float.fs
   require struct.fs
   require debugging.fs
 [THEN]  [THEN]
   
 wordlist constant documentation  wordlist constant documentation
Line 39  create description-buffer 4096 chars all Line 41  create description-buffer 4096 chars all
     repeat then      repeat then
     description-buffer tuck - ;      description-buffer tuck - ;
   
   : replace-_ ( c-addr u -- )
       \ replaces _ with -
       chars bounds
       +DO
           i c@ [char] _ =
           if
               [char] - i c!
           endif
           1 chars
       +loop ;
       
   : condition-stack-effect ( c-addr1 u1 -- c-addr2 u2 )
       save-string 2dup replace-_ ;
       
   : condition-wordset ( c-addr1 u1 -- c-addr2 u2 )
       dup 0=
       if
           2drop s" unknown"
       else
           save-string
       endif ;
   
   : condition-pronounciation ( c-addr1 u1 -- c-addr2 u2 )
       save-string 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-string 2,   \ stack-effect
         bl parse-word save-string 2,    \ wordset          bl parse-word condition-wordset 2,      \ wordset
         bl parse-word dup               \ pronounciation          bl parse-word dup               \ pronounciation
         if          if
             save-string              condition-pronounciation
         else          else
             2drop last @ name>string              2drop last @ name>string
         endif          endif
Line 72  create description-buffer 4096 chars all Line 99  create description-buffer 4096 chars all
     drop ;      drop ;
   
 : print-short ( doc-entry -- )  : print-short ( doc-entry -- )
     >r ." @format" cr      >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 ."        ``"
Line 84  create description-buffer 4096 chars all Line 117  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
         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 131  create docline doclinelength chars allot Line 165  create docline doclinelength chars allot
     repeat      repeat
     drop rdrop ;      drop rdrop ;
   
   : compare-ci ( addr1 u1 addr2 u2 -- n )
       \ case insensitive string compare
       2 pick swap -
       ?dup-0=-if
           capscomp
       else
           nip nip nip
           0<
           if
               -1
           else
               1
           endif
       endif  ;
   
   : answord ( "name wordset pronounciation" -- )
       \ check the documentaion of an ans word
       name { D: wordname }
       name { D: wordset }
       name { D: pronounciation }
       wordname documentation search-wordlist
       if
           execute { doc }
           wordset doc doc-wordset 2@ compare-ci
           if 
               ." wordset: " wordname type ." : '"  doc doc-wordset 2@ type ." ' instead of '" wordset type ." '" cr
           endif
           pronounciation doc doc-pronounciation 2@ compare-ci
           if
               ." pronounciation: " wordname type ." : '" doc doc-pronounciation 2@ type ." ' instead of '" pronounciation type ." '" cr
           endif
       else
           ." undocumented: " wordname type cr
       endif ;
   
 script? [IF]  script? [IF]
 include prims2x.fs  require prims2x.fs
 s" primitives.b" ' register-doc process-file  s" primitives.b" ' register-doc process-file
 require doc.fd  
 require crossdoc.fd  require crossdoc.fd
 s" gforth.ds" r/o open-file throw ds2texi bye  require doc.fd
 [THEN]  [THEN]

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


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