#ifndef _IDENT_H_ #define _IDENT_H_ #define ID_TYP_UNDEF 'n' #define ID_TYP_EXP 'e' #define ID_TYP_IDL 'L' struct ident; typedef struct ident s_ident; #include #include /* identifier constructors/destructors */ s_ident * identNew(int, const char *); s_ident * identUndefNew(int, const char *); s_ident * identExpNew(int, const char *, s_expVal *); s_ident * identIdlNew(int, const char *, s_identList *); void identFree(s_ident *); /* analyse ident */ int identIsQueued(s_ident *); void identEnqueue(s_ident *); void identDequeue(s_ident *); int identGetType(s_ident *); char * identGetKey(s_ident *); int identGetIdx(s_ident *); /* identifier to value */ s_expVal * identExp(s_ident *); s_identList * identIdl(s_ident *); s_ident * identSetExp(s_ident *, s_expVal *); s_ident * identSetIdl(s_ident *, s_identList *); #endif /* _IDENT_H_ */