gcc config
[prop.git] / prop-src / constr.cc
blobb5b1fde92deee73fced3d025cff6927bc71885a0
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 ///////////////////////////////////////////////////////////////////////////////
7 #line 1 "constr.pcc"
8 ///////////////////////////////////////////////////////////////////////////////
9 //
10 // This file simply instantiates all the datatypes used in the Prop -> C++
11 // translator.
13 ///////////////////////////////////////////////////////////////////////////////
14 #include "ir.h"
15 #include "ast.h"
16 #include "matchcom.h"
18 #line 11 "constr.pcc"
19 #line 11 "constr.pcc"
20 ///////////////////////////////////////////////////////////////////////////////
22 // Interface specification of datatype Ty
24 ///////////////////////////////////////////////////////////////////////////////
25 #line 11 "constr.pcc"
28 ///////////////////////////////////////////////////////////////////////////////
30 // Interface specification of datatype TyCon
32 ///////////////////////////////////////////////////////////////////////////////
33 #line 11 "constr.pcc"
36 ///////////////////////////////////////////////////////////////////////////////
38 // Interface specification of datatype Pat
40 ///////////////////////////////////////////////////////////////////////////////
41 #line 11 "constr.pcc"
44 ///////////////////////////////////////////////////////////////////////////////
46 // Interface specification of datatype Exp
48 ///////////////////////////////////////////////////////////////////////////////
49 #line 11 "constr.pcc"
52 ///////////////////////////////////////////////////////////////////////////////
54 // Interface specification of datatype Cons
56 ///////////////////////////////////////////////////////////////////////////////
57 #line 11 "constr.pcc"
60 ///////////////////////////////////////////////////////////////////////////////
62 // Interface specification of datatype Pos
64 ///////////////////////////////////////////////////////////////////////////////
65 #line 11 "constr.pcc"
68 ///////////////////////////////////////////////////////////////////////////////
70 // Interface specification of datatype Match
72 ///////////////////////////////////////////////////////////////////////////////
73 #line 11 "constr.pcc"
76 ///////////////////////////////////////////////////////////////////////////////
78 // Interface specification of datatype Decl
80 ///////////////////////////////////////////////////////////////////////////////
81 #line 11 "constr.pcc"
84 ///////////////////////////////////////////////////////////////////////////////
86 // Interface specification of datatype MatchExp
88 ///////////////////////////////////////////////////////////////////////////////
89 #line 11 "constr.pcc"
92 ///////////////////////////////////////////////////////////////////////////////
94 // Interface specification of datatype Inherit
96 ///////////////////////////////////////////////////////////////////////////////
97 #line 11 "constr.pcc"
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 ()
571 : a_Pat(tag_WILDpat)
574 a_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)
1075 : _1(x_1), _2(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)
1083 : _1(x_1), _2(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)
1419 : _1(x_1), _2(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)
1523 : _1(x_1), _2(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)
1675 : _1(x_1), _2(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
2114 Number of gotos = 0
2115 Adaptive matching = enabled
2116 Fast string matching = disabled
2117 Inline downcasts = enabled
2118 --------------------------------------------------------------------------