1 #ifndef pbinding_defined
2 #define pbinding_defined
18 typedef struct { Tpbinding tag; } *pbinding;
21 Tpbinding tpbinding(pbinding t);
22 extern __inline__ Tpbinding tpbinding(pbinding t)
26 #else /* ! __GNUC__ */
27 extern Tpbinding tpbinding PROTO((pbinding));
28 #endif /* ! __GNUC__ */
39 extern pbinding mkpgrhs PROTO((tree, list, binding, stringId, long));
42 tree *Rggpat PROTO((struct Spgrhs *));
44 extern __inline__ tree *Rggpat(struct Spgrhs *t)
48 fprintf(stderr,"ggpat: illegal selection; was %d\n", t -> tag);
49 #endif /* UGEN_DEBUG */
50 return(& t -> Xggpat);
52 #else /* ! __GNUC__ */
53 extern tree *Rggpat PROTO((struct Spgrhs *));
54 #endif /* ! __GNUC__ */
56 #define ggpat(xyzxyz) (*Rggpat((struct Spgrhs *) (xyzxyz)))
59 list *Rggdexprs PROTO((struct Spgrhs *));
61 extern __inline__ list *Rggdexprs(struct Spgrhs *t)
65 fprintf(stderr,"ggdexprs: illegal selection; was %d\n", t -> tag);
66 #endif /* UGEN_DEBUG */
67 return(& t -> Xggdexprs);
69 #else /* ! __GNUC__ */
70 extern list *Rggdexprs PROTO((struct Spgrhs *));
71 #endif /* ! __GNUC__ */
73 #define ggdexprs(xyzxyz) (*Rggdexprs((struct Spgrhs *) (xyzxyz)))
76 binding *Rggbind PROTO((struct Spgrhs *));
78 extern __inline__ binding *Rggbind(struct Spgrhs *t)
82 fprintf(stderr,"ggbind: illegal selection; was %d\n", t -> tag);
83 #endif /* UGEN_DEBUG */
84 return(& t -> Xggbind);
86 #else /* ! __GNUC__ */
87 extern binding *Rggbind PROTO((struct Spgrhs *));
88 #endif /* ! __GNUC__ */
90 #define ggbind(xyzxyz) (*Rggbind((struct Spgrhs *) (xyzxyz)))
93 stringId *Rggfuncname PROTO((struct Spgrhs *));
95 extern __inline__ stringId *Rggfuncname(struct Spgrhs *t)
99 fprintf(stderr,"ggfuncname: illegal selection; was %d\n", t -> tag);
100 #endif /* UGEN_DEBUG */
101 return(& t -> Xggfuncname);
103 #else /* ! __GNUC__ */
104 extern stringId *Rggfuncname PROTO((struct Spgrhs *));
105 #endif /* ! __GNUC__ */
107 #define ggfuncname(xyzxyz) (*Rggfuncname((struct Spgrhs *) (xyzxyz)))
110 long *Rggline PROTO((struct Spgrhs *));
112 extern __inline__ long *Rggline(struct Spgrhs *t)
115 if(t -> tag != pgrhs)
116 fprintf(stderr,"ggline: illegal selection; was %d\n", t -> tag);
117 #endif /* UGEN_DEBUG */
118 return(& t -> Xggline);
120 #else /* ! __GNUC__ */
121 extern long *Rggline PROTO((struct Spgrhs *));
122 #endif /* ! __GNUC__ */
124 #define ggline(xyzxyz) (*Rggline((struct Spgrhs *) (xyzxyz)))