decl_t
decl_t *dp;
decl_t *pp;
decl_t *t_args; /* list of arguments */
decl_t *d_next; /* next link in chain (arglist) */
extern void decl_Destroy(decl_t *);
extern int decl_GetArgLength(decl_t *);
extern decl_t *decl_SetName(decl_t *, char *);
extern char *decl_GetName(decl_t *);
extern type_t *decl_GetType(decl_t *);
extern int decl_IsVarargs(decl_t *dp);
extern char *decl_ToString(char *, decl_dts_t, decl_t *,
extern const char *decl_Parse(char *, decl_t **);
extern void decl_GetTraceInfo(decl_t *, char *, char *, decl_t **);
extern char *decl_ToFormal(decl_t *);
extern decl_t *decl_AddArgNames(decl_t *);
type_SetFun(type_t *tp, decl_t *arglist) {
decl_t *dp;
decl_t *
static decl_t *
decl_t *dp = malloc(sizeof (decl_t));
decl_Destroy(decl_t *dp) {
decl_t *nextp = dp->d_next;
decl_GetArgLength(decl_t *dp) {
decl_t *
decl_GetNext(decl_t *dp) {
decl_GetDeclSpec(decl_t *dp) {
decl_GetDSName(decl_t *dp) {
decl_GetType(decl_t *dp) {
decl_IsVarargs(decl_t *dp) {
decl_IsFunction(decl_t *dp) {
decl_GetName(decl_t *dp) {
static decl_t *
decl_AddArg(decl_t *dp, decl_t *tp) {
decl_t *lastp = dp;
decl_t *p;
decl_IsVoid(decl_t *dp) {
decl_IsVoidArray(decl_t *dp) {
decl_Verify(decl_t *dp) {
decl_VerifyArgs(decl_t *dp) {
decl_t *tp = dp;
static decl_t *
decl_AddDS(decl_t *dp, decl_spec_t *dsp, const char **err) {
decl_t *
decl_SetName(decl_t *dp, char *s) {
static decl_t *
decl_AddTypeTail(decl_t *dp, type_t *tp) {
static decl_t *
decl_addptr(decl_t *dp, type_t *tp) {
static decl_t *
decl_addary(decl_t *dp, char *sizep) {
static decl_t *
decl_addfun(decl_t *dp, decl_t *arglist) {
static decl_t *
decl_addellipsis(decl_t *dp) {
decl_PrintDecl(decl_t *dp, int lvl) {
decl_ToString(char *bufp, decl_dts_t out, decl_t *dp,
decl_t *argp = tp->t_args;
decl_t *
decl_AddArgNames(decl_t *dp) {
decl_t *p = dp;
decl_t *p = dp->d_type->t_args;
decl_Parse(char *str, decl_t **dpp) {
decl_t *pp;
decl_PrintTraceInfo(decl_t *dp) {
decl_t *funargs;
decl_GetTraceInfo(decl_t *dp, char *f_type, char *f_print, decl_t **funargs)
decl_ToFormal(decl_t *dp)
decl_t *argp = tp->t_args;
static type_t *type_SetFun(type_t *, decl_t *);
static decl_t *decl_Construct(void);
static decl_t *decl_AddArg(decl_t *, decl_t *);
static int decl_IsVoid(decl_t *);
static int decl_IsVoidArray(decl_t *);
static const char *decl_VerifyArgs(decl_t *);
static decl_t *decl_AddDS(decl_t *, decl_spec_t *, const char **);
static decl_t *decl_AddTypeTail(decl_t *, type_t *);
static decl_t *decl_addptr(decl_t *, type_t *);
static decl_t *decl_addary(decl_t *, char *);
static decl_t *decl_addfun(decl_t *, decl_t *);
static decl_t *decl_addellipsis(decl_t *);
static void decl_PrintDecl(decl_t *, int);
static void decl_PrintTraceInfo(decl_t *);
static decl_t *protop = NULL; /* pointer to prototype */
decl_t *d_val;
decl_t *pp, *funargs;