summaryrefslogtreecommitdiff
path: root/Tools/CCode/Source/Pccts/support/sym/template.h
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/CCode/Source/Pccts/support/sym/template.h')
-rw-r--r--Tools/CCode/Source/Pccts/support/sym/template.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/Tools/CCode/Source/Pccts/support/sym/template.h b/Tools/CCode/Source/Pccts/support/sym/template.h
new file mode 100644
index 0000000000..ee6e665e34
--- /dev/null
+++ b/Tools/CCode/Source/Pccts/support/sym/template.h
@@ -0,0 +1,41 @@
+/* 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 */
+
+/* define some hash function */
+#ifndef HASH
+#define HASH(p, h) while ( *p != '\0' ) h = (h<<1) + *p++;
+#endif
+
+/* minimum symbol table record */
+typedef struct _sym {
+ char *symbol;
+ struct _sym *next, *prev, **head, *scope;
+ unsigned int hash;
+ } Sym, *SymPtr;
+
+#ifdef __USE_PROTOS
+void zzs_init(int, int);
+void zzs_done(void);
+void zzs_add(char *, Sym *);
+Sym *zzs_get(char *);
+void zzs_del(Sym *);
+void zzs_keydel(char *);
+Sym **zzs_scope(Sym **);
+Sym *zzs_rmscope(Sym **);
+void zzs_stat(void);
+Sym *zzs_new(char *);
+Sym *zzs_newadd(char *);
+char *zzs_strdup(char *);
+#else
+void zzs_init();
+void zzs_done();
+void zzs_add();
+Sym *zzs_get();
+void zzs_del();
+void zzs_keydel();
+Sym **zzs_scope();
+Sym *zzs_rmscope();
+void zzs_stat();
+Sym *zzs_new();
+Sym *zzs_newadd();
+char *zzs_strdup();
+#endif