[project @ 1996-03-22 09:24:22 by partain]
[ghc-hetmet.git] / ghc / compiler / yaccParser / binding.h
1 #ifndef binding_defined
2 #define binding_defined
3
4 #include <stdio.h>
5
6 #ifndef PROTO
7 #ifdef __STDC__
8 #define PROTO(x) x
9 #else
10 #define PROTO(x) /**/
11 #endif
12 #endif
13
14 typedef enum {
15         tbind,
16         nbind,
17         pbind,
18         fbind,
19         abind,
20         ibind,
21         dbind,
22         cbind,
23         sbind,
24         mbind,
25         nullbind,
26         import,
27         hiding,
28         vspec_uprag,
29         vspec_ty_and_id,
30         ispec_uprag,
31         inline_uprag,
32         deforest_uprag,
33         magicuf_uprag,
34         abstract_uprag,
35         dspec_uprag
36 } Tbinding;
37
38 typedef struct { Tbinding tag; } *binding;
39
40 #ifdef __GNUC__
41 Tbinding tbinding(binding t);
42 extern __inline__ Tbinding tbinding(binding t)
43 {
44         return(t -> tag);
45 }
46 #else  /* ! __GNUC__ */
47 extern Tbinding tbinding PROTO((binding));
48 #endif /* ! __GNUC__ */
49
50 struct Stbind {
51         Tbinding tag;
52         list Xgtbindc;
53         ttype Xgtbindid;
54         list Xgtbindl;
55         list Xgtbindd;
56         long Xgtline;
57         hpragma Xgtpragma;
58 };
59
60 struct Snbind {
61         Tbinding tag;
62         ttype Xgnbindid;
63         ttype Xgnbindas;
64         long Xgnline;
65         hpragma Xgnpragma;
66 };
67
68 struct Spbind {
69         Tbinding tag;
70         list Xgpbindl;
71         long Xgpline;
72 };
73
74 struct Sfbind {
75         Tbinding tag;
76         list Xgfbindl;
77         long Xgfline;
78 };
79
80 struct Sabind {
81         Tbinding tag;
82         binding Xgabindfst;
83         binding Xgabindsnd;
84 };
85
86 struct Sibind {
87         Tbinding tag;
88         list Xgibindc;
89         unkId Xgibindid;
90         ttype Xgibindi;
91         binding Xgibindw;
92         long Xgiline;
93         hpragma Xgipragma;
94 };
95
96 struct Sdbind {
97         Tbinding tag;
98         list Xgdbindts;
99         long Xgdline;
100 };
101
102 struct Scbind {
103         Tbinding tag;
104         list Xgcbindc;
105         ttype Xgcbindid;
106         binding Xgcbindw;
107         long Xgcline;
108         hpragma Xgcpragma;
109 };
110
111 struct Ssbind {
112         Tbinding tag;
113         list Xgsbindids;
114         ttype Xgsbindid;
115         long Xgsline;
116         hpragma Xgspragma;
117 };
118
119 struct Smbind {
120         Tbinding tag;
121         stringId Xgmbindmodn;
122         list Xgmbindimp;
123         list Xgmbindren;
124         long Xgmline;
125 };
126
127 struct Snullbind {
128         Tbinding tag;
129 };
130
131 struct Simport {
132         Tbinding tag;
133         stringId Xgiebindmod;
134         list Xgiebindexp;
135         list Xgiebindren;
136         binding Xgiebinddef;
137         stringId Xgiebindfile;
138         long Xgiebindline;
139 };
140
141 struct Shiding {
142         Tbinding tag;
143         stringId Xgihbindmod;
144         list Xgihbindexp;
145         list Xgihbindren;
146         binding Xgihbinddef;
147         stringId Xgihbindfile;
148         long Xgihbindline;
149 };
150
151 struct Svspec_uprag {
152         Tbinding tag;
153         unkId Xgvspec_id;
154         list Xgvspec_tys;
155         long Xgvspec_line;
156 };
157
158 struct Svspec_ty_and_id {
159         Tbinding tag;
160         ttype Xgvspec_ty;
161         list Xgvspec_tyid;
162 };
163
164 struct Sispec_uprag {
165         Tbinding tag;
166         unkId Xgispec_clas;
167         ttype Xgispec_ty;
168         long Xgispec_line;
169 };
170
171 struct Sinline_uprag {
172         Tbinding tag;
173         unkId Xginline_id;
174         list Xginline_howto;
175         long Xginline_line;
176 };
177
178 struct Sdeforest_uprag {
179         Tbinding tag;
180         unkId Xgdeforest_id;
181         long Xgdeforest_line;
182 };
183
184 struct Smagicuf_uprag {
185         Tbinding tag;
186         unkId Xgmagicuf_id;
187         stringId Xgmagicuf_str;
188         long Xgmagicuf_line;
189 };
190
191 struct Sabstract_uprag {
192         Tbinding tag;
193         unkId Xgabstract_id;
194         long Xgabstract_line;
195 };
196
197 struct Sdspec_uprag {
198         Tbinding tag;
199         unkId Xgdspec_id;
200         list Xgdspec_tys;
201         long Xgdspec_line;
202 };
203
204 extern binding mktbind PROTO((list, ttype, list, list, long, hpragma));
205 #ifdef __GNUC__
206
207 list *Rgtbindc PROTO((struct Stbind *));
208
209 extern __inline__ list *Rgtbindc(struct Stbind *t)
210 {
211 #ifdef UGEN_DEBUG
212         if(t -> tag != tbind)
213                 fprintf(stderr,"gtbindc: illegal selection; was %d\n", t -> tag);
214 #endif /* UGEN_DEBUG */
215         return(& t -> Xgtbindc);
216 }
217 #else  /* ! __GNUC__ */
218 extern list *Rgtbindc PROTO((struct Stbind *));
219 #endif /* ! __GNUC__ */
220
221 #define gtbindc(xyzxyz) (*Rgtbindc((struct Stbind *) (xyzxyz)))
222 #ifdef __GNUC__
223
224 ttype *Rgtbindid PROTO((struct Stbind *));
225
226 extern __inline__ ttype *Rgtbindid(struct Stbind *t)
227 {
228 #ifdef UGEN_DEBUG
229         if(t -> tag != tbind)
230                 fprintf(stderr,"gtbindid: illegal selection; was %d\n", t -> tag);
231 #endif /* UGEN_DEBUG */
232         return(& t -> Xgtbindid);
233 }
234 #else  /* ! __GNUC__ */
235 extern ttype *Rgtbindid PROTO((struct Stbind *));
236 #endif /* ! __GNUC__ */
237
238 #define gtbindid(xyzxyz) (*Rgtbindid((struct Stbind *) (xyzxyz)))
239 #ifdef __GNUC__
240
241 list *Rgtbindl PROTO((struct Stbind *));
242
243 extern __inline__ list *Rgtbindl(struct Stbind *t)
244 {
245 #ifdef UGEN_DEBUG
246         if(t -> tag != tbind)
247                 fprintf(stderr,"gtbindl: illegal selection; was %d\n", t -> tag);
248 #endif /* UGEN_DEBUG */
249         return(& t -> Xgtbindl);
250 }
251 #else  /* ! __GNUC__ */
252 extern list *Rgtbindl PROTO((struct Stbind *));
253 #endif /* ! __GNUC__ */
254
255 #define gtbindl(xyzxyz) (*Rgtbindl((struct Stbind *) (xyzxyz)))
256 #ifdef __GNUC__
257
258 list *Rgtbindd PROTO((struct Stbind *));
259
260 extern __inline__ list *Rgtbindd(struct Stbind *t)
261 {
262 #ifdef UGEN_DEBUG
263         if(t -> tag != tbind)
264                 fprintf(stderr,"gtbindd: illegal selection; was %d\n", t -> tag);
265 #endif /* UGEN_DEBUG */
266         return(& t -> Xgtbindd);
267 }
268 #else  /* ! __GNUC__ */
269 extern list *Rgtbindd PROTO((struct Stbind *));
270 #endif /* ! __GNUC__ */
271
272 #define gtbindd(xyzxyz) (*Rgtbindd((struct Stbind *) (xyzxyz)))
273 #ifdef __GNUC__
274
275 long *Rgtline PROTO((struct Stbind *));
276
277 extern __inline__ long *Rgtline(struct Stbind *t)
278 {
279 #ifdef UGEN_DEBUG
280         if(t -> tag != tbind)
281                 fprintf(stderr,"gtline: illegal selection; was %d\n", t -> tag);
282 #endif /* UGEN_DEBUG */
283         return(& t -> Xgtline);
284 }
285 #else  /* ! __GNUC__ */
286 extern long *Rgtline PROTO((struct Stbind *));
287 #endif /* ! __GNUC__ */
288
289 #define gtline(xyzxyz) (*Rgtline((struct Stbind *) (xyzxyz)))
290 #ifdef __GNUC__
291
292 hpragma *Rgtpragma PROTO((struct Stbind *));
293
294 extern __inline__ hpragma *Rgtpragma(struct Stbind *t)
295 {
296 #ifdef UGEN_DEBUG
297         if(t -> tag != tbind)
298                 fprintf(stderr,"gtpragma: illegal selection; was %d\n", t -> tag);
299 #endif /* UGEN_DEBUG */
300         return(& t -> Xgtpragma);
301 }
302 #else  /* ! __GNUC__ */
303 extern hpragma *Rgtpragma PROTO((struct Stbind *));
304 #endif /* ! __GNUC__ */
305
306 #define gtpragma(xyzxyz) (*Rgtpragma((struct Stbind *) (xyzxyz)))
307
308 extern binding mknbind PROTO((ttype, ttype, long, hpragma));
309 #ifdef __GNUC__
310
311 ttype *Rgnbindid PROTO((struct Snbind *));
312
313 extern __inline__ ttype *Rgnbindid(struct Snbind *t)
314 {
315 #ifdef UGEN_DEBUG
316         if(t -> tag != nbind)
317                 fprintf(stderr,"gnbindid: illegal selection; was %d\n", t -> tag);
318 #endif /* UGEN_DEBUG */
319         return(& t -> Xgnbindid);
320 }
321 #else  /* ! __GNUC__ */
322 extern ttype *Rgnbindid PROTO((struct Snbind *));
323 #endif /* ! __GNUC__ */
324
325 #define gnbindid(xyzxyz) (*Rgnbindid((struct Snbind *) (xyzxyz)))
326 #ifdef __GNUC__
327
328 ttype *Rgnbindas PROTO((struct Snbind *));
329
330 extern __inline__ ttype *Rgnbindas(struct Snbind *t)
331 {
332 #ifdef UGEN_DEBUG
333         if(t -> tag != nbind)
334                 fprintf(stderr,"gnbindas: illegal selection; was %d\n", t -> tag);
335 #endif /* UGEN_DEBUG */
336         return(& t -> Xgnbindas);
337 }
338 #else  /* ! __GNUC__ */
339 extern ttype *Rgnbindas PROTO((struct Snbind *));
340 #endif /* ! __GNUC__ */
341
342 #define gnbindas(xyzxyz) (*Rgnbindas((struct Snbind *) (xyzxyz)))
343 #ifdef __GNUC__
344
345 long *Rgnline PROTO((struct Snbind *));
346
347 extern __inline__ long *Rgnline(struct Snbind *t)
348 {
349 #ifdef UGEN_DEBUG
350         if(t -> tag != nbind)
351                 fprintf(stderr,"gnline: illegal selection; was %d\n", t -> tag);
352 #endif /* UGEN_DEBUG */
353         return(& t -> Xgnline);
354 }
355 #else  /* ! __GNUC__ */
356 extern long *Rgnline PROTO((struct Snbind *));
357 #endif /* ! __GNUC__ */
358
359 #define gnline(xyzxyz) (*Rgnline((struct Snbind *) (xyzxyz)))
360 #ifdef __GNUC__
361
362 hpragma *Rgnpragma PROTO((struct Snbind *));
363
364 extern __inline__ hpragma *Rgnpragma(struct Snbind *t)
365 {
366 #ifdef UGEN_DEBUG
367         if(t -> tag != nbind)
368                 fprintf(stderr,"gnpragma: illegal selection; was %d\n", t -> tag);
369 #endif /* UGEN_DEBUG */
370         return(& t -> Xgnpragma);
371 }
372 #else  /* ! __GNUC__ */
373 extern hpragma *Rgnpragma PROTO((struct Snbind *));
374 #endif /* ! __GNUC__ */
375
376 #define gnpragma(xyzxyz) (*Rgnpragma((struct Snbind *) (xyzxyz)))
377
378 extern binding mkpbind PROTO((list, long));
379 #ifdef __GNUC__
380
381 list *Rgpbindl PROTO((struct Spbind *));
382
383 extern __inline__ list *Rgpbindl(struct Spbind *t)
384 {
385 #ifdef UGEN_DEBUG
386         if(t -> tag != pbind)
387                 fprintf(stderr,"gpbindl: illegal selection; was %d\n", t -> tag);
388 #endif /* UGEN_DEBUG */
389         return(& t -> Xgpbindl);
390 }
391 #else  /* ! __GNUC__ */
392 extern list *Rgpbindl PROTO((struct Spbind *));
393 #endif /* ! __GNUC__ */
394
395 #define gpbindl(xyzxyz) (*Rgpbindl((struct Spbind *) (xyzxyz)))
396 #ifdef __GNUC__
397
398 long *Rgpline PROTO((struct Spbind *));
399
400 extern __inline__ long *Rgpline(struct Spbind *t)
401 {
402 #ifdef UGEN_DEBUG
403         if(t -> tag != pbind)
404                 fprintf(stderr,"gpline: illegal selection; was %d\n", t -> tag);
405 #endif /* UGEN_DEBUG */
406         return(& t -> Xgpline);
407 }
408 #else  /* ! __GNUC__ */
409 extern long *Rgpline PROTO((struct Spbind *));
410 #endif /* ! __GNUC__ */
411
412 #define gpline(xyzxyz) (*Rgpline((struct Spbind *) (xyzxyz)))
413
414 extern binding mkfbind PROTO((list, long));
415 #ifdef __GNUC__
416
417 list *Rgfbindl PROTO((struct Sfbind *));
418
419 extern __inline__ list *Rgfbindl(struct Sfbind *t)
420 {
421 #ifdef UGEN_DEBUG
422         if(t -> tag != fbind)
423                 fprintf(stderr,"gfbindl: illegal selection; was %d\n", t -> tag);
424 #endif /* UGEN_DEBUG */
425         return(& t -> Xgfbindl);
426 }
427 #else  /* ! __GNUC__ */
428 extern list *Rgfbindl PROTO((struct Sfbind *));
429 #endif /* ! __GNUC__ */
430
431 #define gfbindl(xyzxyz) (*Rgfbindl((struct Sfbind *) (xyzxyz)))
432 #ifdef __GNUC__
433
434 long *Rgfline PROTO((struct Sfbind *));
435
436 extern __inline__ long *Rgfline(struct Sfbind *t)
437 {
438 #ifdef UGEN_DEBUG
439         if(t -> tag != fbind)
440                 fprintf(stderr,"gfline: illegal selection; was %d\n", t -> tag);
441 #endif /* UGEN_DEBUG */
442         return(& t -> Xgfline);
443 }
444 #else  /* ! __GNUC__ */
445 extern long *Rgfline PROTO((struct Sfbind *));
446 #endif /* ! __GNUC__ */
447
448 #define gfline(xyzxyz) (*Rgfline((struct Sfbind *) (xyzxyz)))
449
450 extern binding mkabind PROTO((binding, binding));
451 #ifdef __GNUC__
452
453 binding *Rgabindfst PROTO((struct Sabind *));
454
455 extern __inline__ binding *Rgabindfst(struct Sabind *t)
456 {
457 #ifdef UGEN_DEBUG
458         if(t -> tag != abind)
459                 fprintf(stderr,"gabindfst: illegal selection; was %d\n", t -> tag);
460 #endif /* UGEN_DEBUG */
461         return(& t -> Xgabindfst);
462 }
463 #else  /* ! __GNUC__ */
464 extern binding *Rgabindfst PROTO((struct Sabind *));
465 #endif /* ! __GNUC__ */
466
467 #define gabindfst(xyzxyz) (*Rgabindfst((struct Sabind *) (xyzxyz)))
468 #ifdef __GNUC__
469
470 binding *Rgabindsnd PROTO((struct Sabind *));
471
472 extern __inline__ binding *Rgabindsnd(struct Sabind *t)
473 {
474 #ifdef UGEN_DEBUG
475         if(t -> tag != abind)
476                 fprintf(stderr,"gabindsnd: illegal selection; was %d\n", t -> tag);
477 #endif /* UGEN_DEBUG */
478         return(& t -> Xgabindsnd);
479 }
480 #else  /* ! __GNUC__ */
481 extern binding *Rgabindsnd PROTO((struct Sabind *));
482 #endif /* ! __GNUC__ */
483
484 #define gabindsnd(xyzxyz) (*Rgabindsnd((struct Sabind *) (xyzxyz)))
485
486 extern binding mkibind PROTO((list, unkId, ttype, binding, long, hpragma));
487 #ifdef __GNUC__
488
489 list *Rgibindc PROTO((struct Sibind *));
490
491 extern __inline__ list *Rgibindc(struct Sibind *t)
492 {
493 #ifdef UGEN_DEBUG
494         if(t -> tag != ibind)
495                 fprintf(stderr,"gibindc: illegal selection; was %d\n", t -> tag);
496 #endif /* UGEN_DEBUG */
497         return(& t -> Xgibindc);
498 }
499 #else  /* ! __GNUC__ */
500 extern list *Rgibindc PROTO((struct Sibind *));
501 #endif /* ! __GNUC__ */
502
503 #define gibindc(xyzxyz) (*Rgibindc((struct Sibind *) (xyzxyz)))
504 #ifdef __GNUC__
505
506 unkId *Rgibindid PROTO((struct Sibind *));
507
508 extern __inline__ unkId *Rgibindid(struct Sibind *t)
509 {
510 #ifdef UGEN_DEBUG
511         if(t -> tag != ibind)
512                 fprintf(stderr,"gibindid: illegal selection; was %d\n", t -> tag);
513 #endif /* UGEN_DEBUG */
514         return(& t -> Xgibindid);
515 }
516 #else  /* ! __GNUC__ */
517 extern unkId *Rgibindid PROTO((struct Sibind *));
518 #endif /* ! __GNUC__ */
519
520 #define gibindid(xyzxyz) (*Rgibindid((struct Sibind *) (xyzxyz)))
521 #ifdef __GNUC__
522
523 ttype *Rgibindi PROTO((struct Sibind *));
524
525 extern __inline__ ttype *Rgibindi(struct Sibind *t)
526 {
527 #ifdef UGEN_DEBUG
528         if(t -> tag != ibind)
529                 fprintf(stderr,"gibindi: illegal selection; was %d\n", t -> tag);
530 #endif /* UGEN_DEBUG */
531         return(& t -> Xgibindi);
532 }
533 #else  /* ! __GNUC__ */
534 extern ttype *Rgibindi PROTO((struct Sibind *));
535 #endif /* ! __GNUC__ */
536
537 #define gibindi(xyzxyz) (*Rgibindi((struct Sibind *) (xyzxyz)))
538 #ifdef __GNUC__
539
540 binding *Rgibindw PROTO((struct Sibind *));
541
542 extern __inline__ binding *Rgibindw(struct Sibind *t)
543 {
544 #ifdef UGEN_DEBUG
545         if(t -> tag != ibind)
546                 fprintf(stderr,"gibindw: illegal selection; was %d\n", t -> tag);
547 #endif /* UGEN_DEBUG */
548         return(& t -> Xgibindw);
549 }
550 #else  /* ! __GNUC__ */
551 extern binding *Rgibindw PROTO((struct Sibind *));
552 #endif /* ! __GNUC__ */
553
554 #define gibindw(xyzxyz) (*Rgibindw((struct Sibind *) (xyzxyz)))
555 #ifdef __GNUC__
556
557 long *Rgiline PROTO((struct Sibind *));
558
559 extern __inline__ long *Rgiline(struct Sibind *t)
560 {
561 #ifdef UGEN_DEBUG
562         if(t -> tag != ibind)
563                 fprintf(stderr,"giline: illegal selection; was %d\n", t -> tag);
564 #endif /* UGEN_DEBUG */
565         return(& t -> Xgiline);
566 }
567 #else  /* ! __GNUC__ */
568 extern long *Rgiline PROTO((struct Sibind *));
569 #endif /* ! __GNUC__ */
570
571 #define giline(xyzxyz) (*Rgiline((struct Sibind *) (xyzxyz)))
572 #ifdef __GNUC__
573
574 hpragma *Rgipragma PROTO((struct Sibind *));
575
576 extern __inline__ hpragma *Rgipragma(struct Sibind *t)
577 {
578 #ifdef UGEN_DEBUG
579         if(t -> tag != ibind)
580                 fprintf(stderr,"gipragma: illegal selection; was %d\n", t -> tag);
581 #endif /* UGEN_DEBUG */
582         return(& t -> Xgipragma);
583 }
584 #else  /* ! __GNUC__ */
585 extern hpragma *Rgipragma PROTO((struct Sibind *));
586 #endif /* ! __GNUC__ */
587
588 #define gipragma(xyzxyz) (*Rgipragma((struct Sibind *) (xyzxyz)))
589
590 extern binding mkdbind PROTO((list, long));
591 #ifdef __GNUC__
592
593 list *Rgdbindts PROTO((struct Sdbind *));
594
595 extern __inline__ list *Rgdbindts(struct Sdbind *t)
596 {
597 #ifdef UGEN_DEBUG
598         if(t -> tag != dbind)
599                 fprintf(stderr,"gdbindts: illegal selection; was %d\n", t -> tag);
600 #endif /* UGEN_DEBUG */
601         return(& t -> Xgdbindts);
602 }
603 #else  /* ! __GNUC__ */
604 extern list *Rgdbindts PROTO((struct Sdbind *));
605 #endif /* ! __GNUC__ */
606
607 #define gdbindts(xyzxyz) (*Rgdbindts((struct Sdbind *) (xyzxyz)))
608 #ifdef __GNUC__
609
610 long *Rgdline PROTO((struct Sdbind *));
611
612 extern __inline__ long *Rgdline(struct Sdbind *t)
613 {
614 #ifdef UGEN_DEBUG
615         if(t -> tag != dbind)
616                 fprintf(stderr,"gdline: illegal selection; was %d\n", t -> tag);
617 #endif /* UGEN_DEBUG */
618         return(& t -> Xgdline);
619 }
620 #else  /* ! __GNUC__ */
621 extern long *Rgdline PROTO((struct Sdbind *));
622 #endif /* ! __GNUC__ */
623
624 #define gdline(xyzxyz) (*Rgdline((struct Sdbind *) (xyzxyz)))
625
626 extern binding mkcbind PROTO((list, ttype, binding, long, hpragma));
627 #ifdef __GNUC__
628
629 list *Rgcbindc PROTO((struct Scbind *));
630
631 extern __inline__ list *Rgcbindc(struct Scbind *t)
632 {
633 #ifdef UGEN_DEBUG
634         if(t -> tag != cbind)
635                 fprintf(stderr,"gcbindc: illegal selection; was %d\n", t -> tag);
636 #endif /* UGEN_DEBUG */
637         return(& t -> Xgcbindc);
638 }
639 #else  /* ! __GNUC__ */
640 extern list *Rgcbindc PROTO((struct Scbind *));
641 #endif /* ! __GNUC__ */
642
643 #define gcbindc(xyzxyz) (*Rgcbindc((struct Scbind *) (xyzxyz)))
644 #ifdef __GNUC__
645
646 ttype *Rgcbindid PROTO((struct Scbind *));
647
648 extern __inline__ ttype *Rgcbindid(struct Scbind *t)
649 {
650 #ifdef UGEN_DEBUG
651         if(t -> tag != cbind)
652                 fprintf(stderr,"gcbindid: illegal selection; was %d\n", t -> tag);
653 #endif /* UGEN_DEBUG */
654         return(& t -> Xgcbindid);
655 }
656 #else  /* ! __GNUC__ */
657 extern ttype *Rgcbindid PROTO((struct Scbind *));
658 #endif /* ! __GNUC__ */
659
660 #define gcbindid(xyzxyz) (*Rgcbindid((struct Scbind *) (xyzxyz)))
661 #ifdef __GNUC__
662
663 binding *Rgcbindw PROTO((struct Scbind *));
664
665 extern __inline__ binding *Rgcbindw(struct Scbind *t)
666 {
667 #ifdef UGEN_DEBUG
668         if(t -> tag != cbind)
669                 fprintf(stderr,"gcbindw: illegal selection; was %d\n", t -> tag);
670 #endif /* UGEN_DEBUG */
671         return(& t -> Xgcbindw);
672 }
673 #else  /* ! __GNUC__ */
674 extern binding *Rgcbindw PROTO((struct Scbind *));
675 #endif /* ! __GNUC__ */
676
677 #define gcbindw(xyzxyz) (*Rgcbindw((struct Scbind *) (xyzxyz)))
678 #ifdef __GNUC__
679
680 long *Rgcline PROTO((struct Scbind *));
681
682 extern __inline__ long *Rgcline(struct Scbind *t)
683 {
684 #ifdef UGEN_DEBUG
685         if(t -> tag != cbind)
686                 fprintf(stderr,"gcline: illegal selection; was %d\n", t -> tag);
687 #endif /* UGEN_DEBUG */
688         return(& t -> Xgcline);
689 }
690 #else  /* ! __GNUC__ */
691 extern long *Rgcline PROTO((struct Scbind *));
692 #endif /* ! __GNUC__ */
693
694 #define gcline(xyzxyz) (*Rgcline((struct Scbind *) (xyzxyz)))
695 #ifdef __GNUC__
696
697 hpragma *Rgcpragma PROTO((struct Scbind *));
698
699 extern __inline__ hpragma *Rgcpragma(struct Scbind *t)
700 {
701 #ifdef UGEN_DEBUG
702         if(t -> tag != cbind)
703                 fprintf(stderr,"gcpragma: illegal selection; was %d\n", t -> tag);
704 #endif /* UGEN_DEBUG */
705         return(& t -> Xgcpragma);
706 }
707 #else  /* ! __GNUC__ */
708 extern hpragma *Rgcpragma PROTO((struct Scbind *));
709 #endif /* ! __GNUC__ */
710
711 #define gcpragma(xyzxyz) (*Rgcpragma((struct Scbind *) (xyzxyz)))
712
713 extern binding mksbind PROTO((list, ttype, long, hpragma));
714 #ifdef __GNUC__
715
716 list *Rgsbindids PROTO((struct Ssbind *));
717
718 extern __inline__ list *Rgsbindids(struct Ssbind *t)
719 {
720 #ifdef UGEN_DEBUG
721         if(t -> tag != sbind)
722                 fprintf(stderr,"gsbindids: illegal selection; was %d\n", t -> tag);
723 #endif /* UGEN_DEBUG */
724         return(& t -> Xgsbindids);
725 }
726 #else  /* ! __GNUC__ */
727 extern list *Rgsbindids PROTO((struct Ssbind *));
728 #endif /* ! __GNUC__ */
729
730 #define gsbindids(xyzxyz) (*Rgsbindids((struct Ssbind *) (xyzxyz)))
731 #ifdef __GNUC__
732
733 ttype *Rgsbindid PROTO((struct Ssbind *));
734
735 extern __inline__ ttype *Rgsbindid(struct Ssbind *t)
736 {
737 #ifdef UGEN_DEBUG
738         if(t -> tag != sbind)
739                 fprintf(stderr,"gsbindid: illegal selection; was %d\n", t -> tag);
740 #endif /* UGEN_DEBUG */
741         return(& t -> Xgsbindid);
742 }
743 #else  /* ! __GNUC__ */
744 extern ttype *Rgsbindid PROTO((struct Ssbind *));
745 #endif /* ! __GNUC__ */
746
747 #define gsbindid(xyzxyz) (*Rgsbindid((struct Ssbind *) (xyzxyz)))
748 #ifdef __GNUC__
749
750 long *Rgsline PROTO((struct Ssbind *));
751
752 extern __inline__ long *Rgsline(struct Ssbind *t)
753 {
754 #ifdef UGEN_DEBUG
755         if(t -> tag != sbind)
756                 fprintf(stderr,"gsline: illegal selection; was %d\n", t -> tag);
757 #endif /* UGEN_DEBUG */
758         return(& t -> Xgsline);
759 }
760 #else  /* ! __GNUC__ */
761 extern long *Rgsline PROTO((struct Ssbind *));
762 #endif /* ! __GNUC__ */
763
764 #define gsline(xyzxyz) (*Rgsline((struct Ssbind *) (xyzxyz)))
765 #ifdef __GNUC__
766
767 hpragma *Rgspragma PROTO((struct Ssbind *));
768
769 extern __inline__ hpragma *Rgspragma(struct Ssbind *t)
770 {
771 #ifdef UGEN_DEBUG
772         if(t -> tag != sbind)
773                 fprintf(stderr,"gspragma: illegal selection; was %d\n", t -> tag);
774 #endif /* UGEN_DEBUG */
775         return(& t -> Xgspragma);
776 }
777 #else  /* ! __GNUC__ */
778 extern hpragma *Rgspragma PROTO((struct Ssbind *));
779 #endif /* ! __GNUC__ */
780
781 #define gspragma(xyzxyz) (*Rgspragma((struct Ssbind *) (xyzxyz)))
782
783 extern binding mkmbind PROTO((stringId, list, list, long));
784 #ifdef __GNUC__
785
786 stringId *Rgmbindmodn PROTO((struct Smbind *));
787
788 extern __inline__ stringId *Rgmbindmodn(struct Smbind *t)
789 {
790 #ifdef UGEN_DEBUG
791         if(t -> tag != mbind)
792                 fprintf(stderr,"gmbindmodn: illegal selection; was %d\n", t -> tag);
793 #endif /* UGEN_DEBUG */
794         return(& t -> Xgmbindmodn);
795 }
796 #else  /* ! __GNUC__ */
797 extern stringId *Rgmbindmodn PROTO((struct Smbind *));
798 #endif /* ! __GNUC__ */
799
800 #define gmbindmodn(xyzxyz) (*Rgmbindmodn((struct Smbind *) (xyzxyz)))
801 #ifdef __GNUC__
802
803 list *Rgmbindimp PROTO((struct Smbind *));
804
805 extern __inline__ list *Rgmbindimp(struct Smbind *t)
806 {
807 #ifdef UGEN_DEBUG
808         if(t -> tag != mbind)
809                 fprintf(stderr,"gmbindimp: illegal selection; was %d\n", t -> tag);
810 #endif /* UGEN_DEBUG */
811         return(& t -> Xgmbindimp);
812 }
813 #else  /* ! __GNUC__ */
814 extern list *Rgmbindimp PROTO((struct Smbind *));
815 #endif /* ! __GNUC__ */
816
817 #define gmbindimp(xyzxyz) (*Rgmbindimp((struct Smbind *) (xyzxyz)))
818 #ifdef __GNUC__
819
820 list *Rgmbindren PROTO((struct Smbind *));
821
822 extern __inline__ list *Rgmbindren(struct Smbind *t)
823 {
824 #ifdef UGEN_DEBUG
825         if(t -> tag != mbind)
826                 fprintf(stderr,"gmbindren: illegal selection; was %d\n", t -> tag);
827 #endif /* UGEN_DEBUG */
828         return(& t -> Xgmbindren);
829 }
830 #else  /* ! __GNUC__ */
831 extern list *Rgmbindren PROTO((struct Smbind *));
832 #endif /* ! __GNUC__ */
833
834 #define gmbindren(xyzxyz) (*Rgmbindren((struct Smbind *) (xyzxyz)))
835 #ifdef __GNUC__
836
837 long *Rgmline PROTO((struct Smbind *));
838
839 extern __inline__ long *Rgmline(struct Smbind *t)
840 {
841 #ifdef UGEN_DEBUG
842         if(t -> tag != mbind)
843                 fprintf(stderr,"gmline: illegal selection; was %d\n", t -> tag);
844 #endif /* UGEN_DEBUG */
845         return(& t -> Xgmline);
846 }
847 #else  /* ! __GNUC__ */
848 extern long *Rgmline PROTO((struct Smbind *));
849 #endif /* ! __GNUC__ */
850
851 #define gmline(xyzxyz) (*Rgmline((struct Smbind *) (xyzxyz)))
852
853 extern binding mknullbind PROTO((void));
854
855 extern binding mkimport PROTO((stringId, list, list, binding, stringId, long));
856 #ifdef __GNUC__
857
858 stringId *Rgiebindmod PROTO((struct Simport *));
859
860 extern __inline__ stringId *Rgiebindmod(struct Simport *t)
861 {
862 #ifdef UGEN_DEBUG
863         if(t -> tag != import)
864                 fprintf(stderr,"giebindmod: illegal selection; was %d\n", t -> tag);
865 #endif /* UGEN_DEBUG */
866         return(& t -> Xgiebindmod);
867 }
868 #else  /* ! __GNUC__ */
869 extern stringId *Rgiebindmod PROTO((struct Simport *));
870 #endif /* ! __GNUC__ */
871
872 #define giebindmod(xyzxyz) (*Rgiebindmod((struct Simport *) (xyzxyz)))
873 #ifdef __GNUC__
874
875 list *Rgiebindexp PROTO((struct Simport *));
876
877 extern __inline__ list *Rgiebindexp(struct Simport *t)
878 {
879 #ifdef UGEN_DEBUG
880         if(t -> tag != import)
881                 fprintf(stderr,"giebindexp: illegal selection; was %d\n", t -> tag);
882 #endif /* UGEN_DEBUG */
883         return(& t -> Xgiebindexp);
884 }
885 #else  /* ! __GNUC__ */
886 extern list *Rgiebindexp PROTO((struct Simport *));
887 #endif /* ! __GNUC__ */
888
889 #define giebindexp(xyzxyz) (*Rgiebindexp((struct Simport *) (xyzxyz)))
890 #ifdef __GNUC__
891
892 list *Rgiebindren PROTO((struct Simport *));
893
894 extern __inline__ list *Rgiebindren(struct Simport *t)
895 {
896 #ifdef UGEN_DEBUG
897         if(t -> tag != import)
898                 fprintf(stderr,"giebindren: illegal selection; was %d\n", t -> tag);
899 #endif /* UGEN_DEBUG */
900         return(& t -> Xgiebindren);
901 }
902 #else  /* ! __GNUC__ */
903 extern list *Rgiebindren PROTO((struct Simport *));
904 #endif /* ! __GNUC__ */
905
906 #define giebindren(xyzxyz) (*Rgiebindren((struct Simport *) (xyzxyz)))
907 #ifdef __GNUC__
908
909 binding *Rgiebinddef PROTO((struct Simport *));
910
911 extern __inline__ binding *Rgiebinddef(struct Simport *t)
912 {
913 #ifdef UGEN_DEBUG
914         if(t -> tag != import)
915                 fprintf(stderr,"giebinddef: illegal selection; was %d\n", t -> tag);
916 #endif /* UGEN_DEBUG */
917         return(& t -> Xgiebinddef);
918 }
919 #else  /* ! __GNUC__ */
920 extern binding *Rgiebinddef PROTO((struct Simport *));
921 #endif /* ! __GNUC__ */
922
923 #define giebinddef(xyzxyz) (*Rgiebinddef((struct Simport *) (xyzxyz)))
924 #ifdef __GNUC__
925
926 stringId *Rgiebindfile PROTO((struct Simport *));
927
928 extern __inline__ stringId *Rgiebindfile(struct Simport *t)
929 {
930 #ifdef UGEN_DEBUG
931         if(t -> tag != import)
932                 fprintf(stderr,"giebindfile: illegal selection; was %d\n", t -> tag);
933 #endif /* UGEN_DEBUG */
934         return(& t -> Xgiebindfile);
935 }
936 #else  /* ! __GNUC__ */
937 extern stringId *Rgiebindfile PROTO((struct Simport *));
938 #endif /* ! __GNUC__ */
939
940 #define giebindfile(xyzxyz) (*Rgiebindfile((struct Simport *) (xyzxyz)))
941 #ifdef __GNUC__
942
943 long *Rgiebindline PROTO((struct Simport *));
944
945 extern __inline__ long *Rgiebindline(struct Simport *t)
946 {
947 #ifdef UGEN_DEBUG
948         if(t -> tag != import)
949                 fprintf(stderr,"giebindline: illegal selection; was %d\n", t -> tag);
950 #endif /* UGEN_DEBUG */
951         return(& t -> Xgiebindline);
952 }
953 #else  /* ! __GNUC__ */
954 extern long *Rgiebindline PROTO((struct Simport *));
955 #endif /* ! __GNUC__ */
956
957 #define giebindline(xyzxyz) (*Rgiebindline((struct Simport *) (xyzxyz)))
958
959 extern binding mkhiding PROTO((stringId, list, list, binding, stringId, long));
960 #ifdef __GNUC__
961
962 stringId *Rgihbindmod PROTO((struct Shiding *));
963
964 extern __inline__ stringId *Rgihbindmod(struct Shiding *t)
965 {
966 #ifdef UGEN_DEBUG
967         if(t -> tag != hiding)
968                 fprintf(stderr,"gihbindmod: illegal selection; was %d\n", t -> tag);
969 #endif /* UGEN_DEBUG */
970         return(& t -> Xgihbindmod);
971 }
972 #else  /* ! __GNUC__ */
973 extern stringId *Rgihbindmod PROTO((struct Shiding *));
974 #endif /* ! __GNUC__ */
975
976 #define gihbindmod(xyzxyz) (*Rgihbindmod((struct Shiding *) (xyzxyz)))
977 #ifdef __GNUC__
978
979 list *Rgihbindexp PROTO((struct Shiding *));
980
981 extern __inline__ list *Rgihbindexp(struct Shiding *t)
982 {
983 #ifdef UGEN_DEBUG
984         if(t -> tag != hiding)
985                 fprintf(stderr,"gihbindexp: illegal selection; was %d\n", t -> tag);
986 #endif /* UGEN_DEBUG */
987         return(& t -> Xgihbindexp);
988 }
989 #else  /* ! __GNUC__ */
990 extern list *Rgihbindexp PROTO((struct Shiding *));
991 #endif /* ! __GNUC__ */
992
993 #define gihbindexp(xyzxyz) (*Rgihbindexp((struct Shiding *) (xyzxyz)))
994 #ifdef __GNUC__
995
996 list *Rgihbindren PROTO((struct Shiding *));
997
998 extern __inline__ list *Rgihbindren(struct Shiding *t)
999 {
1000 #ifdef UGEN_DEBUG
1001         if(t -> tag != hiding)
1002                 fprintf(stderr,"gihbindren: illegal selection; was %d\n", t -> tag);
1003 #endif /* UGEN_DEBUG */
1004         return(& t -> Xgihbindren);
1005 }
1006 #else  /* ! __GNUC__ */
1007 extern list *Rgihbindren PROTO((struct Shiding *));
1008 #endif /* ! __GNUC__ */
1009
1010 #define gihbindren(xyzxyz) (*Rgihbindren((struct Shiding *) (xyzxyz)))
1011 #ifdef __GNUC__
1012
1013 binding *Rgihbinddef PROTO((struct Shiding *));
1014
1015 extern __inline__ binding *Rgihbinddef(struct Shiding *t)
1016 {
1017 #ifdef UGEN_DEBUG
1018         if(t -> tag != hiding)
1019                 fprintf(stderr,"gihbinddef: illegal selection; was %d\n", t -> tag);
1020 #endif /* UGEN_DEBUG */
1021         return(& t -> Xgihbinddef);
1022 }
1023 #else  /* ! __GNUC__ */
1024 extern binding *Rgihbinddef PROTO((struct Shiding *));
1025 #endif /* ! __GNUC__ */
1026
1027 #define gihbinddef(xyzxyz) (*Rgihbinddef((struct Shiding *) (xyzxyz)))
1028 #ifdef __GNUC__
1029
1030 stringId *Rgihbindfile PROTO((struct Shiding *));
1031
1032 extern __inline__ stringId *Rgihbindfile(struct Shiding *t)
1033 {
1034 #ifdef UGEN_DEBUG
1035         if(t -> tag != hiding)
1036                 fprintf(stderr,"gihbindfile: illegal selection; was %d\n", t -> tag);
1037 #endif /* UGEN_DEBUG */
1038         return(& t -> Xgihbindfile);
1039 }
1040 #else  /* ! __GNUC__ */
1041 extern stringId *Rgihbindfile PROTO((struct Shiding *));
1042 #endif /* ! __GNUC__ */
1043
1044 #define gihbindfile(xyzxyz) (*Rgihbindfile((struct Shiding *) (xyzxyz)))
1045 #ifdef __GNUC__
1046
1047 long *Rgihbindline PROTO((struct Shiding *));
1048
1049 extern __inline__ long *Rgihbindline(struct Shiding *t)
1050 {
1051 #ifdef UGEN_DEBUG
1052         if(t -> tag != hiding)
1053                 fprintf(stderr,"gihbindline: illegal selection; was %d\n", t -> tag);
1054 #endif /* UGEN_DEBUG */
1055         return(& t -> Xgihbindline);
1056 }
1057 #else  /* ! __GNUC__ */
1058 extern long *Rgihbindline PROTO((struct Shiding *));
1059 #endif /* ! __GNUC__ */
1060
1061 #define gihbindline(xyzxyz) (*Rgihbindline((struct Shiding *) (xyzxyz)))
1062
1063 extern binding mkvspec_uprag PROTO((unkId, list, long));
1064 #ifdef __GNUC__
1065
1066 unkId *Rgvspec_id PROTO((struct Svspec_uprag *));
1067
1068 extern __inline__ unkId *Rgvspec_id(struct Svspec_uprag *t)
1069 {
1070 #ifdef UGEN_DEBUG
1071         if(t -> tag != vspec_uprag)
1072                 fprintf(stderr,"gvspec_id: illegal selection; was %d\n", t -> tag);
1073 #endif /* UGEN_DEBUG */
1074         return(& t -> Xgvspec_id);
1075 }
1076 #else  /* ! __GNUC__ */
1077 extern unkId *Rgvspec_id PROTO((struct Svspec_uprag *));
1078 #endif /* ! __GNUC__ */
1079
1080 #define gvspec_id(xyzxyz) (*Rgvspec_id((struct Svspec_uprag *) (xyzxyz)))
1081 #ifdef __GNUC__
1082
1083 list *Rgvspec_tys PROTO((struct Svspec_uprag *));
1084
1085 extern __inline__ list *Rgvspec_tys(struct Svspec_uprag *t)
1086 {
1087 #ifdef UGEN_DEBUG
1088         if(t -> tag != vspec_uprag)
1089                 fprintf(stderr,"gvspec_tys: illegal selection; was %d\n", t -> tag);
1090 #endif /* UGEN_DEBUG */
1091         return(& t -> Xgvspec_tys);
1092 }
1093 #else  /* ! __GNUC__ */
1094 extern list *Rgvspec_tys PROTO((struct Svspec_uprag *));
1095 #endif /* ! __GNUC__ */
1096
1097 #define gvspec_tys(xyzxyz) (*Rgvspec_tys((struct Svspec_uprag *) (xyzxyz)))
1098 #ifdef __GNUC__
1099
1100 long *Rgvspec_line PROTO((struct Svspec_uprag *));
1101
1102 extern __inline__ long *Rgvspec_line(struct Svspec_uprag *t)
1103 {
1104 #ifdef UGEN_DEBUG
1105         if(t -> tag != vspec_uprag)
1106                 fprintf(stderr,"gvspec_line: illegal selection; was %d\n", t -> tag);
1107 #endif /* UGEN_DEBUG */
1108         return(& t -> Xgvspec_line);
1109 }
1110 #else  /* ! __GNUC__ */
1111 extern long *Rgvspec_line PROTO((struct Svspec_uprag *));
1112 #endif /* ! __GNUC__ */
1113
1114 #define gvspec_line(xyzxyz) (*Rgvspec_line((struct Svspec_uprag *) (xyzxyz)))
1115
1116 extern binding mkvspec_ty_and_id PROTO((ttype, list));
1117 #ifdef __GNUC__
1118
1119 ttype *Rgvspec_ty PROTO((struct Svspec_ty_and_id *));
1120
1121 extern __inline__ ttype *Rgvspec_ty(struct Svspec_ty_and_id *t)
1122 {
1123 #ifdef UGEN_DEBUG
1124         if(t -> tag != vspec_ty_and_id)
1125                 fprintf(stderr,"gvspec_ty: illegal selection; was %d\n", t -> tag);
1126 #endif /* UGEN_DEBUG */
1127         return(& t -> Xgvspec_ty);
1128 }
1129 #else  /* ! __GNUC__ */
1130 extern ttype *Rgvspec_ty PROTO((struct Svspec_ty_and_id *));
1131 #endif /* ! __GNUC__ */
1132
1133 #define gvspec_ty(xyzxyz) (*Rgvspec_ty((struct Svspec_ty_and_id *) (xyzxyz)))
1134 #ifdef __GNUC__
1135
1136 list *Rgvspec_tyid PROTO((struct Svspec_ty_and_id *));
1137
1138 extern __inline__ list *Rgvspec_tyid(struct Svspec_ty_and_id *t)
1139 {
1140 #ifdef UGEN_DEBUG
1141         if(t -> tag != vspec_ty_and_id)
1142                 fprintf(stderr,"gvspec_tyid: illegal selection; was %d\n", t -> tag);
1143 #endif /* UGEN_DEBUG */
1144         return(& t -> Xgvspec_tyid);
1145 }
1146 #else  /* ! __GNUC__ */
1147 extern list *Rgvspec_tyid PROTO((struct Svspec_ty_and_id *));
1148 #endif /* ! __GNUC__ */
1149
1150 #define gvspec_tyid(xyzxyz) (*Rgvspec_tyid((struct Svspec_ty_and_id *) (xyzxyz)))
1151
1152 extern binding mkispec_uprag PROTO((unkId, ttype, long));
1153 #ifdef __GNUC__
1154
1155 unkId *Rgispec_clas PROTO((struct Sispec_uprag *));
1156
1157 extern __inline__ unkId *Rgispec_clas(struct Sispec_uprag *t)
1158 {
1159 #ifdef UGEN_DEBUG
1160         if(t -> tag != ispec_uprag)
1161                 fprintf(stderr,"gispec_clas: illegal selection; was %d\n", t -> tag);
1162 #endif /* UGEN_DEBUG */
1163         return(& t -> Xgispec_clas);
1164 }
1165 #else  /* ! __GNUC__ */
1166 extern unkId *Rgispec_clas PROTO((struct Sispec_uprag *));
1167 #endif /* ! __GNUC__ */
1168
1169 #define gispec_clas(xyzxyz) (*Rgispec_clas((struct Sispec_uprag *) (xyzxyz)))
1170 #ifdef __GNUC__
1171
1172 ttype *Rgispec_ty PROTO((struct Sispec_uprag *));
1173
1174 extern __inline__ ttype *Rgispec_ty(struct Sispec_uprag *t)
1175 {
1176 #ifdef UGEN_DEBUG
1177         if(t -> tag != ispec_uprag)
1178                 fprintf(stderr,"gispec_ty: illegal selection; was %d\n", t -> tag);
1179 #endif /* UGEN_DEBUG */
1180         return(& t -> Xgispec_ty);
1181 }
1182 #else  /* ! __GNUC__ */
1183 extern ttype *Rgispec_ty PROTO((struct Sispec_uprag *));
1184 #endif /* ! __GNUC__ */
1185
1186 #define gispec_ty(xyzxyz) (*Rgispec_ty((struct Sispec_uprag *) (xyzxyz)))
1187 #ifdef __GNUC__
1188
1189 long *Rgispec_line PROTO((struct Sispec_uprag *));
1190
1191 extern __inline__ long *Rgispec_line(struct Sispec_uprag *t)
1192 {
1193 #ifdef UGEN_DEBUG
1194         if(t -> tag != ispec_uprag)
1195                 fprintf(stderr,"gispec_line: illegal selection; was %d\n", t -> tag);
1196 #endif /* UGEN_DEBUG */
1197         return(& t -> Xgispec_line);
1198 }
1199 #else  /* ! __GNUC__ */
1200 extern long *Rgispec_line PROTO((struct Sispec_uprag *));
1201 #endif /* ! __GNUC__ */
1202
1203 #define gispec_line(xyzxyz) (*Rgispec_line((struct Sispec_uprag *) (xyzxyz)))
1204
1205 extern binding mkinline_uprag PROTO((unkId, list, long));
1206 #ifdef __GNUC__
1207
1208 unkId *Rginline_id PROTO((struct Sinline_uprag *));
1209
1210 extern __inline__ unkId *Rginline_id(struct Sinline_uprag *t)
1211 {
1212 #ifdef UGEN_DEBUG
1213         if(t -> tag != inline_uprag)
1214                 fprintf(stderr,"ginline_id: illegal selection; was %d\n", t -> tag);
1215 #endif /* UGEN_DEBUG */
1216         return(& t -> Xginline_id);
1217 }
1218 #else  /* ! __GNUC__ */
1219 extern unkId *Rginline_id PROTO((struct Sinline_uprag *));
1220 #endif /* ! __GNUC__ */
1221
1222 #define ginline_id(xyzxyz) (*Rginline_id((struct Sinline_uprag *) (xyzxyz)))
1223 #ifdef __GNUC__
1224
1225 list *Rginline_howto PROTO((struct Sinline_uprag *));
1226
1227 extern __inline__ list *Rginline_howto(struct Sinline_uprag *t)
1228 {
1229 #ifdef UGEN_DEBUG
1230         if(t -> tag != inline_uprag)
1231                 fprintf(stderr,"ginline_howto: illegal selection; was %d\n", t -> tag);
1232 #endif /* UGEN_DEBUG */
1233         return(& t -> Xginline_howto);
1234 }
1235 #else  /* ! __GNUC__ */
1236 extern list *Rginline_howto PROTO((struct Sinline_uprag *));
1237 #endif /* ! __GNUC__ */
1238
1239 #define ginline_howto(xyzxyz) (*Rginline_howto((struct Sinline_uprag *) (xyzxyz)))
1240 #ifdef __GNUC__
1241
1242 long *Rginline_line PROTO((struct Sinline_uprag *));
1243
1244 extern __inline__ long *Rginline_line(struct Sinline_uprag *t)
1245 {
1246 #ifdef UGEN_DEBUG
1247         if(t -> tag != inline_uprag)
1248                 fprintf(stderr,"ginline_line: illegal selection; was %d\n", t -> tag);
1249 #endif /* UGEN_DEBUG */
1250         return(& t -> Xginline_line);
1251 }
1252 #else  /* ! __GNUC__ */
1253 extern long *Rginline_line PROTO((struct Sinline_uprag *));
1254 #endif /* ! __GNUC__ */
1255
1256 #define ginline_line(xyzxyz) (*Rginline_line((struct Sinline_uprag *) (xyzxyz)))
1257
1258 extern binding mkdeforest_uprag PROTO((unkId, long));
1259 #ifdef __GNUC__
1260
1261 unkId *Rgdeforest_id PROTO((struct Sdeforest_uprag *));
1262
1263 extern __inline__ unkId *Rgdeforest_id(struct Sdeforest_uprag *t)
1264 {
1265 #ifdef UGEN_DEBUG
1266         if(t -> tag != deforest_uprag)
1267                 fprintf(stderr,"gdeforest_id: illegal selection; was %d\n", t -> tag);
1268 #endif /* UGEN_DEBUG */
1269         return(& t -> Xgdeforest_id);
1270 }
1271 #else  /* ! __GNUC__ */
1272 extern unkId *Rgdeforest_id PROTO((struct Sdeforest_uprag *));
1273 #endif /* ! __GNUC__ */
1274
1275 #define gdeforest_id(xyzxyz) (*Rgdeforest_id((struct Sdeforest_uprag *) (xyzxyz)))
1276 #ifdef __GNUC__
1277
1278 long *Rgdeforest_line PROTO((struct Sdeforest_uprag *));
1279
1280 extern __inline__ long *Rgdeforest_line(struct Sdeforest_uprag *t)
1281 {
1282 #ifdef UGEN_DEBUG
1283         if(t -> tag != deforest_uprag)
1284                 fprintf(stderr,"gdeforest_line: illegal selection; was %d\n", t -> tag);
1285 #endif /* UGEN_DEBUG */
1286         return(& t -> Xgdeforest_line);
1287 }
1288 #else  /* ! __GNUC__ */
1289 extern long *Rgdeforest_line PROTO((struct Sdeforest_uprag *));
1290 #endif /* ! __GNUC__ */
1291
1292 #define gdeforest_line(xyzxyz) (*Rgdeforest_line((struct Sdeforest_uprag *) (xyzxyz)))
1293
1294 extern binding mkmagicuf_uprag PROTO((unkId, stringId, long));
1295 #ifdef __GNUC__
1296
1297 unkId *Rgmagicuf_id PROTO((struct Smagicuf_uprag *));
1298
1299 extern __inline__ unkId *Rgmagicuf_id(struct Smagicuf_uprag *t)
1300 {
1301 #ifdef UGEN_DEBUG
1302         if(t -> tag != magicuf_uprag)
1303                 fprintf(stderr,"gmagicuf_id: illegal selection; was %d\n", t -> tag);
1304 #endif /* UGEN_DEBUG */
1305         return(& t -> Xgmagicuf_id);
1306 }
1307 #else  /* ! __GNUC__ */
1308 extern unkId *Rgmagicuf_id PROTO((struct Smagicuf_uprag *));
1309 #endif /* ! __GNUC__ */
1310
1311 #define gmagicuf_id(xyzxyz) (*Rgmagicuf_id((struct Smagicuf_uprag *) (xyzxyz)))
1312 #ifdef __GNUC__
1313
1314 stringId *Rgmagicuf_str PROTO((struct Smagicuf_uprag *));
1315
1316 extern __inline__ stringId *Rgmagicuf_str(struct Smagicuf_uprag *t)
1317 {
1318 #ifdef UGEN_DEBUG
1319         if(t -> tag != magicuf_uprag)
1320                 fprintf(stderr,"gmagicuf_str: illegal selection; was %d\n", t -> tag);
1321 #endif /* UGEN_DEBUG */
1322         return(& t -> Xgmagicuf_str);
1323 }
1324 #else  /* ! __GNUC__ */
1325 extern stringId *Rgmagicuf_str PROTO((struct Smagicuf_uprag *));
1326 #endif /* ! __GNUC__ */
1327
1328 #define gmagicuf_str(xyzxyz) (*Rgmagicuf_str((struct Smagicuf_uprag *) (xyzxyz)))
1329 #ifdef __GNUC__
1330
1331 long *Rgmagicuf_line PROTO((struct Smagicuf_uprag *));
1332
1333 extern __inline__ long *Rgmagicuf_line(struct Smagicuf_uprag *t)
1334 {
1335 #ifdef UGEN_DEBUG
1336         if(t -> tag != magicuf_uprag)
1337                 fprintf(stderr,"gmagicuf_line: illegal selection; was %d\n", t -> tag);
1338 #endif /* UGEN_DEBUG */
1339         return(& t -> Xgmagicuf_line);
1340 }
1341 #else  /* ! __GNUC__ */
1342 extern long *Rgmagicuf_line PROTO((struct Smagicuf_uprag *));
1343 #endif /* ! __GNUC__ */
1344
1345 #define gmagicuf_line(xyzxyz) (*Rgmagicuf_line((struct Smagicuf_uprag *) (xyzxyz)))
1346
1347 extern binding mkabstract_uprag PROTO((unkId, long));
1348 #ifdef __GNUC__
1349
1350 unkId *Rgabstract_id PROTO((struct Sabstract_uprag *));
1351
1352 extern __inline__ unkId *Rgabstract_id(struct Sabstract_uprag *t)
1353 {
1354 #ifdef UGEN_DEBUG
1355         if(t -> tag != abstract_uprag)
1356                 fprintf(stderr,"gabstract_id: illegal selection; was %d\n", t -> tag);
1357 #endif /* UGEN_DEBUG */
1358         return(& t -> Xgabstract_id);
1359 }
1360 #else  /* ! __GNUC__ */
1361 extern unkId *Rgabstract_id PROTO((struct Sabstract_uprag *));
1362 #endif /* ! __GNUC__ */
1363
1364 #define gabstract_id(xyzxyz) (*Rgabstract_id((struct Sabstract_uprag *) (xyzxyz)))
1365 #ifdef __GNUC__
1366
1367 long *Rgabstract_line PROTO((struct Sabstract_uprag *));
1368
1369 extern __inline__ long *Rgabstract_line(struct Sabstract_uprag *t)
1370 {
1371 #ifdef UGEN_DEBUG
1372         if(t -> tag != abstract_uprag)
1373                 fprintf(stderr,"gabstract_line: illegal selection; was %d\n", t -> tag);
1374 #endif /* UGEN_DEBUG */
1375         return(& t -> Xgabstract_line);
1376 }
1377 #else  /* ! __GNUC__ */
1378 extern long *Rgabstract_line PROTO((struct Sabstract_uprag *));
1379 #endif /* ! __GNUC__ */
1380
1381 #define gabstract_line(xyzxyz) (*Rgabstract_line((struct Sabstract_uprag *) (xyzxyz)))
1382
1383 extern binding mkdspec_uprag PROTO((unkId, list, long));
1384 #ifdef __GNUC__
1385
1386 unkId *Rgdspec_id PROTO((struct Sdspec_uprag *));
1387
1388 extern __inline__ unkId *Rgdspec_id(struct Sdspec_uprag *t)
1389 {
1390 #ifdef UGEN_DEBUG
1391         if(t -> tag != dspec_uprag)
1392                 fprintf(stderr,"gdspec_id: illegal selection; was %d\n", t -> tag);
1393 #endif /* UGEN_DEBUG */
1394         return(& t -> Xgdspec_id);
1395 }
1396 #else  /* ! __GNUC__ */
1397 extern unkId *Rgdspec_id PROTO((struct Sdspec_uprag *));
1398 #endif /* ! __GNUC__ */
1399
1400 #define gdspec_id(xyzxyz) (*Rgdspec_id((struct Sdspec_uprag *) (xyzxyz)))
1401 #ifdef __GNUC__
1402
1403 list *Rgdspec_tys PROTO((struct Sdspec_uprag *));
1404
1405 extern __inline__ list *Rgdspec_tys(struct Sdspec_uprag *t)
1406 {
1407 #ifdef UGEN_DEBUG
1408         if(t -> tag != dspec_uprag)
1409                 fprintf(stderr,"gdspec_tys: illegal selection; was %d\n", t -> tag);
1410 #endif /* UGEN_DEBUG */
1411         return(& t -> Xgdspec_tys);
1412 }
1413 #else  /* ! __GNUC__ */
1414 extern list *Rgdspec_tys PROTO((struct Sdspec_uprag *));
1415 #endif /* ! __GNUC__ */
1416
1417 #define gdspec_tys(xyzxyz) (*Rgdspec_tys((struct Sdspec_uprag *) (xyzxyz)))
1418 #ifdef __GNUC__
1419
1420 long *Rgdspec_line PROTO((struct Sdspec_uprag *));
1421
1422 extern __inline__ long *Rgdspec_line(struct Sdspec_uprag *t)
1423 {
1424 #ifdef UGEN_DEBUG
1425         if(t -> tag != dspec_uprag)
1426                 fprintf(stderr,"gdspec_line: illegal selection; was %d\n", t -> tag);
1427 #endif /* UGEN_DEBUG */
1428         return(& t -> Xgdspec_line);
1429 }
1430 #else  /* ! __GNUC__ */
1431 extern long *Rgdspec_line PROTO((struct Sdspec_uprag *));
1432 #endif /* ! __GNUC__ */
1433
1434 #define gdspec_line(xyzxyz) (*Rgdspec_line((struct Sdspec_uprag *) (xyzxyz)))
1435
1436 #endif