| 1 | #ifndef lint |
| 2 | static char sccsid[] = "@(#)suftab.c 4.1 6/7/82"; |
| 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 | }; |