28 typedef struct { Tttype tag; } *ttype;
31 Tttype tttype(ttype t);
32 extern __inline__ Tttype tttype(ttype t)
36 #else /* ! __GNUC__ */
37 extern Tttype tttype PROTO((ttype));
38 #endif /* ! __GNUC__ */
79 struct Sunityvartemplate {
81 unkId Xgunityvartemplate;
90 struct Sty_maybe_nothing {
94 struct Sty_maybe_just {
99 extern ttype mktname PROTO((unkId, list));
102 unkId *Rgtypeid PROTO((struct Stname *));
104 extern __inline__ unkId *Rgtypeid(struct Stname *t)
107 if(t -> tag != tname)
108 fprintf(stderr,"gtypeid: illegal selection; was %d\n", t -> tag);
109 #endif /* UGEN_DEBUG */
110 return(& t -> Xgtypeid);
112 #else /* ! __GNUC__ */
113 extern unkId *Rgtypeid PROTO((struct Stname *));
114 #endif /* ! __GNUC__ */
116 #define gtypeid(xyzxyz) (*Rgtypeid((struct Stname *) (xyzxyz)))
119 list *Rgtypel PROTO((struct Stname *));
121 extern __inline__ list *Rgtypel(struct Stname *t)
124 if(t -> tag != tname)
125 fprintf(stderr,"gtypel: illegal selection; was %d\n", t -> tag);
126 #endif /* UGEN_DEBUG */
127 return(& t -> Xgtypel);
129 #else /* ! __GNUC__ */
130 extern list *Rgtypel PROTO((struct Stname *));
131 #endif /* ! __GNUC__ */
133 #define gtypel(xyzxyz) (*Rgtypel((struct Stname *) (xyzxyz)))
135 extern ttype mknamedtvar PROTO((unkId));
138 unkId *Rgnamedtvar PROTO((struct Snamedtvar *));
140 extern __inline__ unkId *Rgnamedtvar(struct Snamedtvar *t)
143 if(t -> tag != namedtvar)
144 fprintf(stderr,"gnamedtvar: illegal selection; was %d\n", t -> tag);
145 #endif /* UGEN_DEBUG */
146 return(& t -> Xgnamedtvar);
148 #else /* ! __GNUC__ */
149 extern unkId *Rgnamedtvar PROTO((struct Snamedtvar *));
150 #endif /* ! __GNUC__ */
152 #define gnamedtvar(xyzxyz) (*Rgnamedtvar((struct Snamedtvar *) (xyzxyz)))
154 extern ttype mktllist PROTO((ttype));
157 ttype *Rgtlist PROTO((struct Stllist *));
159 extern __inline__ ttype *Rgtlist(struct Stllist *t)
162 if(t -> tag != tllist)
163 fprintf(stderr,"gtlist: illegal selection; was %d\n", t -> tag);
164 #endif /* UGEN_DEBUG */
165 return(& t -> Xgtlist);
167 #else /* ! __GNUC__ */
168 extern ttype *Rgtlist PROTO((struct Stllist *));
169 #endif /* ! __GNUC__ */
171 #define gtlist(xyzxyz) (*Rgtlist((struct Stllist *) (xyzxyz)))
173 extern ttype mkttuple PROTO((list));
176 list *Rgttuple PROTO((struct Sttuple *));
178 extern __inline__ list *Rgttuple(struct Sttuple *t)
181 if(t -> tag != ttuple)
182 fprintf(stderr,"gttuple: illegal selection; was %d\n", t -> tag);
183 #endif /* UGEN_DEBUG */
184 return(& t -> Xgttuple);
186 #else /* ! __GNUC__ */
187 extern list *Rgttuple PROTO((struct Sttuple *));
188 #endif /* ! __GNUC__ */
190 #define gttuple(xyzxyz) (*Rgttuple((struct Sttuple *) (xyzxyz)))
192 extern ttype mktfun PROTO((ttype, ttype));
195 ttype *Rgtfun PROTO((struct Stfun *));
197 extern __inline__ ttype *Rgtfun(struct Stfun *t)
201 fprintf(stderr,"gtfun: illegal selection; was %d\n", t -> tag);
202 #endif /* UGEN_DEBUG */
203 return(& t -> Xgtfun);
205 #else /* ! __GNUC__ */
206 extern ttype *Rgtfun PROTO((struct Stfun *));
207 #endif /* ! __GNUC__ */
209 #define gtfun(xyzxyz) (*Rgtfun((struct Stfun *) (xyzxyz)))
212 ttype *Rgtarg PROTO((struct Stfun *));
214 extern __inline__ ttype *Rgtarg(struct Stfun *t)
218 fprintf(stderr,"gtarg: illegal selection; was %d\n", t -> tag);
219 #endif /* UGEN_DEBUG */
220 return(& t -> Xgtarg);
222 #else /* ! __GNUC__ */
223 extern ttype *Rgtarg PROTO((struct Stfun *));
224 #endif /* ! __GNUC__ */
226 #define gtarg(xyzxyz) (*Rgtarg((struct Stfun *) (xyzxyz)))
228 extern ttype mkcontext PROTO((list, ttype));
231 list *Rgtcontextl PROTO((struct Scontext *));
233 extern __inline__ list *Rgtcontextl(struct Scontext *t)
236 if(t -> tag != context)
237 fprintf(stderr,"gtcontextl: illegal selection; was %d\n", t -> tag);
238 #endif /* UGEN_DEBUG */
239 return(& t -> Xgtcontextl);
241 #else /* ! __GNUC__ */
242 extern list *Rgtcontextl PROTO((struct Scontext *));
243 #endif /* ! __GNUC__ */
245 #define gtcontextl(xyzxyz) (*Rgtcontextl((struct Scontext *) (xyzxyz)))
248 ttype *Rgtcontextt PROTO((struct Scontext *));
250 extern __inline__ ttype *Rgtcontextt(struct Scontext *t)
253 if(t -> tag != context)
254 fprintf(stderr,"gtcontextt: illegal selection; was %d\n", t -> tag);
255 #endif /* UGEN_DEBUG */
256 return(& t -> Xgtcontextt);
258 #else /* ! __GNUC__ */
259 extern ttype *Rgtcontextt PROTO((struct Scontext *));
260 #endif /* ! __GNUC__ */
262 #define gtcontextt(xyzxyz) (*Rgtcontextt((struct Scontext *) (xyzxyz)))
264 extern ttype mkunidict PROTO((unkId, ttype));
267 unkId *Rgunidict_clas PROTO((struct Sunidict *));
269 extern __inline__ unkId *Rgunidict_clas(struct Sunidict *t)
272 if(t -> tag != unidict)
273 fprintf(stderr,"gunidict_clas: illegal selection; was %d\n", t -> tag);
274 #endif /* UGEN_DEBUG */
275 return(& t -> Xgunidict_clas);
277 #else /* ! __GNUC__ */
278 extern unkId *Rgunidict_clas PROTO((struct Sunidict *));
279 #endif /* ! __GNUC__ */
281 #define gunidict_clas(xyzxyz) (*Rgunidict_clas((struct Sunidict *) (xyzxyz)))
284 ttype *Rgunidict_ty PROTO((struct Sunidict *));
286 extern __inline__ ttype *Rgunidict_ty(struct Sunidict *t)
289 if(t -> tag != unidict)
290 fprintf(stderr,"gunidict_ty: illegal selection; was %d\n", t -> tag);
291 #endif /* UGEN_DEBUG */
292 return(& t -> Xgunidict_ty);
294 #else /* ! __GNUC__ */
295 extern ttype *Rgunidict_ty PROTO((struct Sunidict *));
296 #endif /* ! __GNUC__ */
298 #define gunidict_ty(xyzxyz) (*Rgunidict_ty((struct Sunidict *) (xyzxyz)))
300 extern ttype mkunityvartemplate PROTO((unkId));
303 unkId *Rgunityvartemplate PROTO((struct Sunityvartemplate *));
305 extern __inline__ unkId *Rgunityvartemplate(struct Sunityvartemplate *t)
308 if(t -> tag != unityvartemplate)
309 fprintf(stderr,"gunityvartemplate: illegal selection; was %d\n", t -> tag);
310 #endif /* UGEN_DEBUG */
311 return(& t -> Xgunityvartemplate);
313 #else /* ! __GNUC__ */
314 extern unkId *Rgunityvartemplate PROTO((struct Sunityvartemplate *));
315 #endif /* ! __GNUC__ */
317 #define gunityvartemplate(xyzxyz) (*Rgunityvartemplate((struct Sunityvartemplate *) (xyzxyz)))
319 extern ttype mkuniforall PROTO((list, ttype));
322 list *Rguniforall_tv PROTO((struct Suniforall *));
324 extern __inline__ list *Rguniforall_tv(struct Suniforall *t)
327 if(t -> tag != uniforall)
328 fprintf(stderr,"guniforall_tv: illegal selection; was %d\n", t -> tag);
329 #endif /* UGEN_DEBUG */
330 return(& t -> Xguniforall_tv);
332 #else /* ! __GNUC__ */
333 extern list *Rguniforall_tv PROTO((struct Suniforall *));
334 #endif /* ! __GNUC__ */
336 #define guniforall_tv(xyzxyz) (*Rguniforall_tv((struct Suniforall *) (xyzxyz)))
339 ttype *Rguniforall_ty PROTO((struct Suniforall *));
341 extern __inline__ ttype *Rguniforall_ty(struct Suniforall *t)
344 if(t -> tag != uniforall)
345 fprintf(stderr,"guniforall_ty: illegal selection; was %d\n", t -> tag);
346 #endif /* UGEN_DEBUG */
347 return(& t -> Xguniforall_ty);
349 #else /* ! __GNUC__ */
350 extern ttype *Rguniforall_ty PROTO((struct Suniforall *));
351 #endif /* ! __GNUC__ */
353 #define guniforall_ty(xyzxyz) (*Rguniforall_ty((struct Suniforall *) (xyzxyz)))
355 extern ttype mkty_maybe_nothing PROTO((void));
357 extern ttype mkty_maybe_just PROTO((ttype));
360 ttype *Rgty_maybe PROTO((struct Sty_maybe_just *));
362 extern __inline__ ttype *Rgty_maybe(struct Sty_maybe_just *t)
365 if(t -> tag != ty_maybe_just)
366 fprintf(stderr,"gty_maybe: illegal selection; was %d\n", t -> tag);
367 #endif /* UGEN_DEBUG */
368 return(& t -> Xgty_maybe);
370 #else /* ! __GNUC__ */
371 extern ttype *Rgty_maybe PROTO((struct Sty_maybe_just *));
372 #endif /* ! __GNUC__ */
374 #define gty_maybe(xyzxyz) (*Rgty_maybe((struct Sty_maybe_just *) (xyzxyz)))