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