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