Commit | Line | Data |
---|---|---|
8e9db35f PB |
1 | \ @(#) wordslik.fth 98/01/26 1.2 |
2 | \ | |
3 | \ WORDS.LIKE ( <string> -- , search for words that contain string ) | |
4 | \ | |
5 | \ Enter: WORDS.LIKE + | |
6 | \ Enter: WORDS.LIKE EMIT | |
7 | \ | |
8 | \ Author: Phil Burk | |
1a088514 | 9 | \ Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom |
8e9db35f | 10 | \ |
1f99f95d S |
11 | \ Permission to use, copy, modify, and/or distribute this |
12 | \ software for any purpose with or without fee is hereby granted. | |
13 | \ | |
14 | \ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL | |
15 | \ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED | |
16 | \ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL | |
17 | \ THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR | |
18 | \ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING | |
19 | \ FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF | |
20 | \ CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
21 | \ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
8e9db35f PB |
22 | |
23 | anew task-wordslik.fth | |
24 | decimal | |
25 | ||
26 | ||
27 | : PARTIAL.MATCH.NAME ( $str1 nfa -- flag , is $str1 in nfa ??? ) | |
28 | count $ 1F and | |
29 | rot count | |
30 | search | |
31 | >r 2drop r> | |
32 | ; | |
33 | ||
34 | : WORDS.LIKE ( <name> -- , print all words containing substring ) | |
35 | BL word latest | |
36 | >newline | |
37 | BEGIN | |
38 | prevname dup 0<> \ get previous name in dictionary | |
39 | WHILE | |
40 | 2dup partial.match.name | |
41 | IF | |
42 | dup id. tab | |
43 | cr? | |
44 | THEN | |
45 | REPEAT 2drop | |
46 | >newline | |
47 | ; |