Diff for /gforth/ans-report.fs between versions 1.3 and 1.15

version 1.3, 1998/12/08 22:02:34 version 1.15, 2006/12/17 16:18:09
Line 1 Line 1
 \ report words used from the various wordsets  \ report words used from the various wordsets
   
 \ Copyright (C) 1996,1998 Free Software Foundation, Inc.  \ Copyright (C) 1996,1998,1999,2003,2005 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 16 Line 16
   
 \ 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, write to the Free Software
 \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
   
   
 \ Use this program like this:  \ Use this program like this:
Line 42 Line 42
 vocabulary ans-report-words ans-report-words definitions  vocabulary ans-report-words ans-report-words definitions
   
 : wordset ( "name" -- )  : wordset ( "name" -- )
     lastxt >body      latestxt >body
     create      create
     0 , \ link to next wordset      0 , \ link to next wordset
     0 0 2, \ array of nfas      0 0 2, \ array of nfas
     ( lastlinkp ) last @ swap ! \ set link ptr of last wordset      ( lastlinkp ) latest swap ! \ set link ptr of last wordset
 ;  ;
   
 wordlist constant wordsets wordsets set-current  wordlist constant wordsets wordsets set-current
 create CORE 0 , 0 0 2,  create CORE 0 , 0 0 2,
 wordset CORE-EXT  wordset CORE-EXT
   wordset CORE-EXT-obsolescent
 wordset BLOCK  wordset BLOCK
 wordset BLOCK-EXT  wordset BLOCK-EXT
 wordset DOUBLE  wordset DOUBLE
Line 72  wordset SEARCH-EXT Line 73  wordset SEARCH-EXT
 wordset STRING  wordset STRING
 wordset TOOLS  wordset TOOLS
 wordset TOOLS-EXT  wordset TOOLS-EXT
   wordset TOOLS-EXT-obsolescent
   
   \ www.forth200x.org CfV extension names
   wordset X:deferred
   wordset X:extension-query
   wordset X:parse-name
   wordset X:defined
   wordset X:required
   wordset X:ekeys
   wordset X:fp-stack
   
 wordset non-ANS  wordset non-ANS
   
 ans-report-words definitions  ans-report-words definitions
   
 : answord ( "name wordset pronounciation" -- )  : standardword { D: wordname D: wordset -- }
     \ check the documentaion of an ans word  
     name { D: wordname }  
     name { D: wordset }  
     name { D: pronounciation }  
     wordname find-name      wordname find-name
     ?dup-if      ?dup-if
         sp@ cell nextname create drop          sp@ cell nextname create drop
         wordset wordsets search-wordlist 0= abort" wordlist unknown" ,          wordset wordsets search-wordlist 0= abort" wordset unknown" ,
     endif ;      endif ;
       
   : answord ( "name wordset pronounciation" -- )
       \ check the documentation of an ans word
       parse-name parse-name parse-name 2drop standardword ;
   
   : xword ( "name wordset" )
       parse-name parse-name standardword ;
   
 table constant answords answords set-current  table constant answords answords set-current
 warnings @ warnings off  warnings @ warnings off
 include answords.fs  include ./answords.fs
   include ./xwords.fs
 warnings !  warnings !
 ans-report-words definitions  ans-report-words definitions
   
Line 133  ans-report-words definitions Line 150  ans-report-words definitions
 : replace-word ( xt cfa -- )  : replace-word ( xt cfa -- )
     \ replace word at cfa with xt. !! This is quite general-purpose      \ replace word at cfa with xt. !! This is quite general-purpose
     \ and should migrate elsewhere.      \ and should migrate elsewhere.
     dodefer: over code-address!      \  the following no longer works with primitive-centric hybrid threading:
     >body ! ;      \    dodefer: over code-address!
       \    >body ! ;
       dup @ docol: <> -12 and throw \ for colon defs only
       >body ['] branch xt>threaded over !
       cell+ >r >body r> ! ;
   
   : print-names ( endaddr startaddr -- )
       space 1 -rot
       u+do ( pos )
           i @ name>string nip 1+ { len }
           len + ( newpos )
           dup cols 4 - >= if
               cr space drop len 1+
           endif
           i @ .name
       cell +loop
       drop ;
   
 forth definitions  forth definitions
 ans-report-words  ans-report-words
Line 149  ans-report-words Line 182  ans-report-words
         dup >r name>int >body dup @ swap cell+ 2@ dup          dup >r name>int >body dup @ swap cell+ 2@ dup
         if          if
             ." from " r@ .name ." :" cr              ." from " r@ .name ." :" cr
             bounds              bounds print-names cr
             u+do  
                 i @ .name  
                 cell  
             +loop  
             cr  
         else          else
             2drop              2drop
         endif          endif

Removed from v.1.3  
changed lines
  Added in v.1.15


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