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