12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*
- * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
- * See the copyright notice in the ACK home directory, in the file "Copyright".
- */
- /* $Id$ */
- #ifndef LANG_NCGG_LOOKUP_H
- #define LANG_NCGG_LOOKUP_H
- typedef enum {
- justlooking,mustexist,newsymbol,makeexist
- } lookupstyle;
- typedef enum {
- symany,symkeyw,symconst,symsconst,symprop,symreg,symtok,symset,symproc
- } symtype;
- typedef struct symbol {
- struct symbol *sy_next; /* pointer to hashchain */
- char *sy_name; /* symbol */
- symtype sy_type; /* type */
- union {
- long syv_cstval;
- int syv_stringno;
- int syv_keywno;
- int syv_propno;
- int syv_regno;
- int syv_tokno;
- int syv_setno;
- int syv_procoff;
- } sy_value;
- } symbol;
- #define NSYMHASH 61
- extern symbol *symhash[NSYMHASH]; /* chained hashtable */
- /* util/ncgg/lookup.c */
- symbol *lookup(char *name, symtype type, lookupstyle style);
- unsigned int hashvalue(char *s);
- #endif /* LANG_NCGG_LOOKUP_H */
|