Diff for /gforth/search.fs between versions 1.14 and 1.18

version 1.14, 2000/05/27 09:41:28 version 1.18, 2000/09/23 15:46:58
Line 1 Line 1
 \ search order wordset                                 14may93py  \ search order wordset                                 14may93py
   
 \ Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,2000 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.
   
 $10 constant maxvp  $10 constant maxvp
 Variable vp  Variable vp
Line 73  Variable slowvoc   0 slowvoc ! Line 73  Variable slowvoc   0 slowvoc !
 : check-maxvp ( n -- )  : check-maxvp ( n -- )
     maxvp > -49 and throw ;      maxvp > -49 and throw ;
   
 : push-order ( wid -- ) \ gforth  : >order ( wid -- ) \ gforth to-order
     \g Push @var{wid} on the search order.      \g Push @var{wid} on the search order.
     vp @ 1+ dup check-maxvp vp! context ! ;      vp @ 1+ dup check-maxvp vp! context ! ;
   
 : also  ( -- ) \ search-ext  : also  ( -- ) \ search-ext
   \G Perform a @code{DUP} on the @var{wid} at the top of the search    \G Like @code{DUP} for the search order. Usually used before a
   \G order. Usually used prior to @code{Forth} etc.    \G vocabulary (e.g., @code{also Forth}); the combined effect is to push
   context @ push-order ;    \G the wordlist represented by the vocabulary on the search order.
     context @ >order ;
   
 : previous ( -- ) \ search-ext  : previous ( -- ) \ search-ext
   \G Perform a @code{DROP} on the @i{wid} at the top of the search    \G Drop the wordlist at the top of the search order.
   \G order, thereby removing the @i{wid} from the search order.  
   vp @ 1- dup 0= -50 and throw vp! ;    vp @ 1- dup 0= -50 and throw vp! ;
   
 \ vocabulary find                                      14may93py  \ vocabulary find                                      14may93py
Line 137  Vocabulary Forth ( -- ) \ gforthman- sea Line 137  Vocabulary Forth ( -- ) \ gforthman- sea
   
   
 Vocabulary Root ( -- ) \ gforth  Vocabulary Root ( -- ) \ gforth
   \G Add the vocabulary @code{Root} to the search order stack.    \G Add the root wordlist to the search order stack.  This vocabulary
   \G This vocabulary makes up the minimum search order and    \G makes up the minimum search order and contains only a
   \G contains these words: @code{order} @code{set-order}    \G search-order words.
   \G @code{forth-wordlist} @code{Forth} @code{words}  
   
 : Only ( -- ) \ search-ext  : Only ( -- ) \ search-ext
   \G Set the search order to the implementation-defined minimum search    \G Set the search order to the implementation-defined minimum search
Line 162  lookup ! \ our dictionary search order b Line 161  lookup ! \ our dictionary search order b
   
 : get-order  ( -- widn .. wid1 n ) \ search  : get-order  ( -- widn .. wid1 n ) \ search
   \G Copy the search order to the data stack. The current search order    \G Copy the search order to the data stack. The current search order
   \G has @i{n} entries, of which @i{wid1} represents the word list    \G has @i{n} entries, of which @i{wid1} represents the wordlist
   \G that is searched first (the word list at the top of the search    \G that is searched first (the word list at the top of the search
   \G order) and @i{widn} represents the word order that is searched    \G order) and @i{widn} represents the wordlist that is searched
   \G last.    \G last.
   vp @ 0 ?DO vp cell+ I cells + @ LOOP vp @ ;    vp @ 0 ?DO vp cell+ I cells + @ LOOP vp @ ;
   

Removed from v.1.14  
changed lines
  Added in v.1.18


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