#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_ */