home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pccts.zip / pccts / lang / C / sym.h < prev    next >
C/C++ Source or Header  |  1994-03-31  |  809b  |  43 lines

  1.  
  2. #ifndef HASH
  3. #define HASH(p, h) while ( *p != '\0' ) h = (h<<1) + *p++;
  4. #endif
  5.  
  6. typedef struct _sym {
  7.             char *symbol;
  8.             struct _sym *next, *prev, **head, *scope;
  9.             unsigned int hash;
  10.             int token;
  11.             int level;
  12.             char defined;
  13.             struct _ast *type, *init;
  14.         } Sym, *SymPtr;
  15.  
  16. #ifdef __STDC__
  17. void zzs_init(int, int);
  18. void zzs_done(void);
  19. void zzs_add(char *, Sym *);
  20. Sym *zzs_get(char *);
  21. void zzs_del(Sym *);
  22. void zzs_keydel(char *);
  23. Sym **zzs_scope(Sym **);
  24. Sym *zzs_rmscope(Sym **);
  25. void zzs_stat(void);
  26. Sym *zzs_new(char *);
  27. Sym *zzs_newadd(char *);
  28. char *zzs_strdup(char *);
  29. #else
  30. void zzs_init();
  31. void zzs_done();
  32. void zzs_add();
  33. Sym *zzs_get();
  34. void zzs_del();
  35. void zzs_keydel();
  36. Sym **zzs_scope();
  37. Sym *zzs_rmscope();
  38. void zzs_stat();
  39. Sym *zzs_new();
  40. Sym *zzs_newadd();
  41. char *zzs_strdup();
  42. #endif
  43.