Commit | Line | Data |
---|---|---|
bd2c12df RH |
1 | #ifndef lint |
2 | static char sccsid[] = "@(#)suftab.c 4.1 %G%"; | |
3 | #endif lint | |
4 | ||
5 | /* | |
6 | * Suffix table | |
7 | */ | |
8 | ||
9 | static char sufa[] = { | |
10 | 02,0200+'t', /* -TA */ | |
11 | 02,0200+'s', /* -SA */ | |
12 | 03,0200+'t','r', /* -TRA */ | |
13 | 03,0200+'d','r', /* -DRA */ | |
14 | 03,0200+'b','r', /* -BRA */ | |
15 | 02,0200+'p', /* -PA */ | |
16 | 02,0200+'n', /* -NA */ | |
17 | 02,0200+'m', /* -MA */ | |
18 | 03,0200+'p','l', /* -PLA */ | |
19 | 02,0200+'l', /* -LA */ | |
20 | 02,0200+'k', /* -KA */ | |
21 | 03,0200+'t','h', /* -THA */ | |
22 | 03,0200+'s','h', /* -SHA */ | |
23 | 02,0200+'g', /* -GA */ | |
24 | 02,0200+'d', /* -DA */ | |
25 | 02,0200+'c', /* -CA */ | |
26 | 02,0200+'b', /* -BA */ | |
27 | 00 | |
28 | }; | |
29 | ||
30 | static char sufc[] = { | |
31 | 04,'e','t',0200+'i', /* ET-IC */ | |
32 | 07,'a','l',0200+'i','s',0200+'t','i', /* AL-IS-TIC */ | |
33 | 04,'s',0200+'t','i', /* S-TIC */ | |
34 | 04,'p',0200+'t','i', /* P-TIC */ | |
35 | 05,0200+'l','y','t',0200+'i', /* -LYT-IC */ | |
36 | 04,'o','t',0200+'i', /* OT-IC */ | |
37 | 05,'a','n',0200+'t','i', /* AN-TIC */ | |
38 | 04,'n',0200+'t','i', /* N-TIC */ | |
39 | 04,'c',0200+'t','i', /* C-TIC */ | |
40 | 04,'a','t',0200+'i', /* AT-IC */ | |
41 | 04,'h',0200+'n','i', /* H-NIC */ | |
42 | 03,'n',0200+'i', /* N-IC */ | |
43 | 03,'m',0200+'i', /* M-IC */ | |
44 | 04,'l',0200+'l','i', /* L-LIC */ | |
45 | 04,'b',0200+'l','i', /* B-LIC */ | |
46 | 04,0200+'c','l','i', /* -CLIC */ | |
47 | 03,'l',0200+'i', /* L-IC */ | |
48 | 03,'h',0200+'i', /* H-IC */ | |
49 | 03,'f',0200+'i', /* F-IC */ | |
50 | 03,'d',0200+'i', /* D-IC */ | |
51 | 03,0200+'b','i', /* -BIC */ | |
52 | 03,'a',0200+'i', /* A-IC */ | |
53 | 03,0200+'m','a', /* -MAC */ | |
54 | 03,'i',0200+'a', /* I-AC */ | |
55 | 00 | |
56 | }; | |
57 | ||
58 | static char sufd[] = { | |
59 | 04,0200+'w','o','r', /* -WORD */ | |
60 | 04,0200+'l','o','r', /* -LORD */ | |
61 | 04,0200+'f','o','r', /* -FORD */ | |
62 | 04,0200+'y','a','r', /* -YARD */ | |
63 | 04,0200+'w','a','r', /* -WARD */ | |
64 | 05,0200+'g','u','a','r', /* -GUARD */ | |
65 | 04,0200+'t','a','r', /* -TARD */ | |
66 | 05,0200+'b','o','a','r', /* -BOARD */ | |
67 | 04,0200+'n','a','r', /* -NARD */ | |
68 | 05,0200+'l','i','a','r', /* -LIARD */ | |
69 | 04,0200+'i','a','r', /* -IARD */ | |
70 | 04,0200+'g','a','r', /* -GARD */ | |
71 | 04,0200+'b','a','r', /* -BARD */ | |
72 | 03,0200+'r','o', /* -ROD */ | |
73 | 04,0200+'w','o','o', /* -WOOD */ | |
74 | 04,0200+'h','o','o', /* -HOOD */ | |
75 | 04,0200+'m','o','n', /* -MOND */ | |
76 | 04,0200+'t','e','n', /* -TEND */ | |
77 | 05,0200+'s','t','a','n', /* -STAND */ | |
78 | 04,0200+'l','a','n', /* -LAND */ | |
79 | 04,0200+'h','a','n', /* -HAND */ | |
80 | 04,0200+'h','o','l', /* -HOLD */ | |
81 | 04,0200+'f','o','l', /* -FOLD */ | |
82 | 05,0200+'f','i','e','l', /* -FIELD */ | |
83 | 03,0200+'v','i', /* -VID */ | |
84 | 03,0200+'c','i', /* -CID */ | |
85 | 04,0200+'s','a','i', /* -SAID */ | |
86 | 04,0200+'m','a','i', /* -MAID */ | |
87 | 04,'t',0200+'t','e', /* T-TED */ | |
88 | 03,'t',0200+'e', /* T-ED */ | |
89 | 04,0200+'d','r','e', /* -DRED */ | |
90 | 04,0200+'c','r','e', /* -CRED */ | |
91 | 04,0200+'b','r','e', /* -BRED */ | |
92 | 05,'v',0200+'e','l','e', /* V-ELED */ | |
93 | 0100+04,'a','l',0200+'e', /* AL/ED */ | |
94 | 0140+03,0200+'e','e', /* /EED */ | |
95 | 040+05,'e','d',0200+'d','e', /* ED-DED */ | |
96 | 04,'d',0200+'d','e', /* D-DED */ | |
97 | 040+04,'e','d',0200+'e', /* ED-ED */ | |
98 | 03,'d',0200+'e', /* D-ED */ | |
99 | 05,0200+'d','u','c','e', /* -DUCED */ | |
100 | 0300+02,'e', /* E/D */ | |
101 | 05,0200+'s','t','e','a', /* -STEAD */ | |
102 | 04,0200+'h','e','a', /* -HEAD */ | |
103 | 00 | |
104 | }; | |
105 | ||
106 | static char sufe[] = { | |
107 | 05,'a','r',0200+'i','z', /* AR-IZE */ | |
108 | 05,'a','n',0200+'i','z', /* AN-IZE */ | |
109 | 05,'a','l',0200+'i','z', /* AL-IZE */ | |
110 | 06,0200+'a','r','d',0200+'i','z', /* -ARD-IZE */ | |
111 | 05,0200+'s','e','l','v', /* -SELVE */ | |
112 | 05,0200+'k','n','i','v', /* -KNIVE */ | |
113 | 05,0200+'l','i','e','v', /* -LIEVE */ | |
114 | 0100+03,0200+'q','u', /* /QUE */ | |
115 | 07,'o','n',0200+'t','i','n',0200+'u', /* ON-TIN-UE */ | |
116 | 03,0200+'n','u', /* -NUE */ | |
117 | 03,0200+'d','u', /* -DUE */ | |
118 | 0300+02,'u', /* U/E */ | |
119 | 0300+05,'q','u','a','t', /* QUAT/E */ | |
120 | 04,'u',0200+'a','t', /* U-ATE */ | |
121 | 05,0200+'s','t','a','t', /* -STATE */ | |
122 | 04,0200+'t','a','t', /* -TATE */ | |
123 | 06,0200+'t','o','r',0200+'a','t', /* -TOR-ATE */ | |
124 | 05,'e','n',0200+'a','t', /* EN-ATE */ | |
125 | 04,0200+'m','a','t', /* -MATE */ | |
126 | 05,0200+'h','o','u','s', /* -HOUSE */ | |
127 | 05,0200+'c','l','o','s', /* -CLOSE */ | |
128 | 04,'i',0200+'o','s', /* I-OSE */ | |
129 | 04,0200+'w','i','s', /* -WISE */ | |
130 | 05,'a','s',0200+'u','r', /* AS-URE */ | |
131 | 040+04,0200+'s','u','r', /* -SURE */ | |
132 | 06,0200+'f','i','g',0200+'u','r', /* -FIG-URE */ | |
133 | 040+03,0200+'t','r', /* -TRE */ | |
134 | 05,0200+'s','t','o','r', /* -STORE */ | |
135 | 04,0200+'f','o','r', /* -FORE */ | |
136 | 05,0200+'w','h','e','r', /* -WHERE */ | |
137 | 06,0200+'s','p','h','e','r', /* -SPHERE */ | |
138 | 03,0200+'d','r', /* -DRE */ | |
139 | 03,0200+'c','r', /* -CRE */ | |
140 | 03,0200+'b','r', /* -BRE */ | |
141 | 05,0200+'s','c','o','p', /* -SCOPE */ | |
142 | 04,'y',0200+'o','n', /* Y-ONE */ | |
143 | 05,0200+'s','t','o','n', /* -STONE */ | |
144 | 05,0200+'p','h','o','n', /* -PHONE */ | |
145 | 04,0200+'g','o','n', /* -GONE */ | |
146 | 04,'e',0200+'o','n', /* E-ONE */ | |
147 | 040+04,0200+'e','n','n', /* -ENNE */ | |
148 | 040+05,'a',0200+'r','i','n', /* A-RINE */ | |
149 | 05,0200+'c','l','i','n', /* -CLINE */ | |
150 | 04,0200+'l','i','n', /* -LINE */ | |
151 | 007,00200+'r','o','u',00200+'t','i','n', /*-ROU-TINE */ | |
152 | 04,0200+'s','o','m', /* -SOME */ | |
153 | 04,0200+'c','o','m', /* -COME */ | |
154 | 04,0200+'t','i','m', /* -TIME */ | |
155 | 03,0200+'z','l', /* -ZLE */ | |
156 | 03,0200+'t','l', /* -TLE */ | |
157 | 03,0200+'s','l', /* -SLE */ | |
158 | 03,0200+'p','l', /* -PLE */ | |
159 | 05,0200+'v','i','l','l', /* -VILLE */ | |
160 | 04,'c','k',0200+'l', /* CK-LE */ | |
161 | 03,0200+'k','l', /* -KLE */ | |
162 | 03,0200+'g','l', /* -GLE */ | |
163 | 03,0200+'f','l', /* -FLE */ | |
164 | 03,0200+'d','l', /* -DLE */ | |
165 | 03,0200+'c','l', /* -CLE */ | |
166 | 05,0200+'p','a',0200+'b','l', /* -PA-BLE */ | |
167 | 05,'f','a',0200+'b','l', /* FA-BLE */ | |
168 | 05,0200+'c','a',0200+'b','l', /* -CA-BLE */ | |
169 | 06,0200+'s','t','a','b','l', /* -STABLE */ | |
170 | 04,0200+'a','b','l', /* -ABLE */ | |
171 | 03,0200+'b','l', /* -BLE */ | |
172 | 04,0200+'d','a','l', /* -DALE */ | |
173 | 04,0200+'m','a','l', /* -MALE */ | |
174 | 04,0200+'s','a','l', /* -SALE */ | |
175 | 04,0200+'l','i','k', /* -LIKE */ | |
176 | 0340+05,'g',0200+'u','a','g', /* -G/UAGE */ | |
177 | 05,0200+'r','i','a','g', /* -RIAGE */ | |
178 | 05,'e','r',0200+'a','g', /* ER-AGE */ | |
179 | 04,'m',0200+'a','g', /* M-AGE */ | |
180 | 04,'k',0200+'a','g', /* K-AGE */ | |
181 | 04,'d',0200+'a','g', /* D-AGE */ | |
182 | 04,0200+'w','i','f', /* -WIFE */ | |
183 | 05,0200+'k','n','i','f', /* -KNYFE */ | |
184 | 03,0200+'s','e', /* -SEE */ | |
185 | 04,0200+'f','r','e', /* -FREE */ | |
186 | 0340+02,'e', /* EE */ | |
187 | 04,0200+'w','i','d', /* -WIDE */ | |
188 | 04,0200+'t','i','d', /* -TIDE */ | |
189 | 04,0200+'s','i','d', /* -SIDE */ | |
190 | 06,0200+'q','u','e','n','c', /* -QUENCE */ | |
191 | 07,0200+'f','l','u',0200+'e','n','c', /* -FLU-ENCE */ | |
192 | 040+06,'e','s',0200+'e','n','c', /* ES-ENCE */ | |
193 | 06,'e','r',0200+'e','n','c', /* ER-ENCE */ | |
194 | 05,'i',0200+'e','n','c', /* I-ENCE */ | |
195 | 040+05,0200+'s','a','n','c', /* -SANCE */ | |
196 | 06,'e','r',0200+'a','n','c', /* ER-ANCE */ | |
197 | 06,'a','r',0200+'a','n','c', /* AR-ANCE */ | |
198 | 05,0200+'n','a','n','c', /* -NANCE */ | |
199 | 07,0200+'b','a','l',0200+'a','n','c', /* -BAL-ANCE */ | |
200 | 05,'i',0200+'a','n','c', /* I-ANCE */ | |
201 | 07,0200+'j','u','s',0200+'t','i','c', /* -JUS-TICE */ | |
202 | 05,0200+'s','t','i','c', /* -STICE */ | |
203 | 05,0200+'p','i','e','c', /* -PIECE */ | |
204 | 05,0200+'p','l','a','c', /* -PLACE */ | |
205 | 0340+01, /* /E */ | |
206 | 00 | |
207 | }; | |
208 | ||
209 | static char suff[] = { | |
210 | 03,0200+'o','f', /* -OFF */ | |
211 | 05,0200+'p','r','o','o', /* -PROOF */ | |
212 | 04,0200+'s','e','l', /* -SELF */ | |
213 | 03,0200+'r','i', /* -RIF */ | |
214 | 040+04,0200+'l','i','e', /* -LIEF */ | |
215 | 00 | |
216 | }; | |
217 | ||
218 | static char sufg[] = { | |
219 | 03,0200+'l','o', /* -LOG */ | |
220 | 04,0200+'l','o','n', /* -LONG */ | |
221 | 05,'t',0200+'t','i','n', /* T-TING */ | |
222 | 06,0200+'s','t','r','i','n', /* -STRING */ | |
223 | 05,'r',0200+'r','i','n', /* R-RING */ | |
224 | 05,'p',0200+'p','i','n', /* P-PING */ | |
225 | 05,'n',0200+'n','i','n', /* N-NING */ | |
226 | 05,'m',0200+'m','i','n', /* M-MING */ | |
227 | 05,'l',0200+'l','i','n', /* L-LING */ | |
228 | 05,0200+'z','l','i','n', /* -ZLING */ | |
229 | 05,0200+'t','l','i','n', /* -TLING */ | |
230 | 040+05,'s',0200+'l','i','n', /* S-LING */ | |
231 | 05,'r',0200+'l','i','n', /* R-LING */ | |
232 | 05,0200+'p','l','i','n', /* -PLING */ | |
233 | 06,'n',0200+'k','l','i','n', /* N-KLING */ | |
234 | 05,'k',0200+'l','i','n', /* K-LING */ | |
235 | 05,0200+'g','l','i','n', /* -GLING */ | |
236 | 05,0200+'f','l','i','n', /* -FLING */ | |
237 | 05,0200+'d','l','i','n', /* -DLING */ | |
238 | 05,0200+'c','l','i','n', /* -CLING */ | |
239 | 05,0200+'b','l','i','n', /* -BLING */ | |
240 | 06,'y',0200+'t','h','i','n', /* Y-THING */ | |
241 | 07,'e','e','t','h',0200+'i','n', /* EETH-ING */ | |
242 | 06,'e',0200+'t','h','i','n', /* E-THING */ | |
243 | 05,'g',0200+'g','i','n', /* G-GING */ | |
244 | 05,'d',0200+'d','i','n', /* D-DING */ | |
245 | 05,'b',0200+'b','i','n', /* B-BING */ | |
246 | 03,0200+'i','n', /* -ING */ | |
247 | 00 | |
248 | }; | |
249 | ||
250 | static char sufh[] = { | |
251 | 05,0200+'m','o','u','t', /* -MOUTH */ | |
252 | 05,0200+'w','o','r','t', /* -WORTH */ | |
253 | 04,0200+'w','i','t', /* -WITH */ | |
254 | 05,'t',0200+'t','i','s', /* T-TISH */ | |
255 | 05,'e',0200+'t','i','s', /* E-TISH */ | |
256 | 05,'p',0200+'p','i','s', /* P-PISH */ | |
257 | 05,'r',0200+'n','i','s', /* R-NISH */ | |
258 | 05,'n',0200+'n','i','s', /* N-NISH */ | |
259 | 05,0200+'p','l','i','s', /* -PLISH */ | |
260 | 05,0200+'g','u','i','s', /* -GUISH */ | |
261 | 05,0200+'g','l','i','s', /* -GLISH */ | |
262 | 05,'b',0200+'l','i','s', /* B-LISH */ | |
263 | 05,'g',0200+'g','i','s', /* G-GISH */ | |
264 | 05,'d',0200+'d','i','s', /* D-DISH */ | |
265 | 03,0200+'i','s', /* -ISH */ | |
266 | 05,0200+'g','r','a','p', /* -GRAPH */ | |
267 | 07,0200+'b','o','r',0200+'o','u','g', /* -BOR-OUGH */ | |
268 | 05,0200+'b','u','r','g', /* -BURGH */ | |
269 | 04,0200+'v','i','c', /* -VICH */ | |
270 | 03,0200+'n','a', /* -NAH */ | |
271 | 03,0200+'l','a', /* -LAH */ | |
272 | 04,0200+'m','i',0200+'a', /* -MI-AH */ | |
273 | 00 | |
274 | }; | |
275 | ||
276 | static char sufi[] = { | |
277 | 03,0200+'t','r', /* -TRI */ | |
278 | 03,0200+'c','h', /* -CHI */ | |
279 | 0200+03,'i','f', /* IF-I */ | |
280 | 0200+03,'e','d', /* ED-I */ | |
281 | 05,0200+'a','s','c','i', /* -ASCII */ | |
282 | 04,0200+'s','e','m', /* -SEMI */ | |
283 | 00 | |
284 | }; | |
285 | ||
286 | static char sufk[] = { | |
287 | 04,0200+'w','o','r', /* -WORK */ | |
288 | 04,0200+'m','a','r', /* -MARK */ | |
289 | 04,0200+'b','o','o', /* -BOOK */ | |
290 | 04,0200+'w','a','l', /* -WALK */ | |
291 | 05,0200+'c','r','a','c', /* -CRACK */ | |
292 | 04,0200+'b','a','c', /* -BACK */ | |
293 | 00 | |
294 | }; | |
295 | ||
296 | static char sufl[] = { | |
297 | 03,0200+'f','u', /* -FUL */ | |
298 | 05,'s',0200+'w','e','l', /* S-WELL */ | |
299 | 04,0200+'t','e','l', /* -TELL */ | |
300 | 05,0200+'s','h','e','l', /* -SHELL */ | |
301 | 05,0200+'s','t','a','l', /* -STALL */ | |
302 | 04,0200+'s','t','a', /* -STAL */ | |
303 | 04,0200+'b','a','l', /* -BALL */ | |
304 | 04,0200+'c','a','l', /* -CALL */ | |
305 | 03,'v',0200+'e', /* V-EL */ | |
306 | 03,'u',0200+'e', /* U-EL */ | |
307 | 03,'k',0200+'e', /* K-EL */ | |
308 | 04,'t','h',0200+'e', /* TH-EL */ | |
309 | 05,'t','c','h',0200+'e', /* TCH-EL */ | |
310 | 03,'a',0200+'e', /* A-EL */ | |
311 | 0140+04,0200+'q','u','a', /* /QUAL */ | |
312 | 040+03,'u',0200+'a', /* U-AL */ | |
313 | 03,0200+'t','a', /* -TAL */ | |
314 | 04,'u','r',0200+'a', /* UR-AL */ | |
315 | 040+05,'g',0200+'o',0200+'n','a', /* G-O-NAL */ | |
316 | 04,'o','n',0200+'a', /* ON-AL */ | |
317 | 03,0200+'n','a', /* -NAL */ | |
318 | 04,0200+'t','i','a', /* -TIAL */ | |
319 | 04,0200+'s','i','a', /* -SIAL */ | |
320 | 040+05,0200+'t','r','i',0200+'a', /* -TRI-AL */ | |
321 | 04,'r','i',0200+'a', /* RI-AL */ | |
322 | 04,0200+'n','i',0200+'a', /* -NI-AL */ | |
323 | 04,0200+'d','i',0200+'a', /* -DI-AL */ | |
324 | 04,0200+'c','i','a', /* -CIAL */ | |
325 | 03,0200+'g','a', /* -GAL */ | |
326 | 04,0200+'m','e','a', /* -MEAL */ | |
327 | /* 040+04,0200+'r','e',0200+'a', /* -RE-AL */ | |
328 | 040+04,0200+'r','e','a', /* -REAL */ | |
329 | 06,'c',0200+'t','i',0200+'c','a', /* C-TI-CAL */ | |
330 | 05,0200+'s','i',0200+'c','a', /* -SI-CAL */ | |
331 | 04,0200+'i',0200+'c','a', /* -I-CAL */ | |
332 | 03,0200+'c','a', /* -CAL */ | |
333 | 03,0200+'b','a', /* -BAL */ | |
334 | 06,0200+'n','o',0200+'m','i',0200+'a', /* -NO-MI-AL */ | |
335 | 00 | |
336 | }; | |
337 | ||
338 | static char sufm[] = { | |
339 | 03,0200+'n','u', /* -NUM */ | |
340 | 05,'o',0200+'r','i',0200+'u', /* O-RI-UM */ | |
341 | 040+03,'i',0200+'u', /* I-UM */ | |
342 | 040+03,'e',0200+'u', /* E-UM */ | |
343 | 05,'i','v',0200+'i','s', /* IV-ISM */ | |
344 | 04,0200+'t','i','s', /* -TISM */ | |
345 | 05,'i',0200+'m','i','s', /* I-MISM */ | |
346 | 05,'a','l',0200+'i','s', /* AL-ISM */ | |
347 | 040+04,'e',0200+'i','s', /* E-ISM */ | |
348 | 040+04,'a',0200+'i','s', /* A-ISM */ | |
349 | 04,0200+'r','o','o', /* -ROOM */ | |
350 | 03,0200+'d','o', /* -DOM */ | |
351 | 03,0200+'h','a', /* -HAM */ | |
352 | 06,0200+'a',0200+'r','i','t','h', /* -A-RITHM */ | |
353 | 05,0200+'r','i','t','h', /* -RITHM */ | |
354 | 00 | |
355 | }; | |
356 | ||
357 | static char sufn[] = { | |
358 | 04,0200+'t','o','w', /* -TOWN */ | |
359 | 04,0200+'d','o','w', /* -DOWN */ | |
360 | 04,0200+'t','u','r', /* -TURN */ | |
361 | 05,0200+'s','p','o','o', /* -SPOON */ | |
362 | 04,0200+'n','o','o', /* -NOON */ | |
363 | 04,0200+'m','o','o', /* -MOON */ | |
364 | 011,'a','l',0200+'i',0200+'z','a',0200+'t','i','o', /* AL-I-ZA-TION */ | |
365 | 07,0200+'i',0200+'z','a',0200+'t','i','o', /* -I-ZA-TION */ | |
366 | 07,'l',0200+'i',0200+'a',0200+'t','i','o', /* L-I-A-TION */ | |
367 | 04,0200+'t','i','o', /* -TION */ | |
368 | 040+05,'s',0200+'s','i','o', /* S-SION */ | |
369 | 04,0200+'s','i','o', /* -SION */ | |
370 | 04,'n',0200+'i','o', /* N-ION */ | |
371 | 04,0200+'g','i','o', /* -GION */ | |
372 | 04,0200+'c','i','o', /* -CION */ | |
373 | 03,0200+'c','o', /* -CON */ | |
374 | 05,0200+'c','o','l','o', /* -COLON */ | |
375 | 03,0200+'t','o', /* -TON */ | |
376 | 04,'i','s',0200+'o', /* IS-ON */ | |
377 | 03,0200+'s','o', /* -SON */ | |
378 | 03,0200+'r','i', /* -RIN */ | |
379 | 03,0200+'p','i', /* -PIN */ | |
380 | 03,0200+'n','i', /* -NIN */ | |
381 | 03,0200+'m','i', /* -MIN */ | |
382 | 03,0200+'l','i', /* -LIN */ | |
383 | 03,0200+'k','i', /* -KIN */ | |
384 | 05,0200+'s','t','e','i', /* -STEIN */ | |
385 | 04,0200+'t','a','i', /* -TAIN */ | |
386 | 05,'g','h','t',0200+'e', /* GHT-EN */ | |
387 | 05,0200+'w','o','m',0200+'e', /* -WOM-EN */ | |
388 | 03,0200+'m','e', /* -MEN */ | |
389 | 04,'o',0200+'k','e', /* O-KEN */ | |
390 | 03,'k',0200+'e', /* K-EN */ | |
391 | 04,0200+'t','e','e', /* -TEEN */ | |
392 | 04,0200+'s','e','e', /* -SEEN */ | |
393 | 040+03,0200+'s','a', /* -SAN */ | |
394 | 05,0200+'w','o','m',0200+'a', /* -WOM-AN */ | |
395 | 03,0200+'m','a', /* -MAN */ | |
396 | 04,0200+'t','i','a', /* -TIAN */ | |
397 | 04,0200+'s','i','a', /* -SIAN */ | |
398 | 040+04,'e',0200+'i','a', /* E-IAN */ | |
399 | 04,0200+'c','i','a', /* -CIAN */ | |
400 | 0300+03,'i','a', /* IA/N */ | |
401 | 05,0200+'c','l','e','a', /* -CLEAN */ | |
402 | 04,0200+'m','e','a', /* -MEAN */ | |
403 | 040+03,'e',0200+'a', /* E-AN */ | |
404 | 00 | |
405 | }; | |
406 | ||
407 | static char sufo[] = { | |
408 | 05,0200+'m','a','c',0200+'r', /* -MAC-RO */ | |
409 | 00 | |
410 | }; | |
411 | ||
412 | static char sufp[] = { | |
413 | 05,0200+'g','r','o','u', /* -GROUP */ | |
414 | 02,0200+'u', /* -UP */ | |
415 | 04,0200+'s','h','i', /* -SHIP */ | |
416 | 04,0200+'k','e','e', /* -KEEP */ | |
417 | 00 | |
418 | }; | |
419 | ||
420 | static char sufr[] = { | |
421 | 04,0200+'z','a','r', /* -ZARR */ | |
422 | 0300+02,'r', /* R/R */ | |
423 | 03,0200+'t','o', /* -TOR */ | |
424 | 040+03,0200+'s','o', /* -SOR */ | |
425 | 040+04,0200+'r','i',0200+'o', /* -RI-OR */ | |
426 | 04,'i','z',0200+'e', /* IZ-ER */ | |
427 | 05,0200+'c','o','v',0200+'e', /* -COV-ER */ | |
428 | /* 04,'o',0200+'v','e', /* O-VER */ | |
429 | 04,0200+'o','v','e', /* -OVER */ | |
430 | 04,0200+'e','v',0200+'e', /* -EV-ER */ | |
431 | 8,0200+'c','o','m',0200+'p','u','t',0200+'e', /* -COM-PUT-ER */ | |
432 | 040+05,'u','s',0200+'t','e', /* US-TER */ | |
433 | 05,'o','s','t',0200+'e', /* OST-ER */ | |
434 | 040+05,0200+'a','c',0200+'t','e', /* -AC-TER */ | |
435 | 06,0200+'w','r','i','t',0200+'e', /* -WRIT-ER */ | |
436 | 040+05,'i','s',0200+'t','e', /* IS-TER */ | |
437 | 040+05,'e','s',0200+'t','e', /* ES-TER */ | |
438 | 040+05,'a','s',0200+'t','e', /* AS-TER */ | |
439 | 04,0200+'s','t','e', /* -STER */ | |
440 | 05,'a','r',0200+'t','e', /* AR-TER */ | |
441 | 04,'r','t',0200+'e', /* RT-ER */ | |
442 | 040+05,'m',0200+'e',0200+'t','e', /* M-E-TER */ | |
443 | 05,0200+'w','a',0200+'t','e', /* -WA-TER */ | |
444 | 03,'r',0200+'e', /* R-ER */ | |
445 | 04,'o','p',0200+'e', /* OP-ER */ | |
446 | 05,0200+'p','a',0200+'p','e', /* -PA-PER */ | |
447 | 04,'w','n',0200+'e', /* WN-ER */ | |
448 | 040+04,'s',0200+'n','e', /* S-NER */ | |
449 | 04,'o','n',0200+'e', /* ON-ER */ | |
450 | 04,'r','m',0200+'e', /* RM-ER */ | |
451 | 03,0200+'m','e', /* -MER */ | |
452 | 04,'l','l',0200+'e', /* LL-ER */ | |
453 | 05,'d',0200+'d','l','e', /* D-DLER */ | |
454 | 04,0200+'b','l','e', /* -BLER */ | |
455 | 03,'k',0200+'e', /* K-ER */ | |
456 | 05,'n',0200+'t','h','e', /* N-THER */ | |
457 | 06,0200+'f','a',0200+'t','h','e', /* -FA-THER */ | |
458 | 06,'e','i',0200+'t','h','e', /* EI-THER */ | |
459 | 04,'t','h',0200+'e', /* TH-ER */ | |
460 | 04,'s','h',0200+'e', /* SH-ER */ | |
461 | 04,0200+'p','h','e', /* -PHER */ | |
462 | 04,'c','h',0200+'e', /* CH-ER */ | |
463 | 04,'d','g',0200+'e', /* DG-ER */ | |
464 | 04,'r','d',0200+'e', /* RD-ER */ | |
465 | 06,'o','u','n','d',0200+'e', /* OUND-ER */ | |
466 | 04,'l','d',0200+'e', /* LD-ER */ | |
467 | 04,'i','d',0200+'e', /* ID-ER */ | |
468 | 05,0200+'d','u','c',0200+'e', /* -DUC-ER */ | |
469 | 04,'n','c',0200+'e', /* NC-ER */ | |
470 | 0100+02, 0200+'e', /* /ER */ | |
471 | 03,0200+'s','a', /* -SAR */ | |
472 | 040+06,'a','c',0200+'u',0200+'l','a', /* AC-U-LAR */ | |
473 | 040+06,'e','c',0200+'u',0200+'l','a', /* EC-U-LAR */ | |
474 | 040+06,'i','c',0200+'u',0200+'l','a', /* IC-U-LAR */ | |
475 | 040+06,'e','g',0200+'u',0200+'l','a', /* EG-U-LAR */ | |
476 | 00 | |
477 | }; | |
478 | ||
479 | static char sufs[] = { | |
480 | 040+04,'u',0200+'o','u', /* U-OUS */ | |
481 | 05,0200+'t','i','o','u', /* -TIOUS */ | |
482 | 05,0200+'g','i','o','u', /* -GIOUS */ | |
483 | 05,0200+'c','i','o','u', /* -CIOUS */ | |
484 | 040+04,'i',0200+'o','u', /* I-OUS */ | |
485 | 05,0200+'g','e','o','u', /* -GEOUS */ | |
486 | 05,0200+'c','e','o','u', /* -CEOUS */ | |
487 | 04,'e',0200+'o','u', /* E-OUS */ | |
488 | 0140+02,0200+'u', /* /US */ | |
489 | 04,0200+'n','e','s', /* -NESS */ | |
490 | 04,0200+'l','e','s', /* -LESS */ | |
491 | 0140+02,0200+'s', /* /SS */ | |
492 | 040+05,'p',0200+'o',0200+'l','i', /* P-O-LIS */ | |
493 | 0140+02,0200+'i', /* /IS */ | |
494 | 0100+03,0200+'x','e', /* X/ES */ | |
495 | 0100+03,0200+'s','e', /* S/ES */ | |
496 | 0100+04,'s','h',0200+'e', /* SH/ES */ | |
497 | 0100+04,'c','h',0200+'e', /* CH/ES */ | |
498 | 0300+01, /* /S */ | |
499 | 00 | |
500 | }; | |
501 | ||
502 | static char suft[] = { | |
503 | 06,'i','o','n',0200+'i','s', /* ION-IST */ | |
504 | 05,'i','n',0200+'i','s', /* IN-IST */ | |
505 | 05,'a','l',0200+'i','s', /* AL-IST */ | |
506 | 06,'l',0200+'o',0200+'g','i','s', /* L-O-GIST */ | |
507 | 05,'h','t',0200+'e','s', /* HT-EST */ | |
508 | 04,'i',0200+'e','s', /* I-EST */ | |
509 | 05,'g',0200+'g','e','s', /* G-GEST */ | |
510 | 04,'g',0200+'e','s', /* G-EST */ | |
511 | 05,'d',0200+'d','e','s', /* D-DEST */ | |
512 | 04,'d',0200+'e','s', /* D-EST */ | |
513 | 04,0200+'c','a','s', /* -CAST */ | |
514 | 05,0200+'h','e','a','r', /* -HEART */ | |
515 | 04,0200+'f','o','o', /* -FOOT */ | |
516 | 03,'i',0200+'o', /* I-OT */ | |
517 | 05,0200+'f','r','o','n', /* -FRONT */ | |
518 | 05,0200+'p','r','i','n', /* -PRINT */ | |
519 | 04,0200+'m','e','n', /* -MENT */ | |
520 | 05,0200+'c','i','e','n', /* -CIENT */ | |
521 | 04,'i',0200+'a','n', /* I-ANT */ | |
522 | 06,0200+'w','r','i','g','h', /* -WRIGHT */ | |
523 | 06,0200+'b','r','i','g','h', /* -BRIGHT */ | |
524 | 06,0200+'f','l','i','g','h', /* -FLIGHT */ | |
525 | 06,0200+'w','e','i','g','h', /* -WEIGHT */ | |
526 | 05,0200+'s','h','i','f', /* -SHIFT */ | |
527 | 05,0200+'c','r','a','f', /* -CRAFT */ | |
528 | 040+04,'d','g',0200+'e', /* DG-ET */ | |
529 | 04,0200+'g','o','a', /* -GOAT */ | |
530 | 04,0200+'c','o','a', /* -COAT */ | |
531 | 04,0200+'b','o','a', /* -BOAT */ | |
532 | 04,0200+'w','h','a', /* -WHAT */ | |
533 | 04,0200+'c','u','i', /* -CUIT */ | |
534 | 00 | |
535 | }; | |
536 | ||
537 | static char sufy[] = { | |
538 | 040+04,'e','s',0200+'t', /* ES-TY */ | |
539 | 040+05,'q','u','i',0200+'t', /* QUI-TY */ | |
540 | 04,0200+'t','i',0200+'t', /* -TI-TY */ | |
541 | 040+05,'o','s',0200+'i',0200+'t', /* OS-I-TY */ | |
542 | 04,0200+'s','i',0200+'t', /* -SI-TY */ | |
543 | 05,'i','n',0200+'i',0200+'t', /* IN-I-TY */ | |
544 | 04,'n','i',0200+'t', /* NI-TY */ | |
545 | 040+010,'f','a',0200+'b','i','l',0200+'i',0200+'t', /* FA-BIL-I-TY */ | |
546 | 010,0200+'c','a',0200+'b','i','l',0200+'i',0200+'t', /* -CA-BIL-I-TY */ | |
547 | 010,0200+'p','a',0200+'b','i','l',0200+'i',0200+'t', /* -PA-BIL-I-TY */ | |
548 | 06,0200+'b','i','l',0200+'i',0200+'t', /* -BIL-I-TY */ | |
549 | 03,'i',0200+'t', /* I-TY */ | |
550 | 04,0200+'b','u','r', /* -BUR-Y */ | |
551 | 04,0200+'t','o',0200+'r', /* -TO-RY */ | |
552 | 05,0200+'q','u','a','r', /* -QUAR-Y */ | |
553 | 040+04,'u',0200+'a','r', /* U-ARY */ | |
554 | 07,0200+'m','e','n',0200+'t','a',0200+'r', /* -MEN-TA-RY */ | |
555 | 06,'i','o','n',0200+'a','r', /* ION-ARY */ | |
556 | 04,'i',0200+'a','r', /* I-ARY */ | |
557 | 04,'n',0200+'o',0200+'m', /* N-O-MY */ | |
558 | 03,0200+'p','l', /* -PLY */ | |
559 | 04,'g',0200+'g','l', /* G-GLY */ | |
560 | 05,0200+'p','a',0200+'b','l', /* -PA-BLY */ | |
561 | 05,'f','a',0200+'b','l', /* FA-BLY */ | |
562 | 05,0200+'c','a',0200+'b','l', /* -CA-BLY */ | |
563 | 04,0200+'a','b','l', /* -ABLY */ | |
564 | 03,0200+'b','l', /* -BLY */ | |
565 | 02,0200+'l', /* -LY */ | |
566 | 03,0200+'s','k', /* -SKY */ | |
567 | 040+06,'g',0200+'r','a',0200+'p','h', /* G-RA-PHY */ | |
568 | 04,'l',0200+'o',0200+'g', /* L-O-GY */ | |
569 | 02,0200+'f', /* -FY */ | |
570 | 03,0200+'n','e', /* -NEY */ | |
571 | 03,0200+'l','e', /* -LEY */ | |
572 | 04,'c','k',0200+'e', /* CK-EY */ | |
573 | 03,0200+'k','e', /* -KEY */ | |
574 | 04,0200+'b','o','d', /* -BODY */ | |
575 | 05,0200+'s','t','u','d', /* -STUDY */ | |
576 | 0340+04,'e','e','d', /* EEDY */ | |
577 | 02,0200+'b', /* -BY */ | |
578 | 03,0200+'w','a', /* -WAY */ | |
579 | 03,0200+'d','a', /* -DAY */ | |
580 | 00 | |
581 | }; | |
582 | ||
583 | char *suftab[] = { | |
584 | sufa, | |
585 | 0, | |
586 | sufc, | |
587 | sufd, | |
588 | sufe, | |
589 | suff, | |
590 | sufg, | |
591 | sufh, | |
592 | sufi, | |
593 | 0, | |
594 | sufk, | |
595 | sufl, | |
596 | sufm, | |
597 | sufn, | |
598 | sufo, | |
599 | sufp, | |
600 | 0, | |
601 | sufr, | |
602 | sufs, | |
603 | suft, | |
604 | 0, | |
605 | 0, | |
606 | 0, | |
607 | 0, | |
608 | sufy, | |
609 | 0, | |
610 | }; |