};
struct decl {
- enum {dfundecl, dvardecl} type;
+ enum {dcomponent, dfundecl, dvardecl} type;
union {
+ struct {
+ int ndecls;
+ struct decl **decls;
+ } dcomponent;
struct {
char *ident;
int nargs;
void ast_print(struct ast *, FILE *out);
void vardecl_print(struct vardecl *decl, int indent, FILE *out);
-void decl_print(struct decl *ast, int indent, FILE *out);
+void decl_print(struct decl *ast, FILE *out);
void stmt_print(struct stmt *ast, int indent, FILE *out);
void expr_print(struct expr *ast, FILE *out);
void type_print(struct type *type, FILE *out);