1 ///////////////////////////////////////////////////////////////////////////////
2 // This file is generated automatically using Prop (version 2.3.6),
3 // last updated on Nov 2, 1999.
4 // The original source file is "constr.pcc".
5 ///////////////////////////////////////////////////////////////////////////////
8 ///////////////////////////////////////////////////////////////////////////////
10 // This file simply instantiates all the datatypes used in the Prop -> C++
13 ///////////////////////////////////////////////////////////////////////////////
20 ///////////////////////////////////////////////////////////////////////////////
22 // Interface specification of datatype Ty
24 ///////////////////////////////////////////////////////////////////////////////
28 ///////////////////////////////////////////////////////////////////////////////
30 // Interface specification of datatype TyCon
32 ///////////////////////////////////////////////////////////////////////////////
36 ///////////////////////////////////////////////////////////////////////////////
38 // Interface specification of datatype Pat
40 ///////////////////////////////////////////////////////////////////////////////
44 ///////////////////////////////////////////////////////////////////////////////
46 // Interface specification of datatype Exp
48 ///////////////////////////////////////////////////////////////////////////////
52 ///////////////////////////////////////////////////////////////////////////////
54 // Interface specification of datatype Cons
56 ///////////////////////////////////////////////////////////////////////////////
60 ///////////////////////////////////////////////////////////////////////////////
62 // Interface specification of datatype Pos
64 ///////////////////////////////////////////////////////////////////////////////
68 ///////////////////////////////////////////////////////////////////////////////
70 // Interface specification of datatype Match
72 ///////////////////////////////////////////////////////////////////////////////
76 ///////////////////////////////////////////////////////////////////////////////
78 // Interface specification of datatype Decl
80 ///////////////////////////////////////////////////////////////////////////////
84 ///////////////////////////////////////////////////////////////////////////////
86 // Interface specification of datatype MatchExp
88 ///////////////////////////////////////////////////////////////////////////////
92 ///////////////////////////////////////////////////////////////////////////////
94 // Interface specification of datatype Inherit
96 ///////////////////////////////////////////////////////////////////////////////
100 ///////////////////////////////////////////////////////////////////////////////
102 // Interface specification of datatype Literal
104 ///////////////////////////////////////////////////////////////////////////////
105 #line 11 "constr.pcc"
108 ///////////////////////////////////////////////////////////////////////////////
110 // Interface specification of datatype Cost
112 ///////////////////////////////////////////////////////////////////////////////
113 #line 11 "constr.pcc"
116 ///////////////////////////////////////////////////////////////////////////////
118 // Interface specification of datatype MatchRule
120 ///////////////////////////////////////////////////////////////////////////////
121 #line 11 "constr.pcc"
124 ///////////////////////////////////////////////////////////////////////////////
126 // Interface specification of datatype Protocol
128 ///////////////////////////////////////////////////////////////////////////////
129 #line 11 "constr.pcc"
132 ///////////////////////////////////////////////////////////////////////////////
134 // Interface specification of datatype DatatypeDef
136 ///////////////////////////////////////////////////////////////////////////////
137 #line 11 "constr.pcc"
140 ///////////////////////////////////////////////////////////////////////////////
142 // Interface specification of datatype TyDef
144 ///////////////////////////////////////////////////////////////////////////////
145 #line 11 "constr.pcc"
148 ///////////////////////////////////////////////////////////////////////////////
150 // Interface specification of datatype TermDef
152 ///////////////////////////////////////////////////////////////////////////////
153 #line 11 "constr.pcc"
156 ///////////////////////////////////////////////////////////////////////////////
158 // Interface specification of datatype ViewDef
160 ///////////////////////////////////////////////////////////////////////////////
161 #line 11 "constr.pcc"
164 ///////////////////////////////////////////////////////////////////////////////
166 // Interface specification of datatype LawDef
168 ///////////////////////////////////////////////////////////////////////////////
169 #line 11 "constr.pcc"
172 ///////////////////////////////////////////////////////////////////////////////
174 // Interface specification of datatype FunDef
176 ///////////////////////////////////////////////////////////////////////////////
177 #line 11 "constr.pcc"
180 ///////////////////////////////////////////////////////////////////////////////
182 // Interface specification of datatype QualId
184 ///////////////////////////////////////////////////////////////////////////////
185 #line 11 "constr.pcc"
188 ///////////////////////////////////////////////////////////////////////////////
190 // Interface specification of datatype InferenceRule
192 ///////////////////////////////////////////////////////////////////////////////
193 #line 11 "constr.pcc"
196 ///////////////////////////////////////////////////////////////////////////////
198 // Interface specification of datatype Conclusion
200 ///////////////////////////////////////////////////////////////////////////////
201 #line 11 "constr.pcc"
204 ///////////////////////////////////////////////////////////////////////////////
206 // Interface specification of datatype LogicalPat
208 ///////////////////////////////////////////////////////////////////////////////
209 #line 11 "constr.pcc"
212 ///////////////////////////////////////////////////////////////////////////////
214 // Interface specification of datatype Scope
216 ///////////////////////////////////////////////////////////////////////////////
217 #line 11 "constr.pcc"
220 ///////////////////////////////////////////////////////////////////////////////
222 // Interface specification of datatype Polarity
224 ///////////////////////////////////////////////////////////////////////////////
225 #line 11 "constr.pcc"
228 ///////////////////////////////////////////////////////////////////////////////
230 // Interface specification of datatype List<Ty>
232 ///////////////////////////////////////////////////////////////////////////////
233 #line 11 "constr.pcc"
236 ///////////////////////////////////////////////////////////////////////////////
238 // Interface specification of datatype List<Pat>
240 ///////////////////////////////////////////////////////////////////////////////
241 #line 11 "constr.pcc"
244 ///////////////////////////////////////////////////////////////////////////////
246 // Interface specification of datatype List<Exp>
248 ///////////////////////////////////////////////////////////////////////////////
249 #line 11 "constr.pcc"
252 ///////////////////////////////////////////////////////////////////////////////
254 // Interface specification of datatype List<Pos>
256 ///////////////////////////////////////////////////////////////////////////////
257 #line 11 "constr.pcc"
260 ///////////////////////////////////////////////////////////////////////////////
262 // Interface specification of datatype List<Decl>
264 ///////////////////////////////////////////////////////////////////////////////
265 #line 11 "constr.pcc"
268 ///////////////////////////////////////////////////////////////////////////////
270 // Interface specification of datatype List<Inherit>
272 ///////////////////////////////////////////////////////////////////////////////
273 #line 11 "constr.pcc"
276 ///////////////////////////////////////////////////////////////////////////////
278 // Interface specification of datatype List<MatchExp>
280 ///////////////////////////////////////////////////////////////////////////////
281 #line 11 "constr.pcc"
284 ///////////////////////////////////////////////////////////////////////////////
286 // Interface specification of datatype List<MatchRule>
288 ///////////////////////////////////////////////////////////////////////////////
289 #line 11 "constr.pcc"
292 ///////////////////////////////////////////////////////////////////////////////
294 // Interface specification of datatype List<Protocol>
296 ///////////////////////////////////////////////////////////////////////////////
297 #line 11 "constr.pcc"
300 ///////////////////////////////////////////////////////////////////////////////
302 // Interface specification of datatype List<DatatypeDef>
304 ///////////////////////////////////////////////////////////////////////////////
305 #line 11 "constr.pcc"
308 ///////////////////////////////////////////////////////////////////////////////
310 // Interface specification of datatype List<TyDef>
312 ///////////////////////////////////////////////////////////////////////////////
313 #line 11 "constr.pcc"
316 ///////////////////////////////////////////////////////////////////////////////
318 // Interface specification of datatype List<TermDef>
320 ///////////////////////////////////////////////////////////////////////////////
321 #line 11 "constr.pcc"
324 ///////////////////////////////////////////////////////////////////////////////
326 // Interface specification of datatype List<ViewDef>
328 ///////////////////////////////////////////////////////////////////////////////
329 #line 11 "constr.pcc"
332 ///////////////////////////////////////////////////////////////////////////////
334 // Interface specification of datatype List<LawDef>
336 ///////////////////////////////////////////////////////////////////////////////
337 #line 11 "constr.pcc"
340 ///////////////////////////////////////////////////////////////////////////////
342 // Interface specification of datatype List<FunDef>
344 ///////////////////////////////////////////////////////////////////////////////
345 #line 11 "constr.pcc"
348 ///////////////////////////////////////////////////////////////////////////////
350 // Interface specification of datatype List<QualId>
352 ///////////////////////////////////////////////////////////////////////////////
353 #line 11 "constr.pcc"
356 ///////////////////////////////////////////////////////////////////////////////
358 // Interface specification of datatype List<InferenceRule>
360 ///////////////////////////////////////////////////////////////////////////////
361 #line 11 "constr.pcc"
364 ///////////////////////////////////////////////////////////////////////////////
366 // Interface specification of datatype List<Conclusion>
368 ///////////////////////////////////////////////////////////////////////////////
369 #line 11 "constr.pcc"
372 ///////////////////////////////////////////////////////////////////////////////
374 // Interface specification of datatype List<Scope>
376 ///////////////////////////////////////////////////////////////////////////////
377 #line 11 "constr.pcc"
380 ///////////////////////////////////////////////////////////////////////////////
382 // Interface specification of datatype Pid
384 ///////////////////////////////////////////////////////////////////////////////
385 #line 11 "constr.pcc"
388 ///////////////////////////////////////////////////////////////////////////////
390 // Interface specification of datatype Pair<Id, Tys>
392 ///////////////////////////////////////////////////////////////////////////////
393 #line 11 "constr.pcc"
396 ///////////////////////////////////////////////////////////////////////////////
398 // Interface specification of datatype Generator
400 ///////////////////////////////////////////////////////////////////////////////
401 #line 11 "constr.pcc"
404 ///////////////////////////////////////////////////////////////////////////////
406 // Interface specification of datatype List<Generator>
408 ///////////////////////////////////////////////////////////////////////////////
409 #line 11 "constr.pcc"
412 ///////////////////////////////////////////////////////////////////////////////
414 // Interface specification of datatype List<RewriteIndexing *>
416 ///////////////////////////////////////////////////////////////////////////////
417 #line 11 "constr.pcc"
420 ///////////////////////////////////////////////////////////////////////////////
422 // Instantiation of datatype Ty
424 ///////////////////////////////////////////////////////////////////////////////
425 #line 11 "constr.pcc"
426 Ty_VARty::Ty_VARty (Ty x_VARty
)
427 : a_Ty(tag_VARty
), VARty(x_VARty
)
430 a_Ty
* VARty (Ty x_VARty
)
432 return new Ty_VARty (x_VARty
);
434 Ty_INDty::Ty_INDty (Id x_1
, int x_2
)
435 : a_Ty(tag_INDty
), _1(x_1
), _2(x_2
)
438 a_Ty
* INDty (Id x_1
, int x_2
)
440 return new Ty_INDty (x_1
, x_2
);
442 Ty_QUALty::Ty_QUALty (TyQual x_1
, Ty x_2
)
443 : a_Ty(tag_QUALty
), _1(x_1
), _2(x_2
)
446 a_Ty
* QUALty (TyQual x_1
, Ty x_2
)
448 return new Ty_QUALty (x_1
, x_2
);
450 Ty_TYCONty::Ty_TYCONty (TyCon x_1
, a_List
<Ty
> * x_2
)
451 : a_Ty(tag_TYCONty
), _1(x_1
), _2(x_2
)
454 a_Ty
* TYCONty (TyCon x_1
, a_List
<Ty
> * x_2
)
456 return new Ty_TYCONty (x_1
, x_2
);
458 Ty_POLYty::Ty_POLYty (Ty x_1
, int x_2
, TyVar
* x_3
)
459 : a_Ty(tag_POLYty
), _1(x_1
), _2(x_2
), _3(x_3
)
462 a_Ty
* POLYty (Ty x_1
, int x_2
, TyVar
* x_3
)
464 return new Ty_POLYty (x_1
, x_2
, x_3
);
466 Ty_DEFVALty::Ty_DEFVALty (Ty x_1
, Exp x_2
)
467 : a_Ty(tag_DEFVALty
), _1(x_1
), _2(x_2
)
470 a_Ty
* DEFVALty (Ty x_1
, Exp x_2
)
472 return new Ty_DEFVALty (x_1
, x_2
);
474 Ty_NESTEDty::Ty_NESTEDty (Ty x_1
, Ty x_2
)
475 : a_Ty(tag_NESTEDty
), _1(x_1
), _2(x_2
)
478 a_Ty
* NESTEDty (Ty x_1
, Ty x_2
)
480 return new Ty_NESTEDty (x_1
, x_2
);
484 ///////////////////////////////////////////////////////////////////////////////
486 // Instantiation of datatype TyCon
488 ///////////////////////////////////////////////////////////////////////////////
489 #line 11 "constr.pcc"
490 TyCon_IDtycon::TyCon_IDtycon (Id x_IDtycon
)
491 : a_TyCon(tag_IDtycon
), IDtycon(x_IDtycon
)
494 a_TyCon
* IDtycon (Id x_IDtycon
)
496 return new TyCon_IDtycon (x_IDtycon
);
498 TyCon_RECORDtycon::TyCon_RECORDtycon (a_List
<Id
> * x_1
, Bool x_2
)
499 : a_TyCon(tag_RECORDtycon
), _1(x_1
), _2(x_2
)
502 a_TyCon
* RECORDtycon (a_List
<Id
> * x_1
, Bool x_2
)
504 return new TyCon_RECORDtycon (x_1
, x_2
);
506 TyCon_ARRAYtycon::TyCon_ARRAYtycon (Exp x_ARRAYtycon
)
507 : a_TyCon(tag_ARRAYtycon
), ARRAYtycon(x_ARRAYtycon
)
510 a_TyCon
* ARRAYtycon (Exp x_ARRAYtycon
)
512 return new TyCon_ARRAYtycon (x_ARRAYtycon
);
514 TyCon_BITFIELDtycon::TyCon_BITFIELDtycon (int x_width
, Bool x_is_signed
)
515 : a_TyCon(tag_BITFIELDtycon
), width(x_width
), is_signed(x_is_signed
)
518 a_TyCon
* BITFIELDtycon (int x_width
, Bool x_is_signed
)
520 return new TyCon_BITFIELDtycon (x_width
, x_is_signed
);
522 TyCon_DATATYPEtycon::TyCon_DATATYPEtycon (Id x_id
, int x_unit
, int x_arg
, Cons
* x_terms
, TyVars x_tyvars
, Ty x_polyty
, a_List
<Inherit
> * x_inherit
, TyQual x_qualifiers
, TyOpt x_opt
, a_List
<Decl
> * x_body
, Exp x_view_match
, Loc
const * x_location
, DatatypeHierarchy
* x_hierarchy
)
523 : a_TyCon(tag_DATATYPEtycon
), id(x_id
), unit(x_unit
), arg(x_arg
), terms(x_terms
), tyvars(x_tyvars
), polyty(x_polyty
), inherit(x_inherit
), qualifiers(x_qualifiers
), opt(x_opt
), body(x_body
), view_match(x_view_match
), location(x_location
), hierarchy(x_hierarchy
)
526 a_TyCon
* DATATYPEtycon (Id x_id
, int x_unit
, int x_arg
, Cons
* x_terms
, TyVars x_tyvars
, Ty x_polyty
, a_List
<Inherit
> * x_inherit
, TyQual x_qualifiers
, TyOpt x_opt
, a_List
<Decl
> * x_body
, Exp x_view_match
, Loc
const * x_location
, DatatypeHierarchy
* x_hierarchy
)
528 return new TyCon_DATATYPEtycon (x_id
, x_unit
, x_arg
, x_terms
, x_tyvars
, x_polyty
, x_inherit
, x_qualifiers
, x_opt
, x_body
, x_view_match
, x_location
, x_hierarchy
);
530 TyCon_COLtycon::TyCon_COLtycon (CollectionDesc x_COLtycon
)
531 : a_TyCon(tag_COLtycon
), COLtycon(x_COLtycon
)
534 a_TyCon
* COLtycon (CollectionDesc x_COLtycon
)
536 return new TyCon_COLtycon (x_COLtycon
);
538 TyCon_GRAPHtycon::TyCon_GRAPHtycon (GraphTypeDef
* x_GRAPHtycon
)
539 : a_TyCon(tag_GRAPHtycon
), GRAPHtycon(x_GRAPHtycon
)
542 a_TyCon
* GRAPHtycon (GraphTypeDef
* x_GRAPHtycon
)
544 return new TyCon_GRAPHtycon (x_GRAPHtycon
);
546 TyCon_NODEtycon::TyCon_NODEtycon (NodeDef
* x_NODEtycon
)
547 : a_TyCon(tag_NODEtycon
), NODEtycon(x_NODEtycon
)
550 a_TyCon
* NODEtycon (NodeDef
* x_NODEtycon
)
552 return new TyCon_NODEtycon (x_NODEtycon
);
554 TyCon_EDGEtycon::TyCon_EDGEtycon (EdgeDef
* x_EDGEtycon
)
555 : a_TyCon(tag_EDGEtycon
), EDGEtycon(x_EDGEtycon
)
558 a_TyCon
* EDGEtycon (EdgeDef
* x_EDGEtycon
)
560 return new TyCon_EDGEtycon (x_EDGEtycon
);
564 ///////////////////////////////////////////////////////////////////////////////
566 // Instantiation of datatype Pat
568 ///////////////////////////////////////////////////////////////////////////////
569 #line 11 "constr.pcc"
570 Pat_WILDpat::Pat_WILDpat ()
576 return new Pat_WILDpat
;
578 Pat_INDpat::Pat_INDpat (Id x_1
, int x_2
, Ty x_3
)
579 : a_Pat(tag_INDpat
), _1(x_1
), _2(x_2
), _3(x_3
)
582 a_Pat
* INDpat (Id x_1
, int x_2
, Ty x_3
)
584 return new Pat_INDpat (x_1
, x_2
, x_3
);
586 Pat_POLYpat::Pat_POLYpat (Id x_1
, int x_2
, Ids x_3
, Pat x_4
, Exp x_5
, Bool x_6
)
587 : a_Pat(tag_POLYpat
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
), _5(x_5
), _6(x_6
)
590 a_Pat
* POLYpat (Id x_1
, int x_2
, Ids x_3
, Pat x_4
, Exp x_5
, Bool x_6
)
592 return new Pat_POLYpat (x_1
, x_2
, x_3
, x_4
, x_5
, x_6
);
594 Pat_IDpat::Pat_IDpat (Id x_1
, Ty x_2
, Exp x_3
)
595 : a_Pat(tag_IDpat
), _1(x_1
), _2(x_2
), _3(x_3
)
598 a_Pat
* IDpat (Id x_1
, Ty x_2
, Exp x_3
)
600 return new Pat_IDpat (x_1
, x_2
, x_3
);
602 Pat_CONSpat::Pat_CONSpat (Cons x_CONSpat
)
603 : a_Pat(tag_CONSpat
), CONSpat(x_CONSpat
)
606 a_Pat
* CONSpat (Cons x_CONSpat
)
608 return new Pat_CONSpat (x_CONSpat
);
610 Pat_APPpat::Pat_APPpat (Pat x_1
, Pat x_2
)
611 : a_Pat(tag_APPpat
), _1(x_1
), _2(x_2
)
614 a_Pat
* APPpat (Pat x_1
, Pat x_2
)
616 return new Pat_APPpat (x_1
, x_2
);
618 Pat_TYPEDpat::Pat_TYPEDpat (Pat x_1
, Ty x_2
)
619 : a_Pat(tag_TYPEDpat
), _1(x_1
), _2(x_2
)
622 a_Pat
* TYPEDpat (Pat x_1
, Ty x_2
)
624 return new Pat_TYPEDpat (x_1
, x_2
);
626 Pat_ASpat::Pat_ASpat (Id x_1
, Pat x_2
, Ty x_3
, Exp x_4
)
627 : a_Pat(tag_ASpat
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
630 a_Pat
* ASpat (Id x_1
, Pat x_2
, Ty x_3
, Exp x_4
)
632 return new Pat_ASpat (x_1
, x_2
, x_3
, x_4
);
634 Pat_LITERALpat::Pat_LITERALpat (Literal x_LITERALpat
)
635 : a_Pat(tag_LITERALpat
), LITERALpat(x_LITERALpat
)
638 a_Pat
* LITERALpat (Literal x_LITERALpat
)
640 return new Pat_LITERALpat (x_LITERALpat
);
642 Pat_CONTEXTpat::Pat_CONTEXTpat (Conses x_1
, Pat x_2
)
643 : a_Pat(tag_CONTEXTpat
), _1(x_1
), _2(x_2
)
646 a_Pat
* CONTEXTpat (Conses x_1
, Pat x_2
)
648 return new Pat_CONTEXTpat (x_1
, x_2
);
650 Pat_LEXEMEpat::Pat_LEXEMEpat (Id x_1
, Ty x_2
, int x_3
, Cons
* x_4
)
651 : a_Pat(tag_LEXEMEpat
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
654 a_Pat
* LEXEMEpat (Id x_1
, Ty x_2
, int x_3
, Cons
* x_4
)
656 return new Pat_LEXEMEpat (x_1
, x_2
, x_3
, x_4
);
658 Pat_ARRAYpat::Pat_ARRAYpat (a_List
<Pat
> * x_1
, Bool x_2
)
659 : a_Pat(tag_ARRAYpat
), _1(x_1
), _2(x_2
)
662 a_Pat
* ARRAYpat (a_List
<Pat
> * x_1
, Bool x_2
)
664 return new Pat_ARRAYpat (x_1
, x_2
);
666 Pat_TUPLEpat::Pat_TUPLEpat (a_List
<Pat
> * x_TUPLEpat
)
667 : a_Pat(tag_TUPLEpat
), TUPLEpat(x_TUPLEpat
)
670 a_Pat
* TUPLEpat (a_List
<Pat
> * x_TUPLEpat
)
672 return new Pat_TUPLEpat (x_TUPLEpat
);
674 Pat_EXTUPLEpat::Pat_EXTUPLEpat (a_List
<Pat
> * x_EXTUPLEpat
)
675 : a_Pat(tag_EXTUPLEpat
), EXTUPLEpat(x_EXTUPLEpat
)
678 a_Pat
* EXTUPLEpat (a_List
<Pat
> * x_EXTUPLEpat
)
680 return new Pat_EXTUPLEpat (x_EXTUPLEpat
);
682 Pat_RECORDpat::Pat_RECORDpat (a_List
<LabPat
> * x_1
, Bool x_2
)
683 : a_Pat(tag_RECORDpat
), _1(x_1
), _2(x_2
)
686 a_Pat
* RECORDpat (a_List
<LabPat
> * x_1
, Bool x_2
)
688 return new Pat_RECORDpat (x_1
, x_2
);
690 Pat_LISTpat::Pat_LISTpat (Cons x_cons
, Cons x_nil
, a_List
<Pat
> * x_head
, Pat x_tail
)
691 : a_Pat(tag_LISTpat
), cons(x_cons
), nil(x_nil
), head(x_head
), tail(x_tail
)
694 a_Pat
* LISTpat (Cons x_cons
, Cons x_nil
, a_List
<Pat
> * x_head
, Pat x_tail
)
696 return new Pat_LISTpat (x_cons
, x_nil
, x_head
, x_tail
);
698 Pat_VECTORpat::Pat_VECTORpat (Cons x_cons
, Pat x_len
, Pat x_array
, a_List
<Pat
> * x_elements
, Bool x_head_flex
, Bool x_tail_flex
)
699 : a_Pat(tag_VECTORpat
), cons(x_cons
), len(x_len
), array(x_array
), elements(x_elements
), head_flex(x_head_flex
), tail_flex(x_tail_flex
)
702 a_Pat
* VECTORpat (Cons x_cons
, Pat x_len
, Pat x_array
, a_List
<Pat
> * x_elements
, Bool x_head_flex
, Bool x_tail_flex
)
704 return new Pat_VECTORpat (x_cons
, x_len
, x_array
, x_elements
, x_head_flex
, x_tail_flex
);
706 Pat_APPENDpat::Pat_APPENDpat (Pat x_1
, Pat x_2
, Ty x_3
)
707 : a_Pat(tag_APPENDpat
), _1(x_1
), _2(x_2
), _3(x_3
)
710 a_Pat
* APPENDpat (Pat x_1
, Pat x_2
, Ty x_3
)
712 return new Pat_APPENDpat (x_1
, x_2
, x_3
);
714 Pat_GUARDpat::Pat_GUARDpat (Pat x_1
, Exp x_2
)
715 : a_Pat(tag_GUARDpat
), _1(x_1
), _2(x_2
)
718 a_Pat
* GUARDpat (Pat x_1
, Exp x_2
)
720 return new Pat_GUARDpat (x_1
, x_2
);
722 Pat_LOGICALpat::Pat_LOGICALpat (LogicalPat x_1
, Pat x_2
, Pat x_3
)
723 : a_Pat(tag_LOGICALpat
), _1(x_1
), _2(x_2
), _3(x_3
)
726 a_Pat
* LOGICALpat (LogicalPat x_1
, Pat x_2
, Pat x_3
)
728 return new Pat_LOGICALpat (x_1
, x_2
, x_3
);
730 Pat_BACKEDGEpat::Pat_BACKEDGEpat (int x_1
, Id x_2
, Pat x_3
)
731 : a_Pat(tag_BACKEDGEpat
), _1(x_1
), _2(x_2
), _3(x_3
)
734 a_Pat
* BACKEDGEpat (int x_1
, Id x_2
, Pat x_3
)
736 return new Pat_BACKEDGEpat (x_1
, x_2
, x_3
);
738 Pat_UNIFYpat::Pat_UNIFYpat (Pat x_1
, Exp x_2
)
739 : a_Pat(tag_UNIFYpat
), _1(x_1
), _2(x_2
)
742 a_Pat
* UNIFYpat (Pat x_1
, Exp x_2
)
744 return new Pat_UNIFYpat (x_1
, x_2
);
746 Pat_MARKEDpat::Pat_MARKEDpat (Loc x_1
, Pat x_2
)
747 : a_Pat(tag_MARKEDpat
), _1(x_1
), _2(x_2
)
750 a_Pat
* MARKEDpat (Loc x_1
, Pat x_2
)
752 return new Pat_MARKEDpat (x_1
, x_2
);
756 ///////////////////////////////////////////////////////////////////////////////
758 // Instantiation of datatype Exp
760 ///////////////////////////////////////////////////////////////////////////////
761 #line 11 "constr.pcc"
762 Exp_LITERALexp::Exp_LITERALexp (Literal x_LITERALexp
)
763 : a_Exp(tag_LITERALexp
), LITERALexp(x_LITERALexp
)
766 a_Exp
* LITERALexp (Literal x_LITERALexp
)
768 return new Exp_LITERALexp (x_LITERALexp
);
770 Exp_IDexp::Exp_IDexp (Id x_IDexp
)
771 : a_Exp(tag_IDexp
), IDexp(x_IDexp
)
774 a_Exp
* IDexp (Id x_IDexp
)
776 return new Exp_IDexp (x_IDexp
);
778 Exp_RELexp::Exp_RELexp (int x_RELexp
)
779 : a_Exp(tag_RELexp
), RELexp(x_RELexp
)
782 a_Exp
* RELexp (int x_RELexp
)
784 return new Exp_RELexp (x_RELexp
);
786 Exp_DOTexp::Exp_DOTexp (Exp x_1
, Id x_2
)
787 : a_Exp(tag_DOTexp
), _1(x_1
), _2(x_2
)
790 a_Exp
* DOTexp (Exp x_1
, Id x_2
)
792 return new Exp_DOTexp (x_1
, x_2
);
794 Exp_SELECTORexp::Exp_SELECTORexp (Exp x_1
, Cons x_2
, Ty x_3
)
795 : a_Exp(tag_SELECTORexp
), _1(x_1
), _2(x_2
), _3(x_3
)
798 a_Exp
* SELECTORexp (Exp x_1
, Cons x_2
, Ty x_3
)
800 return new Exp_SELECTORexp (x_1
, x_2
, x_3
);
802 Exp_DEREFexp::Exp_DEREFexp (Exp x_DEREFexp
)
803 : a_Exp(tag_DEREFexp
), DEREFexp(x_DEREFexp
)
806 a_Exp
* DEREFexp (Exp x_DEREFexp
)
808 return new Exp_DEREFexp (x_DEREFexp
);
810 Exp_ARROWexp::Exp_ARROWexp (Exp x_1
, Id x_2
)
811 : a_Exp(tag_ARROWexp
), _1(x_1
), _2(x_2
)
814 a_Exp
* ARROWexp (Exp x_1
, Id x_2
)
816 return new Exp_ARROWexp (x_1
, x_2
);
818 Exp_INDEXexp::Exp_INDEXexp (Exp x_1
, Exp x_2
)
819 : a_Exp(tag_INDEXexp
), _1(x_1
), _2(x_2
)
822 a_Exp
* INDEXexp (Exp x_1
, Exp x_2
)
824 return new Exp_INDEXexp (x_1
, x_2
);
826 Exp_BINOPexp::Exp_BINOPexp (Id x_1
, Exp x_2
, Exp x_3
)
827 : a_Exp(tag_BINOPexp
), _1(x_1
), _2(x_2
), _3(x_3
)
830 a_Exp
* BINOPexp (Id x_1
, Exp x_2
, Exp x_3
)
832 return new Exp_BINOPexp (x_1
, x_2
, x_3
);
834 Exp_PREFIXexp::Exp_PREFIXexp (Id x_1
, Exp x_2
)
835 : a_Exp(tag_PREFIXexp
), _1(x_1
), _2(x_2
)
838 a_Exp
* PREFIXexp (Id x_1
, Exp x_2
)
840 return new Exp_PREFIXexp (x_1
, x_2
);
842 Exp_POSTFIXexp::Exp_POSTFIXexp (Id x_1
, Exp x_2
)
843 : a_Exp(tag_POSTFIXexp
), _1(x_1
), _2(x_2
)
846 a_Exp
* POSTFIXexp (Id x_1
, Exp x_2
)
848 return new Exp_POSTFIXexp (x_1
, x_2
);
850 Exp_APPexp::Exp_APPexp (Exp x_1
, Exp x_2
)
851 : a_Exp(tag_APPexp
), _1(x_1
), _2(x_2
)
854 a_Exp
* APPexp (Exp x_1
, Exp x_2
)
856 return new Exp_APPexp (x_1
, x_2
);
858 Exp_ASSIGNexp::Exp_ASSIGNexp (Exp x_1
, Exp x_2
)
859 : a_Exp(tag_ASSIGNexp
), _1(x_1
), _2(x_2
)
862 a_Exp
* ASSIGNexp (Exp x_1
, Exp x_2
)
864 return new Exp_ASSIGNexp (x_1
, x_2
);
866 Exp_IFexp::Exp_IFexp (Exp x_1
, Exp x_2
, Exp x_3
)
867 : a_Exp(tag_IFexp
), _1(x_1
), _2(x_2
), _3(x_3
)
870 a_Exp
* IFexp (Exp x_1
, Exp x_2
, Exp x_3
)
872 return new Exp_IFexp (x_1
, x_2
, x_3
);
874 Exp_TUPLEexp::Exp_TUPLEexp (a_List
<Exp
> * x_TUPLEexp
)
875 : a_Exp(tag_TUPLEexp
), TUPLEexp(x_TUPLEexp
)
878 a_Exp
* TUPLEexp (a_List
<Exp
> * x_TUPLEexp
)
880 return new Exp_TUPLEexp (x_TUPLEexp
);
882 Exp_EXTUPLEexp::Exp_EXTUPLEexp (a_List
<Exp
> * x_EXTUPLEexp
)
883 : a_Exp(tag_EXTUPLEexp
), EXTUPLEexp(x_EXTUPLEexp
)
886 a_Exp
* EXTUPLEexp (a_List
<Exp
> * x_EXTUPLEexp
)
888 return new Exp_EXTUPLEexp (x_EXTUPLEexp
);
890 Exp_RECORDexp::Exp_RECORDexp (a_List
<LabExp
> * x_RECORDexp
)
891 : a_Exp(tag_RECORDexp
), RECORDexp(x_RECORDexp
)
894 a_Exp
* RECORDexp (a_List
<LabExp
> * x_RECORDexp
)
896 return new Exp_RECORDexp (x_RECORDexp
);
898 Exp_LISTexp::Exp_LISTexp (Cons x_1
, Cons x_2
, a_List
<Exp
> * x_3
, Exp x_4
)
899 : a_Exp(tag_LISTexp
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
902 a_Exp
* LISTexp (Cons x_1
, Cons x_2
, a_List
<Exp
> * x_3
, Exp x_4
)
904 return new Exp_LISTexp (x_1
, x_2
, x_3
, x_4
);
906 Exp_VECTORexp::Exp_VECTORexp (Cons x_1
, a_List
<Exp
> * x_2
)
907 : a_Exp(tag_VECTORexp
), _1(x_1
), _2(x_2
)
910 a_Exp
* VECTORexp (Cons x_1
, a_List
<Exp
> * x_2
)
912 return new Exp_VECTORexp (x_1
, x_2
);
914 Exp_CONSexp::Exp_CONSexp (Cons x_1
, a_List
<Exp
> * x_2
, Exp x_3
)
915 : a_Exp(tag_CONSexp
), _1(x_1
), _2(x_2
), _3(x_3
)
918 a_Exp
* CONSexp (Cons x_1
, a_List
<Exp
> * x_2
, Exp x_3
)
920 return new Exp_CONSexp (x_1
, x_2
, x_3
);
922 Exp_CASTexp::Exp_CASTexp (Ty x_1
, Exp x_2
)
923 : a_Exp(tag_CASTexp
), _1(x_1
), _2(x_2
)
926 a_Exp
* CASTexp (Ty x_1
, Exp x_2
)
928 return new Exp_CASTexp (x_1
, x_2
);
930 Exp_QUALexp::Exp_QUALexp (Ty x_1
, Id x_2
)
931 : a_Exp(tag_QUALexp
), _1(x_1
), _2(x_2
)
934 a_Exp
* QUALexp (Ty x_1
, Id x_2
)
936 return new Exp_QUALexp (x_1
, x_2
);
938 Exp_EQexp::Exp_EQexp (Ty x_1
, Exp x_2
, Exp x_3
)
939 : a_Exp(tag_EQexp
), _1(x_1
), _2(x_2
), _3(x_3
)
942 a_Exp
* EQexp (Ty x_1
, Exp x_2
, Exp x_3
)
944 return new Exp_EQexp (x_1
, x_2
, x_3
);
946 Exp_UNIFYexp::Exp_UNIFYexp (Ty x_1
, Exp x_2
, Exp x_3
)
947 : a_Exp(tag_UNIFYexp
), _1(x_1
), _2(x_2
), _3(x_3
)
950 a_Exp
* UNIFYexp (Ty x_1
, Exp x_2
, Exp x_3
)
952 return new Exp_UNIFYexp (x_1
, x_2
, x_3
);
954 Exp_LTexp::Exp_LTexp (Ty x_1
, Exp x_2
, Exp x_3
)
955 : a_Exp(tag_LTexp
), _1(x_1
), _2(x_2
), _3(x_3
)
958 a_Exp
* LTexp (Ty x_1
, Exp x_2
, Exp x_3
)
960 return new Exp_LTexp (x_1
, x_2
, x_3
);
962 Exp_HASHexp::Exp_HASHexp (Ty x_1
, Exp x_2
)
963 : a_Exp(tag_HASHexp
), _1(x_1
), _2(x_2
)
966 a_Exp
* HASHexp (Ty x_1
, Exp x_2
)
968 return new Exp_HASHexp (x_1
, x_2
);
970 Exp_THISCOSTexp::Exp_THISCOSTexp ()
971 : a_Exp(tag_THISCOSTexp
)
974 a_Exp
* THISCOSTexp ()
976 return new Exp_THISCOSTexp
;
978 Exp_COSTexp::Exp_COSTexp (ChildNo x_COSTexp
)
979 : a_Exp(tag_COSTexp
), COSTexp(x_COSTexp
)
982 a_Exp
* COSTexp (ChildNo x_COSTexp
)
984 return new Exp_COSTexp (x_COSTexp
);
986 Exp_THISSYNexp::Exp_THISSYNexp (RuleNo x_1
, Ty x_2
, Bool x_3
)
987 : a_Exp(tag_THISSYNexp
), _1(x_1
), _2(x_2
), _3(x_3
)
990 a_Exp
* THISSYNexp (RuleNo x_1
, Ty x_2
, Bool x_3
)
992 return new Exp_THISSYNexp (x_1
, x_2
, x_3
);
994 Exp_SYNexp::Exp_SYNexp (ChildNo x_1
, RuleNo x_2
, Ty x_3
, Bool x_4
)
995 : a_Exp(tag_SYNexp
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
998 a_Exp
* SYNexp (ChildNo x_1
, RuleNo x_2
, Ty x_3
, Bool x_4
)
1000 return new Exp_SYNexp (x_1
, x_2
, x_3
, x_4
);
1002 Exp_SENDexp::Exp_SENDexp (Id x_1
, a_List
<Exp
> * x_2
)
1003 : a_Exp(tag_SENDexp
), _1(x_1
), _2(x_2
)
1006 a_Exp
* SENDexp (Id x_1
, a_List
<Exp
> * x_2
)
1008 return new Exp_SENDexp (x_1
, x_2
);
1010 Exp_SETLexp::Exp_SETLexp (SETLOp x_1
, Exps x_2
)
1011 : a_Exp(tag_SETLexp
), _1(x_1
), _2(x_2
)
1014 a_Exp
* SETLexp (SETLOp x_1
, Exps x_2
)
1016 return new Exp_SETLexp (x_1
, x_2
);
1018 Exp_LISTCOMPexp::Exp_LISTCOMPexp (Exp x_exp
, a_List
<Generator
> * x_generators
, Exp x_guard
)
1019 : a_Exp(tag_LISTCOMPexp
), exp(x_exp
), generators(x_generators
), guard(x_guard
)
1022 a_Exp
* LISTCOMPexp (Exp x_exp
, a_List
<Generator
> * x_generators
, Exp x_guard
)
1024 return new Exp_LISTCOMPexp (x_exp
, x_generators
, x_guard
);
1026 Exp_FORALLexp::Exp_FORALLexp (Id x_1
, Exp x_2
)
1027 : a_Exp(tag_FORALLexp
), _1(x_1
), _2(x_2
)
1030 a_Exp
* FORALLexp (Id x_1
, Exp x_2
)
1032 return new Exp_FORALLexp (x_1
, x_2
);
1034 Exp_EXISTSexp::Exp_EXISTSexp (Id x_1
, Exp x_2
)
1035 : a_Exp(tag_EXISTSexp
), _1(x_1
), _2(x_2
)
1038 a_Exp
* EXISTSexp (Id x_1
, Exp x_2
)
1040 return new Exp_EXISTSexp (x_1
, x_2
);
1042 Exp_MARKEDexp::Exp_MARKEDexp (Loc x_1
, Exp x_2
)
1043 : a_Exp(tag_MARKEDexp
), _1(x_1
), _2(x_2
)
1046 a_Exp
* MARKEDexp (Loc x_1
, Exp x_2
)
1048 return new Exp_MARKEDexp (x_1
, x_2
);
1052 ///////////////////////////////////////////////////////////////////////////////
1054 // Instantiation of datatype Cons
1056 ///////////////////////////////////////////////////////////////////////////////
1057 #line 11 "constr.pcc"
1058 a_Cons::a_Cons (Id x_name
, Ty x_alg_ty
, Ty x_cons_ty
, Ty x_ty
, int x_tag
, PrintFormats x_print_formats
, Loc
const * x_location
, a_List
<Inherit
> * x_inherit
, a_List
<Decl
> * x_body
, TyOpt x_opt
, TyQual x_qual
, Exp x_view_predicate
, Exp
* x_view_selectors
, Pat x_lexeme_pattern
, DatatypeClass
* x_class_def
)
1059 : name(x_name
), alg_ty(x_alg_ty
), cons_ty(x_cons_ty
), ty(x_ty
), tag(x_tag
), print_formats(x_print_formats
), location(x_location
), inherit(x_inherit
), body(x_body
), opt(x_opt
), qual(x_qual
), view_predicate(x_view_predicate
), view_selectors(x_view_selectors
), lexeme_pattern(x_lexeme_pattern
), class_def(x_class_def
)
1062 a_Cons
* ONEcons (Id x_name
, Ty x_alg_ty
, Ty x_cons_ty
, Ty x_ty
, int x_tag
, PrintFormats x_print_formats
, Loc
const * x_location
, a_List
<Inherit
> * x_inherit
, a_List
<Decl
> * x_body
, TyOpt x_opt
, TyQual x_qual
, Exp x_view_predicate
, Exp
* x_view_selectors
, Pat x_lexeme_pattern
, DatatypeClass
* x_class_def
)
1064 return new a_Cons (x_name
, x_alg_ty
, x_cons_ty
, x_ty
, x_tag
, x_print_formats
, x_location
, x_inherit
, x_body
, x_opt
, x_qual
, x_view_predicate
, x_view_selectors
, x_lexeme_pattern
, x_class_def
);
1068 ///////////////////////////////////////////////////////////////////////////////
1070 // Instantiation of datatype Pos
1072 ///////////////////////////////////////////////////////////////////////////////
1073 #line 11 "constr.pcc"
1074 Pos_POSint::Pos_POSint (int x_1
, Pos x_2
)
1078 a_Pos
* POSint (int x_1
, Pos x_2
)
1080 return (a_Pos
*)((unsigned long)(new Pos_POSint (x_1
, x_2
))|a_Pos::tag_POSint
);
1082 Pos_POSlabel::Pos_POSlabel (Id x_1
, Pos x_2
)
1086 a_Pos
* POSlabel (Id x_1
, Pos x_2
)
1088 return (a_Pos
*)((unsigned long)(new Pos_POSlabel (x_1
, x_2
))|a_Pos::tag_POSlabel
);
1090 Pos_POSadaptive::Pos_POSadaptive (int x_1
, int * x_2
, Pos x_3
)
1091 : _1(x_1
), _2(x_2
), _3(x_3
)
1094 a_Pos
* POSadaptive (int x_1
, int * x_2
, Pos x_3
)
1096 return (a_Pos
*)((unsigned long)(new Pos_POSadaptive (x_1
, x_2
, x_3
))|a_Pos::tag_POSadaptive
);
1100 ///////////////////////////////////////////////////////////////////////////////
1102 // Instantiation of datatype Match
1104 ///////////////////////////////////////////////////////////////////////////////
1105 #line 11 "constr.pcc"
1106 Match_SUCCESSmatch::Match_SUCCESSmatch (int x_1
, MatchRule x_2
)
1107 : a_Match(tag_SUCCESSmatch
), _1(x_1
), _2(x_2
)
1110 a_Match
* SUCCESSmatch (int x_1
, MatchRule x_2
)
1112 return new Match_SUCCESSmatch (x_1
, x_2
);
1114 Match_SUCCESSESmatch::Match_SUCCESSESmatch (int x_1
, BitSet
* x_2
, MatchRules x_3
)
1115 : a_Match(tag_SUCCESSESmatch
), _1(x_1
), _2(x_2
), _3(x_3
)
1118 a_Match
* SUCCESSESmatch (int x_1
, BitSet
* x_2
, MatchRules x_3
)
1120 return new Match_SUCCESSESmatch (x_1
, x_2
, x_3
);
1122 Match_COSTmatch::Match_COSTmatch (int x_1
, Cost
* x_2
, BitSet
* x_3
, MatchRules x_4
)
1123 : a_Match(tag_COSTmatch
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
1126 a_Match
* COSTmatch (int x_1
, Cost
* x_2
, BitSet
* x_3
, MatchRules x_4
)
1128 return new Match_COSTmatch (x_1
, x_2
, x_3
, x_4
);
1130 Match_GUARDmatch::Match_GUARDmatch (Exp x_1
, Match x_2
, Match x_3
)
1131 : a_Match(tag_GUARDmatch
), _1(x_1
), _2(x_2
), _3(x_3
)
1134 a_Match
* GUARDmatch (Exp x_1
, Match x_2
, Match x_3
)
1136 return new Match_GUARDmatch (x_1
, x_2
, x_3
);
1138 Match_LITERALmatch::Match_LITERALmatch (Pos x_1
, Exp x_2
, Literal
* x_3
, int x_4
, Match
* x_5
, Match x_6
)
1139 : a_Match(tag_LITERALmatch
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
), _5(x_5
), _6(x_6
)
1142 a_Match
* LITERALmatch (Pos x_1
, Exp x_2
, Literal
* x_3
, int x_4
, Match
* x_5
, Match x_6
)
1144 return new Match_LITERALmatch (x_1
, x_2
, x_3
, x_4
, x_5
, x_6
);
1146 Match_RANGEmatch::Match_RANGEmatch (Pos x_1
, Exp x_2
, int x_3
, int x_4
, Match x_5
, Match x_6
)
1147 : a_Match(tag_RANGEmatch
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
), _5(x_5
), _6(x_6
)
1150 a_Match
* RANGEmatch (Pos x_1
, Exp x_2
, int x_3
, int x_4
, Match x_5
, Match x_6
)
1152 return new Match_RANGEmatch (x_1
, x_2
, x_3
, x_4
, x_5
, x_6
);
1154 Match_CONSmatch::Match_CONSmatch (Pos x_1
, Exp x_2
, Ty x_3
, Ty x_4
, int x_5
, Match
* x_6
, Match x_7
)
1155 : a_Match(tag_CONSmatch
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
), _5(x_5
), _6(x_6
), _7(x_7
)
1158 a_Match
* CONSmatch (Pos x_1
, Exp x_2
, Ty x_3
, Ty x_4
, int x_5
, Match
* x_6
, Match x_7
)
1160 return new Match_CONSmatch (x_1
, x_2
, x_3
, x_4
, x_5
, x_6
, x_7
);
1162 Match_TREECOSTmatch::Match_TREECOSTmatch (Match x_1
, BitSet
* x_2
, MatchRules x_3
)
1163 : a_Match(tag_TREECOSTmatch
), _1(x_1
), _2(x_2
), _3(x_3
)
1166 a_Match
* TREECOSTmatch (Match x_1
, BitSet
* x_2
, MatchRules x_3
)
1168 return new Match_TREECOSTmatch (x_1
, x_2
, x_3
);
1170 Match_TREELABELmatch::Match_TREELABELmatch (Match x_1
, Ty x_2
, Ty x_3
, int x_4
)
1171 : a_Match(tag_TREELABELmatch
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
1174 a_Match
* TREELABELmatch (Match x_1
, Ty x_2
, Ty x_3
, int x_4
)
1176 return new Match_TREELABELmatch (x_1
, x_2
, x_3
, x_4
);
1178 Match_BACKEDGEmatch::Match_BACKEDGEmatch (int x_1
, Id x_2
, Match x_3
)
1179 : a_Match(tag_BACKEDGEmatch
), _1(x_1
), _2(x_2
), _3(x_3
)
1182 a_Match
* BACKEDGEmatch (int x_1
, Id x_2
, Match x_3
)
1184 return new Match_BACKEDGEmatch (x_1
, x_2
, x_3
);
1188 ///////////////////////////////////////////////////////////////////////////////
1190 // Instantiation of datatype Decl
1192 ///////////////////////////////////////////////////////////////////////////////
1193 #line 11 "constr.pcc"
1194 Decl_OPAQUEdecl::Decl_OPAQUEdecl (char const * x_OPAQUEdecl
)
1195 : a_Decl(tag_OPAQUEdecl
), OPAQUEdecl(x_OPAQUEdecl
)
1198 a_Decl
* OPAQUEdecl (char const * x_OPAQUEdecl
)
1200 return new Decl_OPAQUEdecl (x_OPAQUEdecl
);
1202 Decl_DATATYPEdecl::Decl_DATATYPEdecl (DatatypeDefs x_1
, ViewDefs x_2
, LawDefs x_3
, TyDefs x_4
)
1203 : a_Decl(tag_DATATYPEdecl
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
1206 a_Decl
* DATATYPEdecl (DatatypeDefs x_1
, ViewDefs x_2
, LawDefs x_3
, TyDefs x_4
)
1208 return new Decl_DATATYPEdecl (x_1
, x_2
, x_3
, x_4
);
1210 Decl_INSTANTIATEdecl::Decl_INSTANTIATEdecl (Bool x_1
, Tys x_2
)
1211 : a_Decl(tag_INSTANTIATEdecl
), _1(x_1
), _2(x_2
)
1214 a_Decl
* INSTANTIATEdecl (Bool x_1
, Tys x_2
)
1216 return new Decl_INSTANTIATEdecl (x_1
, x_2
);
1218 Decl_CLASSDEFdecl::Decl_CLASSDEFdecl (ClassDefinition
* x_CLASSDEFdecl
)
1219 : a_Decl(tag_CLASSDEFdecl
), CLASSDEFdecl(x_CLASSDEFdecl
)
1222 a_Decl
* CLASSDEFdecl (ClassDefinition
* x_CLASSDEFdecl
)
1224 return new Decl_CLASSDEFdecl (x_CLASSDEFdecl
);
1226 Decl_INFERENCEdecl::Decl_INFERENCEdecl (Id x_1
, InferenceRules x_2
)
1227 : a_Decl(tag_INFERENCEdecl
), _1(x_1
), _2(x_2
)
1230 a_Decl
* INFERENCEdecl (Id x_1
, InferenceRules x_2
)
1232 return new Decl_INFERENCEdecl (x_1
, x_2
);
1234 Decl_REWRITEdecl::Decl_REWRITEdecl (Id x_1
, RewriteIndexings x_2
, MatchRules x_3
)
1235 : a_Decl(tag_REWRITEdecl
), _1(x_1
), _2(x_2
), _3(x_3
)
1238 a_Decl
* REWRITEdecl (Id x_1
, RewriteIndexings x_2
, MatchRules x_3
)
1240 return new Decl_REWRITEdecl (x_1
, x_2
, x_3
);
1242 Decl_REWRITINGdecl::Decl_REWRITINGdecl (Protocols x_1
, Exp x_2
, Exp x_3
, RewriteIndexings x_4
, MatchRules x_5
, TyQual x_6
)
1243 : a_Decl(tag_REWRITINGdecl
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
), _5(x_5
), _6(x_6
)
1246 a_Decl
* REWRITINGdecl (Protocols x_1
, Exp x_2
, Exp x_3
, RewriteIndexings x_4
, MatchRules x_5
, TyQual x_6
)
1248 return new Decl_REWRITINGdecl (x_1
, x_2
, x_3
, x_4
, x_5
, x_6
);
1250 Decl_REPLACEMENTdecl::Decl_REPLACEMENTdecl (Exp x_1
, MatchRuleInfo::RewritingMode x_2
)
1251 : a_Decl(tag_REPLACEMENTdecl
), _1(x_1
), _2(x_2
)
1254 a_Decl
* REPLACEMENTdecl (Exp x_1
, MatchRuleInfo::RewritingMode x_2
)
1256 return new Decl_REPLACEMENTdecl (x_1
, x_2
);
1258 Decl_CUTREWRITEdecl::Decl_CUTREWRITEdecl (Exp x_1
, MatchRuleInfo::RewritingMode x_2
)
1259 : a_Decl(tag_CUTREWRITEdecl
), _1(x_1
), _2(x_2
)
1262 a_Decl
* CUTREWRITEdecl (Exp x_1
, MatchRuleInfo::RewritingMode x_2
)
1264 return new Decl_CUTREWRITEdecl (x_1
, x_2
);
1266 Decl_FAILREWRITEdecl::Decl_FAILREWRITEdecl (MatchRuleInfo::RewritingMode x_FAILREWRITEdecl
)
1267 : a_Decl(tag_FAILREWRITEdecl
), FAILREWRITEdecl(x_FAILREWRITEdecl
)
1270 a_Decl
* FAILREWRITEdecl (MatchRuleInfo::RewritingMode x_FAILREWRITEdecl
)
1272 return new Decl_FAILREWRITEdecl (x_FAILREWRITEdecl
);
1274 Decl_INJECTdecl::Decl_INJECTdecl (int x_node_number
, EntryDirection x_direction
)
1275 : a_Decl(tag_INJECTdecl
), node_number(x_node_number
), direction(x_direction
)
1278 a_Decl
* INJECTdecl (int x_node_number
, EntryDirection x_direction
)
1280 return new Decl_INJECTdecl (x_node_number
, x_direction
);
1282 Decl_GOTOdecl::Decl_GOTOdecl (Id x_GOTOdecl
)
1283 : a_Decl(tag_GOTOdecl
), GOTOdecl(x_GOTOdecl
)
1286 a_Decl
* GOTOdecl (Id x_GOTOdecl
)
1288 return new Decl_GOTOdecl (x_GOTOdecl
);
1290 Decl_SETSTATEdecl::Decl_SETSTATEdecl (int x_SETSTATEdecl
)
1291 : a_Decl(tag_SETSTATEdecl
), SETSTATEdecl(x_SETSTATEdecl
)
1294 a_Decl
* SETSTATEdecl (int x_SETSTATEdecl
)
1296 return new Decl_SETSTATEdecl (x_SETSTATEdecl
);
1298 Decl_CONSTRAINTdecl::Decl_CONSTRAINTdecl (Id x_1
, ConstraintSet x_2
)
1299 : a_Decl(tag_CONSTRAINTdecl
), _1(x_1
), _2(x_2
)
1302 a_Decl
* CONSTRAINTdecl (Id x_1
, ConstraintSet x_2
)
1304 return new Decl_CONSTRAINTdecl (x_1
, x_2
);
1306 Decl_SYNTAXdecl::Decl_SYNTAXdecl (Id x_1
, GramExp x_2
)
1307 : a_Decl(tag_SYNTAXdecl
), _1(x_1
), _2(x_2
)
1310 a_Decl
* SYNTAXdecl (Id x_1
, GramExp x_2
)
1312 return new Decl_SYNTAXdecl (x_1
, x_2
);
1314 Decl_ATTRIBUTEGRAMMARdecl::Decl_ATTRIBUTEGRAMMARdecl (Id x_1
, GramExp x_2
)
1315 : a_Decl(tag_ATTRIBUTEGRAMMARdecl
), _1(x_1
), _2(x_2
)
1318 a_Decl
* ATTRIBUTEGRAMMARdecl (Id x_1
, GramExp x_2
)
1320 return new Decl_ATTRIBUTEGRAMMARdecl (x_1
, x_2
);
1322 Decl_FUNdecl::Decl_FUNdecl (FunDefs x_FUNdecl
)
1323 : a_Decl(tag_FUNdecl
), FUNdecl(x_FUNdecl
)
1326 a_Decl
* FUNdecl (FunDefs x_FUNdecl
)
1328 return new Decl_FUNdecl (x_FUNdecl
);
1330 Decl_MATCHdecl::Decl_MATCHdecl (MatchExps x_1
, MatchRules x_2
, MatchOptions x_3
, Ty x_4
)
1331 : a_Decl(tag_MATCHdecl
), _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
1334 a_Decl
* MATCHdecl (MatchExps x_1
, MatchRules x_2
, MatchOptions x_3
, Ty x_4
)
1336 return new Decl_MATCHdecl (x_1
, x_2
, x_3
, x_4
);
1338 Decl_BITFIELDdecl::Decl_BITFIELDdecl (Id x_name
, int x_width
, FieldDefs x_field_names
, FieldLaws x_laws
)
1339 : a_Decl(tag_BITFIELDdecl
), name(x_name
), width(x_width
), field_names(x_field_names
), laws(x_laws
)
1342 a_Decl
* BITFIELDdecl (Id x_name
, int x_width
, FieldDefs x_field_names
, FieldLaws x_laws
)
1344 return new Decl_BITFIELDdecl (x_name
, x_width
, x_field_names
, x_laws
);
1346 Decl_SETLSTMTdecl::Decl_SETLSTMTdecl (Stmt x_SETLSTMTdecl
)
1347 : a_Decl(tag_SETLSTMTdecl
), SETLSTMTdecl(x_SETLSTMTdecl
)
1350 a_Decl
* SETLSTMTdecl (Stmt x_SETLSTMTdecl
)
1352 return new Decl_SETLSTMTdecl (x_SETLSTMTdecl
);
1354 Decl_SETLDEFdecl::Decl_SETLDEFdecl (Def x_SETLDEFdecl
)
1355 : a_Decl(tag_SETLDEFdecl
), SETLDEFdecl(x_SETLDEFdecl
)
1358 a_Decl
* SETLDEFdecl (Def x_SETLDEFdecl
)
1360 return new Decl_SETLDEFdecl (x_SETLDEFdecl
);
1362 Decl_GRAPHREWRITEdecl::Decl_GRAPHREWRITEdecl (Id x_name
, LabTys x_args
, GraphRewritingRules x_rules
)
1363 : a_Decl(tag_GRAPHREWRITEdecl
), name(x_name
), args(x_args
), rules(x_rules
)
1366 a_Decl
* GRAPHREWRITEdecl (Id x_name
, LabTys x_args
, GraphRewritingRules x_rules
)
1368 return new Decl_GRAPHREWRITEdecl (x_name
, x_args
, x_rules
);
1370 Decl_DATAFLOWdecl::Decl_DATAFLOWdecl (Id x_name
)
1371 : a_Decl(tag_DATAFLOWdecl
), name(x_name
)
1374 a_Decl
* DATAFLOWdecl (Id x_name
)
1376 return new Decl_DATAFLOWdecl (x_name
);
1378 Decl_CLASSOFdecl::Decl_CLASSOFdecl (Id x_CLASSOFdecl
)
1379 : a_Decl(tag_CLASSOFdecl
), CLASSOFdecl(x_CLASSOFdecl
)
1382 a_Decl
* CLASSOFdecl (Id x_CLASSOFdecl
)
1384 return new Decl_CLASSOFdecl (x_CLASSOFdecl
);
1386 Decl_TYPEEXPdecl::Decl_TYPEEXPdecl (Ty x_TYPEEXPdecl
)
1387 : a_Decl(tag_TYPEEXPdecl
), TYPEEXPdecl(x_TYPEEXPdecl
)
1390 a_Decl
* TYPEEXPdecl (Ty x_TYPEEXPdecl
)
1392 return new Decl_TYPEEXPdecl (x_TYPEEXPdecl
);
1394 Decl_EXPdecl::Decl_EXPdecl (Exp x_exp
, char const * x_prefix
, char const * x_suffix
)
1395 : a_Decl(tag_EXPdecl
), exp(x_exp
), prefix(x_prefix
), suffix(x_suffix
)
1398 a_Decl
* EXPdecl (Exp x_exp
, char const * x_prefix
, char const * x_suffix
)
1400 return new Decl_EXPdecl (x_exp
, x_prefix
, x_suffix
);
1402 Decl_MARKEDdecl::Decl_MARKEDdecl (Loc x_1
, Decl x_2
)
1403 : a_Decl(tag_MARKEDdecl
), _1(x_1
), _2(x_2
)
1406 a_Decl
* MARKEDdecl (Loc x_1
, Decl x_2
)
1408 return new Decl_MARKEDdecl (x_1
, x_2
);
1412 ///////////////////////////////////////////////////////////////////////////////
1414 // Instantiation of datatype MatchExp
1416 ///////////////////////////////////////////////////////////////////////////////
1417 #line 11 "constr.pcc"
1418 a_MatchExp::a_MatchExp (Exp x_1
, Id x_2
)
1422 a_MatchExp
* MATCHexp (Exp x_1
, Id x_2
)
1424 return new a_MatchExp (x_1
, x_2
);
1428 ///////////////////////////////////////////////////////////////////////////////
1430 // Instantiation of datatype Inherit
1432 ///////////////////////////////////////////////////////////////////////////////
1433 #line 11 "constr.pcc"
1434 a_Inherit::a_Inherit (Ty x_super_class
, Scope x_scope
, TyQual x_qualifiers
)
1435 : super_class(x_super_class
), scope(x_scope
), qualifiers(x_qualifiers
)
1438 a_Inherit
* INHERIT (Ty x_super_class
, Scope x_scope
, TyQual x_qualifiers
)
1440 return new a_Inherit (x_super_class
, x_scope
, x_qualifiers
);
1444 ///////////////////////////////////////////////////////////////////////////////
1446 // Instantiation of datatype Literal
1448 ///////////////////////////////////////////////////////////////////////////////
1449 #line 11 "constr.pcc"
1450 Literal_INTlit::Literal_INTlit (int x_INTlit
)
1451 : a_Literal(tag_INTlit
), INTlit(x_INTlit
)
1454 a_Literal
* INTlit (int x_INTlit
)
1456 return new Literal_INTlit (x_INTlit
);
1458 Literal_BOOLlit::Literal_BOOLlit (Bool x_BOOLlit
)
1459 : a_Literal(tag_BOOLlit
), BOOLlit(x_BOOLlit
)
1462 a_Literal
* BOOLlit (Bool x_BOOLlit
)
1464 return new Literal_BOOLlit (x_BOOLlit
);
1466 Literal_CHARlit::Literal_CHARlit (char x_CHARlit
)
1467 : a_Literal(tag_CHARlit
), CHARlit(x_CHARlit
)
1470 a_Literal
* CHARlit (char x_CHARlit
)
1472 return new Literal_CHARlit (x_CHARlit
);
1474 Literal_REALlit::Literal_REALlit (double x_REALlit
)
1475 : a_Literal(tag_REALlit
), REALlit(x_REALlit
)
1478 a_Literal
* REALlit (double x_REALlit
)
1480 return new Literal_REALlit (x_REALlit
);
1482 Literal_STRINGlit::Literal_STRINGlit (char const * x_STRINGlit
)
1483 : a_Literal(tag_STRINGlit
), STRINGlit(x_STRINGlit
)
1486 a_Literal
* STRINGlit (char const * x_STRINGlit
)
1488 return new Literal_STRINGlit (x_STRINGlit
);
1490 Literal_REGEXPlit::Literal_REGEXPlit (char const * x_REGEXPlit
)
1491 : a_Literal(tag_REGEXPlit
), REGEXPlit(x_REGEXPlit
)
1494 a_Literal
* REGEXPlit (char const * x_REGEXPlit
)
1496 return new Literal_REGEXPlit (x_REGEXPlit
);
1498 Literal_QUARKlit::Literal_QUARKlit (char const * x_QUARKlit
)
1499 : a_Literal(tag_QUARKlit
), QUARKlit(x_QUARKlit
)
1502 a_Literal
* QUARKlit (char const * x_QUARKlit
)
1504 return new Literal_QUARKlit (x_QUARKlit
);
1506 Literal_BIGINTlit::Literal_BIGINTlit (char const * x_BIGINTlit
)
1507 : a_Literal(tag_BIGINTlit
), BIGINTlit(x_BIGINTlit
)
1510 a_Literal
* BIGINTlit (char const * x_BIGINTlit
)
1512 return new Literal_BIGINTlit (x_BIGINTlit
);
1516 ///////////////////////////////////////////////////////////////////////////////
1518 // Instantiation of datatype Cost
1520 ///////////////////////////////////////////////////////////////////////////////
1521 #line 11 "constr.pcc"
1522 Cost_EXPcost::Cost_EXPcost (Exp x_1
, Ty x_2
)
1526 a_Cost
* EXPcost (Exp x_1
, Ty x_2
)
1528 return (a_Cost
*)((unsigned long)(new Cost_EXPcost (x_1
, x_2
))|a_Cost::tag_EXPcost
);
1530 Cost_INTcost::Cost_INTcost (int x_INTcost
)
1531 : INTcost(x_INTcost
)
1534 a_Cost
* INTcost (int x_INTcost
)
1536 return (a_Cost
*)((unsigned long)(new Cost_INTcost (x_INTcost
))|a_Cost::tag_INTcost
);
1540 ///////////////////////////////////////////////////////////////////////////////
1542 // Instantiation of datatype MatchRule
1544 ///////////////////////////////////////////////////////////////////////////////
1545 #line 11 "constr.pcc"
1546 a_MatchRule::a_MatchRule (Id x_1
, Pat x_2
, Exp x_3
, Cost x_4
, a_List
<Decl
> * x_5
)
1547 : _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
), _5(x_5
)
1550 a_MatchRule
* MATCHrule (Id x_1
, Pat x_2
, Exp x_3
, Cost x_4
, a_List
<Decl
> * x_5
)
1552 return new a_MatchRule (x_1
, x_2
, x_3
, x_4
, x_5
);
1556 ///////////////////////////////////////////////////////////////////////////////
1558 // Instantiation of datatype Protocol
1560 ///////////////////////////////////////////////////////////////////////////////
1561 #line 11 "constr.pcc"
1562 a_Protocol::a_Protocol (Ty x_ty
, Ty x_inh
, Ty x_syn
)
1563 : ty(x_ty
), inh(x_inh
), syn(x_syn
)
1566 a_Protocol
* PROTOCOL (Ty x_ty
, Ty x_inh
, Ty x_syn
)
1568 return new a_Protocol (x_ty
, x_inh
, x_syn
);
1572 ///////////////////////////////////////////////////////////////////////////////
1574 // Instantiation of datatype DatatypeDef
1576 ///////////////////////////////////////////////////////////////////////////////
1577 #line 11 "constr.pcc"
1578 a_DatatypeDef::a_DatatypeDef (Id x_1
, TyVars x_2
, Inherits x_3
, TyQual x_4
, TermDefs x_5
, Decls x_6
)
1579 : _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
), _5(x_5
), _6(x_6
)
1582 a_DatatypeDef
* DATATYPEdef (Id x_1
, TyVars x_2
, Inherits x_3
, TyQual x_4
, TermDefs x_5
, Decls x_6
)
1584 return new a_DatatypeDef (x_1
, x_2
, x_3
, x_4
, x_5
, x_6
);
1588 ///////////////////////////////////////////////////////////////////////////////
1590 // Instantiation of datatype TyDef
1592 ///////////////////////////////////////////////////////////////////////////////
1593 #line 11 "constr.pcc"
1594 a_TyDef::a_TyDef (Id x_1
, TyVars x_2
, Ty x_3
, Bool x_4
)
1595 : _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
1598 a_TyDef
* TYdef (Id x_1
, TyVars x_2
, Ty x_3
, Bool x_4
)
1600 return new a_TyDef (x_1
, x_2
, x_3
, x_4
);
1604 ///////////////////////////////////////////////////////////////////////////////
1606 // Instantiation of datatype TermDef
1608 ///////////////////////////////////////////////////////////////////////////////
1609 #line 11 "constr.pcc"
1610 a_TermDef::a_TermDef (Id x_id
, Ty x_ty
, Decls x_decls
, Inherits x_inherits
, Pat x_pat
, PrintFormats x_print_formats
, TyOpt x_opt
, TyQual x_qual
, Exp x_view_predicate
)
1611 : id(x_id
), ty(x_ty
), decls(x_decls
), inherits(x_inherits
), pat(x_pat
), print_formats(x_print_formats
), opt(x_opt
), qual(x_qual
), view_predicate(x_view_predicate
)
1614 a_TermDef
* TERMdef (Id x_id
, Ty x_ty
, Decls x_decls
, Inherits x_inherits
, Pat x_pat
, PrintFormats x_print_formats
, TyOpt x_opt
, TyQual x_qual
, Exp x_view_predicate
)
1616 return new a_TermDef (x_id
, x_ty
, x_decls
, x_inherits
, x_pat
, x_print_formats
, x_opt
, x_qual
, x_view_predicate
);
1620 ///////////////////////////////////////////////////////////////////////////////
1622 // Instantiation of datatype ViewDef
1624 ///////////////////////////////////////////////////////////////////////////////
1625 #line 11 "constr.pcc"
1626 a_ViewDef::a_ViewDef (Pat x_1
, Exp x_2
, a_List
<LabExp
> * x_3
)
1627 : _1(x_1
), _2(x_2
), _3(x_3
)
1630 a_ViewDef
* VIEWdef (Pat x_1
, Exp x_2
, a_List
<LabExp
> * x_3
)
1632 return new a_ViewDef (x_1
, x_2
, x_3
);
1636 ///////////////////////////////////////////////////////////////////////////////
1638 // Instantiation of datatype LawDef
1640 ///////////////////////////////////////////////////////////////////////////////
1641 #line 11 "constr.pcc"
1642 a_LawDef::a_LawDef (Id x_id
, Ids x_args
, Exp x_guard
, Pat x_pat
, Bool x_invert
, Ty x_ty
)
1643 : id(x_id
), args(x_args
), guard(x_guard
), pat(x_pat
), invert(x_invert
), ty(x_ty
)
1646 a_LawDef
* LAWdef (Id x_id
, Ids x_args
, Exp x_guard
, Pat x_pat
, Bool x_invert
, Ty x_ty
)
1648 return new a_LawDef (x_id
, x_args
, x_guard
, x_pat
, x_invert
, x_ty
);
1652 ///////////////////////////////////////////////////////////////////////////////
1654 // Instantiation of datatype FunDef
1656 ///////////////////////////////////////////////////////////////////////////////
1657 #line 11 "constr.pcc"
1658 a_FunDef::a_FunDef (QualId x_1
, Ty x_2
, Ty x_3
, MatchRules x_4
)
1659 : _1(x_1
), _2(x_2
), _3(x_3
), _4(x_4
)
1662 a_FunDef
* FUNdef (QualId x_1
, Ty x_2
, Ty x_3
, MatchRules x_4
)
1664 return new a_FunDef (x_1
, x_2
, x_3
, x_4
);
1668 ///////////////////////////////////////////////////////////////////////////////
1670 // Instantiation of datatype QualId
1672 ///////////////////////////////////////////////////////////////////////////////
1673 #line 11 "constr.pcc"
1674 QualId_NESTEDid::QualId_NESTEDid (Ty x_1
, QualId x_2
)
1678 a_QualId
* NESTEDid (Ty x_1
, QualId x_2
)
1680 return (a_QualId
*)((unsigned long)(new QualId_NESTEDid (x_1
, x_2
))|a_QualId::tag_NESTEDid
);
1682 QualId_SIMPLEid::QualId_SIMPLEid (Id x_SIMPLEid
)
1683 : SIMPLEid(x_SIMPLEid
)
1686 a_QualId
* SIMPLEid (Id x_SIMPLEid
)
1688 return (a_QualId
*)((unsigned long)(new QualId_SIMPLEid (x_SIMPLEid
))|a_QualId::tag_SIMPLEid
);
1692 ///////////////////////////////////////////////////////////////////////////////
1694 // Instantiation of datatype InferenceRule
1696 ///////////////////////////////////////////////////////////////////////////////
1697 #line 11 "constr.pcc"
1698 a_InferenceRule::a_InferenceRule (MatchRules x_1
, Exp x_2
, Conclusions x_3
)
1699 : _1(x_1
), _2(x_2
), _3(x_3
)
1702 a_InferenceRule
* INFERENCErule (MatchRules x_1
, Exp x_2
, Conclusions x_3
)
1704 return new a_InferenceRule (x_1
, x_2
, x_3
);
1708 ///////////////////////////////////////////////////////////////////////////////
1710 // Instantiation of datatype Conclusion
1712 ///////////////////////////////////////////////////////////////////////////////
1713 #line 11 "constr.pcc"
1714 Conclusion_ASSERTaction::Conclusion_ASSERTaction (Exp x_ASSERTaction
)
1715 : ASSERTaction(x_ASSERTaction
)
1718 a_Conclusion
* ASSERTaction (Exp x_ASSERTaction
)
1720 return (a_Conclusion
*)((unsigned long)(new Conclusion_ASSERTaction (x_ASSERTaction
))|a_Conclusion::tag_ASSERTaction
);
1722 Conclusion_RETRACTaction::Conclusion_RETRACTaction (Exp x_RETRACTaction
)
1723 : RETRACTaction(x_RETRACTaction
)
1726 a_Conclusion
* RETRACTaction (Exp x_RETRACTaction
)
1728 return (a_Conclusion
*)((unsigned long)(new Conclusion_RETRACTaction (x_RETRACTaction
))|a_Conclusion::tag_RETRACTaction
);
1730 Conclusion_STMTaction::Conclusion_STMTaction (Decls x_STMTaction
)
1731 : STMTaction(x_STMTaction
)
1734 a_Conclusion
* STMTaction (Decls x_STMTaction
)
1736 return (a_Conclusion
*)((unsigned long)(new Conclusion_STMTaction (x_STMTaction
))|a_Conclusion::tag_STMTaction
);
1740 ///////////////////////////////////////////////////////////////////////////////
1742 // Instantiation of datatype LogicalPat
1744 ///////////////////////////////////////////////////////////////////////////////
1745 #line 11 "constr.pcc"
1748 ///////////////////////////////////////////////////////////////////////////////
1750 // Instantiation of datatype Scope
1752 ///////////////////////////////////////////////////////////////////////////////
1753 #line 11 "constr.pcc"
1756 ///////////////////////////////////////////////////////////////////////////////
1758 // Instantiation of datatype Polarity
1760 ///////////////////////////////////////////////////////////////////////////////
1761 #line 11 "constr.pcc"
1764 ///////////////////////////////////////////////////////////////////////////////
1766 // Instantiation of datatype List<Ty>
1768 ///////////////////////////////////////////////////////////////////////////////
1769 #line 11 "constr.pcc"
1770 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1771 template class a_List
<Ty
>;
1772 template a_List
<Ty
> * list_1_(RewriteIndexing
* x_1
, a_List
<RewriteIndexing
*> * x_2
);
1773 template a_List
<Ty
> * list_1_(RewriteIndexing
* x_list_1_
);
1774 template int boxed(const a_List
<Ty
> *);
1775 template int untag(const a_List
<Ty
> *);
1776 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1778 ///////////////////////////////////////////////////////////////////////////////
1780 // Instantiation of datatype List<Pat>
1782 ///////////////////////////////////////////////////////////////////////////////
1783 #line 11 "constr.pcc"
1784 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1785 template class a_List
<Pat
>;
1786 template a_List
<Pat
> * list_1_(Ty x_1
, a_List
<Ty
> * x_2
);
1787 template a_List
<Pat
> * list_1_(Ty x_list_1_
);
1788 template int boxed(const a_List
<Pat
> *);
1789 template int untag(const a_List
<Pat
> *);
1790 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1792 ///////////////////////////////////////////////////////////////////////////////
1794 // Instantiation of datatype List<Exp>
1796 ///////////////////////////////////////////////////////////////////////////////
1797 #line 11 "constr.pcc"
1798 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1799 template class a_List
<Exp
>;
1800 template a_List
<Exp
> * list_1_(Pat x_1
, a_List
<Pat
> * x_2
);
1801 template a_List
<Exp
> * list_1_(Pat x_list_1_
);
1802 template int boxed(const a_List
<Exp
> *);
1803 template int untag(const a_List
<Exp
> *);
1804 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1806 ///////////////////////////////////////////////////////////////////////////////
1808 // Instantiation of datatype List<Pos>
1810 ///////////////////////////////////////////////////////////////////////////////
1811 #line 11 "constr.pcc"
1812 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1813 template class a_List
<Pos
>;
1814 template a_List
<Pos
> * list_1_(Exp x_1
, a_List
<Exp
> * x_2
);
1815 template a_List
<Pos
> * list_1_(Exp x_list_1_
);
1816 template int boxed(const a_List
<Pos
> *);
1817 template int untag(const a_List
<Pos
> *);
1818 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1820 ///////////////////////////////////////////////////////////////////////////////
1822 // Instantiation of datatype List<Decl>
1824 ///////////////////////////////////////////////////////////////////////////////
1825 #line 11 "constr.pcc"
1826 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1827 template class a_List
<Decl
>;
1828 template a_List
<Decl
> * list_1_(Pos x_1
, a_List
<Pos
> * x_2
);
1829 template a_List
<Decl
> * list_1_(Pos x_list_1_
);
1830 template int boxed(const a_List
<Decl
> *);
1831 template int untag(const a_List
<Decl
> *);
1832 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1834 ///////////////////////////////////////////////////////////////////////////////
1836 // Instantiation of datatype List<Inherit>
1838 ///////////////////////////////////////////////////////////////////////////////
1839 #line 11 "constr.pcc"
1840 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1841 template class a_List
<Inherit
>;
1842 template a_List
<Inherit
> * list_1_(Decl x_1
, a_List
<Decl
> * x_2
);
1843 template a_List
<Inherit
> * list_1_(Decl x_list_1_
);
1844 template int boxed(const a_List
<Inherit
> *);
1845 template int untag(const a_List
<Inherit
> *);
1846 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1848 ///////////////////////////////////////////////////////////////////////////////
1850 // Instantiation of datatype List<MatchExp>
1852 ///////////////////////////////////////////////////////////////////////////////
1853 #line 11 "constr.pcc"
1854 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1855 template class a_List
<MatchExp
>;
1856 template a_List
<MatchExp
> * list_1_(Inherit x_1
, a_List
<Inherit
> * x_2
);
1857 template a_List
<MatchExp
> * list_1_(Inherit x_list_1_
);
1858 template int boxed(const a_List
<MatchExp
> *);
1859 template int untag(const a_List
<MatchExp
> *);
1860 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1862 ///////////////////////////////////////////////////////////////////////////////
1864 // Instantiation of datatype List<MatchRule>
1866 ///////////////////////////////////////////////////////////////////////////////
1867 #line 11 "constr.pcc"
1868 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1869 template class a_List
<MatchRule
>;
1870 template a_List
<MatchRule
> * list_1_(MatchExp x_1
, a_List
<MatchExp
> * x_2
);
1871 template a_List
<MatchRule
> * list_1_(MatchExp x_list_1_
);
1872 template int boxed(const a_List
<MatchRule
> *);
1873 template int untag(const a_List
<MatchRule
> *);
1874 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1876 ///////////////////////////////////////////////////////////////////////////////
1878 // Instantiation of datatype List<Protocol>
1880 ///////////////////////////////////////////////////////////////////////////////
1881 #line 11 "constr.pcc"
1882 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1883 template class a_List
<Protocol
>;
1884 template a_List
<Protocol
> * list_1_(MatchRule x_1
, a_List
<MatchRule
> * x_2
);
1885 template a_List
<Protocol
> * list_1_(MatchRule x_list_1_
);
1886 template int boxed(const a_List
<Protocol
> *);
1887 template int untag(const a_List
<Protocol
> *);
1888 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1890 ///////////////////////////////////////////////////////////////////////////////
1892 // Instantiation of datatype List<DatatypeDef>
1894 ///////////////////////////////////////////////////////////////////////////////
1895 #line 11 "constr.pcc"
1896 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1897 template class a_List
<DatatypeDef
>;
1898 template a_List
<DatatypeDef
> * list_1_(Protocol x_1
, a_List
<Protocol
> * x_2
);
1899 template a_List
<DatatypeDef
> * list_1_(Protocol x_list_1_
);
1900 template int boxed(const a_List
<DatatypeDef
> *);
1901 template int untag(const a_List
<DatatypeDef
> *);
1902 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1904 ///////////////////////////////////////////////////////////////////////////////
1906 // Instantiation of datatype List<TyDef>
1908 ///////////////////////////////////////////////////////////////////////////////
1909 #line 11 "constr.pcc"
1910 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1911 template class a_List
<TyDef
>;
1912 template a_List
<TyDef
> * list_1_(DatatypeDef x_1
, a_List
<DatatypeDef
> * x_2
);
1913 template a_List
<TyDef
> * list_1_(DatatypeDef x_list_1_
);
1914 template int boxed(const a_List
<TyDef
> *);
1915 template int untag(const a_List
<TyDef
> *);
1916 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1918 ///////////////////////////////////////////////////////////////////////////////
1920 // Instantiation of datatype List<TermDef>
1922 ///////////////////////////////////////////////////////////////////////////////
1923 #line 11 "constr.pcc"
1924 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1925 template class a_List
<TermDef
>;
1926 template a_List
<TermDef
> * list_1_(TyDef x_1
, a_List
<TyDef
> * x_2
);
1927 template a_List
<TermDef
> * list_1_(TyDef x_list_1_
);
1928 template int boxed(const a_List
<TermDef
> *);
1929 template int untag(const a_List
<TermDef
> *);
1930 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1932 ///////////////////////////////////////////////////////////////////////////////
1934 // Instantiation of datatype List<ViewDef>
1936 ///////////////////////////////////////////////////////////////////////////////
1937 #line 11 "constr.pcc"
1938 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1939 template class a_List
<ViewDef
>;
1940 template a_List
<ViewDef
> * list_1_(TermDef x_1
, a_List
<TermDef
> * x_2
);
1941 template a_List
<ViewDef
> * list_1_(TermDef x_list_1_
);
1942 template int boxed(const a_List
<ViewDef
> *);
1943 template int untag(const a_List
<ViewDef
> *);
1944 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1946 ///////////////////////////////////////////////////////////////////////////////
1948 // Instantiation of datatype List<LawDef>
1950 ///////////////////////////////////////////////////////////////////////////////
1951 #line 11 "constr.pcc"
1952 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1953 template class a_List
<LawDef
>;
1954 template a_List
<LawDef
> * list_1_(ViewDef x_1
, a_List
<ViewDef
> * x_2
);
1955 template a_List
<LawDef
> * list_1_(ViewDef x_list_1_
);
1956 template int boxed(const a_List
<LawDef
> *);
1957 template int untag(const a_List
<LawDef
> *);
1958 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1960 ///////////////////////////////////////////////////////////////////////////////
1962 // Instantiation of datatype List<FunDef>
1964 ///////////////////////////////////////////////////////////////////////////////
1965 #line 11 "constr.pcc"
1966 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1967 template class a_List
<FunDef
>;
1968 template a_List
<FunDef
> * list_1_(LawDef x_1
, a_List
<LawDef
> * x_2
);
1969 template a_List
<FunDef
> * list_1_(LawDef x_list_1_
);
1970 template int boxed(const a_List
<FunDef
> *);
1971 template int untag(const a_List
<FunDef
> *);
1972 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1974 ///////////////////////////////////////////////////////////////////////////////
1976 // Instantiation of datatype List<QualId>
1978 ///////////////////////////////////////////////////////////////////////////////
1979 #line 11 "constr.pcc"
1980 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1981 template class a_List
<QualId
>;
1982 template a_List
<QualId
> * list_1_(FunDef x_1
, a_List
<FunDef
> * x_2
);
1983 template a_List
<QualId
> * list_1_(FunDef x_list_1_
);
1984 template int boxed(const a_List
<QualId
> *);
1985 template int untag(const a_List
<QualId
> *);
1986 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
1988 ///////////////////////////////////////////////////////////////////////////////
1990 // Instantiation of datatype List<InferenceRule>
1992 ///////////////////////////////////////////////////////////////////////////////
1993 #line 11 "constr.pcc"
1994 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
1995 template class a_List
<InferenceRule
>;
1996 template a_List
<InferenceRule
> * list_1_(QualId x_1
, a_List
<QualId
> * x_2
);
1997 template a_List
<InferenceRule
> * list_1_(QualId x_list_1_
);
1998 template int boxed(const a_List
<InferenceRule
> *);
1999 template int untag(const a_List
<InferenceRule
> *);
2000 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
2002 ///////////////////////////////////////////////////////////////////////////////
2004 // Instantiation of datatype List<Conclusion>
2006 ///////////////////////////////////////////////////////////////////////////////
2007 #line 11 "constr.pcc"
2008 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
2009 template class a_List
<Conclusion
>;
2010 template a_List
<Conclusion
> * list_1_(InferenceRule x_1
, a_List
<InferenceRule
> * x_2
);
2011 template a_List
<Conclusion
> * list_1_(InferenceRule x_list_1_
);
2012 template int boxed(const a_List
<Conclusion
> *);
2013 template int untag(const a_List
<Conclusion
> *);
2014 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
2016 ///////////////////////////////////////////////////////////////////////////////
2018 // Instantiation of datatype List<Scope>
2020 ///////////////////////////////////////////////////////////////////////////////
2021 #line 11 "constr.pcc"
2022 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
2023 template class a_List
<Scope
>;
2024 template a_List
<Scope
> * list_1_(Conclusion x_1
, a_List
<Conclusion
> * x_2
);
2025 template a_List
<Scope
> * list_1_(Conclusion x_list_1_
);
2026 template int boxed(const a_List
<Scope
> *);
2027 template int untag(const a_List
<Scope
> *);
2028 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
2030 ///////////////////////////////////////////////////////////////////////////////
2032 // Instantiation of datatype Pid
2034 ///////////////////////////////////////////////////////////////////////////////
2035 #line 11 "constr.pcc"
2036 a_Pid::a_Pid (char const * x_PERSISTid
)
2037 : PERSISTid(x_PERSISTid
)
2040 a_Pid
* PERSISTid (char const * x_PERSISTid
)
2042 return new a_Pid (x_PERSISTid
);
2046 ///////////////////////////////////////////////////////////////////////////////
2048 // Instantiation of datatype Pair<Id, Tys>
2050 ///////////////////////////////////////////////////////////////////////////////
2051 #line 11 "constr.pcc"
2052 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
2053 template class a_Pair
<Id
, Tys
>;
2054 template a_Pair
<Id
, Tys
> * pair(Id x_fst
, Tys x_snd
);
2055 template int boxed(const a_Pair
<Id
, Tys
> *);
2056 template int untag(const a_Pair
<Id
, Tys
> *);
2057 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
2059 ///////////////////////////////////////////////////////////////////////////////
2061 // Instantiation of datatype Generator
2063 ///////////////////////////////////////////////////////////////////////////////
2064 #line 11 "constr.pcc"
2065 a_Generator::a_Generator (Pat x_pat
, Exp x_guard
, Exp x_exp
)
2066 : pat(x_pat
), guard(x_guard
), exp(x_exp
)
2069 a_Generator
* GENERATOR (Pat x_pat
, Exp x_guard
, Exp x_exp
)
2071 return new a_Generator (x_pat
, x_guard
, x_exp
);
2075 ///////////////////////////////////////////////////////////////////////////////
2077 // Instantiation of datatype List<Generator>
2079 ///////////////////////////////////////////////////////////////////////////////
2080 #line 11 "constr.pcc"
2081 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
2082 template class a_List
<Generator
>;
2083 template a_List
<Generator
> * list_1_(Scope x_1
, a_List
<Scope
> * x_2
);
2084 template a_List
<Generator
> * list_1_(Scope x_list_1_
);
2085 template int boxed(const a_List
<Generator
> *);
2086 template int untag(const a_List
<Generator
> *);
2087 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
2089 ///////////////////////////////////////////////////////////////////////////////
2091 // Instantiation of datatype List<RewriteIndexing *>
2093 ///////////////////////////////////////////////////////////////////////////////
2094 #line 11 "constr.pcc"
2095 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
2096 template class a_List
<RewriteIndexing
*>;
2097 template a_List
<RewriteIndexing
*> * list_1_(Generator x_1
, a_List
<Generator
> * x_2
);
2098 template a_List
<RewriteIndexing
*> * list_1_(Generator x_list_1_
);
2099 template int boxed(const a_List
<RewriteIndexing
*> *);
2100 template int untag(const a_List
<RewriteIndexing
*> *);
2101 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
2103 #line 22 "constr.pcc"
2104 #line 22 "constr.pcc"
2106 #line 23 "constr.pcc"
2108 ------------------------------- Statistics -------------------------------
2109 Merge matching rules = yes
2110 Number of DFA nodes merged = 0
2111 Number of ifs generated = 0
2112 Number of switches generated = 0
2113 Number of labels = 0
2115 Adaptive matching = enabled
2116 Fast string matching = disabled
2117 Inline downcasts = enabled
2118 --------------------------------------------------------------------------