9 #ifndef _CEPTR_SEMTABLE_H
10 #define _CEPTR_SEMTABLE_H
12 #include "ceptr_types.h"
13 #include "ceptr_error.h"
16 int _sem_new_context(
SemTable *sem,
T *definitions);
18 #define _sem_context(sem,s) __sem_context(sem,(s).context)
20 void _sem_free_context(
SemTable *sem,Context c);
21 #define _sem_get_defs(sem,s) __sem_get_defs(sem,(s).semtype,(s).context)
22 T *__sem_get_defs(
SemTable *st,SemanticType semtype,Context c);
23 #define _sem_get_def(sem,s) __sem_get_def(sem,(s).semtype,(s).context,(s).id)
24 T *__sem_get_def(
SemTable *sem,SemanticType semtype,Context c,SemanticAddr i);
void _sem_add_label(SemTable *sem, SemanticID s, Symbol label_type, char *label)
T * _sem_get_label(SemTable *sem, SemanticID s, Symbol label_type)
char * _sem_get_name(SemTable *sem, SemanticID s)