2 |
- |
1 |
|
|
|
2 |
/*
|
|
|
3 |
* affix codes
|
|
|
4 |
*/
|
|
|
5 |
|
|
|
6 |
#define ED (1<<0) /* +ed, +ing */
|
|
|
7 |
#define ADJ (1<<1) /* (nce)-t_ce, +ize,+al, +ness, -t+cy, +ity, +ly */
|
|
|
8 |
#define NOUN (1<<2) /* +s (+es), +make, +hood, +ship +less */
|
|
|
9 |
#define PROP_COLLECT (1<<3) /* +'s, +an, +ship(for -manship) +less */
|
|
|
10 |
#define ACTOR (1<<4) /* +er */
|
|
|
11 |
#define EST (1<<5)
|
|
|
12 |
#define COMP (EST|ACTOR) /* +er,+est */
|
|
|
13 |
#define DONT_TOUCH (1<<6)
|
|
|
14 |
#define ION (1<<7) /* +ion, +or */
|
|
|
15 |
#define N_AFFIX (1<<8) /* +ic, +ive, +ize, +like, +al, +ful, +ism, +ist, -t+cy, +c (maniac) */
|
|
|
16 |
#define V_AFFIX (1<<9) /* +able, +ive, +ity((bility), +ment */
|
|
|
17 |
#define V_IRREG (1<<10) /* +ing +es +s*/
|
|
|
18 |
#define VERB (V_IRREG|ED)
|
|
|
19 |
#define MAN (1<<11) /* +man, +men, +women, +woman */
|
|
|
20 |
#define ADV (1<<12) /* +hood, +ness */
|
|
|
21 |
#define STOP (1<<14) /* stop list */
|
|
|
22 |
#define NOPREF (1<<13) /* no prefix */
|
|
|
23 |
|
|
|
24 |
#define MONO (1<<15) /* double final consonant as in fib->fibbing */
|
|
|
25 |
#define IN (1<<16) /* in- im- ir, not un- */
|
|
|
26 |
#define _Y (1<<17) /* +y */
|
|
|
27 |
|
|
|
28 |
#define ALL (~(NOPREF|STOP|DONT_TOUCH|MONO|IN)) /*anything goes (no stop or nopref)*/
|