aboutsummaryrefslogtreecommitdiff
path: root/semantics.h
diff options
context:
space:
mode:
authorTeddy <ted.sybil@gmail.com>2014-04-05 11:45:01 +0800
committerTeddy <ted.sybil@gmail.com>2014-04-05 11:45:01 +0800
commite7822ec397e1bd645b7c668abf0a81f2d5cb4795 (patch)
tree3b6a1225c2aa95ba3608889a614f0f909c91901c /semantics.h
parent509a963559aba5429ea876af910e86954ca6e1ac (diff)
bug fixes
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 {