ident.h
906 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_ */