Compare View
Commits (5)
-
new action load(FILE)
-
one more example.
Showing
5 changed files
Show diff stats
@@ -0,0 +1,1282 @@ | @@ -0,0 +1,1282 @@ | ||
1 | +_ > []. | ||
2 | +_T > [[]|_T]. | ||
3 | +[X|_T] > [preds(X)|_T]. | ||
4 | +_T > [[]|_T]. | ||
5 | +_T > [int|_T]. | ||
6 | +_T > ['X_INTRODUCED_42'|_T]. | ||
7 | +_T > [[]|_T]. | ||
8 | +_T > [lit(1,int)|_T]. | ||
9 | +_T > [lit(-1,int)|_T]. | ||
10 | +[E|_T] > [[E]|_T]. | ||
11 | +[T,H|_T] > [[H|T]|_T]. | ||
12 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
13 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,2), VAL, AN)|_T]. | ||
14 | +[H,T|_T] > [[H|T]|_T]. | ||
15 | +_T > [int|_T]. | ||
16 | +_T > ['X_INTRODUCED_45'|_T]. | ||
17 | +_T > [[]|_T]. | ||
18 | +_T > [lit(1,int)|_T]. | ||
19 | +_T > [lit(-1,int)|_T]. | ||
20 | +_T > [lit(1,int)|_T]. | ||
21 | +[E|_T] > [[E]|_T]. | ||
22 | +[T,H|_T] > [[H|T]|_T]. | ||
23 | +[T,H|_T] > [[H|T]|_T]. | ||
24 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
25 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,3), VAL, AN)|_T]. | ||
26 | +[H,T|_T] > [[H|T]|_T]. | ||
27 | +_T > [int|_T]. | ||
28 | +_T > ['X_INTRODUCED_70'|_T]. | ||
29 | +_T > [[]|_T]. | ||
30 | +_T > [lit(1,int)|_T]. | ||
31 | +_T > [lit(1,int)|_T]. | ||
32 | +_T > [lit(-1,int)|_T]. | ||
33 | +_T > [lit(-1,int)|_T]. | ||
34 | +[E|_T] > [[E]|_T]. | ||
35 | +[T,H|_T] > [[H|T]|_T]. | ||
36 | +[T,H|_T] > [[H|T]|_T]. | ||
37 | +[T,H|_T] > [[H|T]|_T]. | ||
38 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
39 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,4), VAL, AN)|_T]. | ||
40 | +[H,T|_T] > [[H|T]|_T]. | ||
41 | +_T > [int(1,6)|_T]. | ||
42 | +_T > ['X_INTRODUCED_0'|_T]. | ||
43 | +_T > [[]|_T]. | ||
44 | +_T > [[]|_T]. | ||
45 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
46 | +[H,T|_T] > [[H|T]|_T]. | ||
47 | +_T > [int(1,6)|_T]. | ||
48 | +_T > ['X_INTRODUCED_1'|_T]. | ||
49 | +_T > [[]|_T]. | ||
50 | +_T > [[]|_T]. | ||
51 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
52 | +[H,T|_T] > [[H|T]|_T]. | ||
53 | +_T > [int(1,6)|_T]. | ||
54 | +_T > ['X_INTRODUCED_2'|_T]. | ||
55 | +_T > [[]|_T]. | ||
56 | +_T > [[]|_T]. | ||
57 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
58 | +[H,T|_T] > [[H|T]|_T]. | ||
59 | +_T > [int(1,6)|_T]. | ||
60 | +_T > ['X_INTRODUCED_3'|_T]. | ||
61 | +_T > [[]|_T]. | ||
62 | +_T > [[]|_T]. | ||
63 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
64 | +[H,T|_T] > [[H|T]|_T]. | ||
65 | +_T > [int(1,6)|_T]. | ||
66 | +_T > ['X_INTRODUCED_4'|_T]. | ||
67 | +_T > [[]|_T]. | ||
68 | +_T > [[]|_T]. | ||
69 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
70 | +[H,T|_T] > [[H|T]|_T]. | ||
71 | +_T > [int(1,6)|_T]. | ||
72 | +_T > ['X_INTRODUCED_5'|_T]. | ||
73 | +_T > [[]|_T]. | ||
74 | +_T > [[]|_T]. | ||
75 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
76 | +[H,T|_T] > [[H|T]|_T]. | ||
77 | +_T > [[5]|_T]. | ||
78 | +[Ls|_T] > [[4|Ls]|_T]. | ||
79 | +[Ls|_T] > [[3|Ls]|_T]. | ||
80 | +[Ls|_T] > [[2|Ls]|_T]. | ||
81 | +[Ls|_T] > [[1|Ls]|_T]. | ||
82 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
83 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
84 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
85 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
86 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
87 | +[Ls|_T] > [int(Ls)|_T]. | ||
88 | +_T > ['X_INTRODUCED_7'|_T]. | ||
89 | +_T > [id('is_defined_var')|_T]. | ||
90 | +_T > [[]|_T]. | ||
91 | +[As, E|_T] > [[E|As]|_T]. | ||
92 | +_T > [[]|_T]. | ||
93 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
94 | +[H,T|_T] > [[H|T]|_T]. | ||
95 | +_T > [[5]|_T]. | ||
96 | +[Ls|_T] > [[4|Ls]|_T]. | ||
97 | +[Ls|_T] > [[3|Ls]|_T]. | ||
98 | +[Ls|_T] > [[2|Ls]|_T]. | ||
99 | +[Ls|_T] > [[1|Ls]|_T]. | ||
100 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
101 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
102 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
103 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
104 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
105 | +[Ls|_T] > [int(Ls)|_T]. | ||
106 | +_T > ['X_INTRODUCED_8'|_T]. | ||
107 | +_T > [id('is_defined_var')|_T]. | ||
108 | +_T > [[]|_T]. | ||
109 | +[As, E|_T] > [[E|As]|_T]. | ||
110 | +_T > [[]|_T]. | ||
111 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
112 | +[H,T|_T] > [[H|T]|_T]. | ||
113 | +_T > [[5]|_T]. | ||
114 | +[Ls|_T] > [[4|Ls]|_T]. | ||
115 | +[Ls|_T] > [[3|Ls]|_T]. | ||
116 | +[Ls|_T] > [[2|Ls]|_T]. | ||
117 | +[Ls|_T] > [[1|Ls]|_T]. | ||
118 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
119 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
120 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
121 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
122 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
123 | +[Ls|_T] > [int(Ls)|_T]. | ||
124 | +_T > ['X_INTRODUCED_9'|_T]. | ||
125 | +_T > [id('is_defined_var')|_T]. | ||
126 | +_T > [[]|_T]. | ||
127 | +[As, E|_T] > [[E|As]|_T]. | ||
128 | +_T > [[]|_T]. | ||
129 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
130 | +[H,T|_T] > [[H|T]|_T]. | ||
131 | +_T > [[5]|_T]. | ||
132 | +[Ls|_T] > [[4|Ls]|_T]. | ||
133 | +[Ls|_T] > [[3|Ls]|_T]. | ||
134 | +[Ls|_T] > [[2|Ls]|_T]. | ||
135 | +[Ls|_T] > [[1|Ls]|_T]. | ||
136 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
137 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
138 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
139 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
140 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
141 | +[Ls|_T] > [int(Ls)|_T]. | ||
142 | +_T > ['X_INTRODUCED_10'|_T]. | ||
143 | +_T > [id('is_defined_var')|_T]. | ||
144 | +_T > [[]|_T]. | ||
145 | +[As, E|_T] > [[E|As]|_T]. | ||
146 | +_T > [[]|_T]. | ||
147 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
148 | +[H,T|_T] > [[H|T]|_T]. | ||
149 | +_T > [[5]|_T]. | ||
150 | +[Ls|_T] > [[4|Ls]|_T]. | ||
151 | +[Ls|_T] > [[3|Ls]|_T]. | ||
152 | +[Ls|_T] > [[2|Ls]|_T]. | ||
153 | +[Ls|_T] > [[1|Ls]|_T]. | ||
154 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
155 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
156 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
157 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
158 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
159 | +[Ls|_T] > [int(Ls)|_T]. | ||
160 | +_T > ['X_INTRODUCED_11'|_T]. | ||
161 | +_T > [id('is_defined_var')|_T]. | ||
162 | +_T > [[]|_T]. | ||
163 | +[As, E|_T] > [[E|As]|_T]. | ||
164 | +_T > [[]|_T]. | ||
165 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
166 | +[H,T|_T] > [[H|T]|_T]. | ||
167 | +_T > [[5]|_T]. | ||
168 | +[Ls|_T] > [[4|Ls]|_T]. | ||
169 | +[Ls|_T] > [[3|Ls]|_T]. | ||
170 | +[Ls|_T] > [[2|Ls]|_T]. | ||
171 | +[Ls|_T] > [[1|Ls]|_T]. | ||
172 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
173 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
174 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
175 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
176 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
177 | +[Ls|_T] > [int(Ls)|_T]. | ||
178 | +_T > ['X_INTRODUCED_14'|_T]. | ||
179 | +_T > [id('is_defined_var')|_T]. | ||
180 | +_T > [[]|_T]. | ||
181 | +[As, E|_T] > [[E|As]|_T]. | ||
182 | +_T > [[]|_T]. | ||
183 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
184 | +[H,T|_T] > [[H|T]|_T]. | ||
185 | +_T > [[5]|_T]. | ||
186 | +[Ls|_T] > [[4|Ls]|_T]. | ||
187 | +[Ls|_T] > [[3|Ls]|_T]. | ||
188 | +[Ls|_T] > [[2|Ls]|_T]. | ||
189 | +[Ls|_T] > [[1|Ls]|_T]. | ||
190 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
191 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
192 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
193 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
194 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
195 | +[Ls|_T] > [int(Ls)|_T]. | ||
196 | +_T > ['X_INTRODUCED_15'|_T]. | ||
197 | +_T > [id('is_defined_var')|_T]. | ||
198 | +_T > [[]|_T]. | ||
199 | +[As, E|_T] > [[E|As]|_T]. | ||
200 | +_T > [[]|_T]. | ||
201 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
202 | +[H,T|_T] > [[H|T]|_T]. | ||
203 | +_T > [[5]|_T]. | ||
204 | +[Ls|_T] > [[4|Ls]|_T]. | ||
205 | +[Ls|_T] > [[3|Ls]|_T]. | ||
206 | +[Ls|_T] > [[2|Ls]|_T]. | ||
207 | +[Ls|_T] > [[1|Ls]|_T]. | ||
208 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
209 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
210 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
211 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
212 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
213 | +[Ls|_T] > [int(Ls)|_T]. | ||
214 | +_T > ['X_INTRODUCED_16'|_T]. | ||
215 | +_T > [id('is_defined_var')|_T]. | ||
216 | +_T > [[]|_T]. | ||
217 | +[As, E|_T] > [[E|As]|_T]. | ||
218 | +_T > [[]|_T]. | ||
219 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
220 | +[H,T|_T] > [[H|T]|_T]. | ||
221 | +_T > [[5]|_T]. | ||
222 | +[Ls|_T] > [[4|Ls]|_T]. | ||
223 | +[Ls|_T] > [[3|Ls]|_T]. | ||
224 | +[Ls|_T] > [[2|Ls]|_T]. | ||
225 | +[Ls|_T] > [[1|Ls]|_T]. | ||
226 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
227 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
228 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
229 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
230 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
231 | +[Ls|_T] > [int(Ls)|_T]. | ||
232 | +_T > ['X_INTRODUCED_17'|_T]. | ||
233 | +_T > [id('is_defined_var')|_T]. | ||
234 | +_T > [[]|_T]. | ||
235 | +[As, E|_T] > [[E|As]|_T]. | ||
236 | +_T > [[]|_T]. | ||
237 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
238 | +[H,T|_T] > [[H|T]|_T]. | ||
239 | +_T > [[5]|_T]. | ||
240 | +[Ls|_T] > [[4|Ls]|_T]. | ||
241 | +[Ls|_T] > [[3|Ls]|_T]. | ||
242 | +[Ls|_T] > [[2|Ls]|_T]. | ||
243 | +[Ls|_T] > [[1|Ls]|_T]. | ||
244 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
245 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
246 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
247 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
248 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
249 | +[Ls|_T] > [int(Ls)|_T]. | ||
250 | +_T > ['X_INTRODUCED_21'|_T]. | ||
251 | +_T > [id('is_defined_var')|_T]. | ||
252 | +_T > [[]|_T]. | ||
253 | +[As, E|_T] > [[E|As]|_T]. | ||
254 | +_T > [[]|_T]. | ||
255 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
256 | +[H,T|_T] > [[H|T]|_T]. | ||
257 | +_T > [[5]|_T]. | ||
258 | +[Ls|_T] > [[4|Ls]|_T]. | ||
259 | +[Ls|_T] > [[3|Ls]|_T]. | ||
260 | +[Ls|_T] > [[2|Ls]|_T]. | ||
261 | +[Ls|_T] > [[1|Ls]|_T]. | ||
262 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
263 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
264 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
265 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
266 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
267 | +[Ls|_T] > [int(Ls)|_T]. | ||
268 | +_T > ['X_INTRODUCED_22'|_T]. | ||
269 | +_T > [id('is_defined_var')|_T]. | ||
270 | +_T > [[]|_T]. | ||
271 | +[As, E|_T] > [[E|As]|_T]. | ||
272 | +_T > [[]|_T]. | ||
273 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
274 | +[H,T|_T] > [[H|T]|_T]. | ||
275 | +_T > [[5]|_T]. | ||
276 | +[Ls|_T] > [[4|Ls]|_T]. | ||
277 | +[Ls|_T] > [[3|Ls]|_T]. | ||
278 | +[Ls|_T] > [[2|Ls]|_T]. | ||
279 | +[Ls|_T] > [[1|Ls]|_T]. | ||
280 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
281 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
282 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
283 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
284 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
285 | +[Ls|_T] > [int(Ls)|_T]. | ||
286 | +_T > ['X_INTRODUCED_23'|_T]. | ||
287 | +_T > [id('is_defined_var')|_T]. | ||
288 | +_T > [[]|_T]. | ||
289 | +[As, E|_T] > [[E|As]|_T]. | ||
290 | +_T > [[]|_T]. | ||
291 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
292 | +[H,T|_T] > [[H|T]|_T]. | ||
293 | +_T > [[5]|_T]. | ||
294 | +[Ls|_T] > [[4|Ls]|_T]. | ||
295 | +[Ls|_T] > [[3|Ls]|_T]. | ||
296 | +[Ls|_T] > [[2|Ls]|_T]. | ||
297 | +[Ls|_T] > [[1|Ls]|_T]. | ||
298 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
299 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
300 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
301 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
302 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
303 | +[Ls|_T] > [int(Ls)|_T]. | ||
304 | +_T > ['X_INTRODUCED_28'|_T]. | ||
305 | +_T > [id('is_defined_var')|_T]. | ||
306 | +_T > [[]|_T]. | ||
307 | +[As, E|_T] > [[E|As]|_T]. | ||
308 | +_T > [[]|_T]. | ||
309 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
310 | +[H,T|_T] > [[H|T]|_T]. | ||
311 | +_T > [[5]|_T]. | ||
312 | +[Ls|_T] > [[4|Ls]|_T]. | ||
313 | +[Ls|_T] > [[3|Ls]|_T]. | ||
314 | +[Ls|_T] > [[2|Ls]|_T]. | ||
315 | +[Ls|_T] > [[1|Ls]|_T]. | ||
316 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
317 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
318 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
319 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
320 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
321 | +[Ls|_T] > [int(Ls)|_T]. | ||
322 | +_T > ['X_INTRODUCED_29'|_T]. | ||
323 | +_T > [id('is_defined_var')|_T]. | ||
324 | +_T > [[]|_T]. | ||
325 | +[As, E|_T] > [[E|As]|_T]. | ||
326 | +_T > [[]|_T]. | ||
327 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
328 | +[H,T|_T] > [[H|T]|_T]. | ||
329 | +_T > [[5]|_T]. | ||
330 | +[Ls|_T] > [[4|Ls]|_T]. | ||
331 | +[Ls|_T] > [[3|Ls]|_T]. | ||
332 | +[Ls|_T] > [[2|Ls]|_T]. | ||
333 | +[Ls|_T] > [[1|Ls]|_T]. | ||
334 | +[Ls|_T] > [[-1|Ls]|_T]. | ||
335 | +[Ls|_T] > [[-2|Ls]|_T]. | ||
336 | +[Ls|_T] > [[-3|Ls]|_T]. | ||
337 | +[Ls|_T] > [[-4|Ls]|_T]. | ||
338 | +[Ls|_T] > [[-5|Ls]|_T]. | ||
339 | +[Ls|_T] > [int(Ls)|_T]. | ||
340 | +_T > ['X_INTRODUCED_35'|_T]. | ||
341 | +_T > [id('is_defined_var')|_T]. | ||
342 | +_T > [[]|_T]. | ||
343 | +[As, E|_T] > [[E|As]|_T]. | ||
344 | +_T > [[]|_T]. | ||
345 | +[VAL,AN,ID,T|_T] > [var(ID, T, VAL, AN)|_T]. | ||
346 | +[H,T|_T] > [[H|T]|_T]. | ||
347 | +_T > [int(1,6)|_T]. | ||
348 | +_T > ['costas'|_T]. | ||
349 | +_T > [lit([1, 2, 3, 4, 5, 6], set(int))|_T]. | ||
350 | +[E|_T] > [[E]|_T]. | ||
351 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
352 | +[E|_T] > [[E]|_T]. | ||
353 | +_T > [[]|_T]. | ||
354 | +[As, E|_T] > [[E|As]|_T]. | ||
355 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
356 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
357 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
358 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
359 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
360 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
361 | +[E|_T] > [[E]|_T]. | ||
362 | +[T,H|_T] > [[H|T]|_T]. | ||
363 | +[T,H|_T] > [[H|T]|_T]. | ||
364 | +[T,H|_T] > [[H|T]|_T]. | ||
365 | +[T,H|_T] > [[H|T]|_T]. | ||
366 | +[T,H|_T] > [[H|T]|_T]. | ||
367 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
368 | +[VAL,AN,ID,T|_T] > [var(ID, array(T,1,6), VAL, AN)|_T]. | ||
369 | +[H,T|_T] > [[H|T]|_T]. | ||
370 | +[X|_T] > [vars(X)|_T]. | ||
371 | +_T > [[]|_T]. | ||
372 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
373 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
374 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
375 | +[E|_T] > [[E]|_T]. | ||
376 | +[T,H|_T] > [[H|T]|_T]. | ||
377 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
378 | +_T > [lit(0,int)|_T]. | ||
379 | +[E|_T] > [[E]|_T]. | ||
380 | +[T,H|_T] > [[H|T]|_T]. | ||
381 | +[T,H|_T] > [[H|T]|_T]. | ||
382 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
383 | +_T > [[]|_T]. | ||
384 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
385 | +[H,T|_T] > [[H|T]|_T]. | ||
386 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
387 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
388 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
389 | +[E|_T] > [[E]|_T]. | ||
390 | +[T,H|_T] > [[H|T]|_T]. | ||
391 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
392 | +_T > [lit(0,int)|_T]. | ||
393 | +[E|_T] > [[E]|_T]. | ||
394 | +[T,H|_T] > [[H|T]|_T]. | ||
395 | +[T,H|_T] > [[H|T]|_T]. | ||
396 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
397 | +_T > [[]|_T]. | ||
398 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
399 | +[H,T|_T] > [[H|T]|_T]. | ||
400 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
401 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
402 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
403 | +[E|_T] > [[E]|_T]. | ||
404 | +[T,H|_T] > [[H|T]|_T]. | ||
405 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
406 | +_T > [lit(0,int)|_T]. | ||
407 | +[E|_T] > [[E]|_T]. | ||
408 | +[T,H|_T] > [[H|T]|_T]. | ||
409 | +[T,H|_T] > [[H|T]|_T]. | ||
410 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
411 | +_T > [[]|_T]. | ||
412 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
413 | +[H,T|_T] > [[H|T]|_T]. | ||
414 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
415 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
416 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
417 | +[E|_T] > [[E]|_T]. | ||
418 | +[T,H|_T] > [[H|T]|_T]. | ||
419 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
420 | +_T > [lit(0,int)|_T]. | ||
421 | +[E|_T] > [[E]|_T]. | ||
422 | +[T,H|_T] > [[H|T]|_T]. | ||
423 | +[T,H|_T] > [[H|T]|_T]. | ||
424 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
425 | +_T > [[]|_T]. | ||
426 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
427 | +[H,T|_T] > [[H|T]|_T]. | ||
428 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
429 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
430 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
431 | +[E|_T] > [[E]|_T]. | ||
432 | +[T,H|_T] > [[H|T]|_T]. | ||
433 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
434 | +_T > [lit(0,int)|_T]. | ||
435 | +[E|_T] > [[E]|_T]. | ||
436 | +[T,H|_T] > [[H|T]|_T]. | ||
437 | +[T,H|_T] > [[H|T]|_T]. | ||
438 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
439 | +_T > [[]|_T]. | ||
440 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
441 | +[H,T|_T] > [[H|T]|_T]. | ||
442 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
443 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
444 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
445 | +[E|_T] > [[E]|_T]. | ||
446 | +[T,H|_T] > [[H|T]|_T]. | ||
447 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
448 | +_T > [lit(0,int)|_T]. | ||
449 | +[E|_T] > [[E]|_T]. | ||
450 | +[T,H|_T] > [[H|T]|_T]. | ||
451 | +[T,H|_T] > [[H|T]|_T]. | ||
452 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
453 | +_T > [[]|_T]. | ||
454 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
455 | +[H,T|_T] > [[H|T]|_T]. | ||
456 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
457 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
458 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
459 | +[E|_T] > [[E]|_T]. | ||
460 | +[T,H|_T] > [[H|T]|_T]. | ||
461 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
462 | +_T > [lit(0,int)|_T]. | ||
463 | +[E|_T] > [[E]|_T]. | ||
464 | +[T,H|_T] > [[H|T]|_T]. | ||
465 | +[T,H|_T] > [[H|T]|_T]. | ||
466 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
467 | +_T > [[]|_T]. | ||
468 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
469 | +[H,T|_T] > [[H|T]|_T]. | ||
470 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
471 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
472 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
473 | +[E|_T] > [[E]|_T]. | ||
474 | +[T,H|_T] > [[H|T]|_T]. | ||
475 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
476 | +_T > [lit(0,int)|_T]. | ||
477 | +[E|_T] > [[E]|_T]. | ||
478 | +[T,H|_T] > [[H|T]|_T]. | ||
479 | +[T,H|_T] > [[H|T]|_T]. | ||
480 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
481 | +_T > [[]|_T]. | ||
482 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
483 | +[H,T|_T] > [[H|T]|_T]. | ||
484 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
485 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
486 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
487 | +[E|_T] > [[E]|_T]. | ||
488 | +[T,H|_T] > [[H|T]|_T]. | ||
489 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
490 | +_T > [lit(0,int)|_T]. | ||
491 | +[E|_T] > [[E]|_T]. | ||
492 | +[T,H|_T] > [[H|T]|_T]. | ||
493 | +[T,H|_T] > [[H|T]|_T]. | ||
494 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
495 | +_T > [[]|_T]. | ||
496 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
497 | +[H,T|_T] > [[H|T]|_T]. | ||
498 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
499 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
500 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
501 | +[E|_T] > [[E]|_T]. | ||
502 | +[T,H|_T] > [[H|T]|_T]. | ||
503 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
504 | +_T > [lit(0,int)|_T]. | ||
505 | +[E|_T] > [[E]|_T]. | ||
506 | +[T,H|_T] > [[H|T]|_T]. | ||
507 | +[T,H|_T] > [[H|T]|_T]. | ||
508 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
509 | +_T > [[]|_T]. | ||
510 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
511 | +[H,T|_T] > [[H|T]|_T]. | ||
512 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
513 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
514 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
515 | +[E|_T] > [[E]|_T]. | ||
516 | +[T,H|_T] > [[H|T]|_T]. | ||
517 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
518 | +_T > [lit(0,int)|_T]. | ||
519 | +[E|_T] > [[E]|_T]. | ||
520 | +[T,H|_T] > [[H|T]|_T]. | ||
521 | +[T,H|_T] > [[H|T]|_T]. | ||
522 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
523 | +_T > [[]|_T]. | ||
524 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
525 | +[H,T|_T] > [[H|T]|_T]. | ||
526 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
527 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
528 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
529 | +[E|_T] > [[E]|_T]. | ||
530 | +[T,H|_T] > [[H|T]|_T]. | ||
531 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
532 | +_T > [lit(0,int)|_T]. | ||
533 | +[E|_T] > [[E]|_T]. | ||
534 | +[T,H|_T] > [[H|T]|_T]. | ||
535 | +[T,H|_T] > [[H|T]|_T]. | ||
536 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
537 | +_T > [[]|_T]. | ||
538 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
539 | +[H,T|_T] > [[H|T]|_T]. | ||
540 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
541 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
542 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
543 | +[E|_T] > [[E]|_T]. | ||
544 | +[T,H|_T] > [[H|T]|_T]. | ||
545 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
546 | +_T > [lit(0,int)|_T]. | ||
547 | +[E|_T] > [[E]|_T]. | ||
548 | +[T,H|_T] > [[H|T]|_T]. | ||
549 | +[T,H|_T] > [[H|T]|_T]. | ||
550 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
551 | +_T > [[]|_T]. | ||
552 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
553 | +[H,T|_T] > [[H|T]|_T]. | ||
554 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
555 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
556 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
557 | +[E|_T] > [[E]|_T]. | ||
558 | +[T,H|_T] > [[H|T]|_T]. | ||
559 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
560 | +_T > [lit(0,int)|_T]. | ||
561 | +[E|_T] > [[E]|_T]. | ||
562 | +[T,H|_T] > [[H|T]|_T]. | ||
563 | +[T,H|_T] > [[H|T]|_T]. | ||
564 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
565 | +_T > [[]|_T]. | ||
566 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
567 | +[H,T|_T] > [[H|T]|_T]. | ||
568 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
569 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
570 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
571 | +[E|_T] > [[E]|_T]. | ||
572 | +[T,H|_T] > [[H|T]|_T]. | ||
573 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
574 | +_T > [lit(0,int)|_T]. | ||
575 | +[E|_T] > [[E]|_T]. | ||
576 | +[T,H|_T] > [[H|T]|_T]. | ||
577 | +[T,H|_T] > [[H|T]|_T]. | ||
578 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
579 | +_T > [[]|_T]. | ||
580 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
581 | +[H,T|_T] > [[H|T]|_T]. | ||
582 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
583 | +_T > [id('X_INTRODUCED_7')|_T]. | ||
584 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
585 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
586 | +[E|_T] > [[E]|_T]. | ||
587 | +[T,H|_T] > [[H|T]|_T]. | ||
588 | +[T,H|_T] > [[H|T]|_T]. | ||
589 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
590 | +_T > [lit(0,int)|_T]. | ||
591 | +[E|_T] > [[E]|_T]. | ||
592 | +[T,H|_T] > [[H|T]|_T]. | ||
593 | +[T,H|_T] > [[H|T]|_T]. | ||
594 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
595 | +_T > [id('X_INTRODUCED_7')|_T]. | ||
596 | +[E|_T] > [[E]|_T]. | ||
597 | +_T > [[]|_T]. | ||
598 | +[As, E|_T] > [[E|As]|_T]. | ||
599 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
600 | +[H,T|_T] > [[H|T]|_T]. | ||
601 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
602 | +_T > [id('X_INTRODUCED_8')|_T]. | ||
603 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
604 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
605 | +[E|_T] > [[E]|_T]. | ||
606 | +[T,H|_T] > [[H|T]|_T]. | ||
607 | +[T,H|_T] > [[H|T]|_T]. | ||
608 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
609 | +_T > [lit(0,int)|_T]. | ||
610 | +[E|_T] > [[E]|_T]. | ||
611 | +[T,H|_T] > [[H|T]|_T]. | ||
612 | +[T,H|_T] > [[H|T]|_T]. | ||
613 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
614 | +_T > [id('X_INTRODUCED_8')|_T]. | ||
615 | +[E|_T] > [[E]|_T]. | ||
616 | +_T > [[]|_T]. | ||
617 | +[As, E|_T] > [[E|As]|_T]. | ||
618 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
619 | +[H,T|_T] > [[H|T]|_T]. | ||
620 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
621 | +_T > [id('X_INTRODUCED_9')|_T]. | ||
622 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
623 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
624 | +[E|_T] > [[E]|_T]. | ||
625 | +[T,H|_T] > [[H|T]|_T]. | ||
626 | +[T,H|_T] > [[H|T]|_T]. | ||
627 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
628 | +_T > [lit(0,int)|_T]. | ||
629 | +[E|_T] > [[E]|_T]. | ||
630 | +[T,H|_T] > [[H|T]|_T]. | ||
631 | +[T,H|_T] > [[H|T]|_T]. | ||
632 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
633 | +_T > [id('X_INTRODUCED_9')|_T]. | ||
634 | +[E|_T] > [[E]|_T]. | ||
635 | +_T > [[]|_T]. | ||
636 | +[As, E|_T] > [[E|As]|_T]. | ||
637 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
638 | +[H,T|_T] > [[H|T]|_T]. | ||
639 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
640 | +_T > [id('X_INTRODUCED_10')|_T]. | ||
641 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
642 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
643 | +[E|_T] > [[E]|_T]. | ||
644 | +[T,H|_T] > [[H|T]|_T]. | ||
645 | +[T,H|_T] > [[H|T]|_T]. | ||
646 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
647 | +_T > [lit(0,int)|_T]. | ||
648 | +[E|_T] > [[E]|_T]. | ||
649 | +[T,H|_T] > [[H|T]|_T]. | ||
650 | +[T,H|_T] > [[H|T]|_T]. | ||
651 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
652 | +_T > [id('X_INTRODUCED_10')|_T]. | ||
653 | +[E|_T] > [[E]|_T]. | ||
654 | +_T > [[]|_T]. | ||
655 | +[As, E|_T] > [[E|As]|_T]. | ||
656 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
657 | +[H,T|_T] > [[H|T]|_T]. | ||
658 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
659 | +_T > [id('X_INTRODUCED_11')|_T]. | ||
660 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
661 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
662 | +[E|_T] > [[E]|_T]. | ||
663 | +[T,H|_T] > [[H|T]|_T]. | ||
664 | +[T,H|_T] > [[H|T]|_T]. | ||
665 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
666 | +_T > [lit(0,int)|_T]. | ||
667 | +[E|_T] > [[E]|_T]. | ||
668 | +[T,H|_T] > [[H|T]|_T]. | ||
669 | +[T,H|_T] > [[H|T]|_T]. | ||
670 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
671 | +_T > [id('X_INTRODUCED_11')|_T]. | ||
672 | +[E|_T] > [[E]|_T]. | ||
673 | +_T > [[]|_T]. | ||
674 | +[As, E|_T] > [[E|As]|_T]. | ||
675 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
676 | +[H,T|_T] > [[H|T]|_T]. | ||
677 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
678 | +_T > [id('X_INTRODUCED_14')|_T]. | ||
679 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
680 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
681 | +[E|_T] > [[E]|_T]. | ||
682 | +[T,H|_T] > [[H|T]|_T]. | ||
683 | +[T,H|_T] > [[H|T]|_T]. | ||
684 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
685 | +_T > [lit(0,int)|_T]. | ||
686 | +[E|_T] > [[E]|_T]. | ||
687 | +[T,H|_T] > [[H|T]|_T]. | ||
688 | +[T,H|_T] > [[H|T]|_T]. | ||
689 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
690 | +_T > [id('X_INTRODUCED_14')|_T]. | ||
691 | +[E|_T] > [[E]|_T]. | ||
692 | +_T > [[]|_T]. | ||
693 | +[As, E|_T] > [[E|As]|_T]. | ||
694 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
695 | +[H,T|_T] > [[H|T]|_T]. | ||
696 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
697 | +_T > [id('X_INTRODUCED_15')|_T]. | ||
698 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
699 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
700 | +[E|_T] > [[E]|_T]. | ||
701 | +[T,H|_T] > [[H|T]|_T]. | ||
702 | +[T,H|_T] > [[H|T]|_T]. | ||
703 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
704 | +_T > [lit(0,int)|_T]. | ||
705 | +[E|_T] > [[E]|_T]. | ||
706 | +[T,H|_T] > [[H|T]|_T]. | ||
707 | +[T,H|_T] > [[H|T]|_T]. | ||
708 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
709 | +_T > [id('X_INTRODUCED_15')|_T]. | ||
710 | +[E|_T] > [[E]|_T]. | ||
711 | +_T > [[]|_T]. | ||
712 | +[As, E|_T] > [[E|As]|_T]. | ||
713 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
714 | +[H,T|_T] > [[H|T]|_T]. | ||
715 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
716 | +_T > [id('X_INTRODUCED_16')|_T]. | ||
717 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
718 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
719 | +[E|_T] > [[E]|_T]. | ||
720 | +[T,H|_T] > [[H|T]|_T]. | ||
721 | +[T,H|_T] > [[H|T]|_T]. | ||
722 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
723 | +_T > [lit(0,int)|_T]. | ||
724 | +[E|_T] > [[E]|_T]. | ||
725 | +[T,H|_T] > [[H|T]|_T]. | ||
726 | +[T,H|_T] > [[H|T]|_T]. | ||
727 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
728 | +_T > [id('X_INTRODUCED_16')|_T]. | ||
729 | +[E|_T] > [[E]|_T]. | ||
730 | +_T > [[]|_T]. | ||
731 | +[As, E|_T] > [[E|As]|_T]. | ||
732 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
733 | +[H,T|_T] > [[H|T]|_T]. | ||
734 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
735 | +_T > [id('X_INTRODUCED_17')|_T]. | ||
736 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
737 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
738 | +[E|_T] > [[E]|_T]. | ||
739 | +[T,H|_T] > [[H|T]|_T]. | ||
740 | +[T,H|_T] > [[H|T]|_T]. | ||
741 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
742 | +_T > [lit(0,int)|_T]. | ||
743 | +[E|_T] > [[E]|_T]. | ||
744 | +[T,H|_T] > [[H|T]|_T]. | ||
745 | +[T,H|_T] > [[H|T]|_T]. | ||
746 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
747 | +_T > [id('X_INTRODUCED_17')|_T]. | ||
748 | +[E|_T] > [[E]|_T]. | ||
749 | +_T > [[]|_T]. | ||
750 | +[As, E|_T] > [[E|As]|_T]. | ||
751 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
752 | +[H,T|_T] > [[H|T]|_T]. | ||
753 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
754 | +_T > [id('X_INTRODUCED_21')|_T]. | ||
755 | +_T > [id('X_INTRODUCED_3')|_T]. | ||
756 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
757 | +[E|_T] > [[E]|_T]. | ||
758 | +[T,H|_T] > [[H|T]|_T]. | ||
759 | +[T,H|_T] > [[H|T]|_T]. | ||
760 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
761 | +_T > [lit(0,int)|_T]. | ||
762 | +[E|_T] > [[E]|_T]. | ||
763 | +[T,H|_T] > [[H|T]|_T]. | ||
764 | +[T,H|_T] > [[H|T]|_T]. | ||
765 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
766 | +_T > [id('X_INTRODUCED_21')|_T]. | ||
767 | +[E|_T] > [[E]|_T]. | ||
768 | +_T > [[]|_T]. | ||
769 | +[As, E|_T] > [[E|As]|_T]. | ||
770 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
771 | +[H,T|_T] > [[H|T]|_T]. | ||
772 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
773 | +_T > [id('X_INTRODUCED_22')|_T]. | ||
774 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
775 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
776 | +[E|_T] > [[E]|_T]. | ||
777 | +[T,H|_T] > [[H|T]|_T]. | ||
778 | +[T,H|_T] > [[H|T]|_T]. | ||
779 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
780 | +_T > [lit(0,int)|_T]. | ||
781 | +[E|_T] > [[E]|_T]. | ||
782 | +[T,H|_T] > [[H|T]|_T]. | ||
783 | +[T,H|_T] > [[H|T]|_T]. | ||
784 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
785 | +_T > [id('X_INTRODUCED_22')|_T]. | ||
786 | +[E|_T] > [[E]|_T]. | ||
787 | +_T > [[]|_T]. | ||
788 | +[As, E|_T] > [[E|As]|_T]. | ||
789 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
790 | +[H,T|_T] > [[H|T]|_T]. | ||
791 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
792 | +_T > [id('X_INTRODUCED_23')|_T]. | ||
793 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
794 | +_T > [id('X_INTRODUCED_2')|_T]. | ||
795 | +[E|_T] > [[E]|_T]. | ||
796 | +[T,H|_T] > [[H|T]|_T]. | ||
797 | +[T,H|_T] > [[H|T]|_T]. | ||
798 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
799 | +_T > [lit(0,int)|_T]. | ||
800 | +[E|_T] > [[E]|_T]. | ||
801 | +[T,H|_T] > [[H|T]|_T]. | ||
802 | +[T,H|_T] > [[H|T]|_T]. | ||
803 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
804 | +_T > [id('X_INTRODUCED_23')|_T]. | ||
805 | +[E|_T] > [[E]|_T]. | ||
806 | +_T > [[]|_T]. | ||
807 | +[As, E|_T] > [[E|As]|_T]. | ||
808 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
809 | +[H,T|_T] > [[H|T]|_T]. | ||
810 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
811 | +_T > [id('X_INTRODUCED_28')|_T]. | ||
812 | +_T > [id('X_INTRODUCED_4')|_T]. | ||
813 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
814 | +[E|_T] > [[E]|_T]. | ||
815 | +[T,H|_T] > [[H|T]|_T]. | ||
816 | +[T,H|_T] > [[H|T]|_T]. | ||
817 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
818 | +_T > [lit(0,int)|_T]. | ||
819 | +[E|_T] > [[E]|_T]. | ||
820 | +[T,H|_T] > [[H|T]|_T]. | ||
821 | +[T,H|_T] > [[H|T]|_T]. | ||
822 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
823 | +_T > [id('X_INTRODUCED_28')|_T]. | ||
824 | +[E|_T] > [[E]|_T]. | ||
825 | +_T > [[]|_T]. | ||
826 | +[As, E|_T] > [[E|As]|_T]. | ||
827 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
828 | +[H,T|_T] > [[H|T]|_T]. | ||
829 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
830 | +_T > [id('X_INTRODUCED_29')|_T]. | ||
831 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
832 | +_T > [id('X_INTRODUCED_1')|_T]. | ||
833 | +[E|_T] > [[E]|_T]. | ||
834 | +[T,H|_T] > [[H|T]|_T]. | ||
835 | +[T,H|_T] > [[H|T]|_T]. | ||
836 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
837 | +_T > [lit(0,int)|_T]. | ||
838 | +[E|_T] > [[E]|_T]. | ||
839 | +[T,H|_T] > [[H|T]|_T]. | ||
840 | +[T,H|_T] > [[H|T]|_T]. | ||
841 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
842 | +_T > [id('X_INTRODUCED_29')|_T]. | ||
843 | +[E|_T] > [[E]|_T]. | ||
844 | +_T > [[]|_T]. | ||
845 | +[As, E|_T] > [[E|As]|_T]. | ||
846 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
847 | +[H,T|_T] > [[H|T]|_T]. | ||
848 | +_T > [id('X_INTRODUCED_45')|_T]. | ||
849 | +_T > [id('X_INTRODUCED_35')|_T]. | ||
850 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
851 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
852 | +[E|_T] > [[E]|_T]. | ||
853 | +[T,H|_T] > [[H|T]|_T]. | ||
854 | +[T,H|_T] > [[H|T]|_T]. | ||
855 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
856 | +_T > [lit(0,int)|_T]. | ||
857 | +[E|_T] > [[E]|_T]. | ||
858 | +[T,H|_T] > [[H|T]|_T]. | ||
859 | +[T,H|_T] > [[H|T]|_T]. | ||
860 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
861 | +_T > [id('X_INTRODUCED_35')|_T]. | ||
862 | +[E|_T] > [[E]|_T]. | ||
863 | +_T > [[]|_T]. | ||
864 | +[As, E|_T] > [[E|As]|_T]. | ||
865 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
866 | +[H,T|_T] > [[H|T]|_T]. | ||
867 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
868 | +_T > [id('X_INTRODUCED_7')|_T]. | ||
869 | +_T > [id('X_INTRODUCED_8')|_T]. | ||
870 | +[E|_T] > [[E]|_T]. | ||
871 | +[T,H|_T] > [[H|T]|_T]. | ||
872 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
873 | +_T > [lit(0,int)|_T]. | ||
874 | +[E|_T] > [[E]|_T]. | ||
875 | +[T,H|_T] > [[H|T]|_T]. | ||
876 | +[T,H|_T] > [[H|T]|_T]. | ||
877 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
878 | +_T > [[]|_T]. | ||
879 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
880 | +[H,T|_T] > [[H|T]|_T]. | ||
881 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
882 | +_T > [id('X_INTRODUCED_7')|_T]. | ||
883 | +_T > [id('X_INTRODUCED_9')|_T]. | ||
884 | +[E|_T] > [[E]|_T]. | ||
885 | +[T,H|_T] > [[H|T]|_T]. | ||
886 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
887 | +_T > [lit(0,int)|_T]. | ||
888 | +[E|_T] > [[E]|_T]. | ||
889 | +[T,H|_T] > [[H|T]|_T]. | ||
890 | +[T,H|_T] > [[H|T]|_T]. | ||
891 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
892 | +_T > [[]|_T]. | ||
893 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
894 | +[H,T|_T] > [[H|T]|_T]. | ||
895 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
896 | +_T > [id('X_INTRODUCED_7')|_T]. | ||
897 | +_T > [id('X_INTRODUCED_10')|_T]. | ||
898 | +[E|_T] > [[E]|_T]. | ||
899 | +[T,H|_T] > [[H|T]|_T]. | ||
900 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
901 | +_T > [lit(0,int)|_T]. | ||
902 | +[E|_T] > [[E]|_T]. | ||
903 | +[T,H|_T] > [[H|T]|_T]. | ||
904 | +[T,H|_T] > [[H|T]|_T]. | ||
905 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
906 | +_T > [[]|_T]. | ||
907 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
908 | +[H,T|_T] > [[H|T]|_T]. | ||
909 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
910 | +_T > [id('X_INTRODUCED_7')|_T]. | ||
911 | +_T > [id('X_INTRODUCED_11')|_T]. | ||
912 | +[E|_T] > [[E]|_T]. | ||
913 | +[T,H|_T] > [[H|T]|_T]. | ||
914 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
915 | +_T > [lit(0,int)|_T]. | ||
916 | +[E|_T] > [[E]|_T]. | ||
917 | +[T,H|_T] > [[H|T]|_T]. | ||
918 | +[T,H|_T] > [[H|T]|_T]. | ||
919 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
920 | +_T > [[]|_T]. | ||
921 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
922 | +[H,T|_T] > [[H|T]|_T]. | ||
923 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
924 | +_T > [id('X_INTRODUCED_8')|_T]. | ||
925 | +_T > [id('X_INTRODUCED_9')|_T]. | ||
926 | +[E|_T] > [[E]|_T]. | ||
927 | +[T,H|_T] > [[H|T]|_T]. | ||
928 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
929 | +_T > [lit(0,int)|_T]. | ||
930 | +[E|_T] > [[E]|_T]. | ||
931 | +[T,H|_T] > [[H|T]|_T]. | ||
932 | +[T,H|_T] > [[H|T]|_T]. | ||
933 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
934 | +_T > [[]|_T]. | ||
935 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
936 | +[H,T|_T] > [[H|T]|_T]. | ||
937 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
938 | +_T > [id('X_INTRODUCED_8')|_T]. | ||
939 | +_T > [id('X_INTRODUCED_10')|_T]. | ||
940 | +[E|_T] > [[E]|_T]. | ||
941 | +[T,H|_T] > [[H|T]|_T]. | ||
942 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
943 | +_T > [lit(0,int)|_T]. | ||
944 | +[E|_T] > [[E]|_T]. | ||
945 | +[T,H|_T] > [[H|T]|_T]. | ||
946 | +[T,H|_T] > [[H|T]|_T]. | ||
947 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
948 | +_T > [[]|_T]. | ||
949 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
950 | +[H,T|_T] > [[H|T]|_T]. | ||
951 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
952 | +_T > [id('X_INTRODUCED_8')|_T]. | ||
953 | +_T > [id('X_INTRODUCED_11')|_T]. | ||
954 | +[E|_T] > [[E]|_T]. | ||
955 | +[T,H|_T] > [[H|T]|_T]. | ||
956 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
957 | +_T > [lit(0,int)|_T]. | ||
958 | +[E|_T] > [[E]|_T]. | ||
959 | +[T,H|_T] > [[H|T]|_T]. | ||
960 | +[T,H|_T] > [[H|T]|_T]. | ||
961 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
962 | +_T > [[]|_T]. | ||
963 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
964 | +[H,T|_T] > [[H|T]|_T]. | ||
965 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
966 | +_T > [id('X_INTRODUCED_9')|_T]. | ||
967 | +_T > [id('X_INTRODUCED_10')|_T]. | ||
968 | +[E|_T] > [[E]|_T]. | ||
969 | +[T,H|_T] > [[H|T]|_T]. | ||
970 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
971 | +_T > [lit(0,int)|_T]. | ||
972 | +[E|_T] > [[E]|_T]. | ||
973 | +[T,H|_T] > [[H|T]|_T]. | ||
974 | +[T,H|_T] > [[H|T]|_T]. | ||
975 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
976 | +_T > [[]|_T]. | ||
977 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
978 | +[H,T|_T] > [[H|T]|_T]. | ||
979 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
980 | +_T > [id('X_INTRODUCED_9')|_T]. | ||
981 | +_T > [id('X_INTRODUCED_11')|_T]. | ||
982 | +[E|_T] > [[E]|_T]. | ||
983 | +[T,H|_T] > [[H|T]|_T]. | ||
984 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
985 | +_T > [lit(0,int)|_T]. | ||
986 | +[E|_T] > [[E]|_T]. | ||
987 | +[T,H|_T] > [[H|T]|_T]. | ||
988 | +[T,H|_T] > [[H|T]|_T]. | ||
989 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
990 | +_T > [[]|_T]. | ||
991 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
992 | +[H,T|_T] > [[H|T]|_T]. | ||
993 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
994 | +_T > [id('X_INTRODUCED_10')|_T]. | ||
995 | +_T > [id('X_INTRODUCED_11')|_T]. | ||
996 | +[E|_T] > [[E]|_T]. | ||
997 | +[T,H|_T] > [[H|T]|_T]. | ||
998 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
999 | +_T > [lit(0,int)|_T]. | ||
1000 | +[E|_T] > [[E]|_T]. | ||
1001 | +[T,H|_T] > [[H|T]|_T]. | ||
1002 | +[T,H|_T] > [[H|T]|_T]. | ||
1003 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1004 | +_T > [[]|_T]. | ||
1005 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1006 | +[H,T|_T] > [[H|T]|_T]. | ||
1007 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1008 | +_T > [id('X_INTRODUCED_14')|_T]. | ||
1009 | +_T > [id('X_INTRODUCED_15')|_T]. | ||
1010 | +[E|_T] > [[E]|_T]. | ||
1011 | +[T,H|_T] > [[H|T]|_T]. | ||
1012 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1013 | +_T > [lit(0,int)|_T]. | ||
1014 | +[E|_T] > [[E]|_T]. | ||
1015 | +[T,H|_T] > [[H|T]|_T]. | ||
1016 | +[T,H|_T] > [[H|T]|_T]. | ||
1017 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1018 | +_T > [[]|_T]. | ||
1019 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1020 | +[H,T|_T] > [[H|T]|_T]. | ||
1021 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1022 | +_T > [id('X_INTRODUCED_14')|_T]. | ||
1023 | +_T > [id('X_INTRODUCED_16')|_T]. | ||
1024 | +[E|_T] > [[E]|_T]. | ||
1025 | +[T,H|_T] > [[H|T]|_T]. | ||
1026 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1027 | +_T > [lit(0,int)|_T]. | ||
1028 | +[E|_T] > [[E]|_T]. | ||
1029 | +[T,H|_T] > [[H|T]|_T]. | ||
1030 | +[T,H|_T] > [[H|T]|_T]. | ||
1031 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1032 | +_T > [[]|_T]. | ||
1033 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1034 | +[H,T|_T] > [[H|T]|_T]. | ||
1035 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1036 | +_T > [id('X_INTRODUCED_14')|_T]. | ||
1037 | +_T > [id('X_INTRODUCED_17')|_T]. | ||
1038 | +[E|_T] > [[E]|_T]. | ||
1039 | +[T,H|_T] > [[H|T]|_T]. | ||
1040 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1041 | +_T > [lit(0,int)|_T]. | ||
1042 | +[E|_T] > [[E]|_T]. | ||
1043 | +[T,H|_T] > [[H|T]|_T]. | ||
1044 | +[T,H|_T] > [[H|T]|_T]. | ||
1045 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1046 | +_T > [[]|_T]. | ||
1047 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1048 | +[H,T|_T] > [[H|T]|_T]. | ||
1049 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1050 | +_T > [id('X_INTRODUCED_15')|_T]. | ||
1051 | +_T > [id('X_INTRODUCED_16')|_T]. | ||
1052 | +[E|_T] > [[E]|_T]. | ||
1053 | +[T,H|_T] > [[H|T]|_T]. | ||
1054 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1055 | +_T > [lit(0,int)|_T]. | ||
1056 | +[E|_T] > [[E]|_T]. | ||
1057 | +[T,H|_T] > [[H|T]|_T]. | ||
1058 | +[T,H|_T] > [[H|T]|_T]. | ||
1059 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1060 | +_T > [[]|_T]. | ||
1061 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1062 | +[H,T|_T] > [[H|T]|_T]. | ||
1063 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1064 | +_T > [id('X_INTRODUCED_15')|_T]. | ||
1065 | +_T > [id('X_INTRODUCED_17')|_T]. | ||
1066 | +[E|_T] > [[E]|_T]. | ||
1067 | +[T,H|_T] > [[H|T]|_T]. | ||
1068 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1069 | +_T > [lit(0,int)|_T]. | ||
1070 | +[E|_T] > [[E]|_T]. | ||
1071 | +[T,H|_T] > [[H|T]|_T]. | ||
1072 | +[T,H|_T] > [[H|T]|_T]. | ||
1073 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1074 | +_T > [[]|_T]. | ||
1075 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1076 | +[H,T|_T] > [[H|T]|_T]. | ||
1077 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1078 | +_T > [id('X_INTRODUCED_16')|_T]. | ||
1079 | +_T > [id('X_INTRODUCED_17')|_T]. | ||
1080 | +[E|_T] > [[E]|_T]. | ||
1081 | +[T,H|_T] > [[H|T]|_T]. | ||
1082 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1083 | +_T > [lit(0,int)|_T]. | ||
1084 | +[E|_T] > [[E]|_T]. | ||
1085 | +[T,H|_T] > [[H|T]|_T]. | ||
1086 | +[T,H|_T] > [[H|T]|_T]. | ||
1087 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1088 | +_T > [[]|_T]. | ||
1089 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1090 | +[H,T|_T] > [[H|T]|_T]. | ||
1091 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1092 | +_T > [id('X_INTRODUCED_21')|_T]. | ||
1093 | +_T > [id('X_INTRODUCED_22')|_T]. | ||
1094 | +[E|_T] > [[E]|_T]. | ||
1095 | +[T,H|_T] > [[H|T]|_T]. | ||
1096 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1097 | +_T > [lit(0,int)|_T]. | ||
1098 | +[E|_T] > [[E]|_T]. | ||
1099 | +[T,H|_T] > [[H|T]|_T]. | ||
1100 | +[T,H|_T] > [[H|T]|_T]. | ||
1101 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1102 | +_T > [[]|_T]. | ||
1103 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1104 | +[H,T|_T] > [[H|T]|_T]. | ||
1105 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1106 | +_T > [id('X_INTRODUCED_21')|_T]. | ||
1107 | +_T > [id('X_INTRODUCED_23')|_T]. | ||
1108 | +[E|_T] > [[E]|_T]. | ||
1109 | +[T,H|_T] > [[H|T]|_T]. | ||
1110 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1111 | +_T > [lit(0,int)|_T]. | ||
1112 | +[E|_T] > [[E]|_T]. | ||
1113 | +[T,H|_T] > [[H|T]|_T]. | ||
1114 | +[T,H|_T] > [[H|T]|_T]. | ||
1115 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1116 | +_T > [[]|_T]. | ||
1117 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1118 | +[H,T|_T] > [[H|T]|_T]. | ||
1119 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1120 | +_T > [id('X_INTRODUCED_22')|_T]. | ||
1121 | +_T > [id('X_INTRODUCED_23')|_T]. | ||
1122 | +[E|_T] > [[E]|_T]. | ||
1123 | +[T,H|_T] > [[H|T]|_T]. | ||
1124 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1125 | +_T > [lit(0,int)|_T]. | ||
1126 | +[E|_T] > [[E]|_T]. | ||
1127 | +[T,H|_T] > [[H|T]|_T]. | ||
1128 | +[T,H|_T] > [[H|T]|_T]. | ||
1129 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1130 | +_T > [[]|_T]. | ||
1131 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1132 | +[H,T|_T] > [[H|T]|_T]. | ||
1133 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1134 | +_T > [id('X_INTRODUCED_28')|_T]. | ||
1135 | +_T > [id('X_INTRODUCED_29')|_T]. | ||
1136 | +[E|_T] > [[E]|_T]. | ||
1137 | +[T,H|_T] > [[H|T]|_T]. | ||
1138 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1139 | +_T > [lit(0,int)|_T]. | ||
1140 | +[E|_T] > [[E]|_T]. | ||
1141 | +[T,H|_T] > [[H|T]|_T]. | ||
1142 | +[T,H|_T] > [[H|T]|_T]. | ||
1143 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | ||
1144 | +_T > [[]|_T]. | ||
1145 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1146 | +[H,T|_T] > [[H|T]|_T]. | ||
1147 | +_T > [id('X_INTRODUCED_42')|_T]. | ||
1148 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
1149 | +_T > [id('X_INTRODUCED_5')|_T]. | ||
1150 | +[E|_T] > [[E]|_T]. | ||
1151 | +[T,H|_T] > [[H|T]|_T]. | ||
1152 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1153 | +_T > [lit(-1,int)|_T]. | ||
1154 | +[E|_T] > [[E]|_T]. | ||
1155 | +[T,H|_T] > [[H|T]|_T]. | ||
1156 | +[T,H|_T] > [[H|T]|_T]. | ||
1157 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_le'|AL]. | ||
1158 | +_T > [[]|_T]. | ||
1159 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1160 | +[H,T|_T] > [[H|T]|_T]. | ||
1161 | +_T > [id('X_INTRODUCED_70')|_T]. | ||
1162 | +_T > [id('X_INTRODUCED_8')|_T]. | ||
1163 | +_T > [id('X_INTRODUCED_21')|_T]. | ||
1164 | +_T > [id('X_INTRODUCED_14')|_T]. | ||
1165 | +_T > [id('X_INTRODUCED_15')|_T]. | ||
1166 | +[E|_T] > [[E]|_T]. | ||
1167 | +[T,H|_T] > [[H|T]|_T]. | ||
1168 | +[T,H|_T] > [[H|T]|_T]. | ||
1169 | +[T,H|_T] > [[H|T]|_T]. | ||
1170 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1171 | +_T > [lit(0,int)|_T]. | ||
1172 | +[E|_T] > [[E]|_T]. | ||
1173 | +[T,H|_T] > [[H|T]|_T]. | ||
1174 | +[T,H|_T] > [[H|T]|_T]. | ||
1175 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
1176 | +_T > [[]|_T]. | ||
1177 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1178 | +[H,T|_T] > [[H|T]|_T]. | ||
1179 | +_T > [id('X_INTRODUCED_70')|_T]. | ||
1180 | +_T > [id('X_INTRODUCED_9')|_T]. | ||
1181 | +_T > [id('X_INTRODUCED_22')|_T]. | ||
1182 | +_T > [id('X_INTRODUCED_15')|_T]. | ||
1183 | +_T > [id('X_INTRODUCED_16')|_T]. | ||
1184 | +[E|_T] > [[E]|_T]. | ||
1185 | +[T,H|_T] > [[H|T]|_T]. | ||
1186 | +[T,H|_T] > [[H|T]|_T]. | ||
1187 | +[T,H|_T] > [[H|T]|_T]. | ||
1188 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1189 | +_T > [lit(0,int)|_T]. | ||
1190 | +[E|_T] > [[E]|_T]. | ||
1191 | +[T,H|_T] > [[H|T]|_T]. | ||
1192 | +[T,H|_T] > [[H|T]|_T]. | ||
1193 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
1194 | +_T > [[]|_T]. | ||
1195 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1196 | +[H,T|_T] > [[H|T]|_T]. | ||
1197 | +_T > [id('X_INTRODUCED_70')|_T]. | ||
1198 | +_T > [id('X_INTRODUCED_10')|_T]. | ||
1199 | +_T > [id('X_INTRODUCED_23')|_T]. | ||
1200 | +_T > [id('X_INTRODUCED_16')|_T]. | ||
1201 | +_T > [id('X_INTRODUCED_17')|_T]. | ||
1202 | +[E|_T] > [[E]|_T]. | ||
1203 | +[T,H|_T] > [[H|T]|_T]. | ||
1204 | +[T,H|_T] > [[H|T]|_T]. | ||
1205 | +[T,H|_T] > [[H|T]|_T]. | ||
1206 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1207 | +_T > [lit(0,int)|_T]. | ||
1208 | +[E|_T] > [[E]|_T]. | ||
1209 | +[T,H|_T] > [[H|T]|_T]. | ||
1210 | +[T,H|_T] > [[H|T]|_T]. | ||
1211 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
1212 | +_T > [[]|_T]. | ||
1213 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1214 | +[H,T|_T] > [[H|T]|_T]. | ||
1215 | +_T > [id('X_INTRODUCED_70')|_T]. | ||
1216 | +_T > [id('X_INTRODUCED_15')|_T]. | ||
1217 | +_T > [id('X_INTRODUCED_28')|_T]. | ||
1218 | +_T > [id('X_INTRODUCED_21')|_T]. | ||
1219 | +_T > [id('X_INTRODUCED_22')|_T]. | ||
1220 | +[E|_T] > [[E]|_T]. | ||
1221 | +[T,H|_T] > [[H|T]|_T]. | ||
1222 | +[T,H|_T] > [[H|T]|_T]. | ||
1223 | +[T,H|_T] > [[H|T]|_T]. | ||
1224 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1225 | +_T > [lit(0,int)|_T]. | ||
1226 | +[E|_T] > [[E]|_T]. | ||
1227 | +[T,H|_T] > [[H|T]|_T]. | ||
1228 | +[T,H|_T] > [[H|T]|_T]. | ||
1229 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
1230 | +_T > [[]|_T]. | ||
1231 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1232 | +[H,T|_T] > [[H|T]|_T]. | ||
1233 | +_T > [id('X_INTRODUCED_70')|_T]. | ||
1234 | +_T > [id('X_INTRODUCED_16')|_T]. | ||
1235 | +_T > [id('X_INTRODUCED_29')|_T]. | ||
1236 | +_T > [id('X_INTRODUCED_22')|_T]. | ||
1237 | +_T > [id('X_INTRODUCED_23')|_T]. | ||
1238 | +[E|_T] > [[E]|_T]. | ||
1239 | +[T,H|_T] > [[H|T]|_T]. | ||
1240 | +[T,H|_T] > [[H|T]|_T]. | ||
1241 | +[T,H|_T] > [[H|T]|_T]. | ||
1242 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1243 | +_T > [lit(0,int)|_T]. | ||
1244 | +[E|_T] > [[E]|_T]. | ||
1245 | +[T,H|_T] > [[H|T]|_T]. | ||
1246 | +[T,H|_T] > [[H|T]|_T]. | ||
1247 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
1248 | +_T > [[]|_T]. | ||
1249 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1250 | +[H,T|_T] > [[H|T]|_T]. | ||
1251 | +_T > [id('X_INTRODUCED_70')|_T]. | ||
1252 | +_T > [id('X_INTRODUCED_22')|_T]. | ||
1253 | +_T > [id('X_INTRODUCED_35')|_T]. | ||
1254 | +_T > [id('X_INTRODUCED_28')|_T]. | ||
1255 | +_T > [id('X_INTRODUCED_29')|_T]. | ||
1256 | +[E|_T] > [[E]|_T]. | ||
1257 | +[T,H|_T] > [[H|T]|_T]. | ||
1258 | +[T,H|_T] > [[H|T]|_T]. | ||
1259 | +[T,H|_T] > [[H|T]|_T]. | ||
1260 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
1261 | +_T > [lit(0,int)|_T]. | ||
1262 | +[E|_T] > [[E]|_T]. | ||
1263 | +[T,H|_T] > [[H|T]|_T]. | ||
1264 | +[T,H|_T] > [[H|T]|_T]. | ||
1265 | +[AL|_T] > [C|_T] :- C =.. ['int_lin_eq'|AL]. | ||
1266 | +_T > [[]|_T]. | ||
1267 | +[A,C|_T] > [constraint(C,A)|_T]. | ||
1268 | +[H,T|_T] > [[H|T]|_T]. | ||
1269 | +[X|_T] > [constrs(X)|_T]. | ||
1270 | +_T > [id('costas')|_T]. | ||
1271 | +_T > [id('input_order')|_T]. | ||
1272 | +_T > [id('indomain_min')|_T]. | ||
1273 | +_T > [id('complete')|_T]. | ||
1274 | +[E|_T] > [[E]|_T]. | ||
1275 | +[T,H|_T] > [[H|T]|_T]. | ||
1276 | +[T,H|_T] > [[H|T]|_T]. | ||
1277 | +[T,H|_T] > [[H|T]|_T]. | ||
1278 | +_T > [[]|_T]. | ||
1279 | +[As, E|_T] > [[E|As]|_T]. | ||
1280 | +_T > [satisfy|_T]. | ||
1281 | +[S,A|_T] > [solve(S, A)|_T]. | ||
1282 | +[S,C,V,P|_T] > [fzn(P, V, C, S)|_T]. |
fzn-parser/examples/aust.ast
@@ -5,15 +5,16 @@ _T > [[]|_T]. | @@ -5,15 +5,16 @@ _T > [[]|_T]. | ||
5 | _T > [int|_T]. | 5 | _T > [int|_T]. |
6 | _T > ['X_INTRODUCED_0'|_T]. | 6 | _T > ['X_INTRODUCED_0'|_T]. |
7 | _T > [[]|_T]. | 7 | _T > [[]|_T]. |
8 | -_T > [int:lit(1)|_T]. | ||
9 | -_T > [int:lit(-1)|_T]. | ||
10 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
11 | -[Es|_T] > [array(_):alit(Es)|_T]. | 8 | +_T > [lit(1,int)|_T]. |
9 | +_T > [lit(-1,int)|_T]. | ||
10 | +[E|_T] > [[E]|_T]. | ||
11 | +[T,H|_T] > [[H|T]|_T]. | ||
12 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
12 | [VAL,AN,ID,T|_T] > [var(ID, array(T,1,2), VAL, AN)|_T]. | 13 | [VAL,AN,ID,T|_T] > [var(ID, array(T,1,2), VAL, AN)|_T]. |
13 | [H,T|_T] > [[H|T]|_T]. | 14 | [H,T|_T] > [[H|T]|_T]. |
14 | _T > [int(1,3)|_T]. | 15 | _T > [int(1,3)|_T]. |
15 | _T > ['wa'|_T]. | 16 | _T > ['wa'|_T]. |
16 | -_T > [_:id('output_var')|_T]. | 17 | +_T > [id('output_var')|_T]. |
17 | _T > [[]|_T]. | 18 | _T > [[]|_T]. |
18 | [As, E|_T] > [[E|As]|_T]. | 19 | [As, E|_T] > [[E|As]|_T]. |
19 | _T > [[]|_T]. | 20 | _T > [[]|_T]. |
@@ -21,7 +22,7 @@ _T > [[]|_T]. | @@ -21,7 +22,7 @@ _T > [[]|_T]. | ||
21 | [H,T|_T] > [[H|T]|_T]. | 22 | [H,T|_T] > [[H|T]|_T]. |
22 | _T > [int(1,3)|_T]. | 23 | _T > [int(1,3)|_T]. |
23 | _T > ['nt'|_T]. | 24 | _T > ['nt'|_T]. |
24 | -_T > [_:id('output_var')|_T]. | 25 | +_T > [id('output_var')|_T]. |
25 | _T > [[]|_T]. | 26 | _T > [[]|_T]. |
26 | [As, E|_T] > [[E|As]|_T]. | 27 | [As, E|_T] > [[E|As]|_T]. |
27 | _T > [[]|_T]. | 28 | _T > [[]|_T]. |
@@ -29,7 +30,7 @@ _T > [[]|_T]. | @@ -29,7 +30,7 @@ _T > [[]|_T]. | ||
29 | [H,T|_T] > [[H|T]|_T]. | 30 | [H,T|_T] > [[H|T]|_T]. |
30 | _T > [int(1,3)|_T]. | 31 | _T > [int(1,3)|_T]. |
31 | _T > ['sa'|_T]. | 32 | _T > ['sa'|_T]. |
32 | -_T > [_:id('output_var')|_T]. | 33 | +_T > [id('output_var')|_T]. |
33 | _T > [[]|_T]. | 34 | _T > [[]|_T]. |
34 | [As, E|_T] > [[E|As]|_T]. | 35 | [As, E|_T] > [[E|As]|_T]. |
35 | _T > [[]|_T]. | 36 | _T > [[]|_T]. |
@@ -37,7 +38,7 @@ _T > [[]|_T]. | @@ -37,7 +38,7 @@ _T > [[]|_T]. | ||
37 | [H,T|_T] > [[H|T]|_T]. | 38 | [H,T|_T] > [[H|T]|_T]. |
38 | _T > [int(1,3)|_T]. | 39 | _T > [int(1,3)|_T]. |
39 | _T > ['q'|_T]. | 40 | _T > ['q'|_T]. |
40 | -_T > [_:id('output_var')|_T]. | 41 | +_T > [id('output_var')|_T]. |
41 | _T > [[]|_T]. | 42 | _T > [[]|_T]. |
42 | [As, E|_T] > [[E|As]|_T]. | 43 | [As, E|_T] > [[E|As]|_T]. |
43 | _T > [[]|_T]. | 44 | _T > [[]|_T]. |
@@ -45,7 +46,7 @@ _T > [[]|_T]. | @@ -45,7 +46,7 @@ _T > [[]|_T]. | ||
45 | [H,T|_T] > [[H|T]|_T]. | 46 | [H,T|_T] > [[H|T]|_T]. |
46 | _T > [int(1,3)|_T]. | 47 | _T > [int(1,3)|_T]. |
47 | _T > ['nsw'|_T]. | 48 | _T > ['nsw'|_T]. |
48 | -_T > [_:id('output_var')|_T]. | 49 | +_T > [id('output_var')|_T]. |
49 | _T > [[]|_T]. | 50 | _T > [[]|_T]. |
50 | [As, E|_T] > [[E|As]|_T]. | 51 | [As, E|_T] > [[E|As]|_T]. |
51 | _T > [[]|_T]. | 52 | _T > [[]|_T]. |
@@ -53,7 +54,7 @@ _T > [[]|_T]. | @@ -53,7 +54,7 @@ _T > [[]|_T]. | ||
53 | [H,T|_T] > [[H|T]|_T]. | 54 | [H,T|_T] > [[H|T]|_T]. |
54 | _T > [int(1,3)|_T]. | 55 | _T > [int(1,3)|_T]. |
55 | _T > ['v'|_T]. | 56 | _T > ['v'|_T]. |
56 | -_T > [_:id('output_var')|_T]. | 57 | +_T > [id('output_var')|_T]. |
57 | _T > [[]|_T]. | 58 | _T > [[]|_T]. |
58 | [As, E|_T] > [[E|As]|_T]. | 59 | [As, E|_T] > [[E|As]|_T]. |
59 | _T > [[]|_T]. | 60 | _T > [[]|_T]. |
@@ -61,7 +62,7 @@ _T > [[]|_T]. | @@ -61,7 +62,7 @@ _T > [[]|_T]. | ||
61 | [H,T|_T] > [[H|T]|_T]. | 62 | [H,T|_T] > [[H|T]|_T]. |
62 | _T > [int(1,3)|_T]. | 63 | _T > [int(1,3)|_T]. |
63 | _T > ['t'|_T]. | 64 | _T > ['t'|_T]. |
64 | -_T > [_:id('output_var')|_T]. | 65 | +_T > [id('output_var')|_T]. |
65 | _T > [[]|_T]. | 66 | _T > [[]|_T]. |
66 | [As, E|_T] > [[E|As]|_T]. | 67 | [As, E|_T] > [[E|As]|_T]. |
67 | _T > [[]|_T]. | 68 | _T > [[]|_T]. |
@@ -69,113 +70,131 @@ _T > [[]|_T]. | @@ -69,113 +70,131 @@ _T > [[]|_T]. | ||
69 | [H,T|_T] > [[H|T]|_T]. | 70 | [H,T|_T] > [[H|T]|_T]. |
70 | [X|_T] > [vars(X)|_T]. | 71 | [X|_T] > [vars(X)|_T]. |
71 | _T > [[]|_T]. | 72 | _T > [[]|_T]. |
72 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
73 | -_T > [_:id('wa')|_T]. | ||
74 | -_T > [_:id('nt')|_T]. | ||
75 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
76 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
77 | -_T > [int:lit(0)|_T]. | ||
78 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
79 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 73 | +_T > [id('X_INTRODUCED_0')|_T]. |
74 | +_T > [id('wa')|_T]. | ||
75 | +_T > [id('nt')|_T]. | ||
76 | +[E|_T] > [[E]|_T]. | ||
77 | +[T,H|_T] > [[H|T]|_T]. | ||
78 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
79 | +_T > [lit(0,int)|_T]. | ||
80 | +[E|_T] > [[E]|_T]. | ||
81 | +[T,H|_T] > [[H|T]|_T]. | ||
82 | +[T,H|_T] > [[H|T]|_T]. | ||
80 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 83 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
81 | _T > [[]|_T]. | 84 | _T > [[]|_T]. |
82 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | ||
83 | -[H,T|_T] > [[H|T]|_T]. | ||
84 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
85 | -_T > [_:id('wa')|_T]. | ||
86 | -_T > [_:id('sa')|_T]. | ||
87 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
88 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
89 | -_T > [int:lit(0)|_T]. | ||
90 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
91 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 85 | +[A,C|_T] > [constraint(C,A)|_T]. |
86 | +[H,T|_T] > [[H|T]|_T]. | ||
87 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
88 | +_T > [id('wa')|_T]. | ||
89 | +_T > [id('sa')|_T]. | ||
90 | +[E|_T] > [[E]|_T]. | ||
91 | +[T,H|_T] > [[H|T]|_T]. | ||
92 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
93 | +_T > [lit(0,int)|_T]. | ||
94 | +[E|_T] > [[E]|_T]. | ||
95 | +[T,H|_T] > [[H|T]|_T]. | ||
96 | +[T,H|_T] > [[H|T]|_T]. | ||
92 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 97 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
93 | _T > [[]|_T]. | 98 | _T > [[]|_T]. |
94 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | ||
95 | -[H,T|_T] > [[H|T]|_T]. | ||
96 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
97 | -_T > [_:id('nt')|_T]. | ||
98 | -_T > [_:id('sa')|_T]. | ||
99 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
100 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
101 | -_T > [int:lit(0)|_T]. | ||
102 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
103 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 99 | +[A,C|_T] > [constraint(C,A)|_T]. |
100 | +[H,T|_T] > [[H|T]|_T]. | ||
101 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
102 | +_T > [id('nt')|_T]. | ||
103 | +_T > [id('sa')|_T]. | ||
104 | +[E|_T] > [[E]|_T]. | ||
105 | +[T,H|_T] > [[H|T]|_T]. | ||
106 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
107 | +_T > [lit(0,int)|_T]. | ||
108 | +[E|_T] > [[E]|_T]. | ||
109 | +[T,H|_T] > [[H|T]|_T]. | ||
110 | +[T,H|_T] > [[H|T]|_T]. | ||
104 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 111 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
105 | _T > [[]|_T]. | 112 | _T > [[]|_T]. |
106 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | ||
107 | -[H,T|_T] > [[H|T]|_T]. | ||
108 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
109 | -_T > [_:id('nt')|_T]. | ||
110 | -_T > [_:id('q')|_T]. | ||
111 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
112 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
113 | -_T > [int:lit(0)|_T]. | ||
114 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
115 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 113 | +[A,C|_T] > [constraint(C,A)|_T]. |
114 | +[H,T|_T] > [[H|T]|_T]. | ||
115 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
116 | +_T > [id('nt')|_T]. | ||
117 | +_T > [id('q')|_T]. | ||
118 | +[E|_T] > [[E]|_T]. | ||
119 | +[T,H|_T] > [[H|T]|_T]. | ||
120 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
121 | +_T > [lit(0,int)|_T]. | ||
122 | +[E|_T] > [[E]|_T]. | ||
123 | +[T,H|_T] > [[H|T]|_T]. | ||
124 | +[T,H|_T] > [[H|T]|_T]. | ||
116 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 125 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
117 | _T > [[]|_T]. | 126 | _T > [[]|_T]. |
118 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | ||
119 | -[H,T|_T] > [[H|T]|_T]. | ||
120 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
121 | -_T > [_:id('sa')|_T]. | ||
122 | -_T > [_:id('q')|_T]. | ||
123 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
124 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
125 | -_T > [int:lit(0)|_T]. | ||
126 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
127 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 127 | +[A,C|_T] > [constraint(C,A)|_T]. |
128 | +[H,T|_T] > [[H|T]|_T]. | ||
129 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
130 | +_T > [id('sa')|_T]. | ||
131 | +_T > [id('q')|_T]. | ||
132 | +[E|_T] > [[E]|_T]. | ||
133 | +[T,H|_T] > [[H|T]|_T]. | ||
134 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
135 | +_T > [lit(0,int)|_T]. | ||
136 | +[E|_T] > [[E]|_T]. | ||
137 | +[T,H|_T] > [[H|T]|_T]. | ||
138 | +[T,H|_T] > [[H|T]|_T]. | ||
128 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 139 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
129 | _T > [[]|_T]. | 140 | _T > [[]|_T]. |
130 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | ||
131 | -[H,T|_T] > [[H|T]|_T]. | ||
132 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
133 | -_T > [_:id('sa')|_T]. | ||
134 | -_T > [_:id('nsw')|_T]. | ||
135 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
136 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
137 | -_T > [int:lit(0)|_T]. | ||
138 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
139 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 141 | +[A,C|_T] > [constraint(C,A)|_T]. |
142 | +[H,T|_T] > [[H|T]|_T]. | ||
143 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
144 | +_T > [id('sa')|_T]. | ||
145 | +_T > [id('nsw')|_T]. | ||
146 | +[E|_T] > [[E]|_T]. | ||
147 | +[T,H|_T] > [[H|T]|_T]. | ||
148 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
149 | +_T > [lit(0,int)|_T]. | ||
150 | +[E|_T] > [[E]|_T]. | ||
151 | +[T,H|_T] > [[H|T]|_T]. | ||
152 | +[T,H|_T] > [[H|T]|_T]. | ||
140 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 153 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
141 | _T > [[]|_T]. | 154 | _T > [[]|_T]. |
142 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | ||
143 | -[H,T|_T] > [[H|T]|_T]. | ||
144 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
145 | -_T > [_:id('sa')|_T]. | ||
146 | -_T > [_:id('v')|_T]. | ||
147 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
148 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
149 | -_T > [int:lit(0)|_T]. | ||
150 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
151 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 155 | +[A,C|_T] > [constraint(C,A)|_T]. |
156 | +[H,T|_T] > [[H|T]|_T]. | ||
157 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
158 | +_T > [id('sa')|_T]. | ||
159 | +_T > [id('v')|_T]. | ||
160 | +[E|_T] > [[E]|_T]. | ||
161 | +[T,H|_T] > [[H|T]|_T]. | ||
162 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
163 | +_T > [lit(0,int)|_T]. | ||
164 | +[E|_T] > [[E]|_T]. | ||
165 | +[T,H|_T] > [[H|T]|_T]. | ||
166 | +[T,H|_T] > [[H|T]|_T]. | ||
152 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 167 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
153 | _T > [[]|_T]. | 168 | _T > [[]|_T]. |
154 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | ||
155 | -[H,T|_T] > [[H|T]|_T]. | ||
156 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
157 | -_T > [_:id('q')|_T]. | ||
158 | -_T > [_:id('nsw')|_T]. | ||
159 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
160 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
161 | -_T > [int:lit(0)|_T]. | ||
162 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
163 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 169 | +[A,C|_T] > [constraint(C,A)|_T]. |
170 | +[H,T|_T] > [[H|T]|_T]. | ||
171 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
172 | +_T > [id('q')|_T]. | ||
173 | +_T > [id('nsw')|_T]. | ||
174 | +[E|_T] > [[E]|_T]. | ||
175 | +[T,H|_T] > [[H|T]|_T]. | ||
176 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
177 | +_T > [lit(0,int)|_T]. | ||
178 | +[E|_T] > [[E]|_T]. | ||
179 | +[T,H|_T] > [[H|T]|_T]. | ||
180 | +[T,H|_T] > [[H|T]|_T]. | ||
164 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 181 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
165 | _T > [[]|_T]. | 182 | _T > [[]|_T]. |
166 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | ||
167 | -[H,T|_T] > [[H|T]|_T]. | ||
168 | -_T > [_:id('X_INTRODUCED_0')|_T]. | ||
169 | -_T > [_:id('nsw')|_T]. | ||
170 | -_T > [_:id('v')|_T]. | ||
171 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
172 | -[Es|_T] > [array(_):alit(Es)|_T]. | ||
173 | -_T > [int:lit(0)|_T]. | ||
174 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | ||
175 | -[T2:E2,T1:E1|_T] > [(T1,T2):(E1,E2)|_T]. | 183 | +[A,C|_T] > [constraint(C,A)|_T]. |
184 | +[H,T|_T] > [[H|T]|_T]. | ||
185 | +_T > [id('X_INTRODUCED_0')|_T]. | ||
186 | +_T > [id('nsw')|_T]. | ||
187 | +_T > [id('v')|_T]. | ||
188 | +[E|_T] > [[E]|_T]. | ||
189 | +[T,H|_T] > [[H|T]|_T]. | ||
190 | +[Es|_T] > [lit(Es,array(_))|_T]. | ||
191 | +_T > [lit(0,int)|_T]. | ||
192 | +[E|_T] > [[E]|_T]. | ||
193 | +[T,H|_T] > [[H|T]|_T]. | ||
194 | +[T,H|_T] > [[H|T]|_T]. | ||
176 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. | 195 | [AL|_T] > [C|_T] :- C =.. ['int_lin_ne'|AL]. |
177 | _T > [[]|_T]. | 196 | _T > [[]|_T]. |
178 | -[A,C,E|_T] > [constraint(C,E,A)|_T]. | 197 | +[A,C|_T] > [constraint(C,A)|_T]. |
179 | [H,T|_T] > [[H|T]|_T]. | 198 | [H,T|_T] > [[H|T]|_T]. |
180 | [X|_T] > [constrs(X)|_T]. | 199 | [X|_T] > [constrs(X)|_T]. |
181 | _T > [[]|_T]. | 200 | _T > [[]|_T]. |
fzn-parser/fznslurp.pl
@@ -6,19 +6,27 @@ main :- | @@ -6,19 +6,27 @@ main :- | ||
6 | argument_list(A), | 6 | argument_list(A), |
7 | main(A). | 7 | main(A). |
8 | 8 | ||
9 | -main([ACTION|REST]) :- action(ACTION), !, main(REST). | 9 | +main([ACTION_S|REST]) :- |
10 | + read_term_from_atom(ACTION_S, ACTION, [end_of_term(eof)]), | ||
11 | + action(ACTION), !, main(REST). | ||
10 | main([]). | 12 | main([]). |
11 | 13 | ||
12 | -action(load) :- !, load_ast(AST), g_assign(ast, AST). | ||
13 | -action(dump) :- !, g_read(ast, AST), dump_ast(AST). | ||
14 | -action(name) :- !, | ||
15 | - g_read(ast, AST), | ||
16 | - sa_names(AST, NAST), | ||
17 | - g_assign(ast, NAST). | ||
18 | -action(halt) :- !, halt. | ||
19 | -action(debug) :- g_read(ast_debug, true), !, g_assign(ast_debug, false). | ||
20 | -action(debug) :- !, g_assign(ast_debug, true). | ||
21 | -action(ACTION) :- format("%w: unknown action.\n", [ACTION]). | 14 | +action(load(F)) :- !, see(F), action(load), seen. |
15 | +action(load) :- !, load_ast(AST), g_assign(ast, AST). | ||
16 | +action(dump(A)) :- !, dump_ast(A). | ||
17 | +action(dump) :- !, g_read(ast, AST), dump_ast(AST). | ||
18 | +action(name) :- !, | ||
19 | + g_read(ast, AST), | ||
20 | + sa_names(AST, NAST, ST), | ||
21 | + g_assign(ast_n, NAST+ST). | ||
22 | +action(type) :- !, | ||
23 | + g_read(ast_n, AST+ST), | ||
24 | + sa_types(AST, ST), | ||
25 | + g_assign(ast_t, AST+ST). | ||
26 | +action(halt) :- !, halt. | ||
27 | +action(debug) :- g_read(ast_debug, true), !, g_assign(ast_debug, false). | ||
28 | +action(debug) :- !, g_assign(ast_debug, true). | ||
29 | +action(ACTION) :- format("%w: unknown action.\n", [ACTION]). | ||
22 | 30 | ||
23 | 31 | ||
24 | % ----------------------------------------------------------------------------- | 32 | % ----------------------------------------------------------------------------- |
fzn-parser/semantic.pl
1 | % == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= | 1 | % == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= |
2 | 2 | ||
3 | +% == NAMES ==================================================================== | ||
4 | + | ||
5 | +% -- sa_names(AST_IN, AST_OUT, ST) -------------------------------------------- | ||
6 | +% | ||
7 | +% sa_names/3: do name analysis (replace identifiers by their dict. entry) | ||
8 | + | ||
3 | sa_names(fzn(preds(IP), vars(IV), constrs(IC), SOLVE), | 9 | sa_names(fzn(preds(IP), vars(IV), constrs(IC), SOLVE), |
4 | - fzn(preds(OP), vars(OV), constrs(OC), SOLVE, ST)) :- | 10 | + fzn(preds(OP), vars(OV), constrs(OC), SOLVE), ST) :- |
5 | sa_n_traverse(IP, OP, ST), % predicates | 11 | sa_n_traverse(IP, OP, ST), % predicates |
6 | sa_n_traverse(IV, OV, ST), % variables | 12 | sa_n_traverse(IV, OV, ST), % variables |
7 | sa_n_traverse(IC, OC, ST). % constraints | 13 | sa_n_traverse(IC, OC, ST). % constraints |
8 | 14 | ||
9 | % ----------------------------------------------------------------------------- | 15 | % ----------------------------------------------------------------------------- |
10 | 16 | ||
11 | -sa_n_traverse([], [], _ST). | 17 | +sa_n_traverse([], [], _ST) :- !. |
12 | sa_n_traverse([N|Ns], [NN|NNs], ST) :- | 18 | sa_n_traverse([N|Ns], [NN|NNs], ST) :- |
13 | sa_n(N, NN, ST), !, | 19 | sa_n(N, NN, ST), !, |
14 | sa_n_traverse(Ns, NNs, ST). | 20 | sa_n_traverse(Ns, NNs, ST). |
15 | -sa_n_traverse([_|Ns], NNs, ST) :- % ignore failing nodes (beware!) | 21 | +sa_n_traverse([_|Ns], NNs, ST) :- !, % ignore failing nodes (beware!) |
16 | sa_n_traverse(Ns, NNs, ST). | 22 | sa_n_traverse(Ns, NNs, ST). |
17 | 23 | ||
24 | +sa_n_traverse(N, NN, ST) :- sa_n(N, NN, ST). % non-list case | ||
25 | + | ||
18 | 26 | ||
19 | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 27 | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
20 | % | 28 | % |
21 | % sa_n(AST_N_IN, AST_N_OUT, ST) | 29 | % sa_n(AST_N_IN, AST_N_OUT, ST) |
30 | +% | ||
31 | +% arguments: | ||
32 | +% AST_N_IN - input AST node | ||
33 | +% AST_N_OUT - output AST node (same structure, rewritten) | ||
34 | +% ST - symbol table (gets extended) | ||
35 | +% | ||
36 | +% handle all AST cases: | ||
37 | +% var(N,T,I,A) - Name, Type, Initializer, Attrib -- variable declaration | ||
38 | +% lit(V,T) - Value, Type -- literal with type | ||
39 | +% id(N) - Name -- identifier | ||
40 | +% constraint(C,A) - Constraint, Attrib -- constraint | ||
41 | +% | ||
22 | 42 | ||
23 | sa_n(var(N,T,I,A), V, ST) :- | 43 | sa_n(var(N,T,I,A), V, ST) :- |
24 | sa_attribs(A, AX, ST), | 44 | sa_attribs(A, AX, ST), |
25 | - sa_n(I, NI, ST), % parse initializer | 45 | + sa_n_traverse(I, NI, ST), % parse initializer |
26 | V=var(N,T,NI,AX), % new AST node becomes ST entry value | 46 | V=var(N,T,NI,AX), % new AST node becomes ST entry value |
27 | st_insert(ST, N, V). | 47 | st_insert(ST, N, V). |
28 | 48 | ||
29 | 49 | ||
50 | +sa_n(lit(E,array(T)), lit(NE, array(T)), ST) :- | ||
51 | + sa_n_traverse(E, NE, ST). | ||
52 | +sa_n(lit(E,int), lit(E,int), _ST). | ||
53 | +sa_n(lit(E,float), lit(E,float), _ST). | ||
54 | +sa_n(lit(E,string), lit(E,string), _ST). | ||
55 | + | ||
56 | + | ||
57 | +sa_n(id(N), V, ST) :- st_lookup(ST, N, V), !. | ||
58 | +sa_n(id(N), V, ST) :- V=var(N,_,_,_), % type as yet unknown | ||
59 | + st_insert(ST, N, V). | ||
60 | + | ||
61 | + | ||
62 | +sa_n(constraint(CE, AT), constraint(NCE, AT), ST) :- | ||
63 | + CE=..[C|AS], | ||
64 | + sa_n_traverse(AS, NAS, ST), | ||
65 | + NCE=..[C|NAS]. | ||
66 | + | ||
30 | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | 67 | % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
31 | 68 | ||
69 | +% == TYPES ==================================================================== | ||
70 | + | ||
71 | +% -- sa_types(AST, ST) -------------------------------------------------------- | ||
72 | +% | ||
73 | +% sa_types/2: do type analysis (traverse AST enforcing type correctness). | ||
74 | +% as a side-effect, it will do type inference. | ||
75 | + | ||
76 | +sa_types(fzn(_PS, vars(VS), constrs(CS), _S), ST) :- | ||
77 | + sa_t_traverse(VS, ST), | ||
78 | + sa_t_traverse(CS, ST). | ||
79 | + | ||
80 | +% ----------------------------------------------------------------------------- | ||
81 | + | ||
82 | +sa_t_traverse([], _ST) :- !. | ||
83 | +sa_t_traverse([N|Ns], ST) :- | ||
84 | + sa_t(N, ST), !, | ||
85 | + sa_t_traverse(Ns, ST). | ||
86 | +sa_t_traverse([_|Ns], ST) :- !, % ignore failing nodes (beware!) | ||
87 | + sa_t_traverse(Ns, ST). | ||
88 | + | ||
89 | +sa_t_traverse(N, ST) :- sa_t(N, ST). % non-list case | ||
90 | + | ||
91 | +% -- sa_t(NODE, ST) ----------------------------------------------------------- | ||
92 | + | ||
93 | +sa_t(var(_N,T,I,_A), _ST) :- type(I,T). | ||
94 | +sa_t(lit(E,T), _ST) :- type(lit(E,T), T). | ||
95 | +sa_t(constraint(CE, _AT), ST) :- | ||
96 | + CE=..[_|AS], | ||
97 | + sa_t_traverse(AS, ST). | ||
98 | + | ||
99 | +% ============================================================================= | ||
100 | + | ||
32 | sa_attribs([A|As], [NA|NAs], ST) :- | 101 | sa_attribs([A|As], [NA|NAs], ST) :- |
33 | sa_attrib(A, NA, ST), !, | 102 | sa_attrib(A, NA, ST), !, |
34 | sa_attribs(As, NAs, ST). | 103 | sa_attribs(As, NAs, ST). |
@@ -40,3 +109,4 @@ sa_attribs([], [], _). | @@ -40,3 +109,4 @@ sa_attribs([], [], _). | ||
40 | sa_attrib(id(output_var), output, _). | 109 | sa_attrib(id(output_var), output, _). |
41 | 110 | ||
42 | % ----------------------------------------------------------------------------- | 111 | % ----------------------------------------------------------------------------- |
112 | + |
fzn-parser/types.pl
1 | % == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= | 1 | % == No, Emacs this is -*-Prolog-*- code, not what you thought... ============= |
2 | 2 | ||
3 | -% sa_type/2 - locate the TYPE field | 3 | +% -- type(NODE, TYPE) --------------------------------------------------------- |
4 | +% | ||
5 | +% type/2: Extract type from AST node. | ||
4 | 6 | ||
5 | -sa_type(var(_NAME,TYPE,_INIT,_ANNOT), TYPE). | ||
6 | -sa_type(constraint(_NAME)). | 7 | +type(var(_,T,_,_), T) :- type(T). |
8 | +type(lit(_,T), T) :- type(T). | ||
9 | +type(id(_,T), T) :- type(T). | ||
10 | + | ||
11 | +type(lit(E,array(T)), array(T)) :- type(E, T). | ||
12 | +type(lit(_,T), T) :- type(T). | ||
13 | + | ||
14 | +type([], _). | ||
15 | +type([E|Es], T) :- type(E, T), type(Es, T). | ||
16 | + | ||
17 | +% -- type(TYPE) --------------------------------------------------------------- | ||
18 | +% | ||
19 | +% type/1: generate or test valid types. | ||
20 | + | ||
21 | +type(int). % integer | ||
22 | +type(int(_L,_U)). % integer interval | ||
23 | +type(float). % floating point | ||
24 | +type(float(_L,_U)). % floating point interval | ||
25 | +type(string). % string | ||
26 | +type(array(T,1,_U)) :- type(T). % array of type |