ack/lang/cem/cemcom/declar.str

38 lines
782 B
Plaintext

/* $Header$ */
/* DEFINITION OF DECLARATOR DESCRIPTORS */
/* A 'declarator' consists of an idf and a linked list of
language-defined unary operations: *, [] and (), called
decl_unary's.
*/
struct declarator {
struct declarator *next;
struct idf *dc_idf;
struct decl_unary *dc_decl_unary;
struct formal *dc_formal; /* params for function */
};
/* ALLOCDEF "declarator" */
struct formal { /* list of formals */
struct formal *next;
struct idf *fm_idf;
};
/* ALLOCDEF "formal" */
#define NO_PARAMS ((struct formal *) 0)
struct decl_unary {
struct decl_unary *next;
int du_fund; /* POINTER, ARRAY or FUNCTION */
arith du_count; /* for ARRAYs only */
};
/* ALLOCDEF "decl_unary" */
extern struct type *declare_type();
extern struct declarator null_declarator;