+#define gdef(xyzxyz) (*Rgdef((struct Sdeflist *) (xyzxyz)))
+
+extern tree mkdef PROTO((id, tree));
+#ifdef __GNUC__
+
+id *Rgdid PROTO((struct Sdef *));
+
+extern __inline__ id *Rgdid(struct Sdef *t)
+{
+#ifdef UGEN_DEBUG
+ if(t -> tag != def)
+ fprintf(stderr,"gdid: illegal selection; was %d\n", t -> tag);
+#endif /* UGEN_DEBUG */
+ return(& t -> Xgdid);
+}
+#else /* ! __GNUC__ */
+extern id *Rgdid PROTO((struct Sdef *));
+#endif /* ! __GNUC__ */
+
+#define gdid(xyzxyz) (*Rgdid((struct Sdef *) (xyzxyz)))
+#ifdef __GNUC__
+
+tree *Rgditemlist PROTO((struct Sdef *));
+
+extern __inline__ tree *Rgditemlist(struct Sdef *t)
+{
+#ifdef UGEN_DEBUG
+ if(t -> tag != def)
+ fprintf(stderr,"gditemlist: illegal selection; was %d\n", t -> tag);
+#endif /* UGEN_DEBUG */
+ return(& t -> Xgditemlist);
+}
+#else /* ! __GNUC__ */
+extern tree *Rgditemlist PROTO((struct Sdef *));
+#endif /* ! __GNUC__ */
+
+#define gditemlist(xyzxyz) (*Rgditemlist((struct Sdef *) (xyzxyz)))
+
+extern tree mkitemlist PROTO((tree, tree));
+#ifdef __GNUC__
+
+tree *Rgitemlist PROTO((struct Sitemlist *));
+
+extern __inline__ tree *Rgitemlist(struct Sitemlist *t)
+{
+#ifdef UGEN_DEBUG
+ if(t -> tag != itemlist)
+ fprintf(stderr,"gitemlist: illegal selection; was %d\n", t -> tag);
+#endif /* UGEN_DEBUG */
+ return(& t -> Xgitemlist);
+}
+#else /* ! __GNUC__ */
+extern tree *Rgitemlist PROTO((struct Sitemlist *));
+#endif /* ! __GNUC__ */
+
+#define gitemlist(xyzxyz) (*Rgitemlist((struct Sitemlist *) (xyzxyz)))
+#ifdef __GNUC__
+
+tree *Rgitem PROTO((struct Sitemlist *));
+
+extern __inline__ tree *Rgitem(struct Sitemlist *t)
+{
+#ifdef UGEN_DEBUG
+ if(t -> tag != itemlist)
+ fprintf(stderr,"gitem: illegal selection; was %d\n", t -> tag);
+#endif /* UGEN_DEBUG */
+ return(& t -> Xgitem);
+}
+#else /* ! __GNUC__ */
+extern tree *Rgitem PROTO((struct Sitemlist *));
+#endif /* ! __GNUC__ */
+
+#define gitem(xyzxyz) (*Rgitem((struct Sitemlist *) (xyzxyz)))
+
+extern tree mkemitemlist PROTO((void));
+
+extern tree mkitem PROTO((id, id));
+#ifdef __GNUC__
+
+id *Rgitemfunid PROTO((struct Sitem *));
+
+extern __inline__ id *Rgitemfunid(struct Sitem *t)
+{
+#ifdef UGEN_DEBUG
+ if(t -> tag != item)
+ fprintf(stderr,"gitemfunid: illegal selection; was %d\n", t -> tag);
+#endif /* UGEN_DEBUG */
+ return(& t -> Xgitemfunid);
+}
+#else /* ! __GNUC__ */
+extern id *Rgitemfunid PROTO((struct Sitem *));
+#endif /* ! __GNUC__ */
+
+#define gitemfunid(xyzxyz) (*Rgitemfunid((struct Sitem *) (xyzxyz)))
+#ifdef __GNUC__
+
+id *Rgitemtypid PROTO((struct Sitem *));
+
+extern __inline__ id *Rgitemtypid(struct Sitem *t)
+{
+#ifdef UGEN_DEBUG
+ if(t -> tag != item)
+ fprintf(stderr,"gitemtypid: illegal selection; was %d\n", t -> tag);
+#endif /* UGEN_DEBUG */
+ return(& t -> Xgitemtypid);
+}
+#else /* ! __GNUC__ */
+extern id *Rgitemtypid PROTO((struct Sitem *));
+#endif /* ! __GNUC__ */
+
+#define gitemtypid(xyzxyz) (*Rgitemtypid((struct Sitem *) (xyzxyz)))
+
+#endif