ident.h
977 Bytes
#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 <expValue.h>
#include <identList.h>
/* 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_ */