28 typedef struct { Tttype tag; } *ttype;
31 extern __inline__ Tttype tttype(ttype t)
35 #else /* ! __GNUC__ */
36 extern Tttype tttype PROTO((ttype));
37 #endif /* ! __GNUC__ */
78 struct Sunityvartemplate {
80 unkId Xgunityvartemplate;
89 struct Sty_maybe_nothing {
93 struct Sty_maybe_just {
98 extern ttype mktname PROTO((unkId, list));
101 extern __inline__ unkId *Rgtypeid(struct Stname *t)
104 if(t -> tag != tname)
105 fprintf(stderr,"gtypeid: illegal selection; was %d\n", t -> tag);
106 #endif /* UGEN_DEBUG */
107 return(& t -> Xgtypeid);
109 #else /* ! __GNUC__ */
110 extern unkId *Rgtypeid PROTO((struct Stname *));
111 #endif /* ! __GNUC__ */
113 #define gtypeid(xyzxyz) (*Rgtypeid((struct Stname *) (xyzxyz)))
116 extern __inline__ list *Rgtypel(struct Stname *t)
119 if(t -> tag != tname)
120 fprintf(stderr,"gtypel: illegal selection; was %d\n", t -> tag);
121 #endif /* UGEN_DEBUG */
122 return(& t -> Xgtypel);
124 #else /* ! __GNUC__ */
125 extern list *Rgtypel PROTO((struct Stname *));
126 #endif /* ! __GNUC__ */
128 #define gtypel(xyzxyz) (*Rgtypel((struct Stname *) (xyzxyz)))
130 extern ttype mknamedtvar PROTO((unkId));
133 extern __inline__ unkId *Rgnamedtvar(struct Snamedtvar *t)
136 if(t -> tag != namedtvar)
137 fprintf(stderr,"gnamedtvar: illegal selection; was %d\n", t -> tag);
138 #endif /* UGEN_DEBUG */
139 return(& t -> Xgnamedtvar);
141 #else /* ! __GNUC__ */
142 extern unkId *Rgnamedtvar PROTO((struct Snamedtvar *));
143 #endif /* ! __GNUC__ */
145 #define gnamedtvar(xyzxyz) (*Rgnamedtvar((struct Snamedtvar *) (xyzxyz)))
147 extern ttype mktllist PROTO((ttype));
150 extern __inline__ ttype *Rgtlist(struct Stllist *t)
153 if(t -> tag != tllist)
154 fprintf(stderr,"gtlist: illegal selection; was %d\n", t -> tag);
155 #endif /* UGEN_DEBUG */
156 return(& t -> Xgtlist);
158 #else /* ! __GNUC__ */
159 extern ttype *Rgtlist PROTO((struct Stllist *));
160 #endif /* ! __GNUC__ */
162 #define gtlist(xyzxyz) (*Rgtlist((struct Stllist *) (xyzxyz)))
164 extern ttype mkttuple PROTO((list));
167 extern __inline__ list *Rgttuple(struct Sttuple *t)
170 if(t -> tag != ttuple)
171 fprintf(stderr,"gttuple: illegal selection; was %d\n", t -> tag);
172 #endif /* UGEN_DEBUG */
173 return(& t -> Xgttuple);
175 #else /* ! __GNUC__ */
176 extern list *Rgttuple PROTO((struct Sttuple *));
177 #endif /* ! __GNUC__ */
179 #define gttuple(xyzxyz) (*Rgttuple((struct Sttuple *) (xyzxyz)))
181 extern ttype mktfun PROTO((ttype, ttype));
184 extern __inline__ ttype *Rgtfun(struct Stfun *t)
188 fprintf(stderr,"gtfun: illegal selection; was %d\n", t -> tag);
189 #endif /* UGEN_DEBUG */
190 return(& t -> Xgtfun);
192 #else /* ! __GNUC__ */
193 extern ttype *Rgtfun PROTO((struct Stfun *));
194 #endif /* ! __GNUC__ */
196 #define gtfun(xyzxyz) (*Rgtfun((struct Stfun *) (xyzxyz)))
199 extern __inline__ ttype *Rgtarg(struct Stfun *t)
203 fprintf(stderr,"gtarg: illegal selection; was %d\n", t -> tag);
204 #endif /* UGEN_DEBUG */
205 return(& t -> Xgtarg);
207 #else /* ! __GNUC__ */
208 extern ttype *Rgtarg PROTO((struct Stfun *));
209 #endif /* ! __GNUC__ */
211 #define gtarg(xyzxyz) (*Rgtarg((struct Stfun *) (xyzxyz)))
213 extern ttype mkcontext PROTO((list, ttype));
216 extern __inline__ list *Rgtcontextl(struct Scontext *t)
219 if(t -> tag != context)
220 fprintf(stderr,"gtcontextl: illegal selection; was %d\n", t -> tag);
221 #endif /* UGEN_DEBUG */
222 return(& t -> Xgtcontextl);
224 #else /* ! __GNUC__ */
225 extern list *Rgtcontextl PROTO((struct Scontext *));
226 #endif /* ! __GNUC__ */
228 #define gtcontextl(xyzxyz) (*Rgtcontextl((struct Scontext *) (xyzxyz)))
231 extern __inline__ ttype *Rgtcontextt(struct Scontext *t)
234 if(t -> tag != context)
235 fprintf(stderr,"gtcontextt: illegal selection; was %d\n", t -> tag);
236 #endif /* UGEN_DEBUG */
237 return(& t -> Xgtcontextt);
239 #else /* ! __GNUC__ */
240 extern ttype *Rgtcontextt PROTO((struct Scontext *));
241 #endif /* ! __GNUC__ */
243 #define gtcontextt(xyzxyz) (*Rgtcontextt((struct Scontext *) (xyzxyz)))
245 extern ttype mkunidict PROTO((unkId, ttype));
248 extern __inline__ unkId *Rgunidict_clas(struct Sunidict *t)
251 if(t -> tag != unidict)
252 fprintf(stderr,"gunidict_clas: illegal selection; was %d\n", t -> tag);
253 #endif /* UGEN_DEBUG */
254 return(& t -> Xgunidict_clas);
256 #else /* ! __GNUC__ */
257 extern unkId *Rgunidict_clas PROTO((struct Sunidict *));
258 #endif /* ! __GNUC__ */
260 #define gunidict_clas(xyzxyz) (*Rgunidict_clas((struct Sunidict *) (xyzxyz)))
263 extern __inline__ ttype *Rgunidict_ty(struct Sunidict *t)
266 if(t -> tag != unidict)
267 fprintf(stderr,"gunidict_ty: illegal selection; was %d\n", t -> tag);
268 #endif /* UGEN_DEBUG */
269 return(& t -> Xgunidict_ty);
271 #else /* ! __GNUC__ */
272 extern ttype *Rgunidict_ty PROTO((struct Sunidict *));
273 #endif /* ! __GNUC__ */
275 #define gunidict_ty(xyzxyz) (*Rgunidict_ty((struct Sunidict *) (xyzxyz)))
277 extern ttype mkunityvartemplate PROTO((unkId));
280 extern __inline__ unkId *Rgunityvartemplate(struct Sunityvartemplate *t)
283 if(t -> tag != unityvartemplate)
284 fprintf(stderr,"gunityvartemplate: illegal selection; was %d\n", t -> tag);
285 #endif /* UGEN_DEBUG */
286 return(& t -> Xgunityvartemplate);
288 #else /* ! __GNUC__ */
289 extern unkId *Rgunityvartemplate PROTO((struct Sunityvartemplate *));
290 #endif /* ! __GNUC__ */
292 #define gunityvartemplate(xyzxyz) (*Rgunityvartemplate((struct Sunityvartemplate *) (xyzxyz)))
294 extern ttype mkuniforall PROTO((list, ttype));
297 extern __inline__ list *Rguniforall_tv(struct Suniforall *t)
300 if(t -> tag != uniforall)
301 fprintf(stderr,"guniforall_tv: illegal selection; was %d\n", t -> tag);
302 #endif /* UGEN_DEBUG */
303 return(& t -> Xguniforall_tv);
305 #else /* ! __GNUC__ */
306 extern list *Rguniforall_tv PROTO((struct Suniforall *));
307 #endif /* ! __GNUC__ */
309 #define guniforall_tv(xyzxyz) (*Rguniforall_tv((struct Suniforall *) (xyzxyz)))
312 extern __inline__ ttype *Rguniforall_ty(struct Suniforall *t)
315 if(t -> tag != uniforall)
316 fprintf(stderr,"guniforall_ty: illegal selection; was %d\n", t -> tag);
317 #endif /* UGEN_DEBUG */
318 return(& t -> Xguniforall_ty);
320 #else /* ! __GNUC__ */
321 extern ttype *Rguniforall_ty PROTO((struct Suniforall *));
322 #endif /* ! __GNUC__ */
324 #define guniforall_ty(xyzxyz) (*Rguniforall_ty((struct Suniforall *) (xyzxyz)))
326 extern ttype mkty_maybe_nothing PROTO(());
328 extern ttype mkty_maybe_just PROTO((ttype));
331 extern __inline__ ttype *Rgty_maybe(struct Sty_maybe_just *t)
334 if(t -> tag != ty_maybe_just)
335 fprintf(stderr,"gty_maybe: illegal selection; was %d\n", t -> tag);
336 #endif /* UGEN_DEBUG */
337 return(& t -> Xgty_maybe);
339 #else /* ! __GNUC__ */
340 extern ttype *Rgty_maybe PROTO((struct Sty_maybe_just *));
341 #endif /* ! __GNUC__ */
343 #define gty_maybe(xyzxyz) (*Rgty_maybe((struct Sty_maybe_just *) (xyzxyz)))