aboutsummaryrefslogtreecommitdiff
path: root/semantics.h
diff options
context:
space:
mode:
Diffstat (limited to 'semantics.h')
-rw-r--r--semantics.h17
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);