+++ /dev/null
-/* 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 */\r
-\r
-/* define some hash function */\r
-#ifndef HASH\r
-#define HASH(p, h) while ( *p != '\0' ) h = (h<<1) + *p++;\r
-#endif\r
-\r
-/* minimum symbol table record */\r
-typedef struct _sym {\r
- char *symbol;\r
- struct _sym *next, *prev, **head, *scope;\r
- unsigned int hash;\r
- } Sym, *SymPtr;\r
-\r
-#ifdef __USE_PROTOS\r
-void zzs_init(int, int);\r
-void zzs_done(void);\r
-void zzs_add(char *, Sym *);\r
-Sym *zzs_get(char *);\r
-void zzs_del(Sym *);\r
-void zzs_keydel(char *);\r
-Sym **zzs_scope(Sym **);\r
-Sym *zzs_rmscope(Sym **);\r
-void zzs_stat(void);\r
-Sym *zzs_new(char *);\r
-Sym *zzs_newadd(char *);\r
-char *zzs_strdup(char *);\r
-#else\r
-void zzs_init();\r
-void zzs_done();\r
-void zzs_add();\r
-Sym *zzs_get();\r
-void zzs_del();\r
-void zzs_keydel();\r
-Sym **zzs_scope();\r
-Sym *zzs_rmscope();\r
-void zzs_stat();\r
-Sym *zzs_new();\r
-Sym *zzs_newadd();\r
-char *zzs_strdup();\r
-#endif\r