|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _GRIND_ |
|
|
|
|
|
#include "wn.h" |
|
|
|
|
|
#ifndef NULL |
|
|
#define NULL 0 |
|
|
#endif |
|
|
|
|
|
#define FALSE 0 |
|
|
#define TRUE 1 |
|
|
|
|
|
|
|
|
|
|
|
#define P_NOUN 1 |
|
|
#define P_VERB 2 |
|
|
#define P_ADJ 4 |
|
|
#define P_ADV 8 |
|
|
|
|
|
|
|
|
|
|
|
#define UNRESOLVED 0 |
|
|
#define RESOLVED 1 |
|
|
#define DUPLICATE 2 |
|
|
#define SELF_REF 3 |
|
|
|
|
|
#define ALLWORDS (short)0 |
|
|
#define NOSENSE (unsigned char)0xff |
|
|
|
|
|
#ifdef FOOP |
|
|
#define HASHSIZE 100003 |
|
|
#endif |
|
|
#define HASHSIZE 500009 |
|
|
#define ptrkind(p) arraypos(ptrsymbols, p) |
|
|
|
|
|
|
|
|
|
|
|
typedef struct synset { |
|
|
struct synset *ssnext; |
|
|
struct synset *fans; |
|
|
|
|
|
struct synonym *syns; |
|
|
struct pointer *ptrs; |
|
|
struct framelist *frames; |
|
|
char *defn; |
|
|
unsigned int key; |
|
|
unsigned char part; |
|
|
unsigned char isfanss; |
|
|
unsigned char filenum; |
|
|
int clusnum; |
|
|
int lineno; |
|
|
long filepos; |
|
|
} G_Ss, *G_Synset; |
|
|
|
|
|
|
|
|
|
|
|
typedef struct pointer { |
|
|
struct pointer *pnext; |
|
|
struct symbol *pword; |
|
|
struct symbol *pslite; |
|
|
struct synset *psynset; |
|
|
unsigned char pfilenum; |
|
|
unsigned char psensenum; |
|
|
unsigned char pslite_sense; |
|
|
unsigned char phead; |
|
|
unsigned char ptype; |
|
|
unsigned char status; |
|
|
short fromwdnum; |
|
|
short towdnum; |
|
|
} Ptr, *Pointer; |
|
|
|
|
|
|
|
|
|
|
|
typedef struct framelist { |
|
|
struct framelist *fnext; |
|
|
unsigned long frames[(NUMFRAMES/32) + 1]; |
|
|
unsigned char frwdnum; |
|
|
} Fr, *Framelist; |
|
|
|
|
|
|
|
|
|
|
|
typedef struct synonym { |
|
|
struct synonym *synnext; |
|
|
struct synset *ss; |
|
|
struct symbol *word; |
|
|
short sswdnum; |
|
|
short tagcnt; |
|
|
unsigned char wnsensenum; |
|
|
unsigned char sensenum; |
|
|
unsigned char adjclass; |
|
|
unsigned char infanss; |
|
|
|
|
|
char *label; |
|
|
|
|
|
} Syn, *Synonym; |
|
|
|
|
|
|
|
|
|
|
|
typedef struct symbol { |
|
|
struct symbol *symnext; |
|
|
struct synlist *syns; |
|
|
unsigned char sensecnt[NUMPARTS + 1]; |
|
|
char *label; |
|
|
} Sym, *Symbol; |
|
|
|
|
|
|
|
|
|
|
|
typedef struct synlist { |
|
|
struct synlist *snext; |
|
|
struct synonym *psyn; |
|
|
} Synl, *SynList; |
|
|
|
|
|
typedef struct flist { |
|
|
char *fname; |
|
|
int present; |
|
|
} Flist; |
|
|
|
|
|
extern Flist filelist[]; |
|
|
extern int yylineno; |
|
|
extern G_Synset headss; |
|
|
extern int pcount; |
|
|
extern int errcount; |
|
|
extern int verifyflag; |
|
|
extern int nowarn; |
|
|
extern int ordersenses; |
|
|
extern int synsetkeys; |
|
|
extern char *ptrsymbols[]; |
|
|
extern char *legalptrs; |
|
|
extern char *legalptrsets[]; |
|
|
extern char *ptrreflects[]; |
|
|
extern char **Argv; |
|
|
extern int Argc; |
|
|
extern FILE *logfile; |
|
|
extern char partprefix[]; |
|
|
extern char partseen[]; |
|
|
extern char *adjclass[]; |
|
|
extern Symbol hashtab[]; |
|
|
|
|
|
|
|
|
|
|
|
extern int arraypos(char **, char *); |
|
|
extern int filenum(char *); |
|
|
extern char *strclone(char *); |
|
|
extern char *strupper(char *); |
|
|
extern char *strlower(char *); |
|
|
extern char *PrintFileName(int); |
|
|
extern char *PrintPointer(Pointer); |
|
|
extern char *PrintSynonym(Synonym); |
|
|
extern char *NextFile(); |
|
|
extern int filemode(); |
|
|
extern G_Synset CreateSynset(unsigned char, Synonym, Pointer, |
|
|
Framelist, char *, unsigned int, int, unsigned char); |
|
|
extern Pointer CreatePointer(Symbol, Symbol, unsigned char, |
|
|
unsigned char, unsigned char, unsigned char, |
|
|
short, short); |
|
|
extern Synonym CreateSynonym(Symbol, unsigned char, short, |
|
|
unsigned char, char *); |
|
|
extern Framelist CreateFramelist(int); |
|
|
extern Symbol CreateSymbol(char *); |
|
|
extern Symbol FindSymbol(char *); |
|
|
extern void ResolvePointers(); |
|
|
extern void FindOffsets(); |
|
|
extern void DumpData(); |
|
|
extern void DumpIndex(); |
|
|
extern void DumpSenseIndex(); |
|
|
extern void ReadCntlist(); |
|
|
|
|
|
#endif |
|
|
|