1 #ifndef literal_defined
2 #define literal_defined
30 typedef struct { Tliteral tag; } *literal;
33 extern __inline__ Tliteral tliteral(literal t)
37 #else /* ! __GNUC__ */
38 extern Tliteral tliteral PROTO((literal));
39 #endif /* ! __GNUC__ */
58 stringId Xgdoubleprim;
89 stringId Xgclitlit_kind;
108 extern literal mkinteger PROTO((stringId));
111 extern __inline__ stringId *Rginteger(struct Sinteger *t)
114 if(t -> tag != integer)
115 fprintf(stderr,"ginteger: illegal selection; was %d\n", t -> tag);
116 #endif /* UGEN_DEBUG */
117 return(& t -> Xginteger);
119 #else /* ! __GNUC__ */
120 extern stringId *Rginteger PROTO((struct Sinteger *));
121 #endif /* ! __GNUC__ */
123 #define ginteger(xyzxyz) (*Rginteger((struct Sinteger *) (xyzxyz)))
125 extern literal mkintprim PROTO((stringId));
128 extern __inline__ stringId *Rgintprim(struct Sintprim *t)
131 if(t -> tag != intprim)
132 fprintf(stderr,"gintprim: illegal selection; was %d\n", t -> tag);
133 #endif /* UGEN_DEBUG */
134 return(& t -> Xgintprim);
136 #else /* ! __GNUC__ */
137 extern stringId *Rgintprim PROTO((struct Sintprim *));
138 #endif /* ! __GNUC__ */
140 #define gintprim(xyzxyz) (*Rgintprim((struct Sintprim *) (xyzxyz)))
142 extern literal mkfloatr PROTO((stringId));
145 extern __inline__ stringId *Rgfloatr(struct Sfloatr *t)
148 if(t -> tag != floatr)
149 fprintf(stderr,"gfloatr: illegal selection; was %d\n", t -> tag);
150 #endif /* UGEN_DEBUG */
151 return(& t -> Xgfloatr);
153 #else /* ! __GNUC__ */
154 extern stringId *Rgfloatr PROTO((struct Sfloatr *));
155 #endif /* ! __GNUC__ */
157 #define gfloatr(xyzxyz) (*Rgfloatr((struct Sfloatr *) (xyzxyz)))
159 extern literal mkdoubleprim PROTO((stringId));
162 extern __inline__ stringId *Rgdoubleprim(struct Sdoubleprim *t)
165 if(t -> tag != doubleprim)
166 fprintf(stderr,"gdoubleprim: illegal selection; was %d\n", t -> tag);
167 #endif /* UGEN_DEBUG */
168 return(& t -> Xgdoubleprim);
170 #else /* ! __GNUC__ */
171 extern stringId *Rgdoubleprim PROTO((struct Sdoubleprim *));
172 #endif /* ! __GNUC__ */
174 #define gdoubleprim(xyzxyz) (*Rgdoubleprim((struct Sdoubleprim *) (xyzxyz)))
176 extern literal mkfloatprim PROTO((stringId));
179 extern __inline__ stringId *Rgfloatprim(struct Sfloatprim *t)
182 if(t -> tag != floatprim)
183 fprintf(stderr,"gfloatprim: illegal selection; was %d\n", t -> tag);
184 #endif /* UGEN_DEBUG */
185 return(& t -> Xgfloatprim);
187 #else /* ! __GNUC__ */
188 extern stringId *Rgfloatprim PROTO((struct Sfloatprim *));
189 #endif /* ! __GNUC__ */
191 #define gfloatprim(xyzxyz) (*Rgfloatprim((struct Sfloatprim *) (xyzxyz)))
193 extern literal mkcharr PROTO((hstring));
196 extern __inline__ hstring *Rgchar(struct Scharr *t)
199 if(t -> tag != charr)
200 fprintf(stderr,"gchar: illegal selection; was %d\n", t -> tag);
201 #endif /* UGEN_DEBUG */
202 return(& t -> Xgchar);
204 #else /* ! __GNUC__ */
205 extern hstring *Rgchar PROTO((struct Scharr *));
206 #endif /* ! __GNUC__ */
208 #define gchar(xyzxyz) (*Rgchar((struct Scharr *) (xyzxyz)))
210 extern literal mkcharprim PROTO((hstring));
213 extern __inline__ hstring *Rgcharprim(struct Scharprim *t)
216 if(t -> tag != charprim)
217 fprintf(stderr,"gcharprim: illegal selection; was %d\n", t -> tag);
218 #endif /* UGEN_DEBUG */
219 return(& t -> Xgcharprim);
221 #else /* ! __GNUC__ */
222 extern hstring *Rgcharprim PROTO((struct Scharprim *));
223 #endif /* ! __GNUC__ */
225 #define gcharprim(xyzxyz) (*Rgcharprim((struct Scharprim *) (xyzxyz)))
227 extern literal mkstring PROTO((hstring));
230 extern __inline__ hstring *Rgstring(struct Sstring *t)
233 if(t -> tag != string)
234 fprintf(stderr,"gstring: illegal selection; was %d\n", t -> tag);
235 #endif /* UGEN_DEBUG */
236 return(& t -> Xgstring);
238 #else /* ! __GNUC__ */
239 extern hstring *Rgstring PROTO((struct Sstring *));
240 #endif /* ! __GNUC__ */
242 #define gstring(xyzxyz) (*Rgstring((struct Sstring *) (xyzxyz)))
244 extern literal mkstringprim PROTO((hstring));
247 extern __inline__ hstring *Rgstringprim(struct Sstringprim *t)
250 if(t -> tag != stringprim)
251 fprintf(stderr,"gstringprim: illegal selection; was %d\n", t -> tag);
252 #endif /* UGEN_DEBUG */
253 return(& t -> Xgstringprim);
255 #else /* ! __GNUC__ */
256 extern hstring *Rgstringprim PROTO((struct Sstringprim *));
257 #endif /* ! __GNUC__ */
259 #define gstringprim(xyzxyz) (*Rgstringprim((struct Sstringprim *) (xyzxyz)))
261 extern literal mkclitlit PROTO((stringId, stringId));
264 extern __inline__ stringId *Rgclitlit(struct Sclitlit *t)
267 if(t -> tag != clitlit)
268 fprintf(stderr,"gclitlit: illegal selection; was %d\n", t -> tag);
269 #endif /* UGEN_DEBUG */
270 return(& t -> Xgclitlit);
272 #else /* ! __GNUC__ */
273 extern stringId *Rgclitlit PROTO((struct Sclitlit *));
274 #endif /* ! __GNUC__ */
276 #define gclitlit(xyzxyz) (*Rgclitlit((struct Sclitlit *) (xyzxyz)))
279 extern __inline__ stringId *Rgclitlit_kind(struct Sclitlit *t)
282 if(t -> tag != clitlit)
283 fprintf(stderr,"gclitlit_kind: illegal selection; was %d\n", t -> tag);
284 #endif /* UGEN_DEBUG */
285 return(& t -> Xgclitlit_kind);
287 #else /* ! __GNUC__ */
288 extern stringId *Rgclitlit_kind PROTO((struct Sclitlit *));
289 #endif /* ! __GNUC__ */
291 #define gclitlit_kind(xyzxyz) (*Rgclitlit_kind((struct Sclitlit *) (xyzxyz)))
293 extern literal mknorepi PROTO((stringId));
296 extern __inline__ stringId *Rgnorepi(struct Snorepi *t)
299 if(t -> tag != norepi)
300 fprintf(stderr,"gnorepi: illegal selection; was %d\n", t -> tag);
301 #endif /* UGEN_DEBUG */
302 return(& t -> Xgnorepi);
304 #else /* ! __GNUC__ */
305 extern stringId *Rgnorepi PROTO((struct Snorepi *));
306 #endif /* ! __GNUC__ */
308 #define gnorepi(xyzxyz) (*Rgnorepi((struct Snorepi *) (xyzxyz)))
310 extern literal mknorepr PROTO((stringId, stringId));
313 extern __inline__ stringId *Rgnorepr_n(struct Snorepr *t)
316 if(t -> tag != norepr)
317 fprintf(stderr,"gnorepr_n: illegal selection; was %d\n", t -> tag);
318 #endif /* UGEN_DEBUG */
319 return(& t -> Xgnorepr_n);
321 #else /* ! __GNUC__ */
322 extern stringId *Rgnorepr_n PROTO((struct Snorepr *));
323 #endif /* ! __GNUC__ */
325 #define gnorepr_n(xyzxyz) (*Rgnorepr_n((struct Snorepr *) (xyzxyz)))
328 extern __inline__ stringId *Rgnorepr_d(struct Snorepr *t)
331 if(t -> tag != norepr)
332 fprintf(stderr,"gnorepr_d: illegal selection; was %d\n", t -> tag);
333 #endif /* UGEN_DEBUG */
334 return(& t -> Xgnorepr_d);
336 #else /* ! __GNUC__ */
337 extern stringId *Rgnorepr_d PROTO((struct Snorepr *));
338 #endif /* ! __GNUC__ */
340 #define gnorepr_d(xyzxyz) (*Rgnorepr_d((struct Snorepr *) (xyzxyz)))
342 extern literal mknoreps PROTO((hstring));
345 extern __inline__ hstring *Rgnoreps(struct Snoreps *t)
348 if(t -> tag != noreps)
349 fprintf(stderr,"gnoreps: illegal selection; was %d\n", t -> tag);
350 #endif /* UGEN_DEBUG */
351 return(& t -> Xgnoreps);
353 #else /* ! __GNUC__ */
354 extern hstring *Rgnoreps PROTO((struct Snoreps *));
355 #endif /* ! __GNUC__ */
357 #define gnoreps(xyzxyz) (*Rgnoreps((struct Snoreps *) (xyzxyz)))