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

version 1.3, 1998/12/08 22:02:34 version 1.20, 2009/12/31 15:32:35
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,2006,2007,2009 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
 \ Gforth is free software; you can redistribute it and/or  \ Gforth is free software; you can redistribute it and/or
 \ modify it under the terms of the GNU General Public License  \ modify it under the terms of the GNU General Public License
 \ as published by the Free Software Foundation; either version 2  \ as published by the Free Software Foundation, either version 3
 \ of the License, or (at your option) any later version.  \ of the License, or (at your option) any later version.
   
 \ This program is distributed in the hope that it will be useful,  \ This program is distributed in the hope that it will be useful,
Line 15 Line 15
 \ GNU General Public License for more details.  \ GNU General Public License for more details.
   
 \ 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, see http://www.gnu.org/licenses/.
 \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  
   
   
 \ Use this program like this:  \ Use this program like this:
Line 42 Line 41
 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 72  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 X:number-prefixes
   wordset X:structures
   wordset X:ftrunc
   
 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 152  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 184  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.20


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