lookup.h 862 B

123456789101112131415161718192021222324252627282930313233
  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$ */
  6. typedef enum {
  7. justlooking,mustexist,newsymbol,makeexist
  8. } lookupstyle;
  9. typedef enum {
  10. symany,symkeyw,symconst,symsconst,symprop,symreg,symtok,symset,symproc
  11. } symtype;
  12. typedef struct symbol {
  13. struct symbol *sy_next; /* pointer to hashchain */
  14. char *sy_name; /* symbol */
  15. symtype sy_type; /* type */
  16. union {
  17. long syv_cstval;
  18. int syv_stringno;
  19. int syv_keywno;
  20. int syv_propno;
  21. int syv_regno;
  22. int syv_tokno;
  23. int syv_setno;
  24. int syv_procoff;
  25. } sy_value;
  26. } symbol;
  27. #define NSYMHASH 61
  28. extern symbol *symhash[NSYMHASH]; /* chained hashtable */
  29. extern symbol *lookup();