ignore .lib and .exe
[prop.git] / prop-src / collection.cc
blob4c5f9296a686ecc7e88938b89d8f51f56fe4b4da
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 "collection.pcc".
5 ///////////////////////////////////////////////////////////////////////////////
7 #line 1 "collection.pcc"
8 ///////////////////////////////////////////////////////////////////////////////
9 //
10 // This file implements the analysis and type inference methods for
11 // SETL-style collection types.
13 ///////////////////////////////////////////////////////////////////////////////
14 #include <iostream>
15 #include "collection.h"
16 #include "type.h"
18 ///////////////////////////////////////////////////////////////////////////////
20 // Instantiate the collection type descriptor.
22 ///////////////////////////////////////////////////////////////////////////////
23 #line 16 "collection.pcc"
24 #line 16 "collection.pcc"
25 ///////////////////////////////////////////////////////////////////////////////
27 // Interface specification of datatype CollectionDesc
29 ///////////////////////////////////////////////////////////////////////////////
30 #line 16 "collection.pcc"
33 ///////////////////////////////////////////////////////////////////////////////
35 // Interface specification of datatype List<CollectionDesc>
37 ///////////////////////////////////////////////////////////////////////////////
38 #line 16 "collection.pcc"
41 ///////////////////////////////////////////////////////////////////////////////
43 // Instantiation of datatype CollectionDesc
45 ///////////////////////////////////////////////////////////////////////////////
46 #line 16 "collection.pcc"
47 a_CollectionDesc::a_CollectionDesc (Id x_name, CollectionAttrib x_attrib, CollectionRep x_rep)
48 : name(x_name), attrib(x_attrib), rep(x_rep)
51 a_CollectionDesc * COLdesc (Id x_name, CollectionAttrib x_attrib, CollectionRep x_rep)
53 return new a_CollectionDesc (x_name, x_attrib, x_rep);
57 ///////////////////////////////////////////////////////////////////////////////
59 // Instantiation of datatype List<CollectionDesc>
61 ///////////////////////////////////////////////////////////////////////////////
62 #line 16 "collection.pcc"
63 #ifdef PROP_EXPLICIT_TEMPLATE_INSTANTIATION
64 template class a_List<CollectionDesc>;
65 template a_List<CollectionDesc> * list_1_(CollectionDesc x_1, a_List<CollectionDesc> * x_2);
66 template a_List<CollectionDesc> * list_1_(CollectionDesc x_list_1_);
67 template int boxed(const a_List<CollectionDesc> *);
68 template int untag(const a_List<CollectionDesc> *);
69 #endif /* PROP_EXPLICIT_TEMPLATE_INSTANTIATION */
71 #line 16 "collection.pcc"
72 #line 16 "collection.pcc"
75 ///////////////////////////////////////////////////////////////////////////////
77 // Functions for constructing some SETL-like type constructors.
79 ///////////////////////////////////////////////////////////////////////////////
80 Ty mklistty (Ty a)
81 { return TYCONty(COLtycon(
82 #line 24 "collection.pcc"
83 #line 24 "collection.pcc"
84 COLdesc("list", COLLECTION_NONE, REP_none)
85 #line 24 "collection.pcc"
86 #line 24 "collection.pcc"
87 ),
88 #line 24 "collection.pcc"
89 #line 24 "collection.pcc"
90 list_1_(a)
91 #line 24 "collection.pcc"
92 #line 24 "collection.pcc"
93 ); }
95 Ty mksetty (Ty a)
96 { return TYCONty(COLtycon(
97 #line 27 "collection.pcc"
98 #line 27 "collection.pcc"
99 COLdesc("set", COLLECTION_NONE, REP_none)
100 #line 27 "collection.pcc"
101 #line 27 "collection.pcc"
103 #line 27 "collection.pcc"
104 #line 27 "collection.pcc"
105 list_1_(a)
106 #line 27 "collection.pcc"
107 #line 27 "collection.pcc"
108 ); }
110 Ty mkbagty (Ty a)
111 { return TYCONty(COLtycon(
112 #line 30 "collection.pcc"
113 #line 30 "collection.pcc"
114 COLdesc("bag", COLLECTION_NONE, REP_none)
115 #line 30 "collection.pcc"
116 #line 30 "collection.pcc"
118 #line 30 "collection.pcc"
119 #line 30 "collection.pcc"
120 list_1_(a)
121 #line 30 "collection.pcc"
122 #line 30 "collection.pcc"
123 ); }
125 Ty mkmapty (Ty a, Ty b)
126 { return TYCONty(COLtycon(
127 #line 33 "collection.pcc"
128 #line 33 "collection.pcc"
129 COLdesc("bag", COLLECTION_NONE, REP_none)
130 #line 33 "collection.pcc"
131 #line 33 "collection.pcc"
133 #line 33 "collection.pcc"
134 #line 33 "collection.pcc"
135 list_1_(a,list_1_(b))
136 #line 33 "collection.pcc"
137 #line 33 "collection.pcc"
138 ); }
140 Ty mkmultimapty (Ty a, Ty b)
141 { return TYCONty(COLtycon(
142 #line 36 "collection.pcc"
143 #line 36 "collection.pcc"
144 COLdesc("bag", COLLECTION_NONE, REP_none)
145 #line 36 "collection.pcc"
146 #line 36 "collection.pcc"
148 #line 36 "collection.pcc"
149 #line 36 "collection.pcc"
150 list_1_(a,list_1_(b))
151 #line 36 "collection.pcc"
152 #line 36 "collection.pcc"
153 ); }
155 Ty mkqueuety (Ty a)
156 { return TYCONty(COLtycon(
157 #line 39 "collection.pcc"
158 #line 39 "collection.pcc"
159 COLdesc("bag", COLLECTION_NONE, REP_none)
160 #line 39 "collection.pcc"
161 #line 39 "collection.pcc"
163 #line 39 "collection.pcc"
164 #line 39 "collection.pcc"
165 list_1_(a)
166 #line 39 "collection.pcc"
167 #line 39 "collection.pcc"
168 ); }
170 Ty mkpriqueuety (Ty a)
171 { return TYCONty(COLtycon(
172 #line 42 "collection.pcc"
173 #line 42 "collection.pcc"
174 COLdesc("bag", COLLECTION_NONE, REP_none)
175 #line 42 "collection.pcc"
176 #line 42 "collection.pcc"
178 #line 42 "collection.pcc"
179 #line 42 "collection.pcc"
180 list_1_(a)
181 #line 42 "collection.pcc"
182 #line 42 "collection.pcc"
183 ); }
185 Ty mkdequety (Ty a)
186 { return TYCONty(COLtycon(
187 #line 45 "collection.pcc"
188 #line 45 "collection.pcc"
189 COLdesc("bag", COLLECTION_NONE, REP_none)
190 #line 45 "collection.pcc"
191 #line 45 "collection.pcc"
193 #line 45 "collection.pcc"
194 #line 45 "collection.pcc"
195 list_1_(a)
196 #line 45 "collection.pcc"
197 #line 45 "collection.pcc"
198 ); }
200 #line 47 "collection.pcc"
202 ------------------------------- Statistics -------------------------------
203 Merge matching rules = yes
204 Number of DFA nodes merged = 0
205 Number of ifs generated = 0
206 Number of switches generated = 0
207 Number of labels = 0
208 Number of gotos = 0
209 Adaptive matching = enabled
210 Fast string matching = disabled
211 Inline downcasts = enabled
212 --------------------------------------------------------------------------