1 #ifndef literal_defined
2 #define literal_defined
30 typedef struct { Tliteral tag; } *literal;
33 Tliteral tliteral(literal t);
34 extern __inline__ Tliteral tliteral(literal t)
38 #else /* ! __GNUC__ */
39 extern Tliteral tliteral PROTO((literal));
40 #endif /* ! __GNUC__ */
59 stringId Xgdoubleprim;
90 stringId Xgclitlit_kind;
109 extern literal mkinteger PROTO((stringId));
112 stringId *Rginteger PROTO((struct Sinteger *));
114 extern __inline__ stringId *Rginteger(struct Sinteger *t)
117 if(t -> tag != integer)
118 fprintf(stderr,"ginteger: illegal selection; was %d\n", t -> tag);
119 #endif /* UGEN_DEBUG */
120 return(& t -> Xginteger);
122 #else /* ! __GNUC__ */
123 extern stringId *Rginteger PROTO((struct Sinteger *));
124 #endif /* ! __GNUC__ */
126 #define ginteger(xyzxyz) (*Rginteger((struct Sinteger *) (xyzxyz)))
128 extern literal mkintprim PROTO((stringId));
131 stringId *Rgintprim PROTO((struct Sintprim *));
133 extern __inline__ stringId *Rgintprim(struct Sintprim *t)
136 if(t -> tag != intprim)
137 fprintf(stderr,"gintprim: illegal selection; was %d\n", t -> tag);
138 #endif /* UGEN_DEBUG */
139 return(& t -> Xgintprim);
141 #else /* ! __GNUC__ */
142 extern stringId *Rgintprim PROTO((struct Sintprim *));
143 #endif /* ! __GNUC__ */
145 #define gintprim(xyzxyz) (*Rgintprim((struct Sintprim *) (xyzxyz)))
147 extern literal mkfloatr PROTO((stringId));
150 stringId *Rgfloatr PROTO((struct Sfloatr *));
152 extern __inline__ stringId *Rgfloatr(struct Sfloatr *t)
155 if(t -> tag != floatr)
156 fprintf(stderr,"gfloatr: illegal selection; was %d\n", t -> tag);
157 #endif /* UGEN_DEBUG */
158 return(& t -> Xgfloatr);
160 #else /* ! __GNUC__ */
161 extern stringId *Rgfloatr PROTO((struct Sfloatr *));
162 #endif /* ! __GNUC__ */
164 #define gfloatr(xyzxyz) (*Rgfloatr((struct Sfloatr *) (xyzxyz)))
166 extern literal mkdoubleprim PROTO((stringId));
169 stringId *Rgdoubleprim PROTO((struct Sdoubleprim *));
171 extern __inline__ stringId *Rgdoubleprim(struct Sdoubleprim *t)
174 if(t -> tag != doubleprim)
175 fprintf(stderr,"gdoubleprim: illegal selection; was %d\n", t -> tag);
176 #endif /* UGEN_DEBUG */
177 return(& t -> Xgdoubleprim);
179 #else /* ! __GNUC__ */
180 extern stringId *Rgdoubleprim PROTO((struct Sdoubleprim *));
181 #endif /* ! __GNUC__ */
183 #define gdoubleprim(xyzxyz) (*Rgdoubleprim((struct Sdoubleprim *) (xyzxyz)))
185 extern literal mkfloatprim PROTO((stringId));
188 stringId *Rgfloatprim PROTO((struct Sfloatprim *));
190 extern __inline__ stringId *Rgfloatprim(struct Sfloatprim *t)
193 if(t -> tag != floatprim)
194 fprintf(stderr,"gfloatprim: illegal selection; was %d\n", t -> tag);
195 #endif /* UGEN_DEBUG */
196 return(& t -> Xgfloatprim);
198 #else /* ! __GNUC__ */
199 extern stringId *Rgfloatprim PROTO((struct Sfloatprim *));
200 #endif /* ! __GNUC__ */
202 #define gfloatprim(xyzxyz) (*Rgfloatprim((struct Sfloatprim *) (xyzxyz)))
204 extern literal mkcharr PROTO((hstring));
207 hstring *Rgchar PROTO((struct Scharr *));
209 extern __inline__ hstring *Rgchar(struct Scharr *t)
212 if(t -> tag != charr)
213 fprintf(stderr,"gchar: illegal selection; was %d\n", t -> tag);
214 #endif /* UGEN_DEBUG */
215 return(& t -> Xgchar);
217 #else /* ! __GNUC__ */
218 extern hstring *Rgchar PROTO((struct Scharr *));
219 #endif /* ! __GNUC__ */
221 #define gchar(xyzxyz) (*Rgchar((struct Scharr *) (xyzxyz)))
223 extern literal mkcharprim PROTO((hstring));
226 hstring *Rgcharprim PROTO((struct Scharprim *));
228 extern __inline__ hstring *Rgcharprim(struct Scharprim *t)
231 if(t -> tag != charprim)
232 fprintf(stderr,"gcharprim: illegal selection; was %d\n", t -> tag);
233 #endif /* UGEN_DEBUG */
234 return(& t -> Xgcharprim);
236 #else /* ! __GNUC__ */
237 extern hstring *Rgcharprim PROTO((struct Scharprim *));
238 #endif /* ! __GNUC__ */
240 #define gcharprim(xyzxyz) (*Rgcharprim((struct Scharprim *) (xyzxyz)))
242 extern literal mkstring PROTO((hstring));
245 hstring *Rgstring PROTO((struct Sstring *));
247 extern __inline__ hstring *Rgstring(struct Sstring *t)
250 if(t -> tag != string)
251 fprintf(stderr,"gstring: illegal selection; was %d\n", t -> tag);
252 #endif /* UGEN_DEBUG */
253 return(& t -> Xgstring);
255 #else /* ! __GNUC__ */
256 extern hstring *Rgstring PROTO((struct Sstring *));
257 #endif /* ! __GNUC__ */
259 #define gstring(xyzxyz) (*Rgstring((struct Sstring *) (xyzxyz)))
261 extern literal mkstringprim PROTO((hstring));
264 hstring *Rgstringprim PROTO((struct Sstringprim *));
266 extern __inline__ hstring *Rgstringprim(struct Sstringprim *t)
269 if(t -> tag != stringprim)
270 fprintf(stderr,"gstringprim: illegal selection; was %d\n", t -> tag);
271 #endif /* UGEN_DEBUG */
272 return(& t -> Xgstringprim);
274 #else /* ! __GNUC__ */
275 extern hstring *Rgstringprim PROTO((struct Sstringprim *));
276 #endif /* ! __GNUC__ */
278 #define gstringprim(xyzxyz) (*Rgstringprim((struct Sstringprim *) (xyzxyz)))
280 extern literal mkclitlit PROTO((stringId, stringId));
283 stringId *Rgclitlit PROTO((struct Sclitlit *));
285 extern __inline__ stringId *Rgclitlit(struct Sclitlit *t)
288 if(t -> tag != clitlit)
289 fprintf(stderr,"gclitlit: illegal selection; was %d\n", t -> tag);
290 #endif /* UGEN_DEBUG */
291 return(& t -> Xgclitlit);
293 #else /* ! __GNUC__ */
294 extern stringId *Rgclitlit PROTO((struct Sclitlit *));
295 #endif /* ! __GNUC__ */
297 #define gclitlit(xyzxyz) (*Rgclitlit((struct Sclitlit *) (xyzxyz)))
300 stringId *Rgclitlit_kind PROTO((struct Sclitlit *));
302 extern __inline__ stringId *Rgclitlit_kind(struct Sclitlit *t)
305 if(t -> tag != clitlit)
306 fprintf(stderr,"gclitlit_kind: illegal selection; was %d\n", t -> tag);
307 #endif /* UGEN_DEBUG */
308 return(& t -> Xgclitlit_kind);
310 #else /* ! __GNUC__ */
311 extern stringId *Rgclitlit_kind PROTO((struct Sclitlit *));
312 #endif /* ! __GNUC__ */
314 #define gclitlit_kind(xyzxyz) (*Rgclitlit_kind((struct Sclitlit *) (xyzxyz)))
316 extern literal mknorepi PROTO((stringId));
319 stringId *Rgnorepi PROTO((struct Snorepi *));
321 extern __inline__ stringId *Rgnorepi(struct Snorepi *t)
324 if(t -> tag != norepi)
325 fprintf(stderr,"gnorepi: illegal selection; was %d\n", t -> tag);
326 #endif /* UGEN_DEBUG */
327 return(& t -> Xgnorepi);
329 #else /* ! __GNUC__ */
330 extern stringId *Rgnorepi PROTO((struct Snorepi *));
331 #endif /* ! __GNUC__ */
333 #define gnorepi(xyzxyz) (*Rgnorepi((struct Snorepi *) (xyzxyz)))
335 extern literal mknorepr PROTO((stringId, stringId));
338 stringId *Rgnorepr_n PROTO((struct Snorepr *));
340 extern __inline__ stringId *Rgnorepr_n(struct Snorepr *t)
343 if(t -> tag != norepr)
344 fprintf(stderr,"gnorepr_n: illegal selection; was %d\n", t -> tag);
345 #endif /* UGEN_DEBUG */
346 return(& t -> Xgnorepr_n);
348 #else /* ! __GNUC__ */
349 extern stringId *Rgnorepr_n PROTO((struct Snorepr *));
350 #endif /* ! __GNUC__ */
352 #define gnorepr_n(xyzxyz) (*Rgnorepr_n((struct Snorepr *) (xyzxyz)))
355 stringId *Rgnorepr_d PROTO((struct Snorepr *));
357 extern __inline__ stringId *Rgnorepr_d(struct Snorepr *t)
360 if(t -> tag != norepr)
361 fprintf(stderr,"gnorepr_d: illegal selection; was %d\n", t -> tag);
362 #endif /* UGEN_DEBUG */
363 return(& t -> Xgnorepr_d);
365 #else /* ! __GNUC__ */
366 extern stringId *Rgnorepr_d PROTO((struct Snorepr *));
367 #endif /* ! __GNUC__ */
369 #define gnorepr_d(xyzxyz) (*Rgnorepr_d((struct Snorepr *) (xyzxyz)))
371 extern literal mknoreps PROTO((hstring));
374 hstring *Rgnoreps PROTO((struct Snoreps *));
376 extern __inline__ hstring *Rgnoreps(struct Snoreps *t)
379 if(t -> tag != noreps)
380 fprintf(stderr,"gnoreps: illegal selection; was %d\n", t -> tag);
381 #endif /* UGEN_DEBUG */
382 return(& t -> Xgnoreps);
384 #else /* ! __GNUC__ */
385 extern hstring *Rgnoreps PROTO((struct Snoreps *));
386 #endif /* ! __GNUC__ */
388 #define gnoreps(xyzxyz) (*Rgnoreps((struct Snoreps *) (xyzxyz)))