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