diff --git a/struct.h b/struct.h index 57d41f2a7c0282c4318cf02b5442246798bd37b3..81f642f0cece1564cb023e3bd14e800735e87484 100644 --- a/struct.h +++ b/struct.h @@ -14,37 +14,46 @@ */ -typedef struct declnlist_str *declnlist; -typedef struct shapelist_str *shapelist; -typedef struct paramlist_str *paramlist; -typedef struct printlist_str *printlist; -typedef struct printitem_str *printitem; +struct declnlist; +typedef struct declnlist *declnlist; + +struct shapelist; +typedef struct shapelist *shapelist; + +struct paramlist; +typedef struct paramlist *paramlist; + +struct printlist; +typedef struct printlist *printlist; + +struct printitem; +typedef struct printitem *printitem; #define printitem_is_str 0 #define printitem_is_num 1 -struct printitem_str { +struct printitem { int tag; int num; char *str; }; -struct printlist_str { +struct printlist { printlist next; printitem item; }; -struct paramlist_str { +struct paramlist { paramlist next; char *type; char *name; }; -struct shapelist_str { +struct shapelist { shapelist next; char *name; paramlist params; @@ -52,7 +61,7 @@ struct shapelist_str { }; -struct declnlist_str { +struct declnlist { declnlist next; char *name; shapelist shapes;