Pristine Ack-5.5
[Ack-5.5.git] / util / ncgg / lookup.h
1 /*
2  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3  * See the copyright notice in the ACK home directory, in the file "Copyright".
4  */
5 /* $Id: lookup.h,v 0.3 1994/06/24 10:37:43 ceriel Exp $ */
6
7 typedef enum {
8         justlooking,mustexist,newsymbol,makeexist
9 } lookupstyle;
10
11 typedef enum {
12         symany,symkeyw,symconst,symsconst,symprop,symreg,symtok,symset,symproc
13 } symtype;
14
15 typedef struct symbol {
16         struct symbol *sy_next;         /* pointer to hashchain */
17         char          *sy_name;         /* symbol */
18         symtype        sy_type;         /* type */
19         union {
20             long       syv_cstval;
21             int        syv_stringno;
22             int        syv_keywno;
23             int        syv_propno;
24             int        syv_regno;
25             int        syv_tokno;
26             int        syv_setno;
27             int        syv_procoff;
28         } sy_value;
29 } symbol;
30
31 #define NSYMHASH 61
32 extern symbol *symhash[NSYMHASH];       /* chained hashtable */
33 extern symbol *lookup();