1 /*
2 
3    wnconsts.h - constants used by all parts of WordNet system
4 
5    $Id: wnconsts.h,v 1.73 2003/06/05 15:29:17 wn Exp $
6 
7 */
8 
9 #ifndef _WNCONSTS_
10 #define _WNCONSTS_
11 
12 #define WN1_7
13 #define WN1_7_1
14 
15 /* Platform specific path and filename specifications */
16 
17 #ifdef UNIX
18 #define DICTDIR         "/dict"
19 #define DEFAULTPATH	"/usr/local/WordNet-2.0/dict"
20 #define DEFAULTBIN      "/usr/local/WordNet-2.0/bin"
21 #define DATAFILE	"%s/data.%s"
22 #define INDEXFILE	"%s/index.%s"
23 #define SENSEIDXFILE	"%s/index.sense"
24 #define KEYIDXFILE	"%s/index.key"
25 #define REVKEYIDXFILE	"%s/index.key.rev"
26 #ifdef WN1_6
27 #define COUSINFILE	"%s/cousin.tops"
28 #define COUSINEXCFILE	"%s/cousin.exc"
29 #endif
30 #define VRBSENTFILE     "%s/sents.vrb"
31 #define VRBIDXFILE	"%s/sentidx.vrb"
32 #define CNTLISTFILE     "%s/cntlist.rev"
33 #endif
34 #ifdef PC
35 #define DICTDIR         "\\dict"
36 #define DEFAULTPATH	"c:\\WordNet 2.0\\dict"
37 #define DEFAULTBIN      "c:\\WordNet 2.0\\bin"
38 #define DATAFILE	"%s\\%s.dat"
39 #define INDEXFILE	"%s\\%s.idx"
40 #define SENSEIDXFILE	"%s\\sense.idx"
41 #define KEYIDXFILE	"%s\\key.idx"
42 #define REVKEYIDXFILE	"%s\\revkey.idx"
43 #ifdef WN1_6
44 #define COUSINFILE	"%s\\cousin.tps"
45 #define COUSINEXCFILE	"%s\\cousin.exc"
46 #endif
47 #define VRBSENTFILE  	"%s\\sents.vrb"
48 #define VRBIDXFILE	"%s\\sentidx.vrb"
49 #define CNTLISTFILE     "%s\\cntlist.rev"
50 #endif
51 #ifdef MAC
52 #define DICTDIR         ":Database"
53 #define DEFAULTPATH     ":Database"
54 #define DEFAULTBIN      ":"
55 #define DATAFILE	"%s:data.%s"
56 #define INDEXFILE	"%s:index.%s"
57 #define SENSEIDXFILE	"%s:index.sense"
58 #define KEYIDXFILE	"%s:index.key"
59 #ifdef WN1_6
60 #define COUSINFILE	"%s:cousin.tops"
61 #define COUSINEXCFILE	"%s:cousin.exc"
62 #endif
63 #define VRBSENTFILE     "%s:sents.vrb"
64 #define VRBIDXFILE 	"%s:sentidx.vrb"
65 #define CNTLISTFILE     "%s:cntlist.rev"
66 #endif
67 
68 /* Various buffer sizes */
69 
70 #define SEARCHBUF	((long)(200*(long)1024))
71 #define LINEBUF		(15*1024) /* 15K buffer to read index & data files */
72 #define SMLINEBUF	(3*1024) /* small buffer for output lines */
73 #define WORDBUF		(256)	/* buffer for one word or collocation */
74 
75 #define ALLSENSES	0	/* pass to findtheinfo() if want all senses */
76 #define MAXID		15	/* maximum id number in lexicographer file */
77 #define MAXDEPTH	20	/* maximum tree depth - used to find cycles */
78 #define MAXSENSE	75	/* maximum number of senses in database */
79 #define MAX_FORMS	5	/* max # of different 'forms' word can have */
80 #define MAXFNUM		44	/* maximum number of lexicographer files */
81 
82 /* Pointer type and search type counts */
83 
84 /* Pointers */
85 
86 #define ANTPTR           1	/* ! */
87 #define HYPERPTR         2	/* @ */
88 #define HYPOPTR          3	/* ~ */
89 #define ENTAILPTR        4	/* * */
90 #define SIMPTR           5	/* & */
91 
92 #define ISMEMBERPTR      6	/* #m */
93 #define ISSTUFFPTR       7	/* #s */
94 #define ISPARTPTR        8	/* #p */
95 
96 #define HASMEMBERPTR     9	/* %m */
97 #define HASSTUFFPTR     10	/* %s */
98 #define HASPARTPTR      11	/* %p */
99 
100 #define MERONYM         12	/* % (not valid in lexicographer file) */
101 #define HOLONYM         13	/* # (not valid in lexicographer file) */
102 #define CAUSETO         14	/* > */
103 #define PPLPTR	        15	/* < */
104 #define SEEALSOPTR	16	/* ^ */
105 #define PERTPTR		17	/* \ */
106 #define ATTRIBUTE	18	/* = */
107 #define VERBGROUP	19	/* $ */
108 #define DERIVATION      20	/* + */
109 #define CLASSIFICATION  21	/* ; */
110 #define CLASS           22	/* - */
111 
112 #define LASTTYPE	CLASS
113 
114 /* Misc searches */
115 
116 #define SYNS            (LASTTYPE + 1)
117 #define FREQ            (LASTTYPE + 2)
118 #define FRAMES          (LASTTYPE + 3)
119 #define COORDS          (LASTTYPE + 4)
120 #define RELATIVES	(LASTTYPE + 5)
121 #define HMERONYM        (LASTTYPE + 6)
122 #define HHOLONYM	(LASTTYPE + 7)
123 #define WNGREP		(LASTTYPE + 8)
124 #define OVERVIEW	(LASTTYPE + 9)
125 
126 #define MAXSEARCH       OVERVIEW
127 
128 #define CLASSIF_START    (MAXSEARCH + 1)
129 
130 #define CLASSIF_CATEGORY (CLASSIF_START)        /* ;c */
131 #define CLASSIF_USAGE    (CLASSIF_START + 1)    /* ;u */
132 #define CLASSIF_REGIONAL (CLASSIF_START + 2)    /* ;r */
133 
134 #define CLASSIF_END      CLASSIF_REGIONAL
135 
136 #define CLASS_START      (CLASSIF_END + 1)
137 
138 #define CLASS_CATEGORY   (CLASS_START)          /* -c */
139 #define CLASS_USAGE      (CLASS_START + 1)      /* -u */
140 #define CLASS_REGIONAL   (CLASS_START + 2)      /* -r */
141 
142 #define CLASS_END        CLASS_REGIONAL
143 
144 #define MAXPTR          CLASS_END
145 
146 /* WordNet part of speech stuff */
147 
148 #define NUMPARTS	4	/* number of parts of speech */
149 #define NUMFRAMES	35	/* number of verb frames */
150 
151 /* Generic names for part of speech */
152 
153 #define NOUN		1
154 #define VERB		2
155 #define ADJ		3
156 #define ADV		4
157 #define SATELLITE	5	/* not really a part of speech */
158 #define ADJSAT		SATELLITE
159 
160 #define ALL_POS		0	/* passed to in_wn() to check all POS */
161 
162 #define bit(n) ((unsigned int)((unsigned int)1<<((unsigned int)n)))
163 
164 /* Adjective markers */
165 
166 #define PADJ		1	/* (p) */
167 #define NPADJ		2	/* (a) */
168 #define IPADJ		3	/* (ip) */
169 
170 #define UNKNOWN_MARKER		0
171 #define ATTRIBUTIVE		NPADJ
172 #define PREDICATIVE		PADJ
173 #define IMMED_POSTNOMINAL	IPADJ
174 
175 #endif				/* _WNCONSTS_ */
176 
177