home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pccts1.zip / ADVTUT / SYM.H < prev    next >
C/C++ Source or Header  |  1993-04-01  |  622b  |  29 lines

  1. /* define some hash function */
  2. #ifndef HASH
  3. #define HASH(p, h) while ( *p != '\0' ) h = (h<<1) + *p++;
  4. #endif
  5.  
  6. typedef struct symrec {
  7.     char * symbol;
  8.     struct symrec *next, *prev, **head, *scope;
  9.     unsigned hash;
  10.     int token;     /* either FUNC or VAR */
  11.     int level;     /* either LOCAL, GLOBAL, PARAMETER */
  12.     int offset; /* offset from sp on the stack */
  13.                 /* locals are - offset, param is 0 */
  14.     } Sym, *SymPtr;
  15.  
  16. void zzs_init();
  17. void zzs_done();
  18. void zzs_add();
  19. Sym *zzs_get();
  20. void zzs_del();
  21. void zzs_keydel();
  22. Sym **zzs_scope();
  23. Sym *zzs_rmscope();
  24. void zzs_stat();
  25. Sym *zzs_new();
  26. Sym *zzs_newadd();
  27. char *zzs_strdup();
  28.  
  29.