/* $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;