diff options
Diffstat (limited to 'semantics.h')
-rw-r--r-- | semantics.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/semantics.h b/semantics.h index a7712b6..c710304 100644 --- a/semantics.h +++ b/semantics.h @@ -185,7 +185,7 @@ void cscope_debug_print(CScope_t cs); unsigned int bkdr_hash(const char *str); const char *ctable_cvar_print(void *var); -void semantics_check(CNode *ast); +void semantics_check(CNode *ast, int quiet); enum DefState{ FORCE_ID, @@ -193,6 +193,21 @@ enum DefState{ NONE }; +typedef struct CPNode CPNode; +typedef struct CPSet { + struct CPNode { + long key; + CPNode *next; + } *head[MAX_TABLE_SIZE]; +} CPSet; +typedef CPSet *CPSet_t; + +CPSet_t cpset_create(void); +int cpset_insert(CPSet_t cps, long key); +int cpset_belongs(CPSet_t cps, long key); +void cpset_erase(CPSet_t cps, long key); +void cpset_destroy(CPSet_t cps); + int is_identifier(const char *name); void push(char *name); void cibic_init(void); |