template.h
上传用户:itx_2006
上传日期:2007-01-06
资源大小:493k
文件大小:1k
源码类别:

编译器/解释器

开发平台:

Others

  1. /* T e m p l a t e  F o r  S y m b o l  T a b l e  M a n a g e r */
  2. /* define some hash function */
  3. #ifndef HASH
  4. #define HASH(p, h) while ( *p != '' ) h = (h<<1) + *p++;
  5. #endif
  6. /* minimum symbol table record */
  7. typedef struct _sym {
  8. char *symbol;
  9. struct _sym *next, *prev, **head, *scope;
  10. unsigned int hash;
  11. } Sym, *SymPtr;
  12. #ifdef __STDC__
  13. void zzs_init(int, int);
  14. void zzs_done(void);
  15. void zzs_add(char *, Sym *);
  16. Sym *zzs_get(char *);
  17. void zzs_del(Sym *);
  18. void zzs_keydel(char *);
  19. Sym **zzs_scope(Sym **);
  20. Sym *zzs_rmscope(Sym **);
  21. void zzs_stat(void);
  22. Sym *zzs_new(char *);
  23. Sym *zzs_newadd(char *);
  24. char *zzs_strdup(char *);
  25. #else
  26. void zzs_init();
  27. void zzs_done();
  28. void zzs_add();
  29. Sym *zzs_get();
  30. void zzs_del();
  31. void zzs_keydel();
  32. Sym **zzs_scope();
  33. Sym *zzs_rmscope();
  34. void zzs_stat();
  35. Sym *zzs_new();
  36. Sym *zzs_newadd();
  37. char *zzs_strdup();
  38. #endif