| \ table fomerly in search.fs |
\ table fomerly in search.fs |
| |
|
| \ Copyright (C) 1996,1997,1999 Free Software Foundation, Inc. |
\ Copyright (C) 1996,1997,1999,2001,2003 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, |
| \ 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. |
|
| |
|
| require hash.fs |
require hash.fs |
| |
|
| \ table (case-sensitive wordlist) |
\ table (case-sensitive wordlist) |
| |
|
| : table-find ( addr len wordlist -- nfa / false ) |
: table-find ( addr len wordlist -- nfa / false ) |
| >r 2dup r> bucket @ (tablefind) ; |
>r 2dup r> bucket @ (tablelfind) ; |
| |
|
| Create tablesearch-map ( -- wordlist-map ) |
Create tablesearch-map ( -- wordlist-map ) |
| ' table-find A, ' hash-reveal A, ' (rehash) A, ' (rehash) A, |
' table-find A, ' hash-reveal A, ' (rehash) A, ' (rehash) A, |