aboutsummaryrefslogtreecommitdiff
path: root/semantics.h
diff options
context:
space:
mode:
Diffstat (limited to 'semantics.h')
-rw-r--r--semantics.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/semantics.h b/semantics.h
index 9136ebb..aed73de 100644
--- a/semantics.h
+++ b/semantics.h
@@ -80,6 +80,7 @@ CTable_t ctable_create(Hashfunc_t hfunc, Printfunc_t pfunc);
#else
CTable_t ctable_create(Hashfunc_t hfunc);
#endif
+void ctable_destroy(CTable_t ct);
void *ctable_lookup(CTable_t ct, const char *key);
int ctable_insert(CTable_t ct, const char *key, void *val, int lvl);
void ctable_clip(CTable_t ct, const char *key, int max_lvl);
@@ -104,9 +105,11 @@ typedef struct CSNode {
typedef struct CScope *CScope_t;
typedef struct CScope {
int lvl;
+ CType_t func;
+ int inside_loop;
struct CSNode *top;
- struct CTable *tvar;
- struct CTable *ttype;
+ CTable_t tvar;
+ CTable_t ttype;
} CScope;
typedef struct ExpType {