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