clib: prefix runtime errors with "Runtime error"
[nit.git] / c_src / parser._sep.c
1 /* This C file is generated by NIT to compile module parser. */
2 #include "parser._sep.h"
3 val_t parser___State___state(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_parser;
9 fra.me.line = 9;
10 fra.me.meth = LOCATE_parser___State___state;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.nitni_local_ref_head = NULL;
14 fra.me.REG[0] = NIT_NULL;
15 fra.me.REG[0] = p0;
16 /* parser/parser.nit:9 */
17 REGB0 = TAG_Bool(ATTR_parser___State____state(fra.me.REG[0])!=NIT_NULL);
18 if (UNTAG_Bool(REGB0)) {
19 } else {
20 nit_abort("Uninitialized attribute %s", "_state", LOCATE_parser, 9);
21 }
22 REGB0 = ATTR_parser___State____state(fra.me.REG[0]);
23 stack_frame_head = fra.me.prev;
24 return REGB0;
25 }
26 void parser___State___state__eq(val_t p0, val_t p1){
27 struct {struct stack_frame_t me;} fra;
28 val_t REGB0;
29 val_t tmp;
30 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31 fra.me.file = LOCATE_parser;
32 fra.me.line = 9;
33 fra.me.meth = LOCATE_parser___State___state__eq;
34 fra.me.has_broke = 0;
35 fra.me.REG_size = 1;
36 fra.me.nitni_local_ref_head = NULL;
37 fra.me.REG[0] = NIT_NULL;
38 fra.me.REG[0] = p0;
39 REGB0 = p1;
40 /* parser/parser.nit:9 */
41 ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
42 stack_frame_head = fra.me.prev;
43 return;
44 }
45 val_t parser___State___nodes(val_t p0){
46 struct {struct stack_frame_t me;} fra;
47 val_t tmp;
48 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49 fra.me.file = LOCATE_parser;
50 fra.me.line = 12;
51 fra.me.meth = LOCATE_parser___State___nodes;
52 fra.me.has_broke = 0;
53 fra.me.REG_size = 1;
54 fra.me.nitni_local_ref_head = NULL;
55 fra.me.REG[0] = NIT_NULL;
56 fra.me.REG[0] = p0;
57 /* parser/parser.nit:12 */
58 fra.me.REG[0] = ATTR_parser___State____nodes(fra.me.REG[0]);
59 stack_frame_head = fra.me.prev;
60 return fra.me.REG[0];
61 }
62 void parser___State___nodes__eq(val_t p0, val_t p1){
63 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
64 val_t tmp;
65 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
66 fra.me.file = LOCATE_parser;
67 fra.me.line = 12;
68 fra.me.meth = LOCATE_parser___State___nodes__eq;
69 fra.me.has_broke = 0;
70 fra.me.REG_size = 2;
71 fra.me.nitni_local_ref_head = NULL;
72 fra.me.REG[0] = NIT_NULL;
73 fra.me.REG[1] = NIT_NULL;
74 fra.me.REG[0] = p0;
75 fra.me.REG[1] = p1;
76 /* parser/parser.nit:12 */
77 ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
78 stack_frame_head = fra.me.prev;
79 return;
80 }
81 void parser___State___init(val_t p0, val_t p1, val_t p2, int* init_table){
82 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___State].i;
83 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
84 val_t REGB0;
85 val_t tmp;
86 if (init_table[itpos0]) return;
87 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
88 fra.me.file = LOCATE_parser;
89 fra.me.line = 15;
90 fra.me.meth = LOCATE_parser___State___init;
91 fra.me.has_broke = 0;
92 fra.me.REG_size = 2;
93 fra.me.nitni_local_ref_head = NULL;
94 fra.me.REG[0] = NIT_NULL;
95 fra.me.REG[1] = NIT_NULL;
96 fra.me.REG[0] = p0;
97 REGB0 = p1;
98 fra.me.REG[1] = p2;
99 /* parser/parser.nit:17 */
100 ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
101 /* parser/parser.nit:18 */
102 ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
103 stack_frame_head = fra.me.prev;
104 init_table[itpos0] = 1;
105 return;
106 }
107 void parser___Parser___init(val_t p0, val_t p1, int* init_table){
108 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___Parser].i;
109 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
110 val_t REGB0;
111 val_t tmp;
112 if (init_table[itpos1]) return;
113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
114 fra.me.file = LOCATE_parser;
115 fra.me.line = 33;
116 fra.me.meth = LOCATE_parser___Parser___init;
117 fra.me.has_broke = 0;
118 fra.me.REG_size = 2;
119 fra.me.nitni_local_ref_head = NULL;
120 fra.me.REG[0] = NIT_NULL;
121 fra.me.REG[1] = NIT_NULL;
122 fra.me.REG[0] = p0;
123 fra.me.REG[1] = p1;
124 /* parser/parser.nit:36 */
125 ATTR_parser___Parser____lexer(fra.me.REG[0]) = fra.me.REG[1];
126 /* parser/parser.nit:37 */
127 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___init();
128 ATTR_parser___Parser____stack(fra.me.REG[0]) = fra.me.REG[1];
129 /* parser/parser.nit:38 */
130 REGB0 = TAG_Int(1);
131 /* ../lib/standard/kernel.nit:236 */
132 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
133 /* parser/parser.nit:38 */
134 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB0;
135 /* parser/parser.nit:39 */
136 CALL_parser___Parser___build_reduce_table(fra.me.REG[0])(fra.me.REG[0]);
137 stack_frame_head = fra.me.prev;
138 init_table[itpos1] = 1;
139 return;
140 }
141 val_t parser___Parser___go_to(val_t p0, val_t p1){
142 struct {struct stack_frame_t me;} fra;
143 val_t REGB0;
144 val_t REGB1;
145 val_t REGB2;
146 val_t REGB3;
147 val_t REGB4;
148 val_t REGB5;
149 val_t REGB6;
150 val_t REGB7;
151 val_t tmp;
152 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
153 fra.me.file = LOCATE_parser;
154 fra.me.line = 42;
155 fra.me.meth = LOCATE_parser___Parser___go_to;
156 fra.me.has_broke = 0;
157 fra.me.REG_size = 1;
158 fra.me.nitni_local_ref_head = NULL;
159 fra.me.REG[0] = NIT_NULL;
160 fra.me.REG[0] = p0;
161 REGB0 = p1;
162 /* parser/parser.nit:45 */
163 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
164 /* parser/parser.nit:46 */
165 REGB2 = TAG_Int(1);
166 /* parser/parser.nit:47 */
167 REGB3 = TAG_Int(0);
168 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
169 REGB4 = TAG_Int(1);
170 /* ../lib/standard/kernel.nit:237 */
171 REGB4 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB4));
172 /* parser/parser.nit:49 */
173 while(1) {
174 REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
175 if (UNTAG_Bool(REGB3)) {
176 } else {
177 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
178 }
179 /* ../lib/standard/kernel.nit:231 */
180 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<=UNTAG_Int(REGB4));
181 /* parser/parser.nit:49 */
182 if (UNTAG_Bool(REGB3)) {
183 /* ../lib/standard/kernel.nit:235 */
184 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
185 /* parser/parser.nit:50 */
186 REGB5 = TAG_Int(2);
187 /* ../lib/standard/kernel.nit:239 */
188 REGB5 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB5));
189 /* parser/parser.nit:51 */
190 REGB3 = TAG_Int(2);
191 /* ../lib/standard/kernel.nit:238 */
192 REGB3 = TAG_Int(UNTAG_Int(REGB5)*UNTAG_Int(REGB3));
193 /* parser/parser.nit:51 */
194 REGB6 = TAG_Int(1);
195 /* ../lib/standard/kernel.nit:235 */
196 REGB6 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB6));
197 /* parser/parser.nit:53 */
198 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB6);
199 REGB7 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
200 if (UNTAG_Bool(REGB7)) {
201 } else {
202 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
203 }
204 /* ../lib/standard/kernel.nit:232 */
205 REGB7 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB3));
206 /* parser/parser.nit:54 */
207 if (UNTAG_Bool(REGB7)) {
208 /* parser/parser.nit:55 */
209 REGB7 = TAG_Int(1);
210 /* ../lib/standard/kernel.nit:237 */
211 REGB7 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB7));
212 /* parser/parser.nit:55 */
213 REGB4 = REGB7;
214 } else {
215 REGB7 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
216 if (UNTAG_Bool(REGB7)) {
217 } else {
218 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
219 }
220 /* ../lib/standard/kernel.nit:234 */
221 REGB3 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB3));
222 /* parser/parser.nit:56 */
223 if (UNTAG_Bool(REGB3)) {
224 /* parser/parser.nit:57 */
225 REGB3 = TAG_Int(1);
226 /* ../lib/standard/kernel.nit:235 */
227 REGB3 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB3));
228 /* parser/parser.nit:57 */
229 REGB2 = REGB3;
230 } else {
231 /* parser/parser.nit:59 */
232 REGB3 = TAG_Int(1);
233 /* ../lib/standard/kernel.nit:235 */
234 REGB3 = TAG_Int(UNTAG_Int(REGB6)+UNTAG_Int(REGB3));
235 /* parser/parser.nit:59 */
236 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
237 goto label1;
238 }
239 }
240 } else {
241 /* parser/parser.nit:49 */
242 goto label2;
243 }
244 }
245 label2: while(0);
246 /* parser/parser.nit:63 */
247 REGB2 = TAG_Int(2);
248 REGB2 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
249 REGB3 = REGB2;
250 goto label1;
251 label1: while(0);
252 stack_frame_head = fra.me.prev;
253 return REGB3;
254 }
255 void parser___Parser___push(val_t p0, val_t p1, val_t p2){
256 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
257 val_t REGB0;
258 val_t REGB1;
259 val_t REGB2;
260 val_t REGB3;
261 val_t tmp;
262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
263 fra.me.file = LOCATE_parser;
264 fra.me.line = 66;
265 fra.me.meth = LOCATE_parser___Parser___push;
266 fra.me.has_broke = 0;
267 fra.me.REG_size = 3;
268 fra.me.nitni_local_ref_head = NULL;
269 fra.me.REG[0] = NIT_NULL;
270 fra.me.REG[1] = NIT_NULL;
271 fra.me.REG[2] = NIT_NULL;
272 fra.me.REG[0] = p0;
273 REGB0 = p1;
274 fra.me.REG[1] = p2;
275 /* parser/parser.nit:69 */
276 REGB1 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
277 if (UNTAG_Bool(REGB1)) {
278 } else {
279 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 69);
280 }
281 REGB1 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
282 REGB2 = TAG_Int(1);
283 /* ../lib/standard/kernel.nit:235 */
284 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
285 /* parser/parser.nit:70 */
286 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB2;
287 /* parser/parser.nit:71 */
288 REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
289 if (UNTAG_Bool(REGB1)) {
290 } else {
291 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 71);
292 }
293 fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
294 /* ../lib/standard/collection/array.nit:24 */
295 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
296 if (UNTAG_Bool(REGB1)) {
297 } else {
298 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
299 }
300 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
301 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
302 if (UNTAG_Bool(REGB3)) {
303 } else {
304 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
305 }
306 /* ../lib/standard/kernel.nit:232 */
307 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
308 /* parser/parser.nit:71 */
309 if (UNTAG_Bool(REGB1)) {
310 /* parser/parser.nit:72 */
311 REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
312 if (UNTAG_Bool(REGB1)) {
313 } else {
314 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 72);
315 }
316 fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
317 /* ../lib/standard/collection/array.nit:280 */
318 REGB1 = TAG_Int(0);
319 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
320 if (UNTAG_Bool(REGB3)) {
321 } else {
322 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
323 }
324 /* ../lib/standard/kernel.nit:233 */
325 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
326 /* ../lib/standard/collection/array.nit:280 */
327 if (UNTAG_Bool(REGB1)) {
328 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
329 if (UNTAG_Bool(REGB1)) {
330 } else {
331 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
332 }
333 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
334 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
335 if (UNTAG_Bool(REGB3)) {
336 } else {
337 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
338 }
339 /* ../lib/standard/kernel.nit:232 */
340 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
341 } else {
342 /* ../lib/standard/collection/array.nit:280 */
343 REGB3 = TAG_Bool(false);
344 REGB1 = REGB3;
345 }
346 if (UNTAG_Bool(REGB1)) {
347 } else {
348 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
349 }
350 /* ../lib/standard/collection/array.nit:281 */
351 fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
352 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
353 if (UNTAG_Bool(REGB1)) {
354 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
355 }
356 /* ../lib/standard/collection/array.nit:718 */
357 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)];
358 /* ../lib/standard/collection/array.nit:281 */
359 goto label1;
360 label1: while(0);
361 /* parser/parser.nit:73 */
362 CALL_parser___State___state__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
363 /* parser/parser.nit:74 */
364 CALL_parser___State___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
365 } else {
366 /* parser/parser.nit:76 */
367 REGB2 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
368 if (UNTAG_Bool(REGB2)) {
369 } else {
370 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 76);
371 }
372 fra.me.REG[0] = ATTR_parser___Parser____stack(fra.me.REG[0]);
373 fra.me.REG[1] = NEW_State_parser___State___init(REGB0, fra.me.REG[1]);
374 CALL_standard___collection___abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
375 }
376 stack_frame_head = fra.me.prev;
377 return;
378 }
379 val_t parser___Parser___state(val_t p0){
380 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
381 val_t REGB0;
382 val_t REGB1;
383 val_t REGB2;
384 val_t tmp;
385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
386 fra.me.file = LOCATE_parser;
387 fra.me.line = 80;
388 fra.me.meth = LOCATE_parser___Parser___state;
389 fra.me.has_broke = 0;
390 fra.me.REG_size = 2;
391 fra.me.nitni_local_ref_head = NULL;
392 fra.me.REG[0] = NIT_NULL;
393 fra.me.REG[1] = NIT_NULL;
394 fra.me.REG[0] = p0;
395 /* parser/parser.nit:83 */
396 REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
397 if (UNTAG_Bool(REGB0)) {
398 } else {
399 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 83);
400 }
401 fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]);
402 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
403 if (UNTAG_Bool(REGB0)) {
404 } else {
405 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 83);
406 }
407 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
408 /* ../lib/standard/collection/array.nit:280 */
409 REGB1 = TAG_Int(0);
410 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
411 if (UNTAG_Bool(REGB2)) {
412 } else {
413 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
414 }
415 /* ../lib/standard/kernel.nit:233 */
416 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
417 /* ../lib/standard/collection/array.nit:280 */
418 if (UNTAG_Bool(REGB1)) {
419 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
420 if (UNTAG_Bool(REGB1)) {
421 } else {
422 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
423 }
424 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
425 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
426 if (UNTAG_Bool(REGB2)) {
427 } else {
428 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
429 }
430 /* ../lib/standard/kernel.nit:232 */
431 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
432 } else {
433 /* ../lib/standard/collection/array.nit:280 */
434 REGB2 = TAG_Bool(false);
435 REGB1 = REGB2;
436 }
437 if (UNTAG_Bool(REGB1)) {
438 } else {
439 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
440 }
441 /* ../lib/standard/collection/array.nit:281 */
442 fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
443 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
444 if (UNTAG_Bool(REGB1)) {
445 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
446 }
447 /* ../lib/standard/collection/array.nit:718 */
448 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
449 /* ../lib/standard/collection/array.nit:281 */
450 goto label1;
451 label1: while(0);
452 /* parser/parser.nit:83 */
453 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
454 if (UNTAG_Bool(REGB0)) {
455 nit_abort("Reciever is null", NULL, LOCATE_parser, 83);
456 }
457 REGB0 = CALL_parser___State___state(fra.me.REG[1])(fra.me.REG[1]);
458 goto label2;
459 label2: while(0);
460 stack_frame_head = fra.me.prev;
461 return REGB0;
462 }
463 val_t parser___Parser___pop(val_t p0){
464 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
465 val_t REGB0;
466 val_t REGB1;
467 val_t REGB2;
468 val_t tmp;
469 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
470 fra.me.file = LOCATE_parser;
471 fra.me.line = 86;
472 fra.me.meth = LOCATE_parser___Parser___pop;
473 fra.me.has_broke = 0;
474 fra.me.REG_size = 2;
475 fra.me.nitni_local_ref_head = NULL;
476 fra.me.REG[0] = NIT_NULL;
477 fra.me.REG[1] = NIT_NULL;
478 fra.me.REG[0] = p0;
479 /* parser/parser.nit:89 */
480 REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
481 if (UNTAG_Bool(REGB0)) {
482 } else {
483 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 89);
484 }
485 fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]);
486 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
487 if (UNTAG_Bool(REGB0)) {
488 } else {
489 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 89);
490 }
491 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
492 /* ../lib/standard/collection/array.nit:280 */
493 REGB1 = TAG_Int(0);
494 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
495 if (UNTAG_Bool(REGB2)) {
496 } else {
497 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
498 }
499 /* ../lib/standard/kernel.nit:233 */
500 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
501 /* ../lib/standard/collection/array.nit:280 */
502 if (UNTAG_Bool(REGB1)) {
503 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
504 if (UNTAG_Bool(REGB1)) {
505 } else {
506 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
507 }
508 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
509 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
510 if (UNTAG_Bool(REGB2)) {
511 } else {
512 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
513 }
514 /* ../lib/standard/kernel.nit:232 */
515 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
516 } else {
517 /* ../lib/standard/collection/array.nit:280 */
518 REGB2 = TAG_Bool(false);
519 REGB1 = REGB2;
520 }
521 if (UNTAG_Bool(REGB1)) {
522 } else {
523 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
524 }
525 /* ../lib/standard/collection/array.nit:281 */
526 fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
527 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
528 if (UNTAG_Bool(REGB1)) {
529 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
530 }
531 /* ../lib/standard/collection/array.nit:718 */
532 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
533 /* ../lib/standard/collection/array.nit:281 */
534 goto label1;
535 label1: while(0);
536 /* parser/parser.nit:89 */
537 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
538 if (UNTAG_Bool(REGB0)) {
539 nit_abort("Reciever is null", NULL, LOCATE_parser, 89);
540 }
541 fra.me.REG[1] = CALL_parser___State___nodes(fra.me.REG[1])(fra.me.REG[1]);
542 /* parser/parser.nit:90 */
543 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
544 if (UNTAG_Bool(REGB0)) {
545 } else {
546 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 90);
547 }
548 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
549 REGB1 = TAG_Int(1);
550 /* ../lib/standard/kernel.nit:237 */
551 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
552 /* parser/parser.nit:90 */
553 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB1;
554 /* parser/parser.nit:91 */
555 goto label2;
556 label2: while(0);
557 stack_frame_head = fra.me.prev;
558 return fra.me.REG[1];
559 }
560 val_t parser___Parser___parse(val_t p0){
561 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
562 val_t REGB0;
563 val_t REGB1;
564 val_t REGB2;
565 val_t REGB3;
566 val_t REGB4;
567 val_t REGB5;
568 val_t REGB6;
569 val_t REGB7;
570 val_t REGB8;
571 val_t tmp;
572 static val_t once_value_4; /* Once value */
573 static val_t once_value_5; /* Once value */
574 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
575 fra.me.file = LOCATE_parser;
576 fra.me.line = 94;
577 fra.me.meth = LOCATE_parser___Parser___parse;
578 fra.me.has_broke = 0;
579 fra.me.REG_size = 6;
580 fra.me.nitni_local_ref_head = NULL;
581 fra.me.REG[0] = NIT_NULL;
582 fra.me.REG[1] = NIT_NULL;
583 fra.me.REG[2] = NIT_NULL;
584 fra.me.REG[3] = NIT_NULL;
585 fra.me.REG[4] = NIT_NULL;
586 fra.me.REG[5] = NIT_NULL;
587 fra.me.REG[0] = p0;
588 /* parser/parser.nit:97 */
589 REGB0 = TAG_Int(0);
590 CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB0, NIT_NULL);
591 /* parser/parser.nit:99 */
592 REGB0 = TAG_Bool(ATTR_parser___Parser____lexer(fra.me.REG[0])!=NIT_NULL);
593 if (UNTAG_Bool(REGB0)) {
594 } else {
595 nit_abort("Uninitialized attribute %s", "_lexer", LOCATE_parser, 99);
596 }
597 fra.me.REG[1] = ATTR_parser___Parser____lexer(fra.me.REG[0]);
598 /* parser/parser.nit:100 */
599 while(1) {
600 /* parser/parser.nit:101 */
601 fra.me.REG[2] = CALL_parser___lexer___Lexer___peek(fra.me.REG[1])(fra.me.REG[1]);
602 /* parser/parser.nit:102 */
603 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_parser___parser_nodes___AError, ID_parser___parser_nodes___AError)) /*cast AError*/;
604 if (UNTAG_Bool(REGB0)) {
605 /* parser/parser.nit:103 */
606 fra.me.REG[3] = NEW_Start_parser___parser_nodes___Start___init(NIT_NULL, fra.me.REG[2]);
607 goto label1;
608 }
609 /* parser/parser.nit:106 */
610 REGB0 = CALL_parser___lexer___Token___parser_index(fra.me.REG[2])(fra.me.REG[2]);
611 /* parser/parser.nit:107 */
612 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
613 REGB2 = TAG_Int(2);
614 REGB2 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB1, REGB2);
615 /* parser/parser.nit:108 */
616 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
617 REGB3 = TAG_Int(3);
618 REGB3 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB1, REGB3);
619 /* parser/parser.nit:110 */
620 REGB1 = TAG_Int(1);
621 /* parser/parser.nit:111 */
622 REGB4 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
623 REGB5 = TAG_Int(0);
624 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB4, REGB5);
625 REGB4 = TAG_Int(1);
626 /* ../lib/standard/kernel.nit:237 */
627 REGB4 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB4));
628 /* parser/parser.nit:113 */
629 while(1) {
630 REGB5 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
631 if (UNTAG_Bool(REGB5)) {
632 } else {
633 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
634 }
635 /* ../lib/standard/kernel.nit:231 */
636 REGB5 = TAG_Bool(UNTAG_Int(REGB1)<=UNTAG_Int(REGB4));
637 /* parser/parser.nit:113 */
638 if (UNTAG_Bool(REGB5)) {
639 /* ../lib/standard/kernel.nit:235 */
640 REGB5 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB4));
641 /* parser/parser.nit:114 */
642 REGB6 = TAG_Int(2);
643 /* ../lib/standard/kernel.nit:239 */
644 REGB6 = TAG_Int(UNTAG_Int(REGB5)/UNTAG_Int(REGB6));
645 /* parser/parser.nit:115 */
646 REGB5 = TAG_Int(3);
647 /* ../lib/standard/kernel.nit:238 */
648 REGB5 = TAG_Int(UNTAG_Int(REGB6)*UNTAG_Int(REGB5));
649 /* parser/parser.nit:115 */
650 REGB7 = TAG_Int(1);
651 /* ../lib/standard/kernel.nit:235 */
652 REGB7 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB7));
653 /* parser/parser.nit:117 */
654 REGB5 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
655 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB5, REGB7);
656 REGB8 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
657 if (UNTAG_Bool(REGB8)) {
658 } else {
659 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
660 }
661 /* ../lib/standard/kernel.nit:232 */
662 REGB8 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB5));
663 /* parser/parser.nit:118 */
664 if (UNTAG_Bool(REGB8)) {
665 /* parser/parser.nit:119 */
666 REGB8 = TAG_Int(1);
667 /* ../lib/standard/kernel.nit:237 */
668 REGB8 = TAG_Int(UNTAG_Int(REGB6)-UNTAG_Int(REGB8));
669 /* parser/parser.nit:119 */
670 REGB4 = REGB8;
671 } else {
672 REGB8 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
673 if (UNTAG_Bool(REGB8)) {
674 } else {
675 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
676 }
677 /* ../lib/standard/kernel.nit:234 */
678 REGB5 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB5));
679 /* parser/parser.nit:120 */
680 if (UNTAG_Bool(REGB5)) {
681 /* parser/parser.nit:121 */
682 REGB5 = TAG_Int(1);
683 /* ../lib/standard/kernel.nit:235 */
684 REGB5 = TAG_Int(UNTAG_Int(REGB6)+UNTAG_Int(REGB5));
685 /* parser/parser.nit:121 */
686 REGB1 = REGB5;
687 } else {
688 /* parser/parser.nit:123 */
689 REGB5 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
690 REGB6 = TAG_Int(1);
691 /* ../lib/standard/kernel.nit:235 */
692 REGB6 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB6));
693 /* parser/parser.nit:123 */
694 REGB6 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB5, REGB6);
695 REGB2 = REGB6;
696 /* parser/parser.nit:124 */
697 REGB6 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
698 REGB5 = TAG_Int(2);
699 /* ../lib/standard/kernel.nit:235 */
700 REGB5 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB5));
701 /* parser/parser.nit:124 */
702 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB6, REGB5);
703 REGB3 = REGB5;
704 /* parser/parser.nit:125 */
705 goto label2;
706 }
707 }
708 } else {
709 /* parser/parser.nit:113 */
710 goto label2;
711 }
712 }
713 label2: while(0);
714 /* parser/parser.nit:129 */
715 REGB1 = TAG_Int(0);
716 REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
717 if (UNTAG_Bool(REGB0)) {
718 } else {
719 /* ../lib/standard/kernel.nit:227 */
720 REGB1 = TAG_Bool((REGB2)==(REGB1));
721 /* parser/parser.nit:129 */
722 REGB0 = REGB1;
723 }
724 if (UNTAG_Bool(REGB0)) {
725 /* parser/parser.nit:130 */
726 fra.me.REG[4] = CALL_parser___lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
727 CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB3, fra.me.REG[4]);
728 } else {
729 /* parser/parser.nit:131 */
730 REGB0 = TAG_Int(1);
731 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB0));
732 if (UNTAG_Bool(REGB1)) {
733 } else {
734 /* ../lib/standard/kernel.nit:227 */
735 REGB0 = TAG_Bool((REGB2)==(REGB0));
736 /* parser/parser.nit:131 */
737 REGB1 = REGB0;
738 }
739 if (UNTAG_Bool(REGB1)) {
740 /* parser/parser.nit:132 */
741 REGB1 = TAG_Bool(ATTR_parser___Parser____reduce_table(fra.me.REG[0])!=NIT_NULL);
742 if (UNTAG_Bool(REGB1)) {
743 } else {
744 nit_abort("Uninitialized attribute %s", "_reduce_table", LOCATE_parser, 132);
745 }
746 fra.me.REG[4] = ATTR_parser___Parser____reduce_table(fra.me.REG[0]);
747 /* ../lib/standard/collection/array.nit:280 */
748 REGB1 = TAG_Int(0);
749 REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
750 if (UNTAG_Bool(REGB0)) {
751 } else {
752 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
753 }
754 /* ../lib/standard/kernel.nit:233 */
755 REGB1 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB1));
756 /* ../lib/standard/collection/array.nit:280 */
757 if (UNTAG_Bool(REGB1)) {
758 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
759 if (UNTAG_Bool(REGB1)) {
760 } else {
761 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
762 }
763 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
764 REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
765 if (UNTAG_Bool(REGB0)) {
766 } else {
767 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
768 }
769 /* ../lib/standard/kernel.nit:232 */
770 REGB1 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB1));
771 } else {
772 /* ../lib/standard/collection/array.nit:280 */
773 REGB0 = TAG_Bool(false);
774 REGB1 = REGB0;
775 }
776 if (UNTAG_Bool(REGB1)) {
777 } else {
778 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
779 }
780 /* ../lib/standard/collection/array.nit:281 */
781 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
782 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
783 if (UNTAG_Bool(REGB1)) {
784 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
785 }
786 /* ../lib/standard/collection/array.nit:718 */
787 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB3)];
788 /* ../lib/standard/collection/array.nit:281 */
789 goto label3;
790 label3: while(0);
791 /* parser/parser.nit:132 */
792 REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
793 if (UNTAG_Bool(REGB3)) {
794 nit_abort("Reciever is null", NULL, LOCATE_parser, 132);
795 }
796 CALL_parser___ReduceAction___action(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
797 } else {
798 /* parser/parser.nit:133 */
799 REGB3 = TAG_Int(2);
800 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
801 if (UNTAG_Bool(REGB1)) {
802 } else {
803 /* ../lib/standard/kernel.nit:227 */
804 REGB3 = TAG_Bool((REGB2)==(REGB3));
805 /* parser/parser.nit:133 */
806 REGB1 = REGB3;
807 }
808 if (UNTAG_Bool(REGB1)) {
809 /* parser/parser.nit:134 */
810 fra.me.REG[4] = CALL_parser___lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
811 /* parser/parser.nit:135 */
812 REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___EOF, ID_parser___parser_nodes___EOF)) /*cast EOF*/;
813 if (UNTAG_Bool(REGB1)) {
814 } else {
815 nit_abort("Assert failed", NULL, LOCATE_parser, 135);
816 }
817 /* parser/parser.nit:136 */
818 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[0])(fra.me.REG[0]);
819 /* parser/parser.nit:137 */
820 REGB1 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModule, ID_parser___parser_nodes___AModule)) /*cast AModule*/;
821 if (UNTAG_Bool(REGB1)) {
822 } else {
823 nit_abort("Assert failed", NULL, LOCATE_parser, 137);
824 }
825 /* parser/parser.nit:138 */
826 fra.me.REG[4] = NEW_Start_parser___parser_nodes___Start___init(fra.me.REG[5], fra.me.REG[4]);
827 /* parser/parser.nit:139 */
828 fra.me.REG[5] = NEW_ComputeProdLocationVisitor_parser___ComputeProdLocationVisitor___init();
829 CALL_parser___parser_prod___Visitor___enter_visit(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
830 /* parser/parser.nit:140 */
831 fra.me.REG[3] = fra.me.REG[4];
832 goto label1;
833 } else {
834 /* parser/parser.nit:141 */
835 REGB1 = TAG_Int(3);
836 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
837 if (UNTAG_Bool(REGB3)) {
838 } else {
839 /* ../lib/standard/kernel.nit:227 */
840 REGB1 = TAG_Bool((REGB2)==(REGB1));
841 /* parser/parser.nit:141 */
842 REGB3 = REGB1;
843 }
844 if (UNTAG_Bool(REGB3)) {
845 /* parser/parser.nit:142 */
846 REGB3 = TAG_Int(3);
847 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
848 if (!once_value_4) {
849 fra.me.REG[5] = BOX_NativeString("Syntax error: unexpected ");
850 REGB3 = TAG_Int(25);
851 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB3);
852 once_value_4 = fra.me.REG[5];
853 register_static_object(&once_value_4);
854 } else fra.me.REG[5] = once_value_4;
855 fra.me.REG[5] = fra.me.REG[5];
856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
857 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
859 if (!once_value_5) {
860 fra.me.REG[5] = BOX_NativeString(".");
861 REGB3 = TAG_Int(1);
862 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB3);
863 once_value_5 = fra.me.REG[5];
864 register_static_object(&once_value_5);
865 } else fra.me.REG[5] = once_value_5;
866 fra.me.REG[5] = fra.me.REG[5];
867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
868 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
869 fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]);
870 fra.me.REG[2] = NEW_AError_parser___lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]);
871 /* parser/parser.nit:143 */
872 fra.me.REG[2] = NEW_Start_parser___parser_nodes___Start___init(NIT_NULL, fra.me.REG[2]);
873 /* parser/parser.nit:144 */
874 fra.me.REG[3] = fra.me.REG[2];
875 goto label1;
876 }
877 }
878 }
879 }
880 }
881 label1: while(0);
882 stack_frame_head = fra.me.prev;
883 return fra.me.REG[3];
884 }
885 void parser___Parser___build_reduce_table(val_t p0){
886 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
887 val_t REGB0;
888 val_t tmp;
889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
890 fra.me.file = LOCATE_parser;
891 fra.me.line = 150;
892 fra.me.meth = LOCATE_parser___Parser___build_reduce_table;
893 fra.me.has_broke = 0;
894 fra.me.REG_size = 3;
895 fra.me.nitni_local_ref_head = NULL;
896 fra.me.REG[0] = NIT_NULL;
897 fra.me.REG[1] = NIT_NULL;
898 fra.me.REG[2] = NIT_NULL;
899 fra.me.REG[0] = p0;
900 /* parser/parser.nit:152 */
901 REGB0 = TAG_Int(755);
902 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
903 /* parser/parser.nit:153 */
904 REGB0 = TAG_Int(0);
905 fra.me.REG[2] = NEW_ReduceAction0_parser___ReduceAction___init(REGB0);
906 /* parser/parser.nit:152 */
907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
908 /* parser/parser.nit:154 */
909 REGB0 = TAG_Int(0);
910 fra.me.REG[2] = NEW_ReduceAction1_parser___ReduceAction___init(REGB0);
911 /* parser/parser.nit:152 */
912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
913 /* parser/parser.nit:155 */
914 REGB0 = TAG_Int(0);
915 fra.me.REG[2] = NEW_ReduceAction2_parser___ReduceAction___init(REGB0);
916 /* parser/parser.nit:152 */
917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
918 /* parser/parser.nit:156 */
919 REGB0 = TAG_Int(0);
920 fra.me.REG[2] = NEW_ReduceAction3_parser___ReduceAction___init(REGB0);
921 /* parser/parser.nit:152 */
922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
923 /* parser/parser.nit:157 */
924 REGB0 = TAG_Int(0);
925 fra.me.REG[2] = NEW_ReduceAction4_parser___ReduceAction___init(REGB0);
926 /* parser/parser.nit:152 */
927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
928 /* parser/parser.nit:158 */
929 REGB0 = TAG_Int(0);
930 fra.me.REG[2] = NEW_ReduceAction5_parser___ReduceAction___init(REGB0);
931 /* parser/parser.nit:152 */
932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
933 /* parser/parser.nit:159 */
934 REGB0 = TAG_Int(0);
935 fra.me.REG[2] = NEW_ReduceAction6_parser___ReduceAction___init(REGB0);
936 /* parser/parser.nit:152 */
937 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
938 /* parser/parser.nit:160 */
939 REGB0 = TAG_Int(0);
940 fra.me.REG[2] = NEW_ReduceAction7_parser___ReduceAction___init(REGB0);
941 /* parser/parser.nit:152 */
942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
943 /* parser/parser.nit:161 */
944 REGB0 = TAG_Int(0);
945 fra.me.REG[2] = NEW_ReduceAction8_parser___ReduceAction___init(REGB0);
946 /* parser/parser.nit:152 */
947 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
948 /* parser/parser.nit:162 */
949 REGB0 = TAG_Int(0);
950 fra.me.REG[2] = NEW_ReduceAction9_parser___ReduceAction___init(REGB0);
951 /* parser/parser.nit:152 */
952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
953 /* parser/parser.nit:163 */
954 REGB0 = TAG_Int(0);
955 fra.me.REG[2] = NEW_ReduceAction10_parser___ReduceAction___init(REGB0);
956 /* parser/parser.nit:152 */
957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
958 /* parser/parser.nit:164 */
959 REGB0 = TAG_Int(0);
960 fra.me.REG[2] = NEW_ReduceAction11_parser___ReduceAction___init(REGB0);
961 /* parser/parser.nit:152 */
962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
963 /* parser/parser.nit:165 */
964 REGB0 = TAG_Int(0);
965 fra.me.REG[2] = NEW_ReduceAction12_parser___ReduceAction___init(REGB0);
966 /* parser/parser.nit:152 */
967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
968 /* parser/parser.nit:166 */
969 REGB0 = TAG_Int(0);
970 fra.me.REG[2] = NEW_ReduceAction13_parser___ReduceAction___init(REGB0);
971 /* parser/parser.nit:152 */
972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
973 /* parser/parser.nit:167 */
974 REGB0 = TAG_Int(0);
975 fra.me.REG[2] = NEW_ReduceAction14_parser___ReduceAction___init(REGB0);
976 /* parser/parser.nit:152 */
977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
978 /* parser/parser.nit:168 */
979 REGB0 = TAG_Int(0);
980 fra.me.REG[2] = NEW_ReduceAction15_parser___ReduceAction___init(REGB0);
981 /* parser/parser.nit:152 */
982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
983 /* parser/parser.nit:169 */
984 REGB0 = TAG_Int(0);
985 fra.me.REG[2] = NEW_ReduceAction16_parser___ReduceAction___init(REGB0);
986 /* parser/parser.nit:152 */
987 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
988 /* parser/parser.nit:170 */
989 REGB0 = TAG_Int(0);
990 fra.me.REG[2] = NEW_ReduceAction17_parser___ReduceAction___init(REGB0);
991 /* parser/parser.nit:152 */
992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
993 /* parser/parser.nit:171 */
994 REGB0 = TAG_Int(0);
995 fra.me.REG[2] = NEW_ReduceAction18_parser___ReduceAction___init(REGB0);
996 /* parser/parser.nit:152 */
997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
998 /* parser/parser.nit:172 */
999 REGB0 = TAG_Int(0);
1000 fra.me.REG[2] = NEW_ReduceAction19_parser___ReduceAction___init(REGB0);
1001 /* parser/parser.nit:152 */
1002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1003 /* parser/parser.nit:173 */
1004 REGB0 = TAG_Int(0);
1005 fra.me.REG[2] = NEW_ReduceAction20_parser___ReduceAction___init(REGB0);
1006 /* parser/parser.nit:152 */
1007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1008 /* parser/parser.nit:174 */
1009 REGB0 = TAG_Int(0);
1010 fra.me.REG[2] = NEW_ReduceAction21_parser___ReduceAction___init(REGB0);
1011 /* parser/parser.nit:152 */
1012 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1013 /* parser/parser.nit:175 */
1014 REGB0 = TAG_Int(0);
1015 fra.me.REG[2] = NEW_ReduceAction22_parser___ReduceAction___init(REGB0);
1016 /* parser/parser.nit:152 */
1017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1018 /* parser/parser.nit:176 */
1019 REGB0 = TAG_Int(0);
1020 fra.me.REG[2] = NEW_ReduceAction23_parser___ReduceAction___init(REGB0);
1021 /* parser/parser.nit:152 */
1022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1023 /* parser/parser.nit:177 */
1024 REGB0 = TAG_Int(0);
1025 fra.me.REG[2] = NEW_ReduceAction24_parser___ReduceAction___init(REGB0);
1026 /* parser/parser.nit:152 */
1027 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1028 /* parser/parser.nit:178 */
1029 REGB0 = TAG_Int(0);
1030 fra.me.REG[2] = NEW_ReduceAction25_parser___ReduceAction___init(REGB0);
1031 /* parser/parser.nit:152 */
1032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1033 /* parser/parser.nit:179 */
1034 REGB0 = TAG_Int(0);
1035 fra.me.REG[2] = NEW_ReduceAction26_parser___ReduceAction___init(REGB0);
1036 /* parser/parser.nit:152 */
1037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1038 /* parser/parser.nit:180 */
1039 REGB0 = TAG_Int(0);
1040 fra.me.REG[2] = NEW_ReduceAction27_parser___ReduceAction___init(REGB0);
1041 /* parser/parser.nit:152 */
1042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1043 /* parser/parser.nit:181 */
1044 REGB0 = TAG_Int(0);
1045 fra.me.REG[2] = NEW_ReduceAction28_parser___ReduceAction___init(REGB0);
1046 /* parser/parser.nit:152 */
1047 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1048 /* parser/parser.nit:182 */
1049 REGB0 = TAG_Int(0);
1050 fra.me.REG[2] = NEW_ReduceAction29_parser___ReduceAction___init(REGB0);
1051 /* parser/parser.nit:152 */
1052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1053 /* parser/parser.nit:183 */
1054 REGB0 = TAG_Int(0);
1055 fra.me.REG[2] = NEW_ReduceAction30_parser___ReduceAction___init(REGB0);
1056 /* parser/parser.nit:152 */
1057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1058 /* parser/parser.nit:184 */
1059 REGB0 = TAG_Int(0);
1060 fra.me.REG[2] = NEW_ReduceAction31_parser___ReduceAction___init(REGB0);
1061 /* parser/parser.nit:152 */
1062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1063 /* parser/parser.nit:185 */
1064 REGB0 = TAG_Int(1);
1065 fra.me.REG[2] = NEW_ReduceAction32_parser___ReduceAction___init(REGB0);
1066 /* parser/parser.nit:152 */
1067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1068 /* parser/parser.nit:186 */
1069 REGB0 = TAG_Int(2);
1070 fra.me.REG[2] = NEW_ReduceAction33_parser___ReduceAction___init(REGB0);
1071 /* parser/parser.nit:152 */
1072 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1073 /* parser/parser.nit:187 */
1074 REGB0 = TAG_Int(2);
1075 fra.me.REG[2] = NEW_ReduceAction34_parser___ReduceAction___init(REGB0);
1076 /* parser/parser.nit:152 */
1077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1078 /* parser/parser.nit:188 */
1079 REGB0 = TAG_Int(3);
1080 fra.me.REG[2] = NEW_ReduceAction35_parser___ReduceAction___init(REGB0);
1081 /* parser/parser.nit:152 */
1082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1083 /* parser/parser.nit:189 */
1084 REGB0 = TAG_Int(3);
1085 fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction___init(REGB0);
1086 /* parser/parser.nit:152 */
1087 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1088 /* parser/parser.nit:190 */
1089 REGB0 = TAG_Int(4);
1090 fra.me.REG[2] = NEW_ReduceAction37_parser___ReduceAction___init(REGB0);
1091 /* parser/parser.nit:152 */
1092 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1093 /* parser/parser.nit:191 */
1094 REGB0 = TAG_Int(4);
1095 fra.me.REG[2] = NEW_ReduceAction37_parser___ReduceAction___init(REGB0);
1096 /* parser/parser.nit:152 */
1097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1098 /* parser/parser.nit:192 */
1099 REGB0 = TAG_Int(5);
1100 fra.me.REG[2] = NEW_ReduceAction39_parser___ReduceAction___init(REGB0);
1101 /* parser/parser.nit:152 */
1102 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1103 /* parser/parser.nit:193 */
1104 REGB0 = TAG_Int(5);
1105 fra.me.REG[2] = NEW_ReduceAction40_parser___ReduceAction___init(REGB0);
1106 /* parser/parser.nit:152 */
1107 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1108 /* parser/parser.nit:194 */
1109 REGB0 = TAG_Int(5);
1110 fra.me.REG[2] = NEW_ReduceAction41_parser___ReduceAction___init(REGB0);
1111 /* parser/parser.nit:152 */
1112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1113 /* parser/parser.nit:195 */
1114 REGB0 = TAG_Int(5);
1115 fra.me.REG[2] = NEW_ReduceAction42_parser___ReduceAction___init(REGB0);
1116 /* parser/parser.nit:152 */
1117 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1118 /* parser/parser.nit:196 */
1119 REGB0 = TAG_Int(5);
1120 fra.me.REG[2] = NEW_ReduceAction43_parser___ReduceAction___init(REGB0);
1121 /* parser/parser.nit:152 */
1122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1123 /* parser/parser.nit:197 */
1124 REGB0 = TAG_Int(5);
1125 fra.me.REG[2] = NEW_ReduceAction44_parser___ReduceAction___init(REGB0);
1126 /* parser/parser.nit:152 */
1127 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1128 /* parser/parser.nit:198 */
1129 REGB0 = TAG_Int(5);
1130 fra.me.REG[2] = NEW_ReduceAction45_parser___ReduceAction___init(REGB0);
1131 /* parser/parser.nit:152 */
1132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1133 /* parser/parser.nit:199 */
1134 REGB0 = TAG_Int(5);
1135 fra.me.REG[2] = NEW_ReduceAction46_parser___ReduceAction___init(REGB0);
1136 /* parser/parser.nit:152 */
1137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1138 /* parser/parser.nit:200 */
1139 REGB0 = TAG_Int(5);
1140 fra.me.REG[2] = NEW_ReduceAction47_parser___ReduceAction___init(REGB0);
1141 /* parser/parser.nit:152 */
1142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1143 /* parser/parser.nit:201 */
1144 REGB0 = TAG_Int(5);
1145 fra.me.REG[2] = NEW_ReduceAction48_parser___ReduceAction___init(REGB0);
1146 /* parser/parser.nit:152 */
1147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1148 /* parser/parser.nit:202 */
1149 REGB0 = TAG_Int(5);
1150 fra.me.REG[2] = NEW_ReduceAction49_parser___ReduceAction___init(REGB0);
1151 /* parser/parser.nit:152 */
1152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1153 /* parser/parser.nit:203 */
1154 REGB0 = TAG_Int(5);
1155 fra.me.REG[2] = NEW_ReduceAction50_parser___ReduceAction___init(REGB0);
1156 /* parser/parser.nit:152 */
1157 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1158 /* parser/parser.nit:204 */
1159 REGB0 = TAG_Int(5);
1160 fra.me.REG[2] = NEW_ReduceAction51_parser___ReduceAction___init(REGB0);
1161 /* parser/parser.nit:152 */
1162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1163 /* parser/parser.nit:205 */
1164 REGB0 = TAG_Int(5);
1165 fra.me.REG[2] = NEW_ReduceAction52_parser___ReduceAction___init(REGB0);
1166 /* parser/parser.nit:152 */
1167 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1168 /* parser/parser.nit:206 */
1169 REGB0 = TAG_Int(5);
1170 fra.me.REG[2] = NEW_ReduceAction53_parser___ReduceAction___init(REGB0);
1171 /* parser/parser.nit:152 */
1172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1173 /* parser/parser.nit:207 */
1174 REGB0 = TAG_Int(5);
1175 fra.me.REG[2] = NEW_ReduceAction54_parser___ReduceAction___init(REGB0);
1176 /* parser/parser.nit:152 */
1177 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1178 /* parser/parser.nit:208 */
1179 REGB0 = TAG_Int(6);
1180 fra.me.REG[2] = NEW_ReduceAction55_parser___ReduceAction___init(REGB0);
1181 /* parser/parser.nit:152 */
1182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1183 /* parser/parser.nit:209 */
1184 REGB0 = TAG_Int(6);
1185 fra.me.REG[2] = NEW_ReduceAction56_parser___ReduceAction___init(REGB0);
1186 /* parser/parser.nit:152 */
1187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1188 /* parser/parser.nit:210 */
1189 REGB0 = TAG_Int(6);
1190 fra.me.REG[2] = NEW_ReduceAction57_parser___ReduceAction___init(REGB0);
1191 /* parser/parser.nit:152 */
1192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1193 /* parser/parser.nit:211 */
1194 REGB0 = TAG_Int(6);
1195 fra.me.REG[2] = NEW_ReduceAction58_parser___ReduceAction___init(REGB0);
1196 /* parser/parser.nit:152 */
1197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1198 /* parser/parser.nit:212 */
1199 REGB0 = TAG_Int(6);
1200 fra.me.REG[2] = NEW_ReduceAction59_parser___ReduceAction___init(REGB0);
1201 /* parser/parser.nit:152 */
1202 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1203 /* parser/parser.nit:213 */
1204 REGB0 = TAG_Int(7);
1205 fra.me.REG[2] = NEW_ReduceAction60_parser___ReduceAction___init(REGB0);
1206 /* parser/parser.nit:152 */
1207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1208 /* parser/parser.nit:214 */
1209 REGB0 = TAG_Int(7);
1210 fra.me.REG[2] = NEW_ReduceAction61_parser___ReduceAction___init(REGB0);
1211 /* parser/parser.nit:152 */
1212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1213 /* parser/parser.nit:215 */
1214 REGB0 = TAG_Int(8);
1215 fra.me.REG[2] = NEW_ReduceAction62_parser___ReduceAction___init(REGB0);
1216 /* parser/parser.nit:152 */
1217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1218 /* parser/parser.nit:216 */
1219 REGB0 = TAG_Int(9);
1220 fra.me.REG[2] = NEW_ReduceAction63_parser___ReduceAction___init(REGB0);
1221 /* parser/parser.nit:152 */
1222 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1223 /* parser/parser.nit:217 */
1224 REGB0 = TAG_Int(9);
1225 fra.me.REG[2] = NEW_ReduceAction64_parser___ReduceAction___init(REGB0);
1226 /* parser/parser.nit:152 */
1227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1228 /* parser/parser.nit:218 */
1229 REGB0 = TAG_Int(10);
1230 fra.me.REG[2] = NEW_ReduceAction65_parser___ReduceAction___init(REGB0);
1231 /* parser/parser.nit:152 */
1232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1233 /* parser/parser.nit:219 */
1234 REGB0 = TAG_Int(10);
1235 fra.me.REG[2] = NEW_ReduceAction66_parser___ReduceAction___init(REGB0);
1236 /* parser/parser.nit:152 */
1237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1238 /* parser/parser.nit:220 */
1239 REGB0 = TAG_Int(11);
1240 fra.me.REG[2] = NEW_ReduceAction67_parser___ReduceAction___init(REGB0);
1241 /* parser/parser.nit:152 */
1242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1243 /* parser/parser.nit:221 */
1244 REGB0 = TAG_Int(12);
1245 fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction___init(REGB0);
1246 /* parser/parser.nit:152 */
1247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1248 /* parser/parser.nit:222 */
1249 REGB0 = TAG_Int(12);
1250 fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction___init(REGB0);
1251 /* parser/parser.nit:152 */
1252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1253 /* parser/parser.nit:223 */
1254 REGB0 = TAG_Int(12);
1255 fra.me.REG[2] = NEW_ReduceAction70_parser___ReduceAction___init(REGB0);
1256 /* parser/parser.nit:152 */
1257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1258 /* parser/parser.nit:224 */
1259 REGB0 = TAG_Int(12);
1260 fra.me.REG[2] = NEW_ReduceAction71_parser___ReduceAction___init(REGB0);
1261 /* parser/parser.nit:152 */
1262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1263 /* parser/parser.nit:225 */
1264 REGB0 = TAG_Int(12);
1265 fra.me.REG[2] = NEW_ReduceAction72_parser___ReduceAction___init(REGB0);
1266 /* parser/parser.nit:152 */
1267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1268 /* parser/parser.nit:226 */
1269 REGB0 = TAG_Int(12);
1270 fra.me.REG[2] = NEW_ReduceAction73_parser___ReduceAction___init(REGB0);
1271 /* parser/parser.nit:152 */
1272 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1273 /* parser/parser.nit:227 */
1274 REGB0 = TAG_Int(12);
1275 fra.me.REG[2] = NEW_ReduceAction74_parser___ReduceAction___init(REGB0);
1276 /* parser/parser.nit:152 */
1277 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1278 /* parser/parser.nit:228 */
1279 REGB0 = TAG_Int(12);
1280 fra.me.REG[2] = NEW_ReduceAction75_parser___ReduceAction___init(REGB0);
1281 /* parser/parser.nit:152 */
1282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1283 /* parser/parser.nit:229 */
1284 REGB0 = TAG_Int(12);
1285 fra.me.REG[2] = NEW_ReduceAction76_parser___ReduceAction___init(REGB0);
1286 /* parser/parser.nit:152 */
1287 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1288 /* parser/parser.nit:230 */
1289 REGB0 = TAG_Int(12);
1290 fra.me.REG[2] = NEW_ReduceAction77_parser___ReduceAction___init(REGB0);
1291 /* parser/parser.nit:152 */
1292 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1293 /* parser/parser.nit:231 */
1294 REGB0 = TAG_Int(12);
1295 fra.me.REG[2] = NEW_ReduceAction78_parser___ReduceAction___init(REGB0);
1296 /* parser/parser.nit:152 */
1297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1298 /* parser/parser.nit:232 */
1299 REGB0 = TAG_Int(12);
1300 fra.me.REG[2] = NEW_ReduceAction79_parser___ReduceAction___init(REGB0);
1301 /* parser/parser.nit:152 */
1302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1303 /* parser/parser.nit:233 */
1304 REGB0 = TAG_Int(12);
1305 fra.me.REG[2] = NEW_ReduceAction80_parser___ReduceAction___init(REGB0);
1306 /* parser/parser.nit:152 */
1307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1308 /* parser/parser.nit:234 */
1309 REGB0 = TAG_Int(12);
1310 fra.me.REG[2] = NEW_ReduceAction81_parser___ReduceAction___init(REGB0);
1311 /* parser/parser.nit:152 */
1312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1313 /* parser/parser.nit:235 */
1314 REGB0 = TAG_Int(12);
1315 fra.me.REG[2] = NEW_ReduceAction82_parser___ReduceAction___init(REGB0);
1316 /* parser/parser.nit:152 */
1317 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1318 /* parser/parser.nit:236 */
1319 REGB0 = TAG_Int(12);
1320 fra.me.REG[2] = NEW_ReduceAction83_parser___ReduceAction___init(REGB0);
1321 /* parser/parser.nit:152 */
1322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1323 /* parser/parser.nit:237 */
1324 REGB0 = TAG_Int(12);
1325 fra.me.REG[2] = NEW_ReduceAction84_parser___ReduceAction___init(REGB0);
1326 /* parser/parser.nit:152 */
1327 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1328 /* parser/parser.nit:238 */
1329 REGB0 = TAG_Int(12);
1330 fra.me.REG[2] = NEW_ReduceAction85_parser___ReduceAction___init(REGB0);
1331 /* parser/parser.nit:152 */
1332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1333 /* parser/parser.nit:239 */
1334 REGB0 = TAG_Int(12);
1335 fra.me.REG[2] = NEW_ReduceAction86_parser___ReduceAction___init(REGB0);
1336 /* parser/parser.nit:152 */
1337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1338 /* parser/parser.nit:240 */
1339 REGB0 = TAG_Int(12);
1340 fra.me.REG[2] = NEW_ReduceAction87_parser___ReduceAction___init(REGB0);
1341 /* parser/parser.nit:152 */
1342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1343 /* parser/parser.nit:241 */
1344 REGB0 = TAG_Int(12);
1345 fra.me.REG[2] = NEW_ReduceAction88_parser___ReduceAction___init(REGB0);
1346 /* parser/parser.nit:152 */
1347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1348 /* parser/parser.nit:242 */
1349 REGB0 = TAG_Int(12);
1350 fra.me.REG[2] = NEW_ReduceAction89_parser___ReduceAction___init(REGB0);
1351 /* parser/parser.nit:152 */
1352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1353 /* parser/parser.nit:243 */
1354 REGB0 = TAG_Int(12);
1355 fra.me.REG[2] = NEW_ReduceAction90_parser___ReduceAction___init(REGB0);
1356 /* parser/parser.nit:152 */
1357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1358 /* parser/parser.nit:244 */
1359 REGB0 = TAG_Int(12);
1360 fra.me.REG[2] = NEW_ReduceAction91_parser___ReduceAction___init(REGB0);
1361 /* parser/parser.nit:152 */
1362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1363 /* parser/parser.nit:245 */
1364 REGB0 = TAG_Int(12);
1365 fra.me.REG[2] = NEW_ReduceAction92_parser___ReduceAction___init(REGB0);
1366 /* parser/parser.nit:152 */
1367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1368 /* parser/parser.nit:246 */
1369 REGB0 = TAG_Int(12);
1370 fra.me.REG[2] = NEW_ReduceAction93_parser___ReduceAction___init(REGB0);
1371 /* parser/parser.nit:152 */
1372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1373 /* parser/parser.nit:247 */
1374 REGB0 = TAG_Int(12);
1375 fra.me.REG[2] = NEW_ReduceAction94_parser___ReduceAction___init(REGB0);
1376 /* parser/parser.nit:152 */
1377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1378 /* parser/parser.nit:248 */
1379 REGB0 = TAG_Int(12);
1380 fra.me.REG[2] = NEW_ReduceAction95_parser___ReduceAction___init(REGB0);
1381 /* parser/parser.nit:152 */
1382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1383 /* parser/parser.nit:249 */
1384 REGB0 = TAG_Int(12);
1385 fra.me.REG[2] = NEW_ReduceAction96_parser___ReduceAction___init(REGB0);
1386 /* parser/parser.nit:152 */
1387 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1388 /* parser/parser.nit:250 */
1389 REGB0 = TAG_Int(12);
1390 fra.me.REG[2] = NEW_ReduceAction97_parser___ReduceAction___init(REGB0);
1391 /* parser/parser.nit:152 */
1392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1393 /* parser/parser.nit:251 */
1394 REGB0 = TAG_Int(12);
1395 fra.me.REG[2] = NEW_ReduceAction98_parser___ReduceAction___init(REGB0);
1396 /* parser/parser.nit:152 */
1397 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1398 /* parser/parser.nit:252 */
1399 REGB0 = TAG_Int(12);
1400 fra.me.REG[2] = NEW_ReduceAction99_parser___ReduceAction___init(REGB0);
1401 /* parser/parser.nit:152 */
1402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1403 /* parser/parser.nit:253 */
1404 REGB0 = TAG_Int(12);
1405 fra.me.REG[2] = NEW_ReduceAction100_parser___ReduceAction___init(REGB0);
1406 /* parser/parser.nit:152 */
1407 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1408 /* parser/parser.nit:254 */
1409 REGB0 = TAG_Int(12);
1410 fra.me.REG[2] = NEW_ReduceAction101_parser___ReduceAction___init(REGB0);
1411 /* parser/parser.nit:152 */
1412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1413 /* parser/parser.nit:255 */
1414 REGB0 = TAG_Int(12);
1415 fra.me.REG[2] = NEW_ReduceAction102_parser___ReduceAction___init(REGB0);
1416 /* parser/parser.nit:152 */
1417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1418 /* parser/parser.nit:256 */
1419 REGB0 = TAG_Int(12);
1420 fra.me.REG[2] = NEW_ReduceAction103_parser___ReduceAction___init(REGB0);
1421 /* parser/parser.nit:152 */
1422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1423 /* parser/parser.nit:257 */
1424 REGB0 = TAG_Int(12);
1425 fra.me.REG[2] = NEW_ReduceAction104_parser___ReduceAction___init(REGB0);
1426 /* parser/parser.nit:152 */
1427 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1428 /* parser/parser.nit:258 */
1429 REGB0 = TAG_Int(12);
1430 fra.me.REG[2] = NEW_ReduceAction105_parser___ReduceAction___init(REGB0);
1431 /* parser/parser.nit:152 */
1432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1433 /* parser/parser.nit:259 */
1434 REGB0 = TAG_Int(12);
1435 fra.me.REG[2] = NEW_ReduceAction106_parser___ReduceAction___init(REGB0);
1436 /* parser/parser.nit:152 */
1437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1438 /* parser/parser.nit:260 */
1439 REGB0 = TAG_Int(12);
1440 fra.me.REG[2] = NEW_ReduceAction107_parser___ReduceAction___init(REGB0);
1441 /* parser/parser.nit:152 */
1442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1443 /* parser/parser.nit:261 */
1444 REGB0 = TAG_Int(12);
1445 fra.me.REG[2] = NEW_ReduceAction108_parser___ReduceAction___init(REGB0);
1446 /* parser/parser.nit:152 */
1447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1448 /* parser/parser.nit:262 */
1449 REGB0 = TAG_Int(12);
1450 fra.me.REG[2] = NEW_ReduceAction109_parser___ReduceAction___init(REGB0);
1451 /* parser/parser.nit:152 */
1452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1453 /* parser/parser.nit:263 */
1454 REGB0 = TAG_Int(12);
1455 fra.me.REG[2] = NEW_ReduceAction110_parser___ReduceAction___init(REGB0);
1456 /* parser/parser.nit:152 */
1457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1458 /* parser/parser.nit:264 */
1459 REGB0 = TAG_Int(12);
1460 fra.me.REG[2] = NEW_ReduceAction111_parser___ReduceAction___init(REGB0);
1461 /* parser/parser.nit:152 */
1462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1463 /* parser/parser.nit:265 */
1464 REGB0 = TAG_Int(12);
1465 fra.me.REG[2] = NEW_ReduceAction112_parser___ReduceAction___init(REGB0);
1466 /* parser/parser.nit:152 */
1467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1468 /* parser/parser.nit:266 */
1469 REGB0 = TAG_Int(12);
1470 fra.me.REG[2] = NEW_ReduceAction113_parser___ReduceAction___init(REGB0);
1471 /* parser/parser.nit:152 */
1472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1473 /* parser/parser.nit:267 */
1474 REGB0 = TAG_Int(12);
1475 fra.me.REG[2] = NEW_ReduceAction114_parser___ReduceAction___init(REGB0);
1476 /* parser/parser.nit:152 */
1477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1478 /* parser/parser.nit:268 */
1479 REGB0 = TAG_Int(12);
1480 fra.me.REG[2] = NEW_ReduceAction115_parser___ReduceAction___init(REGB0);
1481 /* parser/parser.nit:152 */
1482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1483 /* parser/parser.nit:269 */
1484 REGB0 = TAG_Int(12);
1485 fra.me.REG[2] = NEW_ReduceAction116_parser___ReduceAction___init(REGB0);
1486 /* parser/parser.nit:152 */
1487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1488 /* parser/parser.nit:270 */
1489 REGB0 = TAG_Int(12);
1490 fra.me.REG[2] = NEW_ReduceAction117_parser___ReduceAction___init(REGB0);
1491 /* parser/parser.nit:152 */
1492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1493 /* parser/parser.nit:271 */
1494 REGB0 = TAG_Int(12);
1495 fra.me.REG[2] = NEW_ReduceAction118_parser___ReduceAction___init(REGB0);
1496 /* parser/parser.nit:152 */
1497 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1498 /* parser/parser.nit:272 */
1499 REGB0 = TAG_Int(12);
1500 fra.me.REG[2] = NEW_ReduceAction119_parser___ReduceAction___init(REGB0);
1501 /* parser/parser.nit:152 */
1502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1503 /* parser/parser.nit:273 */
1504 REGB0 = TAG_Int(12);
1505 fra.me.REG[2] = NEW_ReduceAction120_parser___ReduceAction___init(REGB0);
1506 /* parser/parser.nit:152 */
1507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1508 /* parser/parser.nit:274 */
1509 REGB0 = TAG_Int(12);
1510 fra.me.REG[2] = NEW_ReduceAction121_parser___ReduceAction___init(REGB0);
1511 /* parser/parser.nit:152 */
1512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1513 /* parser/parser.nit:275 */
1514 REGB0 = TAG_Int(12);
1515 fra.me.REG[2] = NEW_ReduceAction122_parser___ReduceAction___init(REGB0);
1516 /* parser/parser.nit:152 */
1517 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1518 /* parser/parser.nit:276 */
1519 REGB0 = TAG_Int(12);
1520 fra.me.REG[2] = NEW_ReduceAction123_parser___ReduceAction___init(REGB0);
1521 /* parser/parser.nit:152 */
1522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1523 /* parser/parser.nit:277 */
1524 REGB0 = TAG_Int(12);
1525 fra.me.REG[2] = NEW_ReduceAction124_parser___ReduceAction___init(REGB0);
1526 /* parser/parser.nit:152 */
1527 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1528 /* parser/parser.nit:278 */
1529 REGB0 = TAG_Int(12);
1530 fra.me.REG[2] = NEW_ReduceAction125_parser___ReduceAction___init(REGB0);
1531 /* parser/parser.nit:152 */
1532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1533 /* parser/parser.nit:279 */
1534 REGB0 = TAG_Int(12);
1535 fra.me.REG[2] = NEW_ReduceAction126_parser___ReduceAction___init(REGB0);
1536 /* parser/parser.nit:152 */
1537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1538 /* parser/parser.nit:280 */
1539 REGB0 = TAG_Int(12);
1540 fra.me.REG[2] = NEW_ReduceAction127_parser___ReduceAction___init(REGB0);
1541 /* parser/parser.nit:152 */
1542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1543 /* parser/parser.nit:281 */
1544 REGB0 = TAG_Int(12);
1545 fra.me.REG[2] = NEW_ReduceAction128_parser___ReduceAction___init(REGB0);
1546 /* parser/parser.nit:152 */
1547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1548 /* parser/parser.nit:282 */
1549 REGB0 = TAG_Int(12);
1550 fra.me.REG[2] = NEW_ReduceAction129_parser___ReduceAction___init(REGB0);
1551 /* parser/parser.nit:152 */
1552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1553 /* parser/parser.nit:283 */
1554 REGB0 = TAG_Int(12);
1555 fra.me.REG[2] = NEW_ReduceAction130_parser___ReduceAction___init(REGB0);
1556 /* parser/parser.nit:152 */
1557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1558 /* parser/parser.nit:284 */
1559 REGB0 = TAG_Int(12);
1560 fra.me.REG[2] = NEW_ReduceAction131_parser___ReduceAction___init(REGB0);
1561 /* parser/parser.nit:152 */
1562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1563 /* parser/parser.nit:285 */
1564 REGB0 = TAG_Int(12);
1565 fra.me.REG[2] = NEW_ReduceAction132_parser___ReduceAction___init(REGB0);
1566 /* parser/parser.nit:152 */
1567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1568 /* parser/parser.nit:286 */
1569 REGB0 = TAG_Int(12);
1570 fra.me.REG[2] = NEW_ReduceAction133_parser___ReduceAction___init(REGB0);
1571 /* parser/parser.nit:152 */
1572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1573 /* parser/parser.nit:287 */
1574 REGB0 = TAG_Int(12);
1575 fra.me.REG[2] = NEW_ReduceAction134_parser___ReduceAction___init(REGB0);
1576 /* parser/parser.nit:152 */
1577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1578 /* parser/parser.nit:288 */
1579 REGB0 = TAG_Int(12);
1580 fra.me.REG[2] = NEW_ReduceAction135_parser___ReduceAction___init(REGB0);
1581 /* parser/parser.nit:152 */
1582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1583 /* parser/parser.nit:289 */
1584 REGB0 = TAG_Int(12);
1585 fra.me.REG[2] = NEW_ReduceAction136_parser___ReduceAction___init(REGB0);
1586 /* parser/parser.nit:152 */
1587 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1588 /* parser/parser.nit:290 */
1589 REGB0 = TAG_Int(12);
1590 fra.me.REG[2] = NEW_ReduceAction137_parser___ReduceAction___init(REGB0);
1591 /* parser/parser.nit:152 */
1592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1593 /* parser/parser.nit:291 */
1594 REGB0 = TAG_Int(12);
1595 fra.me.REG[2] = NEW_ReduceAction138_parser___ReduceAction___init(REGB0);
1596 /* parser/parser.nit:152 */
1597 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1598 /* parser/parser.nit:292 */
1599 REGB0 = TAG_Int(12);
1600 fra.me.REG[2] = NEW_ReduceAction139_parser___ReduceAction___init(REGB0);
1601 /* parser/parser.nit:152 */
1602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1603 /* parser/parser.nit:293 */
1604 REGB0 = TAG_Int(12);
1605 fra.me.REG[2] = NEW_ReduceAction140_parser___ReduceAction___init(REGB0);
1606 /* parser/parser.nit:152 */
1607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1608 /* parser/parser.nit:294 */
1609 REGB0 = TAG_Int(12);
1610 fra.me.REG[2] = NEW_ReduceAction141_parser___ReduceAction___init(REGB0);
1611 /* parser/parser.nit:152 */
1612 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1613 /* parser/parser.nit:295 */
1614 REGB0 = TAG_Int(12);
1615 fra.me.REG[2] = NEW_ReduceAction142_parser___ReduceAction___init(REGB0);
1616 /* parser/parser.nit:152 */
1617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1618 /* parser/parser.nit:296 */
1619 REGB0 = TAG_Int(12);
1620 fra.me.REG[2] = NEW_ReduceAction143_parser___ReduceAction___init(REGB0);
1621 /* parser/parser.nit:152 */
1622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1623 /* parser/parser.nit:297 */
1624 REGB0 = TAG_Int(12);
1625 fra.me.REG[2] = NEW_ReduceAction144_parser___ReduceAction___init(REGB0);
1626 /* parser/parser.nit:152 */
1627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1628 /* parser/parser.nit:298 */
1629 REGB0 = TAG_Int(12);
1630 fra.me.REG[2] = NEW_ReduceAction145_parser___ReduceAction___init(REGB0);
1631 /* parser/parser.nit:152 */
1632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1633 /* parser/parser.nit:299 */
1634 REGB0 = TAG_Int(12);
1635 fra.me.REG[2] = NEW_ReduceAction146_parser___ReduceAction___init(REGB0);
1636 /* parser/parser.nit:152 */
1637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1638 /* parser/parser.nit:300 */
1639 REGB0 = TAG_Int(12);
1640 fra.me.REG[2] = NEW_ReduceAction147_parser___ReduceAction___init(REGB0);
1641 /* parser/parser.nit:152 */
1642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1643 /* parser/parser.nit:301 */
1644 REGB0 = TAG_Int(12);
1645 fra.me.REG[2] = NEW_ReduceAction148_parser___ReduceAction___init(REGB0);
1646 /* parser/parser.nit:152 */
1647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1648 /* parser/parser.nit:302 */
1649 REGB0 = TAG_Int(12);
1650 fra.me.REG[2] = NEW_ReduceAction149_parser___ReduceAction___init(REGB0);
1651 /* parser/parser.nit:152 */
1652 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1653 /* parser/parser.nit:303 */
1654 REGB0 = TAG_Int(12);
1655 fra.me.REG[2] = NEW_ReduceAction150_parser___ReduceAction___init(REGB0);
1656 /* parser/parser.nit:152 */
1657 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1658 /* parser/parser.nit:304 */
1659 REGB0 = TAG_Int(12);
1660 fra.me.REG[2] = NEW_ReduceAction151_parser___ReduceAction___init(REGB0);
1661 /* parser/parser.nit:152 */
1662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1663 /* parser/parser.nit:305 */
1664 REGB0 = TAG_Int(12);
1665 fra.me.REG[2] = NEW_ReduceAction152_parser___ReduceAction___init(REGB0);
1666 /* parser/parser.nit:152 */
1667 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1668 /* parser/parser.nit:306 */
1669 REGB0 = TAG_Int(12);
1670 fra.me.REG[2] = NEW_ReduceAction153_parser___ReduceAction___init(REGB0);
1671 /* parser/parser.nit:152 */
1672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1673 /* parser/parser.nit:307 */
1674 REGB0 = TAG_Int(12);
1675 fra.me.REG[2] = NEW_ReduceAction154_parser___ReduceAction___init(REGB0);
1676 /* parser/parser.nit:152 */
1677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1678 /* parser/parser.nit:308 */
1679 REGB0 = TAG_Int(12);
1680 fra.me.REG[2] = NEW_ReduceAction155_parser___ReduceAction___init(REGB0);
1681 /* parser/parser.nit:152 */
1682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1683 /* parser/parser.nit:309 */
1684 REGB0 = TAG_Int(12);
1685 fra.me.REG[2] = NEW_ReduceAction156_parser___ReduceAction___init(REGB0);
1686 /* parser/parser.nit:152 */
1687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1688 /* parser/parser.nit:310 */
1689 REGB0 = TAG_Int(12);
1690 fra.me.REG[2] = NEW_ReduceAction157_parser___ReduceAction___init(REGB0);
1691 /* parser/parser.nit:152 */
1692 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1693 /* parser/parser.nit:311 */
1694 REGB0 = TAG_Int(12);
1695 fra.me.REG[2] = NEW_ReduceAction158_parser___ReduceAction___init(REGB0);
1696 /* parser/parser.nit:152 */
1697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1698 /* parser/parser.nit:312 */
1699 REGB0 = TAG_Int(12);
1700 fra.me.REG[2] = NEW_ReduceAction159_parser___ReduceAction___init(REGB0);
1701 /* parser/parser.nit:152 */
1702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1703 /* parser/parser.nit:313 */
1704 REGB0 = TAG_Int(13);
1705 fra.me.REG[2] = NEW_ReduceAction160_parser___ReduceAction___init(REGB0);
1706 /* parser/parser.nit:152 */
1707 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1708 /* parser/parser.nit:314 */
1709 REGB0 = TAG_Int(13);
1710 fra.me.REG[2] = NEW_ReduceAction161_parser___ReduceAction___init(REGB0);
1711 /* parser/parser.nit:152 */
1712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1713 /* parser/parser.nit:315 */
1714 REGB0 = TAG_Int(14);
1715 fra.me.REG[2] = NEW_ReduceAction162_parser___ReduceAction___init(REGB0);
1716 /* parser/parser.nit:152 */
1717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1718 /* parser/parser.nit:316 */
1719 REGB0 = TAG_Int(14);
1720 fra.me.REG[2] = NEW_ReduceAction163_parser___ReduceAction___init(REGB0);
1721 /* parser/parser.nit:152 */
1722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1723 /* parser/parser.nit:317 */
1724 REGB0 = TAG_Int(15);
1725 fra.me.REG[2] = NEW_ReduceAction164_parser___ReduceAction___init(REGB0);
1726 /* parser/parser.nit:152 */
1727 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1728 /* parser/parser.nit:318 */
1729 REGB0 = TAG_Int(15);
1730 fra.me.REG[2] = NEW_ReduceAction165_parser___ReduceAction___init(REGB0);
1731 /* parser/parser.nit:152 */
1732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1733 /* parser/parser.nit:319 */
1734 REGB0 = TAG_Int(16);
1735 fra.me.REG[2] = NEW_ReduceAction166_parser___ReduceAction___init(REGB0);
1736 /* parser/parser.nit:152 */
1737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1738 /* parser/parser.nit:320 */
1739 REGB0 = TAG_Int(16);
1740 fra.me.REG[2] = NEW_ReduceAction167_parser___ReduceAction___init(REGB0);
1741 /* parser/parser.nit:152 */
1742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1743 /* parser/parser.nit:321 */
1744 REGB0 = TAG_Int(16);
1745 fra.me.REG[2] = NEW_ReduceAction168_parser___ReduceAction___init(REGB0);
1746 /* parser/parser.nit:152 */
1747 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1748 /* parser/parser.nit:322 */
1749 REGB0 = TAG_Int(16);
1750 fra.me.REG[2] = NEW_ReduceAction169_parser___ReduceAction___init(REGB0);
1751 /* parser/parser.nit:152 */
1752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1753 /* parser/parser.nit:323 */
1754 REGB0 = TAG_Int(17);
1755 fra.me.REG[2] = NEW_ReduceAction170_parser___ReduceAction___init(REGB0);
1756 /* parser/parser.nit:152 */
1757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1758 /* parser/parser.nit:324 */
1759 REGB0 = TAG_Int(17);
1760 fra.me.REG[2] = NEW_ReduceAction171_parser___ReduceAction___init(REGB0);
1761 /* parser/parser.nit:152 */
1762 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1763 /* parser/parser.nit:325 */
1764 REGB0 = TAG_Int(17);
1765 fra.me.REG[2] = NEW_ReduceAction172_parser___ReduceAction___init(REGB0);
1766 /* parser/parser.nit:152 */
1767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1768 /* parser/parser.nit:326 */
1769 REGB0 = TAG_Int(17);
1770 fra.me.REG[2] = NEW_ReduceAction173_parser___ReduceAction___init(REGB0);
1771 /* parser/parser.nit:152 */
1772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1773 /* parser/parser.nit:327 */
1774 REGB0 = TAG_Int(17);
1775 fra.me.REG[2] = NEW_ReduceAction174_parser___ReduceAction___init(REGB0);
1776 /* parser/parser.nit:152 */
1777 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1778 /* parser/parser.nit:328 */
1779 REGB0 = TAG_Int(17);
1780 fra.me.REG[2] = NEW_ReduceAction175_parser___ReduceAction___init(REGB0);
1781 /* parser/parser.nit:152 */
1782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1783 /* parser/parser.nit:329 */
1784 REGB0 = TAG_Int(17);
1785 fra.me.REG[2] = NEW_ReduceAction176_parser___ReduceAction___init(REGB0);
1786 /* parser/parser.nit:152 */
1787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1788 /* parser/parser.nit:330 */
1789 REGB0 = TAG_Int(17);
1790 fra.me.REG[2] = NEW_ReduceAction177_parser___ReduceAction___init(REGB0);
1791 /* parser/parser.nit:152 */
1792 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1793 /* parser/parser.nit:331 */
1794 REGB0 = TAG_Int(17);
1795 fra.me.REG[2] = NEW_ReduceAction178_parser___ReduceAction___init(REGB0);
1796 /* parser/parser.nit:152 */
1797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1798 /* parser/parser.nit:332 */
1799 REGB0 = TAG_Int(17);
1800 fra.me.REG[2] = NEW_ReduceAction179_parser___ReduceAction___init(REGB0);
1801 /* parser/parser.nit:152 */
1802 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1803 /* parser/parser.nit:333 */
1804 REGB0 = TAG_Int(17);
1805 fra.me.REG[2] = NEW_ReduceAction180_parser___ReduceAction___init(REGB0);
1806 /* parser/parser.nit:152 */
1807 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1808 /* parser/parser.nit:334 */
1809 REGB0 = TAG_Int(17);
1810 fra.me.REG[2] = NEW_ReduceAction181_parser___ReduceAction___init(REGB0);
1811 /* parser/parser.nit:152 */
1812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1813 /* parser/parser.nit:335 */
1814 REGB0 = TAG_Int(17);
1815 fra.me.REG[2] = NEW_ReduceAction182_parser___ReduceAction___init(REGB0);
1816 /* parser/parser.nit:152 */
1817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1818 /* parser/parser.nit:336 */
1819 REGB0 = TAG_Int(17);
1820 fra.me.REG[2] = NEW_ReduceAction183_parser___ReduceAction___init(REGB0);
1821 /* parser/parser.nit:152 */
1822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1823 /* parser/parser.nit:337 */
1824 REGB0 = TAG_Int(17);
1825 fra.me.REG[2] = NEW_ReduceAction184_parser___ReduceAction___init(REGB0);
1826 /* parser/parser.nit:152 */
1827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1828 /* parser/parser.nit:338 */
1829 REGB0 = TAG_Int(17);
1830 fra.me.REG[2] = NEW_ReduceAction185_parser___ReduceAction___init(REGB0);
1831 /* parser/parser.nit:152 */
1832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1833 /* parser/parser.nit:339 */
1834 REGB0 = TAG_Int(17);
1835 fra.me.REG[2] = NEW_ReduceAction186_parser___ReduceAction___init(REGB0);
1836 /* parser/parser.nit:152 */
1837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1838 /* parser/parser.nit:340 */
1839 REGB0 = TAG_Int(17);
1840 fra.me.REG[2] = NEW_ReduceAction187_parser___ReduceAction___init(REGB0);
1841 /* parser/parser.nit:152 */
1842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1843 /* parser/parser.nit:341 */
1844 REGB0 = TAG_Int(18);
1845 fra.me.REG[2] = NEW_ReduceAction188_parser___ReduceAction___init(REGB0);
1846 /* parser/parser.nit:152 */
1847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1848 /* parser/parser.nit:342 */
1849 REGB0 = TAG_Int(18);
1850 fra.me.REG[2] = NEW_ReduceAction189_parser___ReduceAction___init(REGB0);
1851 /* parser/parser.nit:152 */
1852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1853 /* parser/parser.nit:343 */
1854 REGB0 = TAG_Int(18);
1855 fra.me.REG[2] = NEW_ReduceAction190_parser___ReduceAction___init(REGB0);
1856 /* parser/parser.nit:152 */
1857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1858 /* parser/parser.nit:344 */
1859 REGB0 = TAG_Int(18);
1860 fra.me.REG[2] = NEW_ReduceAction191_parser___ReduceAction___init(REGB0);
1861 /* parser/parser.nit:152 */
1862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1863 /* parser/parser.nit:345 */
1864 REGB0 = TAG_Int(18);
1865 fra.me.REG[2] = NEW_ReduceAction192_parser___ReduceAction___init(REGB0);
1866 /* parser/parser.nit:152 */
1867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1868 /* parser/parser.nit:346 */
1869 REGB0 = TAG_Int(18);
1870 fra.me.REG[2] = NEW_ReduceAction193_parser___ReduceAction___init(REGB0);
1871 /* parser/parser.nit:152 */
1872 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1873 /* parser/parser.nit:347 */
1874 REGB0 = TAG_Int(18);
1875 fra.me.REG[2] = NEW_ReduceAction194_parser___ReduceAction___init(REGB0);
1876 /* parser/parser.nit:152 */
1877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1878 /* parser/parser.nit:348 */
1879 REGB0 = TAG_Int(18);
1880 fra.me.REG[2] = NEW_ReduceAction195_parser___ReduceAction___init(REGB0);
1881 /* parser/parser.nit:152 */
1882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1883 /* parser/parser.nit:349 */
1884 REGB0 = TAG_Int(18);
1885 fra.me.REG[2] = NEW_ReduceAction196_parser___ReduceAction___init(REGB0);
1886 /* parser/parser.nit:152 */
1887 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1888 /* parser/parser.nit:350 */
1889 REGB0 = TAG_Int(18);
1890 fra.me.REG[2] = NEW_ReduceAction197_parser___ReduceAction___init(REGB0);
1891 /* parser/parser.nit:152 */
1892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1893 /* parser/parser.nit:351 */
1894 REGB0 = TAG_Int(18);
1895 fra.me.REG[2] = NEW_ReduceAction198_parser___ReduceAction___init(REGB0);
1896 /* parser/parser.nit:152 */
1897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1898 /* parser/parser.nit:352 */
1899 REGB0 = TAG_Int(18);
1900 fra.me.REG[2] = NEW_ReduceAction199_parser___ReduceAction___init(REGB0);
1901 /* parser/parser.nit:152 */
1902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1903 /* parser/parser.nit:353 */
1904 REGB0 = TAG_Int(19);
1905 fra.me.REG[2] = NEW_ReduceAction200_parser___ReduceAction___init(REGB0);
1906 /* parser/parser.nit:152 */
1907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1908 /* parser/parser.nit:354 */
1909 REGB0 = TAG_Int(19);
1910 fra.me.REG[2] = NEW_ReduceAction201_parser___ReduceAction___init(REGB0);
1911 /* parser/parser.nit:152 */
1912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1913 /* parser/parser.nit:355 */
1914 REGB0 = TAG_Int(19);
1915 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
1916 /* parser/parser.nit:152 */
1917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1918 /* parser/parser.nit:356 */
1919 REGB0 = TAG_Int(19);
1920 fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction___init(REGB0);
1921 /* parser/parser.nit:152 */
1922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1923 /* parser/parser.nit:357 */
1924 REGB0 = TAG_Int(19);
1925 fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction___init(REGB0);
1926 /* parser/parser.nit:152 */
1927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1928 /* parser/parser.nit:358 */
1929 REGB0 = TAG_Int(19);
1930 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
1931 /* parser/parser.nit:152 */
1932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1933 /* parser/parser.nit:359 */
1934 REGB0 = TAG_Int(20);
1935 fra.me.REG[2] = NEW_ReduceAction206_parser___ReduceAction___init(REGB0);
1936 /* parser/parser.nit:152 */
1937 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1938 /* parser/parser.nit:360 */
1939 REGB0 = TAG_Int(20);
1940 fra.me.REG[2] = NEW_ReduceAction207_parser___ReduceAction___init(REGB0);
1941 /* parser/parser.nit:152 */
1942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1943 /* parser/parser.nit:361 */
1944 REGB0 = TAG_Int(21);
1945 fra.me.REG[2] = NEW_ReduceAction208_parser___ReduceAction___init(REGB0);
1946 /* parser/parser.nit:152 */
1947 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1948 /* parser/parser.nit:362 */
1949 REGB0 = TAG_Int(22);
1950 fra.me.REG[2] = NEW_ReduceAction209_parser___ReduceAction___init(REGB0);
1951 /* parser/parser.nit:152 */
1952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1953 /* parser/parser.nit:363 */
1954 REGB0 = TAG_Int(22);
1955 fra.me.REG[2] = NEW_ReduceAction210_parser___ReduceAction___init(REGB0);
1956 /* parser/parser.nit:152 */
1957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1958 /* parser/parser.nit:364 */
1959 REGB0 = TAG_Int(22);
1960 fra.me.REG[2] = NEW_ReduceAction211_parser___ReduceAction___init(REGB0);
1961 /* parser/parser.nit:152 */
1962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1963 /* parser/parser.nit:365 */
1964 REGB0 = TAG_Int(23);
1965 fra.me.REG[2] = NEW_ReduceAction212_parser___ReduceAction___init(REGB0);
1966 /* parser/parser.nit:152 */
1967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1968 /* parser/parser.nit:366 */
1969 REGB0 = TAG_Int(24);
1970 fra.me.REG[2] = NEW_ReduceAction213_parser___ReduceAction___init(REGB0);
1971 /* parser/parser.nit:152 */
1972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1973 /* parser/parser.nit:367 */
1974 REGB0 = TAG_Int(24);
1975 fra.me.REG[2] = NEW_ReduceAction214_parser___ReduceAction___init(REGB0);
1976 /* parser/parser.nit:152 */
1977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1978 /* parser/parser.nit:368 */
1979 REGB0 = TAG_Int(24);
1980 fra.me.REG[2] = NEW_ReduceAction215_parser___ReduceAction___init(REGB0);
1981 /* parser/parser.nit:152 */
1982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1983 /* parser/parser.nit:369 */
1984 REGB0 = TAG_Int(24);
1985 fra.me.REG[2] = NEW_ReduceAction216_parser___ReduceAction___init(REGB0);
1986 /* parser/parser.nit:152 */
1987 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1988 /* parser/parser.nit:370 */
1989 REGB0 = TAG_Int(24);
1990 fra.me.REG[2] = NEW_ReduceAction217_parser___ReduceAction___init(REGB0);
1991 /* parser/parser.nit:152 */
1992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1993 /* parser/parser.nit:371 */
1994 REGB0 = TAG_Int(24);
1995 fra.me.REG[2] = NEW_ReduceAction218_parser___ReduceAction___init(REGB0);
1996 /* parser/parser.nit:152 */
1997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1998 /* parser/parser.nit:372 */
1999 REGB0 = TAG_Int(25);
2000 fra.me.REG[2] = NEW_ReduceAction219_parser___ReduceAction___init(REGB0);
2001 /* parser/parser.nit:152 */
2002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2003 /* parser/parser.nit:373 */
2004 REGB0 = TAG_Int(26);
2005 fra.me.REG[2] = NEW_ReduceAction220_parser___ReduceAction___init(REGB0);
2006 /* parser/parser.nit:152 */
2007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2008 /* parser/parser.nit:374 */
2009 REGB0 = TAG_Int(26);
2010 fra.me.REG[2] = NEW_ReduceAction221_parser___ReduceAction___init(REGB0);
2011 /* parser/parser.nit:152 */
2012 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2013 /* parser/parser.nit:375 */
2014 REGB0 = TAG_Int(27);
2015 fra.me.REG[2] = NEW_ReduceAction222_parser___ReduceAction___init(REGB0);
2016 /* parser/parser.nit:152 */
2017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2018 /* parser/parser.nit:376 */
2019 REGB0 = TAG_Int(28);
2020 fra.me.REG[2] = NEW_ReduceAction223_parser___ReduceAction___init(REGB0);
2021 /* parser/parser.nit:152 */
2022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2023 /* parser/parser.nit:377 */
2024 REGB0 = TAG_Int(28);
2025 fra.me.REG[2] = NEW_ReduceAction223_parser___ReduceAction___init(REGB0);
2026 /* parser/parser.nit:152 */
2027 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2028 /* parser/parser.nit:378 */
2029 REGB0 = TAG_Int(28);
2030 fra.me.REG[2] = NEW_ReduceAction225_parser___ReduceAction___init(REGB0);
2031 /* parser/parser.nit:152 */
2032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2033 /* parser/parser.nit:379 */
2034 REGB0 = TAG_Int(29);
2035 fra.me.REG[2] = NEW_ReduceAction226_parser___ReduceAction___init(REGB0);
2036 /* parser/parser.nit:152 */
2037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2038 /* parser/parser.nit:380 */
2039 REGB0 = TAG_Int(29);
2040 fra.me.REG[2] = NEW_ReduceAction227_parser___ReduceAction___init(REGB0);
2041 /* parser/parser.nit:152 */
2042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2043 /* parser/parser.nit:381 */
2044 REGB0 = TAG_Int(29);
2045 fra.me.REG[2] = NEW_ReduceAction228_parser___ReduceAction___init(REGB0);
2046 /* parser/parser.nit:152 */
2047 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2048 /* parser/parser.nit:382 */
2049 REGB0 = TAG_Int(30);
2050 fra.me.REG[2] = NEW_ReduceAction229_parser___ReduceAction___init(REGB0);
2051 /* parser/parser.nit:152 */
2052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2053 /* parser/parser.nit:383 */
2054 REGB0 = TAG_Int(30);
2055 fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction___init(REGB0);
2056 /* parser/parser.nit:152 */
2057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2058 /* parser/parser.nit:384 */
2059 REGB0 = TAG_Int(30);
2060 fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction___init(REGB0);
2061 /* parser/parser.nit:152 */
2062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2063 /* parser/parser.nit:385 */
2064 REGB0 = TAG_Int(31);
2065 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
2066 /* parser/parser.nit:152 */
2067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2068 /* parser/parser.nit:386 */
2069 REGB0 = TAG_Int(31);
2070 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
2071 /* parser/parser.nit:152 */
2072 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2073 /* parser/parser.nit:387 */
2074 REGB0 = TAG_Int(31);
2075 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
2076 /* parser/parser.nit:152 */
2077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2078 /* parser/parser.nit:388 */
2079 REGB0 = TAG_Int(31);
2080 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
2081 /* parser/parser.nit:152 */
2082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2083 /* parser/parser.nit:389 */
2084 REGB0 = TAG_Int(32);
2085 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
2086 /* parser/parser.nit:152 */
2087 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2088 /* parser/parser.nit:390 */
2089 REGB0 = TAG_Int(32);
2090 fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction___init(REGB0);
2091 /* parser/parser.nit:152 */
2092 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2093 /* parser/parser.nit:391 */
2094 REGB0 = TAG_Int(33);
2095 fra.me.REG[2] = NEW_ReduceAction238_parser___ReduceAction___init(REGB0);
2096 /* parser/parser.nit:152 */
2097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2098 /* parser/parser.nit:392 */
2099 REGB0 = TAG_Int(34);
2100 fra.me.REG[2] = NEW_ReduceAction238_parser___ReduceAction___init(REGB0);
2101 /* parser/parser.nit:152 */
2102 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2103 /* parser/parser.nit:393 */
2104 REGB0 = TAG_Int(35);
2105 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
2106 /* parser/parser.nit:152 */
2107 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2108 /* parser/parser.nit:394 */
2109 REGB0 = TAG_Int(35);
2110 fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction___init(REGB0);
2111 /* parser/parser.nit:152 */
2112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2113 /* parser/parser.nit:395 */
2114 REGB0 = TAG_Int(35);
2115 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
2116 /* parser/parser.nit:152 */
2117 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2118 /* parser/parser.nit:396 */
2119 REGB0 = TAG_Int(35);
2120 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2121 /* parser/parser.nit:152 */
2122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2123 /* parser/parser.nit:397 */
2124 REGB0 = TAG_Int(36);
2125 fra.me.REG[2] = NEW_ReduceAction244_parser___ReduceAction___init(REGB0);
2126 /* parser/parser.nit:152 */
2127 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2128 /* parser/parser.nit:398 */
2129 REGB0 = TAG_Int(36);
2130 fra.me.REG[2] = NEW_ReduceAction245_parser___ReduceAction___init(REGB0);
2131 /* parser/parser.nit:152 */
2132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2133 /* parser/parser.nit:399 */
2134 REGB0 = TAG_Int(37);
2135 fra.me.REG[2] = NEW_ReduceAction246_parser___ReduceAction___init(REGB0);
2136 /* parser/parser.nit:152 */
2137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2138 /* parser/parser.nit:400 */
2139 REGB0 = TAG_Int(37);
2140 fra.me.REG[2] = NEW_ReduceAction247_parser___ReduceAction___init(REGB0);
2141 /* parser/parser.nit:152 */
2142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2143 /* parser/parser.nit:401 */
2144 REGB0 = TAG_Int(38);
2145 fra.me.REG[2] = NEW_ReduceAction248_parser___ReduceAction___init(REGB0);
2146 /* parser/parser.nit:152 */
2147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2148 /* parser/parser.nit:402 */
2149 REGB0 = TAG_Int(38);
2150 fra.me.REG[2] = NEW_ReduceAction249_parser___ReduceAction___init(REGB0);
2151 /* parser/parser.nit:152 */
2152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2153 /* parser/parser.nit:403 */
2154 REGB0 = TAG_Int(39);
2155 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
2156 /* parser/parser.nit:152 */
2157 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2158 /* parser/parser.nit:404 */
2159 REGB0 = TAG_Int(40);
2160 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2161 /* parser/parser.nit:152 */
2162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2163 /* parser/parser.nit:405 */
2164 REGB0 = TAG_Int(40);
2165 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2166 /* parser/parser.nit:152 */
2167 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2168 /* parser/parser.nit:406 */
2169 REGB0 = TAG_Int(40);
2170 fra.me.REG[2] = NEW_ReduceAction253_parser___ReduceAction___init(REGB0);
2171 /* parser/parser.nit:152 */
2172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2173 /* parser/parser.nit:407 */
2174 REGB0 = TAG_Int(40);
2175 fra.me.REG[2] = NEW_ReduceAction254_parser___ReduceAction___init(REGB0);
2176 /* parser/parser.nit:152 */
2177 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2178 /* parser/parser.nit:408 */
2179 REGB0 = TAG_Int(40);
2180 fra.me.REG[2] = NEW_ReduceAction255_parser___ReduceAction___init(REGB0);
2181 /* parser/parser.nit:152 */
2182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2183 /* parser/parser.nit:409 */
2184 REGB0 = TAG_Int(40);
2185 fra.me.REG[2] = NEW_ReduceAction256_parser___ReduceAction___init(REGB0);
2186 /* parser/parser.nit:152 */
2187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2188 /* parser/parser.nit:410 */
2189 REGB0 = TAG_Int(40);
2190 fra.me.REG[2] = NEW_ReduceAction257_parser___ReduceAction___init(REGB0);
2191 /* parser/parser.nit:152 */
2192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2193 /* parser/parser.nit:411 */
2194 REGB0 = TAG_Int(40);
2195 fra.me.REG[2] = NEW_ReduceAction258_parser___ReduceAction___init(REGB0);
2196 /* parser/parser.nit:152 */
2197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2198 /* parser/parser.nit:412 */
2199 REGB0 = TAG_Int(40);
2200 fra.me.REG[2] = NEW_ReduceAction259_parser___ReduceAction___init(REGB0);
2201 /* parser/parser.nit:152 */
2202 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2203 /* parser/parser.nit:413 */
2204 REGB0 = TAG_Int(40);
2205 fra.me.REG[2] = NEW_ReduceAction260_parser___ReduceAction___init(REGB0);
2206 /* parser/parser.nit:152 */
2207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2208 /* parser/parser.nit:414 */
2209 REGB0 = TAG_Int(40);
2210 fra.me.REG[2] = NEW_ReduceAction261_parser___ReduceAction___init(REGB0);
2211 /* parser/parser.nit:152 */
2212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2213 /* parser/parser.nit:415 */
2214 REGB0 = TAG_Int(40);
2215 fra.me.REG[2] = NEW_ReduceAction262_parser___ReduceAction___init(REGB0);
2216 /* parser/parser.nit:152 */
2217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2218 /* parser/parser.nit:416 */
2219 REGB0 = TAG_Int(40);
2220 fra.me.REG[2] = NEW_ReduceAction263_parser___ReduceAction___init(REGB0);
2221 /* parser/parser.nit:152 */
2222 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2223 /* parser/parser.nit:417 */
2224 REGB0 = TAG_Int(40);
2225 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2226 /* parser/parser.nit:152 */
2227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2228 /* parser/parser.nit:418 */
2229 REGB0 = TAG_Int(40);
2230 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2231 /* parser/parser.nit:152 */
2232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2233 /* parser/parser.nit:419 */
2234 REGB0 = TAG_Int(40);
2235 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2236 /* parser/parser.nit:152 */
2237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2238 /* parser/parser.nit:420 */
2239 REGB0 = TAG_Int(40);
2240 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2241 /* parser/parser.nit:152 */
2242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2243 /* parser/parser.nit:421 */
2244 REGB0 = TAG_Int(40);
2245 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2246 /* parser/parser.nit:152 */
2247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2248 /* parser/parser.nit:422 */
2249 REGB0 = TAG_Int(40);
2250 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2251 /* parser/parser.nit:152 */
2252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2253 /* parser/parser.nit:423 */
2254 REGB0 = TAG_Int(40);
2255 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
2256 /* parser/parser.nit:152 */
2257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2258 /* parser/parser.nit:424 */
2259 REGB0 = TAG_Int(40);
2260 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
2261 /* parser/parser.nit:152 */
2262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2263 /* parser/parser.nit:425 */
2264 REGB0 = TAG_Int(40);
2265 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
2266 /* parser/parser.nit:152 */
2267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2268 /* parser/parser.nit:426 */
2269 REGB0 = TAG_Int(40);
2270 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
2271 /* parser/parser.nit:152 */
2272 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2273 /* parser/parser.nit:427 */
2274 REGB0 = TAG_Int(40);
2275 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
2276 /* parser/parser.nit:152 */
2277 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2278 /* parser/parser.nit:428 */
2279 REGB0 = TAG_Int(40);
2280 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
2281 /* parser/parser.nit:152 */
2282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2283 /* parser/parser.nit:429 */
2284 REGB0 = TAG_Int(40);
2285 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
2286 /* parser/parser.nit:152 */
2287 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2288 /* parser/parser.nit:430 */
2289 REGB0 = TAG_Int(40);
2290 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
2291 /* parser/parser.nit:152 */
2292 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2293 /* parser/parser.nit:431 */
2294 REGB0 = TAG_Int(40);
2295 fra.me.REG[2] = NEW_ReduceAction278_parser___ReduceAction___init(REGB0);
2296 /* parser/parser.nit:152 */
2297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2298 /* parser/parser.nit:432 */
2299 REGB0 = TAG_Int(41);
2300 fra.me.REG[2] = NEW_ReduceAction279_parser___ReduceAction___init(REGB0);
2301 /* parser/parser.nit:152 */
2302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2303 /* parser/parser.nit:433 */
2304 REGB0 = TAG_Int(42);
2305 fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction___init(REGB0);
2306 /* parser/parser.nit:152 */
2307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2308 /* parser/parser.nit:434 */
2309 REGB0 = TAG_Int(42);
2310 fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction___init(REGB0);
2311 /* parser/parser.nit:152 */
2312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2313 /* parser/parser.nit:435 */
2314 REGB0 = TAG_Int(43);
2315 fra.me.REG[2] = NEW_ReduceAction282_parser___ReduceAction___init(REGB0);
2316 /* parser/parser.nit:152 */
2317 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2318 /* parser/parser.nit:436 */
2319 REGB0 = TAG_Int(43);
2320 fra.me.REG[2] = NEW_ReduceAction283_parser___ReduceAction___init(REGB0);
2321 /* parser/parser.nit:152 */
2322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2323 /* parser/parser.nit:437 */
2324 REGB0 = TAG_Int(43);
2325 fra.me.REG[2] = NEW_ReduceAction284_parser___ReduceAction___init(REGB0);
2326 /* parser/parser.nit:152 */
2327 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2328 /* parser/parser.nit:438 */
2329 REGB0 = TAG_Int(43);
2330 fra.me.REG[2] = NEW_ReduceAction285_parser___ReduceAction___init(REGB0);
2331 /* parser/parser.nit:152 */
2332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2333 /* parser/parser.nit:439 */
2334 REGB0 = TAG_Int(43);
2335 fra.me.REG[2] = NEW_ReduceAction286_parser___ReduceAction___init(REGB0);
2336 /* parser/parser.nit:152 */
2337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2338 /* parser/parser.nit:440 */
2339 REGB0 = TAG_Int(43);
2340 fra.me.REG[2] = NEW_ReduceAction287_parser___ReduceAction___init(REGB0);
2341 /* parser/parser.nit:152 */
2342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2343 /* parser/parser.nit:441 */
2344 REGB0 = TAG_Int(43);
2345 fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction___init(REGB0);
2346 /* parser/parser.nit:152 */
2347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2348 /* parser/parser.nit:442 */
2349 REGB0 = TAG_Int(43);
2350 fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction___init(REGB0);
2351 /* parser/parser.nit:152 */
2352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2353 /* parser/parser.nit:443 */
2354 REGB0 = TAG_Int(43);
2355 fra.me.REG[2] = NEW_ReduceAction290_parser___ReduceAction___init(REGB0);
2356 /* parser/parser.nit:152 */
2357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2358 /* parser/parser.nit:444 */
2359 REGB0 = TAG_Int(44);
2360 fra.me.REG[2] = NEW_ReduceAction291_parser___ReduceAction___init(REGB0);
2361 /* parser/parser.nit:152 */
2362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2363 /* parser/parser.nit:445 */
2364 REGB0 = TAG_Int(44);
2365 fra.me.REG[2] = NEW_ReduceAction292_parser___ReduceAction___init(REGB0);
2366 /* parser/parser.nit:152 */
2367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2368 /* parser/parser.nit:446 */
2369 REGB0 = TAG_Int(44);
2370 fra.me.REG[2] = NEW_ReduceAction293_parser___ReduceAction___init(REGB0);
2371 /* parser/parser.nit:152 */
2372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2373 /* parser/parser.nit:447 */
2374 REGB0 = TAG_Int(44);
2375 fra.me.REG[2] = NEW_ReduceAction294_parser___ReduceAction___init(REGB0);
2376 /* parser/parser.nit:152 */
2377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2378 /* parser/parser.nit:448 */
2379 REGB0 = TAG_Int(44);
2380 fra.me.REG[2] = NEW_ReduceAction295_parser___ReduceAction___init(REGB0);
2381 /* parser/parser.nit:152 */
2382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2383 /* parser/parser.nit:449 */
2384 REGB0 = TAG_Int(44);
2385 fra.me.REG[2] = NEW_ReduceAction296_parser___ReduceAction___init(REGB0);
2386 /* parser/parser.nit:152 */
2387 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2388 /* parser/parser.nit:450 */
2389 REGB0 = TAG_Int(45);
2390 fra.me.REG[2] = NEW_ReduceAction297_parser___ReduceAction___init(REGB0);
2391 /* parser/parser.nit:152 */
2392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2393 /* parser/parser.nit:451 */
2394 REGB0 = TAG_Int(45);
2395 fra.me.REG[2] = NEW_ReduceAction298_parser___ReduceAction___init(REGB0);
2396 /* parser/parser.nit:152 */
2397 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2398 /* parser/parser.nit:452 */
2399 REGB0 = TAG_Int(46);
2400 fra.me.REG[2] = NEW_ReduceAction299_parser___ReduceAction___init(REGB0);
2401 /* parser/parser.nit:152 */
2402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2403 /* parser/parser.nit:453 */
2404 REGB0 = TAG_Int(47);
2405 fra.me.REG[2] = NEW_ReduceAction300_parser___ReduceAction___init(REGB0);
2406 /* parser/parser.nit:152 */
2407 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2408 /* parser/parser.nit:454 */
2409 REGB0 = TAG_Int(47);
2410 fra.me.REG[2] = NEW_ReduceAction301_parser___ReduceAction___init(REGB0);
2411 /* parser/parser.nit:152 */
2412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2413 /* parser/parser.nit:455 */
2414 REGB0 = TAG_Int(47);
2415 fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction___init(REGB0);
2416 /* parser/parser.nit:152 */
2417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2418 /* parser/parser.nit:456 */
2419 REGB0 = TAG_Int(47);
2420 fra.me.REG[2] = NEW_ReduceAction303_parser___ReduceAction___init(REGB0);
2421 /* parser/parser.nit:152 */
2422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2423 /* parser/parser.nit:457 */
2424 REGB0 = TAG_Int(48);
2425 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
2426 /* parser/parser.nit:152 */
2427 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2428 /* parser/parser.nit:458 */
2429 REGB0 = TAG_Int(48);
2430 fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction___init(REGB0);
2431 /* parser/parser.nit:152 */
2432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2433 /* parser/parser.nit:459 */
2434 REGB0 = TAG_Int(48);
2435 fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction___init(REGB0);
2436 /* parser/parser.nit:152 */
2437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2438 /* parser/parser.nit:460 */
2439 REGB0 = TAG_Int(48);
2440 fra.me.REG[2] = NEW_ReduceAction307_parser___ReduceAction___init(REGB0);
2441 /* parser/parser.nit:152 */
2442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2443 /* parser/parser.nit:461 */
2444 REGB0 = TAG_Int(48);
2445 fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction___init(REGB0);
2446 /* parser/parser.nit:152 */
2447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2448 /* parser/parser.nit:462 */
2449 REGB0 = TAG_Int(48);
2450 fra.me.REG[2] = NEW_ReduceAction309_parser___ReduceAction___init(REGB0);
2451 /* parser/parser.nit:152 */
2452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2453 /* parser/parser.nit:463 */
2454 REGB0 = TAG_Int(48);
2455 fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction___init(REGB0);
2456 /* parser/parser.nit:152 */
2457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2458 /* parser/parser.nit:464 */
2459 REGB0 = TAG_Int(48);
2460 fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction___init(REGB0);
2461 /* parser/parser.nit:152 */
2462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2463 /* parser/parser.nit:465 */
2464 REGB0 = TAG_Int(48);
2465 fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction___init(REGB0);
2466 /* parser/parser.nit:152 */
2467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2468 /* parser/parser.nit:466 */
2469 REGB0 = TAG_Int(48);
2470 fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction___init(REGB0);
2471 /* parser/parser.nit:152 */
2472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2473 /* parser/parser.nit:467 */
2474 REGB0 = TAG_Int(49);
2475 fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction___init(REGB0);
2476 /* parser/parser.nit:152 */
2477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2478 /* parser/parser.nit:468 */
2479 REGB0 = TAG_Int(49);
2480 fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
2481 /* parser/parser.nit:152 */
2482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2483 /* parser/parser.nit:469 */
2484 REGB0 = TAG_Int(50);
2485 fra.me.REG[2] = NEW_ReduceAction316_parser___ReduceAction___init(REGB0);
2486 /* parser/parser.nit:152 */
2487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2488 /* parser/parser.nit:470 */
2489 REGB0 = TAG_Int(50);
2490 fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction___init(REGB0);
2491 /* parser/parser.nit:152 */
2492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2493 /* parser/parser.nit:471 */
2494 REGB0 = TAG_Int(51);
2495 fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction___init(REGB0);
2496 /* parser/parser.nit:152 */
2497 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2498 /* parser/parser.nit:472 */
2499 REGB0 = TAG_Int(51);
2500 fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction___init(REGB0);
2501 /* parser/parser.nit:152 */
2502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2503 /* parser/parser.nit:473 */
2504 REGB0 = TAG_Int(51);
2505 fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction___init(REGB0);
2506 /* parser/parser.nit:152 */
2507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2508 /* parser/parser.nit:474 */
2509 REGB0 = TAG_Int(51);
2510 fra.me.REG[2] = NEW_ReduceAction321_parser___ReduceAction___init(REGB0);
2511 /* parser/parser.nit:152 */
2512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2513 /* parser/parser.nit:475 */
2514 REGB0 = TAG_Int(51);
2515 fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction___init(REGB0);
2516 /* parser/parser.nit:152 */
2517 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2518 /* parser/parser.nit:476 */
2519 REGB0 = TAG_Int(52);
2520 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
2521 /* parser/parser.nit:152 */
2522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2523 /* parser/parser.nit:477 */
2524 REGB0 = TAG_Int(52);
2525 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
2526 /* parser/parser.nit:152 */
2527 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2528 /* parser/parser.nit:478 */
2529 REGB0 = TAG_Int(53);
2530 fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction___init(REGB0);
2531 /* parser/parser.nit:152 */
2532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2533 /* parser/parser.nit:479 */
2534 REGB0 = TAG_Int(53);
2535 fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction___init(REGB0);
2536 /* parser/parser.nit:152 */
2537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2538 /* parser/parser.nit:480 */
2539 REGB0 = TAG_Int(54);
2540 fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction___init(REGB0);
2541 /* parser/parser.nit:152 */
2542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2543 /* parser/parser.nit:481 */
2544 REGB0 = TAG_Int(54);
2545 fra.me.REG[2] = NEW_ReduceAction328_parser___ReduceAction___init(REGB0);
2546 /* parser/parser.nit:152 */
2547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2548 /* parser/parser.nit:482 */
2549 REGB0 = TAG_Int(55);
2550 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
2551 /* parser/parser.nit:152 */
2552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2553 /* parser/parser.nit:483 */
2554 REGB0 = TAG_Int(55);
2555 fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction___init(REGB0);
2556 /* parser/parser.nit:152 */
2557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2558 /* parser/parser.nit:484 */
2559 REGB0 = TAG_Int(55);
2560 fra.me.REG[2] = NEW_ReduceAction331_parser___ReduceAction___init(REGB0);
2561 /* parser/parser.nit:152 */
2562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2563 /* parser/parser.nit:485 */
2564 REGB0 = TAG_Int(55);
2565 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
2566 /* parser/parser.nit:152 */
2567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2568 /* parser/parser.nit:486 */
2569 REGB0 = TAG_Int(56);
2570 fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction___init(REGB0);
2571 /* parser/parser.nit:152 */
2572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2573 /* parser/parser.nit:487 */
2574 REGB0 = TAG_Int(56);
2575 fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
2576 /* parser/parser.nit:152 */
2577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2578 /* parser/parser.nit:488 */
2579 REGB0 = TAG_Int(56);
2580 fra.me.REG[2] = NEW_ReduceAction335_parser___ReduceAction___init(REGB0);
2581 /* parser/parser.nit:152 */
2582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2583 /* parser/parser.nit:489 */
2584 REGB0 = TAG_Int(56);
2585 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
2586 /* parser/parser.nit:152 */
2587 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2588 /* parser/parser.nit:490 */
2589 REGB0 = TAG_Int(57);
2590 fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
2591 /* parser/parser.nit:152 */
2592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2593 /* parser/parser.nit:491 */
2594 REGB0 = TAG_Int(58);
2595 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2596 /* parser/parser.nit:152 */
2597 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2598 /* parser/parser.nit:492 */
2599 REGB0 = TAG_Int(58);
2600 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
2601 /* parser/parser.nit:152 */
2602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2603 /* parser/parser.nit:493 */
2604 REGB0 = TAG_Int(58);
2605 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
2606 /* parser/parser.nit:152 */
2607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2608 /* parser/parser.nit:494 */
2609 REGB0 = TAG_Int(58);
2610 fra.me.REG[2] = NEW_ReduceAction341_parser___ReduceAction___init(REGB0);
2611 /* parser/parser.nit:152 */
2612 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2613 /* parser/parser.nit:495 */
2614 REGB0 = TAG_Int(59);
2615 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2616 /* parser/parser.nit:152 */
2617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2618 /* parser/parser.nit:496 */
2619 REGB0 = TAG_Int(59);
2620 fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction___init(REGB0);
2621 /* parser/parser.nit:152 */
2622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2623 /* parser/parser.nit:497 */
2624 REGB0 = TAG_Int(60);
2625 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2626 /* parser/parser.nit:152 */
2627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2628 /* parser/parser.nit:498 */
2629 REGB0 = TAG_Int(60);
2630 fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction___init(REGB0);
2631 /* parser/parser.nit:152 */
2632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2633 /* parser/parser.nit:499 */
2634 REGB0 = TAG_Int(60);
2635 fra.me.REG[2] = NEW_ReduceAction346_parser___ReduceAction___init(REGB0);
2636 /* parser/parser.nit:152 */
2637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2638 /* parser/parser.nit:500 */
2639 REGB0 = TAG_Int(60);
2640 fra.me.REG[2] = NEW_ReduceAction347_parser___ReduceAction___init(REGB0);
2641 /* parser/parser.nit:152 */
2642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2643 /* parser/parser.nit:501 */
2644 REGB0 = TAG_Int(61);
2645 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2646 /* parser/parser.nit:152 */
2647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2648 /* parser/parser.nit:502 */
2649 REGB0 = TAG_Int(61);
2650 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
2651 /* parser/parser.nit:152 */
2652 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2653 /* parser/parser.nit:503 */
2654 REGB0 = TAG_Int(62);
2655 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2656 /* parser/parser.nit:152 */
2657 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2658 /* parser/parser.nit:504 */
2659 REGB0 = TAG_Int(62);
2660 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
2661 /* parser/parser.nit:152 */
2662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2663 /* parser/parser.nit:505 */
2664 REGB0 = TAG_Int(62);
2665 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
2666 /* parser/parser.nit:152 */
2667 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2668 /* parser/parser.nit:506 */
2669 REGB0 = TAG_Int(62);
2670 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
2671 /* parser/parser.nit:152 */
2672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2673 /* parser/parser.nit:507 */
2674 REGB0 = TAG_Int(62);
2675 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
2676 /* parser/parser.nit:152 */
2677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2678 /* parser/parser.nit:508 */
2679 REGB0 = TAG_Int(62);
2680 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
2681 /* parser/parser.nit:152 */
2682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2683 /* parser/parser.nit:509 */
2684 REGB0 = TAG_Int(62);
2685 fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction___init(REGB0);
2686 /* parser/parser.nit:152 */
2687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2688 /* parser/parser.nit:510 */
2689 REGB0 = TAG_Int(62);
2690 fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction___init(REGB0);
2691 /* parser/parser.nit:152 */
2692 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2693 /* parser/parser.nit:511 */
2694 REGB0 = TAG_Int(62);
2695 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
2696 /* parser/parser.nit:152 */
2697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2698 /* parser/parser.nit:512 */
2699 REGB0 = TAG_Int(62);
2700 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
2701 /* parser/parser.nit:152 */
2702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2703 /* parser/parser.nit:513 */
2704 REGB0 = TAG_Int(62);
2705 fra.me.REG[2] = NEW_ReduceAction360_parser___ReduceAction___init(REGB0);
2706 /* parser/parser.nit:152 */
2707 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2708 /* parser/parser.nit:514 */
2709 REGB0 = TAG_Int(62);
2710 fra.me.REG[2] = NEW_ReduceAction361_parser___ReduceAction___init(REGB0);
2711 /* parser/parser.nit:152 */
2712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2713 /* parser/parser.nit:515 */
2714 REGB0 = TAG_Int(63);
2715 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2716 /* parser/parser.nit:152 */
2717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2718 /* parser/parser.nit:516 */
2719 REGB0 = TAG_Int(63);
2720 fra.me.REG[2] = NEW_ReduceAction363_parser___ReduceAction___init(REGB0);
2721 /* parser/parser.nit:152 */
2722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2723 /* parser/parser.nit:517 */
2724 REGB0 = TAG_Int(63);
2725 fra.me.REG[2] = NEW_ReduceAction364_parser___ReduceAction___init(REGB0);
2726 /* parser/parser.nit:152 */
2727 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2728 /* parser/parser.nit:518 */
2729 REGB0 = TAG_Int(64);
2730 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2731 /* parser/parser.nit:152 */
2732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2733 /* parser/parser.nit:519 */
2734 REGB0 = TAG_Int(64);
2735 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
2736 /* parser/parser.nit:152 */
2737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2738 /* parser/parser.nit:520 */
2739 REGB0 = TAG_Int(64);
2740 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
2741 /* parser/parser.nit:152 */
2742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2743 /* parser/parser.nit:521 */
2744 REGB0 = TAG_Int(64);
2745 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
2746 /* parser/parser.nit:152 */
2747 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2748 /* parser/parser.nit:522 */
2749 REGB0 = TAG_Int(65);
2750 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2751 /* parser/parser.nit:152 */
2752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2753 /* parser/parser.nit:523 */
2754 REGB0 = TAG_Int(65);
2755 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
2756 /* parser/parser.nit:152 */
2757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2758 /* parser/parser.nit:524 */
2759 REGB0 = TAG_Int(65);
2760 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
2761 /* parser/parser.nit:152 */
2762 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2763 /* parser/parser.nit:525 */
2764 REGB0 = TAG_Int(66);
2765 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2766 /* parser/parser.nit:152 */
2767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2768 /* parser/parser.nit:526 */
2769 REGB0 = TAG_Int(66);
2770 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
2771 /* parser/parser.nit:152 */
2772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2773 /* parser/parser.nit:527 */
2774 REGB0 = TAG_Int(66);
2775 fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction___init(REGB0);
2776 /* parser/parser.nit:152 */
2777 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2778 /* parser/parser.nit:528 */
2779 REGB0 = TAG_Int(66);
2780 fra.me.REG[2] = NEW_ReduceAction375_parser___ReduceAction___init(REGB0);
2781 /* parser/parser.nit:152 */
2782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2783 /* parser/parser.nit:529 */
2784 REGB0 = TAG_Int(67);
2785 fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction___init(REGB0);
2786 /* parser/parser.nit:152 */
2787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2788 /* parser/parser.nit:530 */
2789 REGB0 = TAG_Int(67);
2790 fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction___init(REGB0);
2791 /* parser/parser.nit:152 */
2792 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2793 /* parser/parser.nit:531 */
2794 REGB0 = TAG_Int(67);
2795 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
2796 /* parser/parser.nit:152 */
2797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2798 /* parser/parser.nit:532 */
2799 REGB0 = TAG_Int(67);
2800 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
2801 /* parser/parser.nit:152 */
2802 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2803 /* parser/parser.nit:533 */
2804 REGB0 = TAG_Int(67);
2805 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
2806 /* parser/parser.nit:152 */
2807 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2808 /* parser/parser.nit:534 */
2809 REGB0 = TAG_Int(67);
2810 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
2811 /* parser/parser.nit:152 */
2812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2813 /* parser/parser.nit:535 */
2814 REGB0 = TAG_Int(67);
2815 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
2816 /* parser/parser.nit:152 */
2817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2818 /* parser/parser.nit:536 */
2819 REGB0 = TAG_Int(67);
2820 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
2821 /* parser/parser.nit:152 */
2822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2823 /* parser/parser.nit:537 */
2824 REGB0 = TAG_Int(67);
2825 fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction___init(REGB0);
2826 /* parser/parser.nit:152 */
2827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2828 /* parser/parser.nit:538 */
2829 REGB0 = TAG_Int(67);
2830 fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
2831 /* parser/parser.nit:152 */
2832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2833 /* parser/parser.nit:539 */
2834 REGB0 = TAG_Int(67);
2835 fra.me.REG[2] = NEW_ReduceAction386_parser___ReduceAction___init(REGB0);
2836 /* parser/parser.nit:152 */
2837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2838 /* parser/parser.nit:540 */
2839 REGB0 = TAG_Int(67);
2840 fra.me.REG[2] = NEW_ReduceAction387_parser___ReduceAction___init(REGB0);
2841 /* parser/parser.nit:152 */
2842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2843 /* parser/parser.nit:541 */
2844 REGB0 = TAG_Int(67);
2845 fra.me.REG[2] = NEW_ReduceAction388_parser___ReduceAction___init(REGB0);
2846 /* parser/parser.nit:152 */
2847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2848 /* parser/parser.nit:542 */
2849 REGB0 = TAG_Int(67);
2850 fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction___init(REGB0);
2851 /* parser/parser.nit:152 */
2852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2853 /* parser/parser.nit:543 */
2854 REGB0 = TAG_Int(67);
2855 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
2856 /* parser/parser.nit:152 */
2857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2858 /* parser/parser.nit:544 */
2859 REGB0 = TAG_Int(67);
2860 fra.me.REG[2] = NEW_ReduceAction391_parser___ReduceAction___init(REGB0);
2861 /* parser/parser.nit:152 */
2862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2863 /* parser/parser.nit:545 */
2864 REGB0 = TAG_Int(67);
2865 fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction___init(REGB0);
2866 /* parser/parser.nit:152 */
2867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2868 /* parser/parser.nit:546 */
2869 REGB0 = TAG_Int(67);
2870 fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction___init(REGB0);
2871 /* parser/parser.nit:152 */
2872 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2873 /* parser/parser.nit:547 */
2874 REGB0 = TAG_Int(67);
2875 fra.me.REG[2] = NEW_ReduceAction394_parser___ReduceAction___init(REGB0);
2876 /* parser/parser.nit:152 */
2877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2878 /* parser/parser.nit:548 */
2879 REGB0 = TAG_Int(67);
2880 fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
2881 /* parser/parser.nit:152 */
2882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2883 /* parser/parser.nit:549 */
2884 REGB0 = TAG_Int(67);
2885 fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
2886 /* parser/parser.nit:152 */
2887 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2888 /* parser/parser.nit:550 */
2889 REGB0 = TAG_Int(67);
2890 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2891 /* parser/parser.nit:152 */
2892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2893 /* parser/parser.nit:551 */
2894 REGB0 = TAG_Int(67);
2895 fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction___init(REGB0);
2896 /* parser/parser.nit:152 */
2897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2898 /* parser/parser.nit:552 */
2899 REGB0 = TAG_Int(67);
2900 fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction___init(REGB0);
2901 /* parser/parser.nit:152 */
2902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2903 /* parser/parser.nit:553 */
2904 REGB0 = TAG_Int(67);
2905 fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction___init(REGB0);
2906 /* parser/parser.nit:152 */
2907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2908 /* parser/parser.nit:554 */
2909 REGB0 = TAG_Int(68);
2910 fra.me.REG[2] = NEW_ReduceAction401_parser___ReduceAction___init(REGB0);
2911 /* parser/parser.nit:152 */
2912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2913 /* parser/parser.nit:555 */
2914 REGB0 = TAG_Int(68);
2915 fra.me.REG[2] = NEW_ReduceAction402_parser___ReduceAction___init(REGB0);
2916 /* parser/parser.nit:152 */
2917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2918 /* parser/parser.nit:556 */
2919 REGB0 = TAG_Int(69);
2920 fra.me.REG[2] = NEW_ReduceAction403_parser___ReduceAction___init(REGB0);
2921 /* parser/parser.nit:152 */
2922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2923 /* parser/parser.nit:557 */
2924 REGB0 = TAG_Int(70);
2925 fra.me.REG[2] = NEW_ReduceAction404_parser___ReduceAction___init(REGB0);
2926 /* parser/parser.nit:152 */
2927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2928 /* parser/parser.nit:558 */
2929 REGB0 = TAG_Int(71);
2930 fra.me.REG[2] = NEW_ReduceAction403_parser___ReduceAction___init(REGB0);
2931 /* parser/parser.nit:152 */
2932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2933 /* parser/parser.nit:559 */
2934 REGB0 = TAG_Int(72);
2935 fra.me.REG[2] = NEW_ReduceAction406_parser___ReduceAction___init(REGB0);
2936 /* parser/parser.nit:152 */
2937 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2938 /* parser/parser.nit:560 */
2939 REGB0 = TAG_Int(73);
2940 fra.me.REG[2] = NEW_ReduceAction407_parser___ReduceAction___init(REGB0);
2941 /* parser/parser.nit:152 */
2942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2943 /* parser/parser.nit:561 */
2944 REGB0 = TAG_Int(74);
2945 fra.me.REG[2] = NEW_ReduceAction408_parser___ReduceAction___init(REGB0);
2946 /* parser/parser.nit:152 */
2947 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2948 /* parser/parser.nit:562 */
2949 REGB0 = TAG_Int(74);
2950 fra.me.REG[2] = NEW_ReduceAction409_parser___ReduceAction___init(REGB0);
2951 /* parser/parser.nit:152 */
2952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2953 /* parser/parser.nit:563 */
2954 REGB0 = TAG_Int(74);
2955 fra.me.REG[2] = NEW_ReduceAction410_parser___ReduceAction___init(REGB0);
2956 /* parser/parser.nit:152 */
2957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2958 /* parser/parser.nit:564 */
2959 REGB0 = TAG_Int(75);
2960 fra.me.REG[2] = NEW_ReduceAction408_parser___ReduceAction___init(REGB0);
2961 /* parser/parser.nit:152 */
2962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2963 /* parser/parser.nit:565 */
2964 REGB0 = TAG_Int(75);
2965 fra.me.REG[2] = NEW_ReduceAction412_parser___ReduceAction___init(REGB0);
2966 /* parser/parser.nit:152 */
2967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2968 /* parser/parser.nit:566 */
2969 REGB0 = TAG_Int(75);
2970 fra.me.REG[2] = NEW_ReduceAction409_parser___ReduceAction___init(REGB0);
2971 /* parser/parser.nit:152 */
2972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2973 /* parser/parser.nit:567 */
2974 REGB0 = TAG_Int(75);
2975 fra.me.REG[2] = NEW_ReduceAction410_parser___ReduceAction___init(REGB0);
2976 /* parser/parser.nit:152 */
2977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2978 /* parser/parser.nit:568 */
2979 REGB0 = TAG_Int(76);
2980 fra.me.REG[2] = NEW_ReduceAction415_parser___ReduceAction___init(REGB0);
2981 /* parser/parser.nit:152 */
2982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2983 /* parser/parser.nit:569 */
2984 REGB0 = TAG_Int(77);
2985 fra.me.REG[2] = NEW_ReduceAction416_parser___ReduceAction___init(REGB0);
2986 /* parser/parser.nit:152 */
2987 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2988 /* parser/parser.nit:570 */
2989 REGB0 = TAG_Int(77);
2990 fra.me.REG[2] = NEW_ReduceAction417_parser___ReduceAction___init(REGB0);
2991 /* parser/parser.nit:152 */
2992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2993 /* parser/parser.nit:571 */
2994 REGB0 = TAG_Int(78);
2995 fra.me.REG[2] = NEW_ReduceAction418_parser___ReduceAction___init(REGB0);
2996 /* parser/parser.nit:152 */
2997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2998 /* parser/parser.nit:572 */
2999 REGB0 = TAG_Int(79);
3000 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
3001 /* parser/parser.nit:152 */
3002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3003 /* parser/parser.nit:573 */
3004 REGB0 = TAG_Int(79);
3005 fra.me.REG[2] = NEW_ReduceAction420_parser___ReduceAction___init(REGB0);
3006 /* parser/parser.nit:152 */
3007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3008 /* parser/parser.nit:574 */
3009 REGB0 = TAG_Int(80);
3010 fra.me.REG[2] = NEW_ReduceAction421_parser___ReduceAction___init(REGB0);
3011 /* parser/parser.nit:152 */
3012 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3013 /* parser/parser.nit:575 */
3014 REGB0 = TAG_Int(80);
3015 fra.me.REG[2] = NEW_ReduceAction422_parser___ReduceAction___init(REGB0);
3016 /* parser/parser.nit:152 */
3017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3018 /* parser/parser.nit:576 */
3019 REGB0 = TAG_Int(80);
3020 fra.me.REG[2] = NEW_ReduceAction423_parser___ReduceAction___init(REGB0);
3021 /* parser/parser.nit:152 */
3022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3023 /* parser/parser.nit:577 */
3024 REGB0 = TAG_Int(80);
3025 fra.me.REG[2] = NEW_ReduceAction424_parser___ReduceAction___init(REGB0);
3026 /* parser/parser.nit:152 */
3027 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3028 /* parser/parser.nit:578 */
3029 REGB0 = TAG_Int(81);
3030 fra.me.REG[2] = NEW_ReduceAction425_parser___ReduceAction___init(REGB0);
3031 /* parser/parser.nit:152 */
3032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3033 /* parser/parser.nit:579 */
3034 REGB0 = TAG_Int(81);
3035 fra.me.REG[2] = NEW_ReduceAction426_parser___ReduceAction___init(REGB0);
3036 /* parser/parser.nit:152 */
3037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3038 /* parser/parser.nit:580 */
3039 REGB0 = TAG_Int(81);
3040 fra.me.REG[2] = NEW_ReduceAction427_parser___ReduceAction___init(REGB0);
3041 /* parser/parser.nit:152 */
3042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3043 /* parser/parser.nit:581 */
3044 REGB0 = TAG_Int(82);
3045 fra.me.REG[2] = NEW_ReduceAction428_parser___ReduceAction___init(REGB0);
3046 /* parser/parser.nit:152 */
3047 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3048 /* parser/parser.nit:582 */
3049 REGB0 = TAG_Int(83);
3050 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
3051 /* parser/parser.nit:152 */
3052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3053 /* parser/parser.nit:583 */
3054 REGB0 = TAG_Int(84);
3055 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
3056 /* parser/parser.nit:152 */
3057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3058 /* parser/parser.nit:584 */
3059 REGB0 = TAG_Int(84);
3060 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
3061 /* parser/parser.nit:152 */
3062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3063 /* parser/parser.nit:585 */
3064 REGB0 = TAG_Int(85);
3065 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
3066 /* parser/parser.nit:152 */
3067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3068 /* parser/parser.nit:586 */
3069 REGB0 = TAG_Int(85);
3070 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
3071 /* parser/parser.nit:152 */
3072 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3073 /* parser/parser.nit:587 */
3074 REGB0 = TAG_Int(85);
3075 fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction___init(REGB0);
3076 /* parser/parser.nit:152 */
3077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3078 /* parser/parser.nit:588 */
3079 REGB0 = TAG_Int(86);
3080 fra.me.REG[2] = NEW_ReduceAction435_parser___ReduceAction___init(REGB0);
3081 /* parser/parser.nit:152 */
3082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3083 /* parser/parser.nit:589 */
3084 REGB0 = TAG_Int(86);
3085 fra.me.REG[2] = NEW_ReduceAction436_parser___ReduceAction___init(REGB0);
3086 /* parser/parser.nit:152 */
3087 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3088 /* parser/parser.nit:590 */
3089 REGB0 = TAG_Int(87);
3090 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
3091 /* parser/parser.nit:152 */
3092 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3093 /* parser/parser.nit:591 */
3094 REGB0 = TAG_Int(87);
3095 fra.me.REG[2] = NEW_ReduceAction438_parser___ReduceAction___init(REGB0);
3096 /* parser/parser.nit:152 */
3097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3098 /* parser/parser.nit:592 */
3099 REGB0 = TAG_Int(87);
3100 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
3101 /* parser/parser.nit:152 */
3102 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3103 /* parser/parser.nit:593 */
3104 REGB0 = TAG_Int(88);
3105 fra.me.REG[2] = NEW_ReduceAction67_parser___ReduceAction___init(REGB0);
3106 /* parser/parser.nit:152 */
3107 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3108 /* parser/parser.nit:594 */
3109 REGB0 = TAG_Int(89);
3110 fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction___init(REGB0);
3111 /* parser/parser.nit:152 */
3112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3113 /* parser/parser.nit:595 */
3114 REGB0 = TAG_Int(89);
3115 fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction___init(REGB0);
3116 /* parser/parser.nit:152 */
3117 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3118 /* parser/parser.nit:596 */
3119 REGB0 = TAG_Int(89);
3120 fra.me.REG[2] = NEW_ReduceAction70_parser___ReduceAction___init(REGB0);
3121 /* parser/parser.nit:152 */
3122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3123 /* parser/parser.nit:597 */
3124 REGB0 = TAG_Int(89);
3125 fra.me.REG[2] = NEW_ReduceAction71_parser___ReduceAction___init(REGB0);
3126 /* parser/parser.nit:152 */
3127 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3128 /* parser/parser.nit:598 */
3129 REGB0 = TAG_Int(89);
3130 fra.me.REG[2] = NEW_ReduceAction72_parser___ReduceAction___init(REGB0);
3131 /* parser/parser.nit:152 */
3132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3133 /* parser/parser.nit:599 */
3134 REGB0 = TAG_Int(89);
3135 fra.me.REG[2] = NEW_ReduceAction73_parser___ReduceAction___init(REGB0);
3136 /* parser/parser.nit:152 */
3137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3138 /* parser/parser.nit:600 */
3139 REGB0 = TAG_Int(89);
3140 fra.me.REG[2] = NEW_ReduceAction78_parser___ReduceAction___init(REGB0);
3141 /* parser/parser.nit:152 */
3142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3143 /* parser/parser.nit:601 */
3144 REGB0 = TAG_Int(89);
3145 fra.me.REG[2] = NEW_ReduceAction79_parser___ReduceAction___init(REGB0);
3146 /* parser/parser.nit:152 */
3147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3148 /* parser/parser.nit:602 */
3149 REGB0 = TAG_Int(89);
3150 fra.me.REG[2] = NEW_ReduceAction80_parser___ReduceAction___init(REGB0);
3151 /* parser/parser.nit:152 */
3152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3153 /* parser/parser.nit:603 */
3154 REGB0 = TAG_Int(89);
3155 fra.me.REG[2] = NEW_ReduceAction81_parser___ReduceAction___init(REGB0);
3156 /* parser/parser.nit:152 */
3157 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3158 /* parser/parser.nit:604 */
3159 REGB0 = TAG_Int(89);
3160 fra.me.REG[2] = NEW_ReduceAction82_parser___ReduceAction___init(REGB0);
3161 /* parser/parser.nit:152 */
3162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3163 /* parser/parser.nit:605 */
3164 REGB0 = TAG_Int(89);
3165 fra.me.REG[2] = NEW_ReduceAction83_parser___ReduceAction___init(REGB0);
3166 /* parser/parser.nit:152 */
3167 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3168 /* parser/parser.nit:606 */
3169 REGB0 = TAG_Int(89);
3170 fra.me.REG[2] = NEW_ReduceAction84_parser___ReduceAction___init(REGB0);
3171 /* parser/parser.nit:152 */
3172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3173 /* parser/parser.nit:607 */
3174 REGB0 = TAG_Int(89);
3175 fra.me.REG[2] = NEW_ReduceAction85_parser___ReduceAction___init(REGB0);
3176 /* parser/parser.nit:152 */
3177 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3178 /* parser/parser.nit:608 */
3179 REGB0 = TAG_Int(90);
3180 fra.me.REG[2] = NEW_ReduceAction188_parser___ReduceAction___init(REGB0);
3181 /* parser/parser.nit:152 */
3182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3183 /* parser/parser.nit:609 */
3184 REGB0 = TAG_Int(90);
3185 fra.me.REG[2] = NEW_ReduceAction189_parser___ReduceAction___init(REGB0);
3186 /* parser/parser.nit:152 */
3187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3188 /* parser/parser.nit:610 */
3189 REGB0 = TAG_Int(90);
3190 fra.me.REG[2] = NEW_ReduceAction190_parser___ReduceAction___init(REGB0);
3191 /* parser/parser.nit:152 */
3192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3193 /* parser/parser.nit:611 */
3194 REGB0 = TAG_Int(90);
3195 fra.me.REG[2] = NEW_ReduceAction191_parser___ReduceAction___init(REGB0);
3196 /* parser/parser.nit:152 */
3197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3198 /* parser/parser.nit:612 */
3199 REGB0 = TAG_Int(90);
3200 fra.me.REG[2] = NEW_ReduceAction196_parser___ReduceAction___init(REGB0);
3201 /* parser/parser.nit:152 */
3202 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3203 /* parser/parser.nit:613 */
3204 REGB0 = TAG_Int(90);
3205 fra.me.REG[2] = NEW_ReduceAction197_parser___ReduceAction___init(REGB0);
3206 /* parser/parser.nit:152 */
3207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3208 /* parser/parser.nit:614 */
3209 REGB0 = TAG_Int(91);
3210 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
3211 /* parser/parser.nit:152 */
3212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3213 /* parser/parser.nit:615 */
3214 REGB0 = TAG_Int(91);
3215 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
3216 /* parser/parser.nit:152 */
3217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3218 /* parser/parser.nit:616 */
3219 REGB0 = TAG_Int(92);
3220 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3221 /* parser/parser.nit:152 */
3222 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3223 /* parser/parser.nit:617 */
3224 REGB0 = TAG_Int(92);
3225 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
3226 /* parser/parser.nit:152 */
3227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3228 /* parser/parser.nit:618 */
3229 REGB0 = TAG_Int(92);
3230 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
3231 /* parser/parser.nit:152 */
3232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3233 /* parser/parser.nit:619 */
3234 REGB0 = TAG_Int(93);
3235 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3236 /* parser/parser.nit:152 */
3237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3238 /* parser/parser.nit:620 */
3239 REGB0 = TAG_Int(93);
3240 fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction___init(REGB0);
3241 /* parser/parser.nit:152 */
3242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3243 /* parser/parser.nit:621 */
3244 REGB0 = TAG_Int(94);
3245 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3246 /* parser/parser.nit:152 */
3247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3248 /* parser/parser.nit:622 */
3249 REGB0 = TAG_Int(94);
3250 fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction___init(REGB0);
3251 /* parser/parser.nit:152 */
3252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3253 /* parser/parser.nit:623 */
3254 REGB0 = TAG_Int(94);
3255 fra.me.REG[2] = NEW_ReduceAction346_parser___ReduceAction___init(REGB0);
3256 /* parser/parser.nit:152 */
3257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3258 /* parser/parser.nit:624 */
3259 REGB0 = TAG_Int(94);
3260 fra.me.REG[2] = NEW_ReduceAction347_parser___ReduceAction___init(REGB0);
3261 /* parser/parser.nit:152 */
3262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3263 /* parser/parser.nit:625 */
3264 REGB0 = TAG_Int(95);
3265 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3266 /* parser/parser.nit:152 */
3267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3268 /* parser/parser.nit:626 */
3269 REGB0 = TAG_Int(95);
3270 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
3271 /* parser/parser.nit:152 */
3272 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3273 /* parser/parser.nit:627 */
3274 REGB0 = TAG_Int(96);
3275 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3276 /* parser/parser.nit:152 */
3277 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3278 /* parser/parser.nit:628 */
3279 REGB0 = TAG_Int(96);
3280 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
3281 /* parser/parser.nit:152 */
3282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3283 /* parser/parser.nit:629 */
3284 REGB0 = TAG_Int(96);
3285 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
3286 /* parser/parser.nit:152 */
3287 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3288 /* parser/parser.nit:630 */
3289 REGB0 = TAG_Int(96);
3290 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
3291 /* parser/parser.nit:152 */
3292 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3293 /* parser/parser.nit:631 */
3294 REGB0 = TAG_Int(96);
3295 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
3296 /* parser/parser.nit:152 */
3297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3298 /* parser/parser.nit:632 */
3299 REGB0 = TAG_Int(96);
3300 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
3301 /* parser/parser.nit:152 */
3302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3303 /* parser/parser.nit:633 */
3304 REGB0 = TAG_Int(96);
3305 fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction___init(REGB0);
3306 /* parser/parser.nit:152 */
3307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3308 /* parser/parser.nit:634 */
3309 REGB0 = TAG_Int(96);
3310 fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction___init(REGB0);
3311 /* parser/parser.nit:152 */
3312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3313 /* parser/parser.nit:635 */
3314 REGB0 = TAG_Int(96);
3315 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
3316 /* parser/parser.nit:152 */
3317 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3318 /* parser/parser.nit:636 */
3319 REGB0 = TAG_Int(96);
3320 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
3321 /* parser/parser.nit:152 */
3322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3323 /* parser/parser.nit:637 */
3324 REGB0 = TAG_Int(96);
3325 fra.me.REG[2] = NEW_ReduceAction360_parser___ReduceAction___init(REGB0);
3326 /* parser/parser.nit:152 */
3327 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3328 /* parser/parser.nit:638 */
3329 REGB0 = TAG_Int(96);
3330 fra.me.REG[2] = NEW_ReduceAction361_parser___ReduceAction___init(REGB0);
3331 /* parser/parser.nit:152 */
3332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3333 /* parser/parser.nit:639 */
3334 REGB0 = TAG_Int(97);
3335 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3336 /* parser/parser.nit:152 */
3337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3338 /* parser/parser.nit:640 */
3339 REGB0 = TAG_Int(97);
3340 fra.me.REG[2] = NEW_ReduceAction363_parser___ReduceAction___init(REGB0);
3341 /* parser/parser.nit:152 */
3342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3343 /* parser/parser.nit:641 */
3344 REGB0 = TAG_Int(97);
3345 fra.me.REG[2] = NEW_ReduceAction364_parser___ReduceAction___init(REGB0);
3346 /* parser/parser.nit:152 */
3347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3348 /* parser/parser.nit:642 */
3349 REGB0 = TAG_Int(98);
3350 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3351 /* parser/parser.nit:152 */
3352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3353 /* parser/parser.nit:643 */
3354 REGB0 = TAG_Int(98);
3355 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
3356 /* parser/parser.nit:152 */
3357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3358 /* parser/parser.nit:644 */
3359 REGB0 = TAG_Int(98);
3360 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
3361 /* parser/parser.nit:152 */
3362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3363 /* parser/parser.nit:645 */
3364 REGB0 = TAG_Int(98);
3365 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
3366 /* parser/parser.nit:152 */
3367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3368 /* parser/parser.nit:646 */
3369 REGB0 = TAG_Int(99);
3370 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3371 /* parser/parser.nit:152 */
3372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3373 /* parser/parser.nit:647 */
3374 REGB0 = TAG_Int(99);
3375 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
3376 /* parser/parser.nit:152 */
3377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3378 /* parser/parser.nit:648 */
3379 REGB0 = TAG_Int(99);
3380 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
3381 /* parser/parser.nit:152 */
3382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3383 /* parser/parser.nit:649 */
3384 REGB0 = TAG_Int(100);
3385 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3386 /* parser/parser.nit:152 */
3387 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3388 /* parser/parser.nit:650 */
3389 REGB0 = TAG_Int(100);
3390 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
3391 /* parser/parser.nit:152 */
3392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3393 /* parser/parser.nit:651 */
3394 REGB0 = TAG_Int(100);
3395 fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction___init(REGB0);
3396 /* parser/parser.nit:152 */
3397 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3398 /* parser/parser.nit:652 */
3399 REGB0 = TAG_Int(100);
3400 fra.me.REG[2] = NEW_ReduceAction375_parser___ReduceAction___init(REGB0);
3401 /* parser/parser.nit:152 */
3402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3403 /* parser/parser.nit:653 */
3404 REGB0 = TAG_Int(101);
3405 fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction___init(REGB0);
3406 /* parser/parser.nit:152 */
3407 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3408 /* parser/parser.nit:654 */
3409 REGB0 = TAG_Int(101);
3410 fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction___init(REGB0);
3411 /* parser/parser.nit:152 */
3412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3413 /* parser/parser.nit:655 */
3414 REGB0 = TAG_Int(101);
3415 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
3416 /* parser/parser.nit:152 */
3417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3418 /* parser/parser.nit:656 */
3419 REGB0 = TAG_Int(101);
3420 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
3421 /* parser/parser.nit:152 */
3422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3423 /* parser/parser.nit:657 */
3424 REGB0 = TAG_Int(101);
3425 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
3426 /* parser/parser.nit:152 */
3427 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3428 /* parser/parser.nit:658 */
3429 REGB0 = TAG_Int(101);
3430 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
3431 /* parser/parser.nit:152 */
3432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3433 /* parser/parser.nit:659 */
3434 REGB0 = TAG_Int(101);
3435 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
3436 /* parser/parser.nit:152 */
3437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3438 /* parser/parser.nit:660 */
3439 REGB0 = TAG_Int(101);
3440 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
3441 /* parser/parser.nit:152 */
3442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3443 /* parser/parser.nit:661 */
3444 REGB0 = TAG_Int(101);
3445 fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
3446 /* parser/parser.nit:152 */
3447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3448 /* parser/parser.nit:662 */
3449 REGB0 = TAG_Int(101);
3450 fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction___init(REGB0);
3451 /* parser/parser.nit:152 */
3452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3453 /* parser/parser.nit:663 */
3454 REGB0 = TAG_Int(101);
3455 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
3456 /* parser/parser.nit:152 */
3457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3458 /* parser/parser.nit:664 */
3459 REGB0 = TAG_Int(101);
3460 fra.me.REG[2] = NEW_ReduceAction391_parser___ReduceAction___init(REGB0);
3461 /* parser/parser.nit:152 */
3462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3463 /* parser/parser.nit:665 */
3464 REGB0 = TAG_Int(101);
3465 fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction___init(REGB0);
3466 /* parser/parser.nit:152 */
3467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3468 /* parser/parser.nit:666 */
3469 REGB0 = TAG_Int(101);
3470 fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction___init(REGB0);
3471 /* parser/parser.nit:152 */
3472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3473 /* parser/parser.nit:667 */
3474 REGB0 = TAG_Int(101);
3475 fra.me.REG[2] = NEW_ReduceAction394_parser___ReduceAction___init(REGB0);
3476 /* parser/parser.nit:152 */
3477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3478 /* parser/parser.nit:668 */
3479 REGB0 = TAG_Int(101);
3480 fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
3481 /* parser/parser.nit:152 */
3482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3483 /* parser/parser.nit:669 */
3484 REGB0 = TAG_Int(101);
3485 fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
3486 /* parser/parser.nit:152 */
3487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3488 /* parser/parser.nit:670 */
3489 REGB0 = TAG_Int(101);
3490 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3491 /* parser/parser.nit:152 */
3492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3493 /* parser/parser.nit:671 */
3494 REGB0 = TAG_Int(101);
3495 fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction___init(REGB0);
3496 /* parser/parser.nit:152 */
3497 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3498 /* parser/parser.nit:672 */
3499 REGB0 = TAG_Int(101);
3500 fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction___init(REGB0);
3501 /* parser/parser.nit:152 */
3502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3503 /* parser/parser.nit:673 */
3504 REGB0 = TAG_Int(101);
3505 fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction___init(REGB0);
3506 /* parser/parser.nit:152 */
3507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3508 /* parser/parser.nit:674 */
3509 REGB0 = TAG_Int(102);
3510 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
3511 /* parser/parser.nit:152 */
3512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3513 /* parser/parser.nit:675 */
3514 REGB0 = TAG_Int(102);
3515 fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction___init(REGB0);
3516 /* parser/parser.nit:152 */
3517 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3518 /* parser/parser.nit:676 */
3519 REGB0 = TAG_Int(102);
3520 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
3521 /* parser/parser.nit:152 */
3522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3523 /* parser/parser.nit:677 */
3524 REGB0 = TAG_Int(102);
3525 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3526 /* parser/parser.nit:152 */
3527 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3528 /* parser/parser.nit:678 */
3529 REGB0 = TAG_Int(103);
3530 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3531 /* parser/parser.nit:152 */
3532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3533 /* parser/parser.nit:679 */
3534 REGB0 = TAG_Int(103);
3535 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3536 /* parser/parser.nit:152 */
3537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3538 /* parser/parser.nit:680 */
3539 REGB0 = TAG_Int(103);
3540 fra.me.REG[2] = NEW_ReduceAction253_parser___ReduceAction___init(REGB0);
3541 /* parser/parser.nit:152 */
3542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3543 /* parser/parser.nit:681 */
3544 REGB0 = TAG_Int(103);
3545 fra.me.REG[2] = NEW_ReduceAction254_parser___ReduceAction___init(REGB0);
3546 /* parser/parser.nit:152 */
3547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3548 /* parser/parser.nit:682 */
3549 REGB0 = TAG_Int(103);
3550 fra.me.REG[2] = NEW_ReduceAction255_parser___ReduceAction___init(REGB0);
3551 /* parser/parser.nit:152 */
3552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3553 /* parser/parser.nit:683 */
3554 REGB0 = TAG_Int(103);
3555 fra.me.REG[2] = NEW_ReduceAction256_parser___ReduceAction___init(REGB0);
3556 /* parser/parser.nit:152 */
3557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3558 /* parser/parser.nit:684 */
3559 REGB0 = TAG_Int(103);
3560 fra.me.REG[2] = NEW_ReduceAction257_parser___ReduceAction___init(REGB0);
3561 /* parser/parser.nit:152 */
3562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3563 /* parser/parser.nit:685 */
3564 REGB0 = TAG_Int(103);
3565 fra.me.REG[2] = NEW_ReduceAction258_parser___ReduceAction___init(REGB0);
3566 /* parser/parser.nit:152 */
3567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3568 /* parser/parser.nit:686 */
3569 REGB0 = TAG_Int(103);
3570 fra.me.REG[2] = NEW_ReduceAction259_parser___ReduceAction___init(REGB0);
3571 /* parser/parser.nit:152 */
3572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3573 /* parser/parser.nit:687 */
3574 REGB0 = TAG_Int(103);
3575 fra.me.REG[2] = NEW_ReduceAction260_parser___ReduceAction___init(REGB0);
3576 /* parser/parser.nit:152 */
3577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3578 /* parser/parser.nit:688 */
3579 REGB0 = TAG_Int(103);
3580 fra.me.REG[2] = NEW_ReduceAction261_parser___ReduceAction___init(REGB0);
3581 /* parser/parser.nit:152 */
3582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3583 /* parser/parser.nit:689 */
3584 REGB0 = TAG_Int(103);
3585 fra.me.REG[2] = NEW_ReduceAction262_parser___ReduceAction___init(REGB0);
3586 /* parser/parser.nit:152 */
3587 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3588 /* parser/parser.nit:690 */
3589 REGB0 = TAG_Int(103);
3590 fra.me.REG[2] = NEW_ReduceAction263_parser___ReduceAction___init(REGB0);
3591 /* parser/parser.nit:152 */
3592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3593 /* parser/parser.nit:691 */
3594 REGB0 = TAG_Int(103);
3595 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3596 /* parser/parser.nit:152 */
3597 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3598 /* parser/parser.nit:692 */
3599 REGB0 = TAG_Int(103);
3600 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3601 /* parser/parser.nit:152 */
3602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3603 /* parser/parser.nit:693 */
3604 REGB0 = TAG_Int(103);
3605 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3606 /* parser/parser.nit:152 */
3607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3608 /* parser/parser.nit:694 */
3609 REGB0 = TAG_Int(103);
3610 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3611 /* parser/parser.nit:152 */
3612 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3613 /* parser/parser.nit:695 */
3614 REGB0 = TAG_Int(103);
3615 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3616 /* parser/parser.nit:152 */
3617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3618 /* parser/parser.nit:696 */
3619 REGB0 = TAG_Int(103);
3620 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3621 /* parser/parser.nit:152 */
3622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3623 /* parser/parser.nit:697 */
3624 REGB0 = TAG_Int(103);
3625 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
3626 /* parser/parser.nit:152 */
3627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3628 /* parser/parser.nit:698 */
3629 REGB0 = TAG_Int(103);
3630 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
3631 /* parser/parser.nit:152 */
3632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3633 /* parser/parser.nit:699 */
3634 REGB0 = TAG_Int(103);
3635 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
3636 /* parser/parser.nit:152 */
3637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3638 /* parser/parser.nit:700 */
3639 REGB0 = TAG_Int(103);
3640 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
3641 /* parser/parser.nit:152 */
3642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3643 /* parser/parser.nit:701 */
3644 REGB0 = TAG_Int(103);
3645 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
3646 /* parser/parser.nit:152 */
3647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3648 /* parser/parser.nit:702 */
3649 REGB0 = TAG_Int(103);
3650 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
3651 /* parser/parser.nit:152 */
3652 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3653 /* parser/parser.nit:703 */
3654 REGB0 = TAG_Int(103);
3655 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
3656 /* parser/parser.nit:152 */
3657 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3658 /* parser/parser.nit:704 */
3659 REGB0 = TAG_Int(103);
3660 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
3661 /* parser/parser.nit:152 */
3662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3663 /* parser/parser.nit:705 */
3664 REGB0 = TAG_Int(103);
3665 fra.me.REG[2] = NEW_ReduceAction278_parser___ReduceAction___init(REGB0);
3666 /* parser/parser.nit:152 */
3667 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3668 /* parser/parser.nit:706 */
3669 REGB0 = TAG_Int(104);
3670 fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction___init(REGB0);
3671 /* parser/parser.nit:152 */
3672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3673 /* parser/parser.nit:707 */
3674 REGB0 = TAG_Int(104);
3675 fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction___init(REGB0);
3676 /* parser/parser.nit:152 */
3677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3678 /* parser/parser.nit:708 */
3679 REGB0 = TAG_Int(105);
3680 fra.me.REG[2] = NEW_ReduceAction282_parser___ReduceAction___init(REGB0);
3681 /* parser/parser.nit:152 */
3682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3683 /* parser/parser.nit:709 */
3684 REGB0 = TAG_Int(105);
3685 fra.me.REG[2] = NEW_ReduceAction283_parser___ReduceAction___init(REGB0);
3686 /* parser/parser.nit:152 */
3687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3688 /* parser/parser.nit:710 */
3689 REGB0 = TAG_Int(105);
3690 fra.me.REG[2] = NEW_ReduceAction284_parser___ReduceAction___init(REGB0);
3691 /* parser/parser.nit:152 */
3692 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3693 /* parser/parser.nit:711 */
3694 REGB0 = TAG_Int(105);
3695 fra.me.REG[2] = NEW_ReduceAction285_parser___ReduceAction___init(REGB0);
3696 /* parser/parser.nit:152 */
3697 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3698 /* parser/parser.nit:712 */
3699 REGB0 = TAG_Int(105);
3700 fra.me.REG[2] = NEW_ReduceAction286_parser___ReduceAction___init(REGB0);
3701 /* parser/parser.nit:152 */
3702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3703 /* parser/parser.nit:713 */
3704 REGB0 = TAG_Int(105);
3705 fra.me.REG[2] = NEW_ReduceAction287_parser___ReduceAction___init(REGB0);
3706 /* parser/parser.nit:152 */
3707 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3708 /* parser/parser.nit:714 */
3709 REGB0 = TAG_Int(105);
3710 fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction___init(REGB0);
3711 /* parser/parser.nit:152 */
3712 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3713 /* parser/parser.nit:715 */
3714 REGB0 = TAG_Int(105);
3715 fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction___init(REGB0);
3716 /* parser/parser.nit:152 */
3717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3718 /* parser/parser.nit:716 */
3719 REGB0 = TAG_Int(105);
3720 fra.me.REG[2] = NEW_ReduceAction290_parser___ReduceAction___init(REGB0);
3721 /* parser/parser.nit:152 */
3722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3723 /* parser/parser.nit:717 */
3724 REGB0 = TAG_Int(106);
3725 fra.me.REG[2] = NEW_ReduceAction299_parser___ReduceAction___init(REGB0);
3726 /* parser/parser.nit:152 */
3727 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3728 /* parser/parser.nit:718 */
3729 REGB0 = TAG_Int(107);
3730 fra.me.REG[2] = NEW_ReduceAction300_parser___ReduceAction___init(REGB0);
3731 /* parser/parser.nit:152 */
3732 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3733 /* parser/parser.nit:719 */
3734 REGB0 = TAG_Int(107);
3735 fra.me.REG[2] = NEW_ReduceAction301_parser___ReduceAction___init(REGB0);
3736 /* parser/parser.nit:152 */
3737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3738 /* parser/parser.nit:720 */
3739 REGB0 = TAG_Int(107);
3740 fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction___init(REGB0);
3741 /* parser/parser.nit:152 */
3742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3743 /* parser/parser.nit:721 */
3744 REGB0 = TAG_Int(107);
3745 fra.me.REG[2] = NEW_ReduceAction303_parser___ReduceAction___init(REGB0);
3746 /* parser/parser.nit:152 */
3747 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3748 /* parser/parser.nit:722 */
3749 REGB0 = TAG_Int(108);
3750 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
3751 /* parser/parser.nit:152 */
3752 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3753 /* parser/parser.nit:723 */
3754 REGB0 = TAG_Int(108);
3755 fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction___init(REGB0);
3756 /* parser/parser.nit:152 */
3757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3758 /* parser/parser.nit:724 */
3759 REGB0 = TAG_Int(108);
3760 fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction___init(REGB0);
3761 /* parser/parser.nit:152 */
3762 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3763 /* parser/parser.nit:725 */
3764 REGB0 = TAG_Int(108);
3765 fra.me.REG[2] = NEW_ReduceAction307_parser___ReduceAction___init(REGB0);
3766 /* parser/parser.nit:152 */
3767 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3768 /* parser/parser.nit:726 */
3769 REGB0 = TAG_Int(108);
3770 fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction___init(REGB0);
3771 /* parser/parser.nit:152 */
3772 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3773 /* parser/parser.nit:727 */
3774 REGB0 = TAG_Int(108);
3775 fra.me.REG[2] = NEW_ReduceAction309_parser___ReduceAction___init(REGB0);
3776 /* parser/parser.nit:152 */
3777 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3778 /* parser/parser.nit:728 */
3779 REGB0 = TAG_Int(108);
3780 fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction___init(REGB0);
3781 /* parser/parser.nit:152 */
3782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3783 /* parser/parser.nit:729 */
3784 REGB0 = TAG_Int(108);
3785 fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction___init(REGB0);
3786 /* parser/parser.nit:152 */
3787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3788 /* parser/parser.nit:730 */
3789 REGB0 = TAG_Int(108);
3790 fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction___init(REGB0);
3791 /* parser/parser.nit:152 */
3792 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3793 /* parser/parser.nit:731 */
3794 REGB0 = TAG_Int(108);
3795 fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction___init(REGB0);
3796 /* parser/parser.nit:152 */
3797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3798 /* parser/parser.nit:732 */
3799 REGB0 = TAG_Int(109);
3800 fra.me.REG[2] = NEW_ReduceAction316_parser___ReduceAction___init(REGB0);
3801 /* parser/parser.nit:152 */
3802 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3803 /* parser/parser.nit:733 */
3804 REGB0 = TAG_Int(109);
3805 fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction___init(REGB0);
3806 /* parser/parser.nit:152 */
3807 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3808 /* parser/parser.nit:734 */
3809 REGB0 = TAG_Int(110);
3810 fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction___init(REGB0);
3811 /* parser/parser.nit:152 */
3812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3813 /* parser/parser.nit:735 */
3814 REGB0 = TAG_Int(111);
3815 fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction___init(REGB0);
3816 /* parser/parser.nit:152 */
3817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3818 /* parser/parser.nit:736 */
3819 REGB0 = TAG_Int(111);
3820 fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction___init(REGB0);
3821 /* parser/parser.nit:152 */
3822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3823 /* parser/parser.nit:737 */
3824 REGB0 = TAG_Int(112);
3825 fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction___init(REGB0);
3826 /* parser/parser.nit:152 */
3827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3828 /* parser/parser.nit:738 */
3829 REGB0 = TAG_Int(112);
3830 fra.me.REG[2] = NEW_ReduceAction328_parser___ReduceAction___init(REGB0);
3831 /* parser/parser.nit:152 */
3832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3833 /* parser/parser.nit:739 */
3834 REGB0 = TAG_Int(113);
3835 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
3836 /* parser/parser.nit:152 */
3837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3838 /* parser/parser.nit:740 */
3839 REGB0 = TAG_Int(113);
3840 fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction___init(REGB0);
3841 /* parser/parser.nit:152 */
3842 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3843 /* parser/parser.nit:741 */
3844 REGB0 = TAG_Int(113);
3845 fra.me.REG[2] = NEW_ReduceAction331_parser___ReduceAction___init(REGB0);
3846 /* parser/parser.nit:152 */
3847 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3848 /* parser/parser.nit:742 */
3849 REGB0 = TAG_Int(113);
3850 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
3851 /* parser/parser.nit:152 */
3852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3853 /* parser/parser.nit:743 */
3854 REGB0 = TAG_Int(114);
3855 fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction___init(REGB0);
3856 /* parser/parser.nit:152 */
3857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3858 /* parser/parser.nit:744 */
3859 REGB0 = TAG_Int(114);
3860 fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
3861 /* parser/parser.nit:152 */
3862 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3863 /* parser/parser.nit:745 */
3864 REGB0 = TAG_Int(115);
3865 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3866 /* parser/parser.nit:152 */
3867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3868 /* parser/parser.nit:746 */
3869 REGB0 = TAG_Int(115);
3870 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
3871 /* parser/parser.nit:152 */
3872 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3873 /* parser/parser.nit:747 */
3874 REGB0 = TAG_Int(115);
3875 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
3876 /* parser/parser.nit:152 */
3877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3878 /* parser/parser.nit:748 */
3879 REGB0 = TAG_Int(115);
3880 fra.me.REG[2] = NEW_ReduceAction341_parser___ReduceAction___init(REGB0);
3881 /* parser/parser.nit:152 */
3882 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3883 /* parser/parser.nit:749 */
3884 REGB0 = TAG_Int(116);
3885 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3886 /* parser/parser.nit:152 */
3887 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3888 /* parser/parser.nit:750 */
3889 REGB0 = TAG_Int(116);
3890 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
3891 /* parser/parser.nit:152 */
3892 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3893 /* parser/parser.nit:751 */
3894 REGB0 = TAG_Int(116);
3895 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
3896 /* parser/parser.nit:152 */
3897 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3898 /* parser/parser.nit:752 */
3899 REGB0 = TAG_Int(117);
3900 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
3901 /* parser/parser.nit:152 */
3902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3903 /* parser/parser.nit:753 */
3904 REGB0 = TAG_Int(117);
3905 fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction___init(REGB0);
3906 /* parser/parser.nit:152 */
3907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3908 /* parser/parser.nit:754 */
3909 REGB0 = TAG_Int(117);
3910 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
3911 /* parser/parser.nit:152 */
3912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3913 /* parser/parser.nit:755 */
3914 REGB0 = TAG_Int(118);
3915 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
3916 /* parser/parser.nit:152 */
3917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3918 /* parser/parser.nit:756 */
3919 REGB0 = TAG_Int(118);
3920 fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction___init(REGB0);
3921 /* parser/parser.nit:152 */
3922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3923 /* parser/parser.nit:757 */
3924 REGB0 = TAG_Int(118);
3925 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
3926 /* parser/parser.nit:152 */
3927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3928 /* parser/parser.nit:758 */
3929 REGB0 = TAG_Int(119);
3930 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3931 /* parser/parser.nit:152 */
3932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3933 /* parser/parser.nit:759 */
3934 REGB0 = TAG_Int(119);
3935 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
3936 /* parser/parser.nit:152 */
3937 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3938 /* parser/parser.nit:760 */
3939 REGB0 = TAG_Int(119);
3940 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
3941 /* parser/parser.nit:152 */
3942 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3943 /* parser/parser.nit:761 */
3944 REGB0 = TAG_Int(120);
3945 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3946 /* parser/parser.nit:152 */
3947 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3948 /* parser/parser.nit:762 */
3949 REGB0 = TAG_Int(120);
3950 fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction___init(REGB0);
3951 /* parser/parser.nit:152 */
3952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3953 /* parser/parser.nit:763 */
3954 REGB0 = TAG_Int(121);
3955 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3956 /* parser/parser.nit:152 */
3957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3958 /* parser/parser.nit:764 */
3959 REGB0 = TAG_Int(121);
3960 fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction___init(REGB0);
3961 /* parser/parser.nit:152 */
3962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3963 /* parser/parser.nit:765 */
3964 REGB0 = TAG_Int(121);
3965 fra.me.REG[2] = NEW_ReduceAction346_parser___ReduceAction___init(REGB0);
3966 /* parser/parser.nit:152 */
3967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3968 /* parser/parser.nit:766 */
3969 REGB0 = TAG_Int(121);
3970 fra.me.REG[2] = NEW_ReduceAction347_parser___ReduceAction___init(REGB0);
3971 /* parser/parser.nit:152 */
3972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3973 /* parser/parser.nit:767 */
3974 REGB0 = TAG_Int(122);
3975 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3976 /* parser/parser.nit:152 */
3977 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3978 /* parser/parser.nit:768 */
3979 REGB0 = TAG_Int(122);
3980 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
3981 /* parser/parser.nit:152 */
3982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3983 /* parser/parser.nit:769 */
3984 REGB0 = TAG_Int(123);
3985 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3986 /* parser/parser.nit:152 */
3987 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3988 /* parser/parser.nit:770 */
3989 REGB0 = TAG_Int(123);
3990 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
3991 /* parser/parser.nit:152 */
3992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3993 /* parser/parser.nit:771 */
3994 REGB0 = TAG_Int(123);
3995 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
3996 /* parser/parser.nit:152 */
3997 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3998 /* parser/parser.nit:772 */
3999 REGB0 = TAG_Int(123);
4000 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
4001 /* parser/parser.nit:152 */
4002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4003 /* parser/parser.nit:773 */
4004 REGB0 = TAG_Int(123);
4005 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
4006 /* parser/parser.nit:152 */
4007 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4008 /* parser/parser.nit:774 */
4009 REGB0 = TAG_Int(123);
4010 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
4011 /* parser/parser.nit:152 */
4012 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4013 /* parser/parser.nit:775 */
4014 REGB0 = TAG_Int(123);
4015 fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction___init(REGB0);
4016 /* parser/parser.nit:152 */
4017 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4018 /* parser/parser.nit:776 */
4019 REGB0 = TAG_Int(123);
4020 fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction___init(REGB0);
4021 /* parser/parser.nit:152 */
4022 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4023 /* parser/parser.nit:777 */
4024 REGB0 = TAG_Int(123);
4025 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
4026 /* parser/parser.nit:152 */
4027 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4028 /* parser/parser.nit:778 */
4029 REGB0 = TAG_Int(123);
4030 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
4031 /* parser/parser.nit:152 */
4032 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4033 /* parser/parser.nit:779 */
4034 REGB0 = TAG_Int(123);
4035 fra.me.REG[2] = NEW_ReduceAction360_parser___ReduceAction___init(REGB0);
4036 /* parser/parser.nit:152 */
4037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4038 /* parser/parser.nit:780 */
4039 REGB0 = TAG_Int(123);
4040 fra.me.REG[2] = NEW_ReduceAction361_parser___ReduceAction___init(REGB0);
4041 /* parser/parser.nit:152 */
4042 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4043 /* parser/parser.nit:781 */
4044 REGB0 = TAG_Int(124);
4045 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4046 /* parser/parser.nit:152 */
4047 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4048 /* parser/parser.nit:782 */
4049 REGB0 = TAG_Int(124);
4050 fra.me.REG[2] = NEW_ReduceAction363_parser___ReduceAction___init(REGB0);
4051 /* parser/parser.nit:152 */
4052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4053 /* parser/parser.nit:783 */
4054 REGB0 = TAG_Int(124);
4055 fra.me.REG[2] = NEW_ReduceAction364_parser___ReduceAction___init(REGB0);
4056 /* parser/parser.nit:152 */
4057 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4058 /* parser/parser.nit:784 */
4059 REGB0 = TAG_Int(125);
4060 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4061 /* parser/parser.nit:152 */
4062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4063 /* parser/parser.nit:785 */
4064 REGB0 = TAG_Int(125);
4065 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
4066 /* parser/parser.nit:152 */
4067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4068 /* parser/parser.nit:786 */
4069 REGB0 = TAG_Int(125);
4070 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
4071 /* parser/parser.nit:152 */
4072 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4073 /* parser/parser.nit:787 */
4074 REGB0 = TAG_Int(125);
4075 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
4076 /* parser/parser.nit:152 */
4077 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4078 /* parser/parser.nit:788 */
4079 REGB0 = TAG_Int(126);
4080 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4081 /* parser/parser.nit:152 */
4082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4083 /* parser/parser.nit:789 */
4084 REGB0 = TAG_Int(126);
4085 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
4086 /* parser/parser.nit:152 */
4087 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4088 /* parser/parser.nit:790 */
4089 REGB0 = TAG_Int(126);
4090 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
4091 /* parser/parser.nit:152 */
4092 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4093 /* parser/parser.nit:791 */
4094 REGB0 = TAG_Int(127);
4095 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4096 /* parser/parser.nit:152 */
4097 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4098 /* parser/parser.nit:792 */
4099 REGB0 = TAG_Int(127);
4100 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
4101 /* parser/parser.nit:152 */
4102 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4103 /* parser/parser.nit:793 */
4104 REGB0 = TAG_Int(127);
4105 fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction___init(REGB0);
4106 /* parser/parser.nit:152 */
4107 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4108 /* parser/parser.nit:794 */
4109 REGB0 = TAG_Int(127);
4110 fra.me.REG[2] = NEW_ReduceAction375_parser___ReduceAction___init(REGB0);
4111 /* parser/parser.nit:152 */
4112 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4113 /* parser/parser.nit:795 */
4114 REGB0 = TAG_Int(128);
4115 fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction___init(REGB0);
4116 /* parser/parser.nit:152 */
4117 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4118 /* parser/parser.nit:796 */
4119 REGB0 = TAG_Int(128);
4120 fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction___init(REGB0);
4121 /* parser/parser.nit:152 */
4122 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4123 /* parser/parser.nit:797 */
4124 REGB0 = TAG_Int(128);
4125 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
4126 /* parser/parser.nit:152 */
4127 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4128 /* parser/parser.nit:798 */
4129 REGB0 = TAG_Int(128);
4130 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
4131 /* parser/parser.nit:152 */
4132 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4133 /* parser/parser.nit:799 */
4134 REGB0 = TAG_Int(128);
4135 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
4136 /* parser/parser.nit:152 */
4137 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4138 /* parser/parser.nit:800 */
4139 REGB0 = TAG_Int(128);
4140 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
4141 /* parser/parser.nit:152 */
4142 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4143 /* parser/parser.nit:801 */
4144 REGB0 = TAG_Int(128);
4145 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
4146 /* parser/parser.nit:152 */
4147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4148 /* parser/parser.nit:802 */
4149 REGB0 = TAG_Int(128);
4150 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
4151 /* parser/parser.nit:152 */
4152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4153 /* parser/parser.nit:803 */
4154 REGB0 = TAG_Int(128);
4155 fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction___init(REGB0);
4156 /* parser/parser.nit:152 */
4157 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4158 /* parser/parser.nit:804 */
4159 REGB0 = TAG_Int(128);
4160 fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
4161 /* parser/parser.nit:152 */
4162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4163 /* parser/parser.nit:805 */
4164 REGB0 = TAG_Int(128);
4165 fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction___init(REGB0);
4166 /* parser/parser.nit:152 */
4167 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4168 /* parser/parser.nit:806 */
4169 REGB0 = TAG_Int(128);
4170 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
4171 /* parser/parser.nit:152 */
4172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4173 /* parser/parser.nit:807 */
4174 REGB0 = TAG_Int(128);
4175 fra.me.REG[2] = NEW_ReduceAction391_parser___ReduceAction___init(REGB0);
4176 /* parser/parser.nit:152 */
4177 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4178 /* parser/parser.nit:808 */
4179 REGB0 = TAG_Int(128);
4180 fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction___init(REGB0);
4181 /* parser/parser.nit:152 */
4182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4183 /* parser/parser.nit:809 */
4184 REGB0 = TAG_Int(128);
4185 fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction___init(REGB0);
4186 /* parser/parser.nit:152 */
4187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4188 /* parser/parser.nit:810 */
4189 REGB0 = TAG_Int(128);
4190 fra.me.REG[2] = NEW_ReduceAction394_parser___ReduceAction___init(REGB0);
4191 /* parser/parser.nit:152 */
4192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4193 /* parser/parser.nit:811 */
4194 REGB0 = TAG_Int(128);
4195 fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
4196 /* parser/parser.nit:152 */
4197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4198 /* parser/parser.nit:812 */
4199 REGB0 = TAG_Int(128);
4200 fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
4201 /* parser/parser.nit:152 */
4202 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4203 /* parser/parser.nit:813 */
4204 REGB0 = TAG_Int(128);
4205 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4206 /* parser/parser.nit:152 */
4207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4208 /* parser/parser.nit:814 */
4209 REGB0 = TAG_Int(128);
4210 fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction___init(REGB0);
4211 /* parser/parser.nit:152 */
4212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4213 /* parser/parser.nit:815 */
4214 REGB0 = TAG_Int(128);
4215 fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction___init(REGB0);
4216 /* parser/parser.nit:152 */
4217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4218 /* parser/parser.nit:816 */
4219 REGB0 = TAG_Int(129);
4220 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4221 /* parser/parser.nit:152 */
4222 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4223 /* parser/parser.nit:817 */
4224 REGB0 = TAG_Int(129);
4225 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
4226 /* parser/parser.nit:152 */
4227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4228 /* parser/parser.nit:818 */
4229 REGB0 = TAG_Int(129);
4230 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
4231 /* parser/parser.nit:152 */
4232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4233 /* parser/parser.nit:819 */
4234 REGB0 = TAG_Int(130);
4235 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4236 /* parser/parser.nit:152 */
4237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4238 /* parser/parser.nit:820 */
4239 REGB0 = TAG_Int(130);
4240 fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction___init(REGB0);
4241 /* parser/parser.nit:152 */
4242 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4243 /* parser/parser.nit:821 */
4244 REGB0 = TAG_Int(131);
4245 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4246 /* parser/parser.nit:152 */
4247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4248 /* parser/parser.nit:822 */
4249 REGB0 = TAG_Int(131);
4250 fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction___init(REGB0);
4251 /* parser/parser.nit:152 */
4252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4253 /* parser/parser.nit:823 */
4254 REGB0 = TAG_Int(131);
4255 fra.me.REG[2] = NEW_ReduceAction346_parser___ReduceAction___init(REGB0);
4256 /* parser/parser.nit:152 */
4257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4258 /* parser/parser.nit:824 */
4259 REGB0 = TAG_Int(131);
4260 fra.me.REG[2] = NEW_ReduceAction347_parser___ReduceAction___init(REGB0);
4261 /* parser/parser.nit:152 */
4262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4263 /* parser/parser.nit:825 */
4264 REGB0 = TAG_Int(132);
4265 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4266 /* parser/parser.nit:152 */
4267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4268 /* parser/parser.nit:826 */
4269 REGB0 = TAG_Int(132);
4270 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
4271 /* parser/parser.nit:152 */
4272 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4273 /* parser/parser.nit:827 */
4274 REGB0 = TAG_Int(133);
4275 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4276 /* parser/parser.nit:152 */
4277 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4278 /* parser/parser.nit:828 */
4279 REGB0 = TAG_Int(133);
4280 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
4281 /* parser/parser.nit:152 */
4282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4283 /* parser/parser.nit:829 */
4284 REGB0 = TAG_Int(133);
4285 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
4286 /* parser/parser.nit:152 */
4287 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4288 /* parser/parser.nit:830 */
4289 REGB0 = TAG_Int(133);
4290 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
4291 /* parser/parser.nit:152 */
4292 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4293 /* parser/parser.nit:831 */
4294 REGB0 = TAG_Int(133);
4295 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
4296 /* parser/parser.nit:152 */
4297 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4298 /* parser/parser.nit:832 */
4299 REGB0 = TAG_Int(133);
4300 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
4301 /* parser/parser.nit:152 */
4302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4303 /* parser/parser.nit:833 */
4304 REGB0 = TAG_Int(133);
4305 fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction___init(REGB0);
4306 /* parser/parser.nit:152 */
4307 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4308 /* parser/parser.nit:834 */
4309 REGB0 = TAG_Int(133);
4310 fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction___init(REGB0);
4311 /* parser/parser.nit:152 */
4312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4313 /* parser/parser.nit:835 */
4314 REGB0 = TAG_Int(133);
4315 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
4316 /* parser/parser.nit:152 */
4317 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4318 /* parser/parser.nit:836 */
4319 REGB0 = TAG_Int(133);
4320 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
4321 /* parser/parser.nit:152 */
4322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4323 /* parser/parser.nit:837 */
4324 REGB0 = TAG_Int(133);
4325 fra.me.REG[2] = NEW_ReduceAction360_parser___ReduceAction___init(REGB0);
4326 /* parser/parser.nit:152 */
4327 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4328 /* parser/parser.nit:838 */
4329 REGB0 = TAG_Int(133);
4330 fra.me.REG[2] = NEW_ReduceAction361_parser___ReduceAction___init(REGB0);
4331 /* parser/parser.nit:152 */
4332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4333 /* parser/parser.nit:839 */
4334 REGB0 = TAG_Int(134);
4335 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4336 /* parser/parser.nit:152 */
4337 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4338 /* parser/parser.nit:840 */
4339 REGB0 = TAG_Int(134);
4340 fra.me.REG[2] = NEW_ReduceAction363_parser___ReduceAction___init(REGB0);
4341 /* parser/parser.nit:152 */
4342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4343 /* parser/parser.nit:841 */
4344 REGB0 = TAG_Int(134);
4345 fra.me.REG[2] = NEW_ReduceAction364_parser___ReduceAction___init(REGB0);
4346 /* parser/parser.nit:152 */
4347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4348 /* parser/parser.nit:842 */
4349 REGB0 = TAG_Int(135);
4350 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4351 /* parser/parser.nit:152 */
4352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4353 /* parser/parser.nit:843 */
4354 REGB0 = TAG_Int(135);
4355 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
4356 /* parser/parser.nit:152 */
4357 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4358 /* parser/parser.nit:844 */
4359 REGB0 = TAG_Int(135);
4360 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
4361 /* parser/parser.nit:152 */
4362 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4363 /* parser/parser.nit:845 */
4364 REGB0 = TAG_Int(135);
4365 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
4366 /* parser/parser.nit:152 */
4367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4368 /* parser/parser.nit:846 */
4369 REGB0 = TAG_Int(136);
4370 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4371 /* parser/parser.nit:152 */
4372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4373 /* parser/parser.nit:847 */
4374 REGB0 = TAG_Int(136);
4375 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
4376 /* parser/parser.nit:152 */
4377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4378 /* parser/parser.nit:848 */
4379 REGB0 = TAG_Int(136);
4380 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
4381 /* parser/parser.nit:152 */
4382 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4383 /* parser/parser.nit:849 */
4384 REGB0 = TAG_Int(137);
4385 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4386 /* parser/parser.nit:152 */
4387 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4388 /* parser/parser.nit:850 */
4389 REGB0 = TAG_Int(137);
4390 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
4391 /* parser/parser.nit:152 */
4392 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4393 /* parser/parser.nit:851 */
4394 REGB0 = TAG_Int(137);
4395 fra.me.REG[2] = NEW_ReduceAction698_parser___ReduceAction___init(REGB0);
4396 /* parser/parser.nit:152 */
4397 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4398 /* parser/parser.nit:852 */
4399 REGB0 = TAG_Int(138);
4400 fra.me.REG[2] = NEW_ReduceAction699_parser___ReduceAction___init(REGB0);
4401 /* parser/parser.nit:152 */
4402 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4403 /* parser/parser.nit:853 */
4404 REGB0 = TAG_Int(138);
4405 fra.me.REG[2] = NEW_ReduceAction700_parser___ReduceAction___init(REGB0);
4406 /* parser/parser.nit:152 */
4407 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4408 /* parser/parser.nit:854 */
4409 REGB0 = TAG_Int(138);
4410 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
4411 /* parser/parser.nit:152 */
4412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4413 /* parser/parser.nit:855 */
4414 REGB0 = TAG_Int(138);
4415 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
4416 /* parser/parser.nit:152 */
4417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4418 /* parser/parser.nit:856 */
4419 REGB0 = TAG_Int(138);
4420 fra.me.REG[2] = NEW_ReduceAction703_parser___ReduceAction___init(REGB0);
4421 /* parser/parser.nit:152 */
4422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4423 /* parser/parser.nit:857 */
4424 REGB0 = TAG_Int(138);
4425 fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
4426 /* parser/parser.nit:152 */
4427 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4428 /* parser/parser.nit:858 */
4429 REGB0 = TAG_Int(138);
4430 fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction___init(REGB0);
4431 /* parser/parser.nit:152 */
4432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4433 /* parser/parser.nit:859 */
4434 REGB0 = TAG_Int(138);
4435 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
4436 /* parser/parser.nit:152 */
4437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4438 /* parser/parser.nit:860 */
4439 REGB0 = TAG_Int(138);
4440 fra.me.REG[2] = NEW_ReduceAction391_parser___ReduceAction___init(REGB0);
4441 /* parser/parser.nit:152 */
4442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4443 /* parser/parser.nit:861 */
4444 REGB0 = TAG_Int(138);
4445 fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction___init(REGB0);
4446 /* parser/parser.nit:152 */
4447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4448 /* parser/parser.nit:862 */
4449 REGB0 = TAG_Int(138);
4450 fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction___init(REGB0);
4451 /* parser/parser.nit:152 */
4452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4453 /* parser/parser.nit:863 */
4454 REGB0 = TAG_Int(138);
4455 fra.me.REG[2] = NEW_ReduceAction394_parser___ReduceAction___init(REGB0);
4456 /* parser/parser.nit:152 */
4457 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4458 /* parser/parser.nit:864 */
4459 REGB0 = TAG_Int(138);
4460 fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
4461 /* parser/parser.nit:152 */
4462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4463 /* parser/parser.nit:865 */
4464 REGB0 = TAG_Int(138);
4465 fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
4466 /* parser/parser.nit:152 */
4467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4468 /* parser/parser.nit:866 */
4469 REGB0 = TAG_Int(138);
4470 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4471 /* parser/parser.nit:152 */
4472 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4473 /* parser/parser.nit:867 */
4474 REGB0 = TAG_Int(138);
4475 fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction___init(REGB0);
4476 /* parser/parser.nit:152 */
4477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4478 /* parser/parser.nit:868 */
4479 REGB0 = TAG_Int(138);
4480 fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction___init(REGB0);
4481 /* parser/parser.nit:152 */
4482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4483 /* parser/parser.nit:869 */
4484 REGB0 = TAG_Int(139);
4485 fra.me.REG[2] = NEW_ReduceAction716_parser___ReduceAction___init(REGB0);
4486 /* parser/parser.nit:152 */
4487 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4488 /* parser/parser.nit:870 */
4489 REGB0 = TAG_Int(139);
4490 fra.me.REG[2] = NEW_ReduceAction717_parser___ReduceAction___init(REGB0);
4491 /* parser/parser.nit:152 */
4492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4493 /* parser/parser.nit:871 */
4494 REGB0 = TAG_Int(140);
4495 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4496 /* parser/parser.nit:152 */
4497 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4498 /* parser/parser.nit:872 */
4499 REGB0 = TAG_Int(140);
4500 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
4501 /* parser/parser.nit:152 */
4502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4503 /* parser/parser.nit:873 */
4504 REGB0 = TAG_Int(140);
4505 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
4506 /* parser/parser.nit:152 */
4507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4508 /* parser/parser.nit:874 */
4509 REGB0 = TAG_Int(141);
4510 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
4511 /* parser/parser.nit:152 */
4512 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4513 /* parser/parser.nit:875 */
4514 REGB0 = TAG_Int(141);
4515 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
4516 /* parser/parser.nit:152 */
4517 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4518 /* parser/parser.nit:876 */
4519 REGB0 = TAG_Int(141);
4520 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
4521 /* parser/parser.nit:152 */
4522 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4523 /* parser/parser.nit:877 */
4524 REGB0 = TAG_Int(142);
4525 fra.me.REG[2] = NEW_ReduceAction724_parser___ReduceAction___init(REGB0);
4526 /* parser/parser.nit:152 */
4527 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4528 /* parser/parser.nit:878 */
4529 REGB0 = TAG_Int(142);
4530 fra.me.REG[2] = NEW_ReduceAction725_parser___ReduceAction___init(REGB0);
4531 /* parser/parser.nit:152 */
4532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4533 /* parser/parser.nit:879 */
4534 REGB0 = TAG_Int(143);
4535 fra.me.REG[2] = NEW_ReduceAction726_parser___ReduceAction___init(REGB0);
4536 /* parser/parser.nit:152 */
4537 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4538 /* parser/parser.nit:880 */
4539 REGB0 = TAG_Int(143);
4540 fra.me.REG[2] = NEW_ReduceAction727_parser___ReduceAction___init(REGB0);
4541 /* parser/parser.nit:152 */
4542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4543 /* parser/parser.nit:881 */
4544 REGB0 = TAG_Int(144);
4545 fra.me.REG[2] = NEW_ReduceAction728_parser___ReduceAction___init(REGB0);
4546 /* parser/parser.nit:152 */
4547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4548 /* parser/parser.nit:882 */
4549 REGB0 = TAG_Int(144);
4550 fra.me.REG[2] = NEW_ReduceAction729_parser___ReduceAction___init(REGB0);
4551 /* parser/parser.nit:152 */
4552 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4553 /* parser/parser.nit:883 */
4554 REGB0 = TAG_Int(145);
4555 fra.me.REG[2] = NEW_ReduceAction730_parser___ReduceAction___init(REGB0);
4556 /* parser/parser.nit:152 */
4557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4558 /* parser/parser.nit:884 */
4559 REGB0 = TAG_Int(145);
4560 fra.me.REG[2] = NEW_ReduceAction731_parser___ReduceAction___init(REGB0);
4561 /* parser/parser.nit:152 */
4562 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4563 /* parser/parser.nit:885 */
4564 REGB0 = TAG_Int(146);
4565 fra.me.REG[2] = NEW_ReduceAction728_parser___ReduceAction___init(REGB0);
4566 /* parser/parser.nit:152 */
4567 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4568 /* parser/parser.nit:886 */
4569 REGB0 = TAG_Int(146);
4570 fra.me.REG[2] = NEW_ReduceAction729_parser___ReduceAction___init(REGB0);
4571 /* parser/parser.nit:152 */
4572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4573 /* parser/parser.nit:887 */
4574 REGB0 = TAG_Int(147);
4575 fra.me.REG[2] = NEW_ReduceAction734_parser___ReduceAction___init(REGB0);
4576 /* parser/parser.nit:152 */
4577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4578 /* parser/parser.nit:888 */
4579 REGB0 = TAG_Int(147);
4580 fra.me.REG[2] = NEW_ReduceAction735_parser___ReduceAction___init(REGB0);
4581 /* parser/parser.nit:152 */
4582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4583 /* parser/parser.nit:889 */
4584 REGB0 = TAG_Int(148);
4585 fra.me.REG[2] = NEW_ReduceAction736_parser___ReduceAction___init(REGB0);
4586 /* parser/parser.nit:152 */
4587 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4588 /* parser/parser.nit:890 */
4589 REGB0 = TAG_Int(148);
4590 fra.me.REG[2] = NEW_ReduceAction737_parser___ReduceAction___init(REGB0);
4591 /* parser/parser.nit:152 */
4592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4593 /* parser/parser.nit:891 */
4594 REGB0 = TAG_Int(149);
4595 fra.me.REG[2] = NEW_ReduceAction738_parser___ReduceAction___init(REGB0);
4596 /* parser/parser.nit:152 */
4597 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4598 /* parser/parser.nit:892 */
4599 REGB0 = TAG_Int(149);
4600 fra.me.REG[2] = NEW_ReduceAction739_parser___ReduceAction___init(REGB0);
4601 /* parser/parser.nit:152 */
4602 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4603 /* parser/parser.nit:893 */
4604 REGB0 = TAG_Int(150);
4605 fra.me.REG[2] = NEW_ReduceAction740_parser___ReduceAction___init(REGB0);
4606 /* parser/parser.nit:152 */
4607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4608 /* parser/parser.nit:894 */
4609 REGB0 = TAG_Int(150);
4610 fra.me.REG[2] = NEW_ReduceAction741_parser___ReduceAction___init(REGB0);
4611 /* parser/parser.nit:152 */
4612 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4613 /* parser/parser.nit:895 */
4614 REGB0 = TAG_Int(151);
4615 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
4616 /* parser/parser.nit:152 */
4617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4618 /* parser/parser.nit:896 */
4619 REGB0 = TAG_Int(151);
4620 fra.me.REG[2] = NEW_ReduceAction743_parser___ReduceAction___init(REGB0);
4621 /* parser/parser.nit:152 */
4622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4623 /* parser/parser.nit:897 */
4624 REGB0 = TAG_Int(152);
4625 fra.me.REG[2] = NEW_ReduceAction744_parser___ReduceAction___init(REGB0);
4626 /* parser/parser.nit:152 */
4627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4628 /* parser/parser.nit:898 */
4629 REGB0 = TAG_Int(152);
4630 fra.me.REG[2] = NEW_ReduceAction745_parser___ReduceAction___init(REGB0);
4631 /* parser/parser.nit:152 */
4632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4633 /* parser/parser.nit:899 */
4634 REGB0 = TAG_Int(153);
4635 fra.me.REG[2] = NEW_ReduceAction212_parser___ReduceAction___init(REGB0);
4636 /* parser/parser.nit:152 */
4637 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4638 /* parser/parser.nit:900 */
4639 REGB0 = TAG_Int(153);
4640 fra.me.REG[2] = NEW_ReduceAction747_parser___ReduceAction___init(REGB0);
4641 /* parser/parser.nit:152 */
4642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4643 /* parser/parser.nit:901 */
4644 REGB0 = TAG_Int(154);
4645 fra.me.REG[2] = NEW_ReduceAction744_parser___ReduceAction___init(REGB0);
4646 /* parser/parser.nit:152 */
4647 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4648 /* parser/parser.nit:902 */
4649 REGB0 = TAG_Int(154);
4650 fra.me.REG[2] = NEW_ReduceAction745_parser___ReduceAction___init(REGB0);
4651 /* parser/parser.nit:152 */
4652 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4653 /* parser/parser.nit:903 */
4654 REGB0 = TAG_Int(155);
4655 fra.me.REG[2] = NEW_ReduceAction419_parser___ReduceAction___init(REGB0);
4656 /* parser/parser.nit:152 */
4657 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4658 /* parser/parser.nit:904 */
4659 REGB0 = TAG_Int(155);
4660 fra.me.REG[2] = NEW_ReduceAction751_parser___ReduceAction___init(REGB0);
4661 /* parser/parser.nit:152 */
4662 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4663 /* parser/parser.nit:905 */
4664 REGB0 = TAG_Int(156);
4665 fra.me.REG[2] = NEW_ReduceAction752_parser___ReduceAction___init(REGB0);
4666 /* parser/parser.nit:152 */
4667 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4668 /* parser/parser.nit:906 */
4669 REGB0 = TAG_Int(156);
4670 fra.me.REG[2] = NEW_ReduceAction753_parser___ReduceAction___init(REGB0);
4671 /* parser/parser.nit:152 */
4672 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4673 /* parser/parser.nit:907 */
4674 REGB0 = TAG_Int(157);
4675 fra.me.REG[2] = NEW_ReduceAction754_parser___ReduceAction___init(REGB0);
4676 /* parser/parser.nit:152 */
4677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4678 /* parser/parser.nit:908 */
4679 REGB0 = TAG_Int(157);
4680 fra.me.REG[2] = NEW_ReduceAction755_parser___ReduceAction___init(REGB0);
4681 /* parser/parser.nit:152 */
4682 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4683 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_items(fra.me.REG[1]);
4684 ATTR_parser___Parser____reduce_table(fra.me.REG[0]) = fra.me.REG[1];
4685 stack_frame_head = fra.me.prev;
4686 return;
4687 }
4688 void parser___ComputeProdLocationVisitor___visit(val_t p0, val_t p1){
4689 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
4690 val_t REGB0;
4691 val_t REGB1;
4692 val_t REGB2;
4693 val_t REGB3;
4694 val_t REGB4;
4695 val_t tmp;
4696 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4697 fra.me.file = LOCATE_parser;
4698 fra.me.line = 939;
4699 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___visit;
4700 fra.me.has_broke = 0;
4701 fra.me.REG_size = 9;
4702 fra.me.nitni_local_ref_head = NULL;
4703 fra.me.REG[0] = NIT_NULL;
4704 fra.me.REG[1] = NIT_NULL;
4705 fra.me.REG[2] = NIT_NULL;
4706 fra.me.REG[3] = NIT_NULL;
4707 fra.me.REG[4] = NIT_NULL;
4708 fra.me.REG[5] = NIT_NULL;
4709 fra.me.REG[6] = NIT_NULL;
4710 fra.me.REG[7] = NIT_NULL;
4711 fra.me.REG[8] = NIT_NULL;
4712 fra.me.REG[0] = p0;
4713 fra.me.REG[1] = p1;
4714 /* parser/parser.nit:941 */
4715 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4716 if (UNTAG_Bool(REGB0)) {
4717 } else {
4718 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4719 if (UNTAG_Bool(REGB1)) {
4720 REGB1 = TAG_Bool(false);
4721 REGB0 = REGB1;
4722 } else {
4723 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
4724 REGB0 = REGB1;
4725 }
4726 }
4727 if (UNTAG_Bool(REGB0)) {
4728 /* parser/parser.nit:942 */
4729 goto label1;
4730 } else {
4731 /* parser/parser.nit:943 */
4732 REGB0 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___Token, ID_parser___parser_nodes___Token)) /*cast Token*/;
4733 if (UNTAG_Bool(REGB0)) {
4734 /* parser/parser.nit:944 */
4735 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4736 if (UNTAG_Bool(REGB0)) {
4737 nit_abort("Reciever is null", NULL, LOCATE_parser, 944);
4738 }
4739 fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]);
4740 /* parser/parser.nit:945 */
4741 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
4742 /* parser/parser.nit:948 */
4743 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
4744 if (UNTAG_Bool(REGB0)) {
4745 } else {
4746 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 948);
4747 }
4748 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
4749 /* ../lib/standard/collection/array.nit:269 */
4750 REGB0 = TAG_Int(0);
4751 /* ../lib/standard/collection/array.nit:270 */
4752 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
4753 if (UNTAG_Bool(REGB1)) {
4754 } else {
4755 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
4756 }
4757 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
4758 /* ../lib/standard/collection/array.nit:271 */
4759 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
4760 /* ../lib/standard/collection/array.nit:272 */
4761 while(1) {
4762 /* ../lib/standard/collection/array.nit:24 */
4763 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
4764 if (UNTAG_Bool(REGB1)) {
4765 } else {
4766 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
4767 }
4768 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
4769 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
4770 if (UNTAG_Bool(REGB2)) {
4771 } else {
4772 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4773 }
4774 /* ../lib/standard/kernel.nit:232 */
4775 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
4776 /* ../lib/standard/collection/array.nit:272 */
4777 if (UNTAG_Bool(REGB1)) {
4778 /* ../lib/standard/collection/array.nit:273 */
4779 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4780 if (UNTAG_Bool(REGB1)) {
4781 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
4782 }
4783 /* ../lib/standard/collection/array.nit:718 */
4784 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
4785 /* parser/parser.nit:949 */
4786 ATTR_parser___Prod____first_location(fra.me.REG[5]) = fra.me.REG[2];
4787 /* ../lib/standard/collection/array.nit:274 */
4788 REGB1 = TAG_Int(1);
4789 /* ../lib/standard/kernel.nit:235 */
4790 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
4791 /* ../lib/standard/collection/array.nit:274 */
4792 REGB0 = REGB1;
4793 } else {
4794 /* ../lib/standard/collection/array.nit:272 */
4795 goto label2;
4796 }
4797 }
4798 label2: while(0);
4799 /* parser/parser.nit:951 */
4800 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
4801 if (UNTAG_Bool(REGB0)) {
4802 } else {
4803 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 951);
4804 }
4805 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
4806 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
4807 /* parser/parser.nit:954 */
4808 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4809 if (UNTAG_Bool(REGB0)) {
4810 } else {
4811 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 954);
4812 }
4813 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4814 /* ../lib/standard/collection/array.nit:269 */
4815 REGB0 = TAG_Int(0);
4816 /* ../lib/standard/collection/array.nit:270 */
4817 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
4818 if (UNTAG_Bool(REGB1)) {
4819 } else {
4820 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
4821 }
4822 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
4823 /* ../lib/standard/collection/array.nit:271 */
4824 fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
4825 /* ../lib/standard/collection/array.nit:272 */
4826 while(1) {
4827 /* ../lib/standard/collection/array.nit:24 */
4828 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
4829 if (UNTAG_Bool(REGB1)) {
4830 } else {
4831 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
4832 }
4833 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
4834 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
4835 if (UNTAG_Bool(REGB2)) {
4836 } else {
4837 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4838 }
4839 /* ../lib/standard/kernel.nit:232 */
4840 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
4841 /* ../lib/standard/collection/array.nit:272 */
4842 if (UNTAG_Bool(REGB1)) {
4843 /* ../lib/standard/collection/array.nit:273 */
4844 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4845 if (UNTAG_Bool(REGB1)) {
4846 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
4847 }
4848 /* ../lib/standard/collection/array.nit:718 */
4849 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
4850 /* parser/parser.nit:957 */
4851 fra.me.REG[6] = fra.me.REG[2];
4852 /* parser/parser.nit:958 */
4853 fra.me.REG[7] = ATTR_parser___Prod____last_location(fra.me.REG[5]);
4854 /* parser/parser.nit:959 */
4855 fra.me.REG[8] = CALL_location___Location___file(fra.me.REG[6])(fra.me.REG[6]);
4856 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
4857 if (UNTAG_Bool(REGB1)) {
4858 nit_abort("Reciever is null", NULL, LOCATE_parser, 959);
4859 }
4860 REGB1 = CALL_location___Location___line_end(fra.me.REG[7])(fra.me.REG[7]);
4861 REGB2 = CALL_location___Location___line_start(fra.me.REG[6])(fra.me.REG[6]);
4862 REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
4863 if (UNTAG_Bool(REGB3)) {
4864 nit_abort("Reciever is null", NULL, LOCATE_parser, 959);
4865 }
4866 REGB3 = CALL_location___Location___column_end(fra.me.REG[7])(fra.me.REG[7]);
4867 REGB4 = CALL_location___Location___column_start(fra.me.REG[6])(fra.me.REG[6]);
4868 fra.me.REG[8] = NEW_Location_location___Location___init(fra.me.REG[8], REGB1, REGB2, REGB3, REGB4);
4869 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[8]);
4870 /* ../lib/standard/collection/array.nit:274 */
4871 REGB4 = TAG_Int(1);
4872 /* ../lib/standard/kernel.nit:235 */
4873 REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
4874 /* ../lib/standard/collection/array.nit:274 */
4875 REGB0 = REGB4;
4876 } else {
4877 /* ../lib/standard/collection/array.nit:272 */
4878 goto label3;
4879 }
4880 }
4881 label3: while(0);
4882 /* parser/parser.nit:961 */
4883 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4884 if (UNTAG_Bool(REGB0)) {
4885 } else {
4886 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 961);
4887 }
4888 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4889 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[2])(fra.me.REG[2]);
4890 } else {
4891 /* parser/parser.nit:963 */
4892 REGB0 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_parser___parser_nodes___Prod, ID_parser___parser_nodes___Prod)) /*cast Prod*/;
4893 if (UNTAG_Bool(REGB0)) {
4894 } else {
4895 nit_abort("Assert failed", NULL, LOCATE_parser, 963);
4896 }
4897 /* parser/parser.nit:964 */
4898 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
4899 if (UNTAG_Bool(REGB0)) {
4900 } else {
4901 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 964);
4902 }
4903 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
4904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
4905 /* parser/parser.nit:966 */
4906 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
4907 /* parser/parser.nit:967 */
4908 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = NIT_NULL;
4909 /* parser/parser.nit:968 */
4910 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4911 if (UNTAG_Bool(REGB0)) {
4912 nit_abort("Reciever is null", NULL, LOCATE_parser, 968);
4913 }
4914 CALL_parser___parser_prod___ANode___visit_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
4915 /* parser/parser.nit:969 */
4916 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
4917 /* parser/parser.nit:970 */
4918 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4919 if (UNTAG_Bool(REGB0)) {
4920 } else {
4921 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4922 if (UNTAG_Bool(REGB4)) {
4923 REGB4 = TAG_Bool(false);
4924 REGB0 = REGB4;
4925 } else {
4926 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
4927 REGB0 = REGB4;
4928 }
4929 }
4930 if (UNTAG_Bool(REGB0)) {
4931 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
4932 }
4933 /* parser/parser.nit:972 */
4934 ATTR_parser___Prod____last_location(fra.me.REG[1]) = fra.me.REG[3];
4935 /* parser/parser.nit:973 */
4936 fra.me.REG[2] = ATTR_parser___Prod____first_location(fra.me.REG[1]);
4937 /* parser/parser.nit:974 */
4938 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4939 if (UNTAG_Bool(REGB0)) {
4940 } else {
4941 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4942 if (UNTAG_Bool(REGB4)) {
4943 REGB4 = TAG_Bool(false);
4944 REGB0 = REGB4;
4945 } else {
4946 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4947 REGB0 = REGB4;
4948 }
4949 }
4950 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4951 if (UNTAG_Bool(REGB0)) {
4952 /* parser/parser.nit:976 */
4953 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4954 if (UNTAG_Bool(REGB0)) {
4955 } else {
4956 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4957 if (UNTAG_Bool(REGB4)) {
4958 REGB4 = TAG_Bool(false);
4959 REGB0 = REGB4;
4960 } else {
4961 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
4962 REGB0 = REGB4;
4963 }
4964 }
4965 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4966 if (UNTAG_Bool(REGB0)) {
4967 } else {
4968 nit_abort("Assert failed", NULL, LOCATE_parser, 976);
4969 }
4970 /* parser/parser.nit:978 */
4971 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4972 if (UNTAG_Bool(REGB0)) {
4973 nit_abort("Reciever is null", NULL, LOCATE_parser, 978);
4974 }
4975 fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
4976 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4977 if (UNTAG_Bool(REGB0)) {
4978 nit_abort("Reciever is null", NULL, LOCATE_parser, 978);
4979 }
4980 REGB0 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
4981 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4982 if (UNTAG_Bool(REGB4)) {
4983 nit_abort("Reciever is null", NULL, LOCATE_parser, 978);
4984 }
4985 REGB4 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
4986 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4987 if (UNTAG_Bool(REGB3)) {
4988 nit_abort("Reciever is null", NULL, LOCATE_parser, 978);
4989 }
4990 REGB3 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
4991 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4992 if (UNTAG_Bool(REGB2)) {
4993 nit_abort("Reciever is null", NULL, LOCATE_parser, 978);
4994 }
4995 REGB2 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
4996 fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB0, REGB4, REGB3, REGB2);
4997 REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4998 if (UNTAG_Bool(REGB2)) {
4999 nit_abort("Reciever is null", NULL, LOCATE_parser, 978);
5000 }
5001 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
5002 /* parser/parser.nit:980 */
5003 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5004 if (UNTAG_Bool(REGB2)) {
5005 } else {
5006 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 980);
5007 }
5008 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5009 /* ../lib/standard/collection/array.nit:269 */
5010 REGB2 = TAG_Int(0);
5011 /* ../lib/standard/collection/array.nit:270 */
5012 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
5013 if (UNTAG_Bool(REGB3)) {
5014 } else {
5015 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
5016 }
5017 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
5018 /* ../lib/standard/collection/array.nit:271 */
5019 fra.me.REG[8] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
5020 /* ../lib/standard/collection/array.nit:272 */
5021 while(1) {
5022 /* ../lib/standard/collection/array.nit:24 */
5023 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
5024 if (UNTAG_Bool(REGB3)) {
5025 } else {
5026 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
5027 }
5028 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
5029 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
5030 if (UNTAG_Bool(REGB4)) {
5031 } else {
5032 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
5033 }
5034 /* ../lib/standard/kernel.nit:232 */
5035 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
5036 /* ../lib/standard/collection/array.nit:272 */
5037 if (UNTAG_Bool(REGB3)) {
5038 /* ../lib/standard/collection/array.nit:273 */
5039 REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
5040 if (UNTAG_Bool(REGB3)) {
5041 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
5042 }
5043 /* ../lib/standard/collection/array.nit:718 */
5044 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[8])->val[UNTAG_Int(REGB2)];
5045 /* parser/parser.nit:983 */
5046 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5047 if (UNTAG_Bool(REGB3)) {
5048 nit_abort("Reciever is null", NULL, LOCATE_parser, 983);
5049 }
5050 fra.me.REG[6] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
5051 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5052 if (UNTAG_Bool(REGB3)) {
5053 nit_abort("Reciever is null", NULL, LOCATE_parser, 983);
5054 }
5055 REGB3 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
5056 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5057 if (UNTAG_Bool(REGB4)) {
5058 nit_abort("Reciever is null", NULL, LOCATE_parser, 983);
5059 }
5060 REGB4 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
5061 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5062 if (UNTAG_Bool(REGB0)) {
5063 nit_abort("Reciever is null", NULL, LOCATE_parser, 983);
5064 }
5065 REGB0 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
5066 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5067 if (UNTAG_Bool(REGB1)) {
5068 nit_abort("Reciever is null", NULL, LOCATE_parser, 983);
5069 }
5070 REGB1 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
5071 fra.me.REG[6] = NEW_Location_location___Location___init(fra.me.REG[6], REGB3, REGB4, REGB0, REGB1);
5072 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
5073 /* ../lib/standard/collection/array.nit:274 */
5074 REGB1 = TAG_Int(1);
5075 /* ../lib/standard/kernel.nit:235 */
5076 REGB1 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB1));
5077 /* ../lib/standard/collection/array.nit:274 */
5078 REGB2 = REGB1;
5079 } else {
5080 /* ../lib/standard/collection/array.nit:272 */
5081 goto label4;
5082 }
5083 }
5084 label4: while(0);
5085 /* parser/parser.nit:985 */
5086 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5087 if (UNTAG_Bool(REGB2)) {
5088 } else {
5089 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 985);
5090 }
5091 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5092 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[2])(fra.me.REG[2]);
5093 /* parser/parser.nit:987 */
5094 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5095 if (UNTAG_Bool(REGB2)) {
5096 } else {
5097 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 987);
5098 }
5099 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5100 /* ../lib/standard/collection/array.nit:269 */
5101 REGB2 = TAG_Int(0);
5102 /* ../lib/standard/collection/array.nit:270 */
5103 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
5104 if (UNTAG_Bool(REGB1)) {
5105 } else {
5106 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
5107 }
5108 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
5109 /* ../lib/standard/collection/array.nit:271 */
5110 fra.me.REG[8] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
5111 /* ../lib/standard/collection/array.nit:272 */
5112 while(1) {
5113 /* ../lib/standard/collection/array.nit:24 */
5114 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
5115 if (UNTAG_Bool(REGB1)) {
5116 } else {
5117 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
5118 }
5119 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
5120 REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
5121 if (UNTAG_Bool(REGB0)) {
5122 } else {
5123 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
5124 }
5125 /* ../lib/standard/kernel.nit:232 */
5126 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
5127 /* ../lib/standard/collection/array.nit:272 */
5128 if (UNTAG_Bool(REGB1)) {
5129 /* ../lib/standard/collection/array.nit:273 */
5130 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
5131 if (UNTAG_Bool(REGB1)) {
5132 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
5133 }
5134 /* ../lib/standard/collection/array.nit:718 */
5135 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[8])->val[UNTAG_Int(REGB2)];
5136 /* parser/parser.nit:990 */
5137 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5138 if (UNTAG_Bool(REGB1)) {
5139 nit_abort("Reciever is null", NULL, LOCATE_parser, 990);
5140 }
5141 fra.me.REG[6] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]);
5142 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5143 if (UNTAG_Bool(REGB1)) {
5144 nit_abort("Reciever is null", NULL, LOCATE_parser, 990);
5145 }
5146 REGB1 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
5147 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5148 if (UNTAG_Bool(REGB0)) {
5149 nit_abort("Reciever is null", NULL, LOCATE_parser, 990);
5150 }
5151 REGB0 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
5152 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5153 if (UNTAG_Bool(REGB4)) {
5154 nit_abort("Reciever is null", NULL, LOCATE_parser, 990);
5155 }
5156 REGB4 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
5157 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5158 if (UNTAG_Bool(REGB3)) {
5159 nit_abort("Reciever is null", NULL, LOCATE_parser, 990);
5160 }
5161 REGB3 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
5162 fra.me.REG[6] = NEW_Location_location___Location___init(fra.me.REG[6], REGB1, REGB0, REGB4, REGB3);
5163 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
5164 /* ../lib/standard/collection/array.nit:274 */
5165 REGB3 = TAG_Int(1);
5166 /* ../lib/standard/kernel.nit:235 */
5167 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
5168 /* ../lib/standard/collection/array.nit:274 */
5169 REGB2 = REGB3;
5170 } else {
5171 /* ../lib/standard/collection/array.nit:272 */
5172 goto label5;
5173 }
5174 }
5175 label5: while(0);
5176 /* parser/parser.nit:992 */
5177 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5178 if (UNTAG_Bool(REGB2)) {
5179 } else {
5180 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 992);
5181 }
5182 fra.me.REG[8] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5183 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[8])(fra.me.REG[8]);
5184 } else {
5185 /* parser/parser.nit:996 */
5186 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5187 if (UNTAG_Bool(REGB2)) {
5188 } else {
5189 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5190 if (UNTAG_Bool(REGB3)) {
5191 REGB3 = TAG_Bool(false);
5192 REGB2 = REGB3;
5193 } else {
5194 REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
5195 REGB2 = REGB3;
5196 }
5197 }
5198 if (UNTAG_Bool(REGB2)) {
5199 /* parser/parser.nit:998 */
5200 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5201 if (UNTAG_Bool(REGB2)) {
5202 } else {
5203 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 998);
5204 }
5205 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
5207 } else {
5208 /* parser/parser.nit:1001 */
5209 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5210 if (UNTAG_Bool(REGB2)) {
5211 } else {
5212 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1001);
5213 }
5214 fra.me.REG[0] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5215 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
5216 }
5217 }
5218 }
5219 }
5220 label1: while(0);
5221 stack_frame_head = fra.me.prev;
5222 return;
5223 }
5224 void parser___ComputeProdLocationVisitor___init(val_t p0, int* init_table){
5225 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ComputeProdLocationVisitor].i;
5226 struct {struct stack_frame_t me;} fra;
5227 val_t tmp;
5228 if (init_table[itpos2]) return;
5229 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5230 fra.me.file = LOCATE_parser;
5231 fra.me.line = 1007;
5232 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___init;
5233 fra.me.has_broke = 0;
5234 fra.me.REG_size = 1;
5235 fra.me.nitni_local_ref_head = NULL;
5236 fra.me.REG[0] = NIT_NULL;
5237 fra.me.REG[0] = p0;
5238 /* parser/parser.nit:1007 */
5239 CALL_parser___parser_prod___Visitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5240 stack_frame_head = fra.me.prev;
5241 init_table[itpos2] = 1;
5242 return;
5243 }
5244 void parser___ReduceAction___action(val_t p0, val_t p1){
5245 struct {struct stack_frame_t me;} fra;
5246 val_t tmp;
5247 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5248 fra.me.file = LOCATE_parser;
5249 fra.me.line = 1012;
5250 fra.me.meth = LOCATE_parser___ReduceAction___action;
5251 fra.me.has_broke = 0;
5252 fra.me.REG_size = 0;
5253 fra.me.nitni_local_ref_head = NULL;
5254 /* parser/parser.nit:1012 */
5255 nit_abort("Deferred method called", NULL, LOCATE_parser, 1012);
5256 stack_frame_head = fra.me.prev;
5257 return;
5258 }
5259 val_t parser___ReduceAction___concat(val_t p0, val_t p1, val_t p2){
5260 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5261 val_t REGB0;
5262 val_t tmp;
5263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5264 fra.me.file = LOCATE_parser;
5265 fra.me.line = 1013;
5266 fra.me.meth = LOCATE_parser___ReduceAction___concat;
5267 fra.me.has_broke = 0;
5268 fra.me.REG_size = 3;
5269 fra.me.nitni_local_ref_head = NULL;
5270 fra.me.REG[0] = NIT_NULL;
5271 fra.me.REG[1] = NIT_NULL;
5272 fra.me.REG[2] = NIT_NULL;
5273 fra.me.REG[0] = p0;
5274 fra.me.REG[1] = p1;
5275 fra.me.REG[2] = p2;
5276 /* parser/parser.nit:1015 */
5277 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
5278 if (UNTAG_Bool(REGB0)) {
5279 fra.me.REG[0] = fra.me.REG[2];
5280 goto label1;
5281 }
5282 /* parser/parser.nit:1016 */
5283 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5284 /* parser/parser.nit:1017 */
5285 fra.me.REG[0] = fra.me.REG[1];
5286 goto label1;
5287 label1: while(0);
5288 stack_frame_head = fra.me.prev;
5289 return fra.me.REG[0];
5290 }
5291 void parser___ReduceAction___init(val_t p0, val_t p1, int* init_table){
5292 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ReduceAction].i;
5293 struct {struct stack_frame_t me;} fra;
5294 val_t REGB0;
5295 val_t tmp;
5296 if (init_table[itpos3]) return;
5297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5298 fra.me.file = LOCATE_parser;
5299 fra.me.line = 1020;
5300 fra.me.meth = LOCATE_parser___ReduceAction___init;
5301 fra.me.has_broke = 0;
5302 fra.me.REG_size = 1;
5303 fra.me.nitni_local_ref_head = NULL;
5304 fra.me.REG[0] = NIT_NULL;
5305 fra.me.REG[0] = p0;
5306 REGB0 = p1;
5307 /* parser/parser.nit:1020 */
5308 ATTR_parser___ReduceAction____goto(fra.me.REG[0]) = REGB0;
5309 stack_frame_head = fra.me.prev;
5310 init_table[itpos3] = 1;
5311 return;
5312 }
5313 void parser___ReduceAction0___action(val_t p0, val_t p1){
5314 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
5315 val_t REGB0;
5316 val_t tmp;
5317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5318 fra.me.file = LOCATE_parser;
5319 fra.me.line = 1025;
5320 fra.me.meth = LOCATE_parser___ReduceAction0___action;
5321 fra.me.has_broke = 0;
5322 fra.me.REG_size = 5;
5323 fra.me.nitni_local_ref_head = NULL;
5324 fra.me.REG[0] = NIT_NULL;
5325 fra.me.REG[1] = NIT_NULL;
5326 fra.me.REG[2] = NIT_NULL;
5327 fra.me.REG[3] = NIT_NULL;
5328 fra.me.REG[4] = NIT_NULL;
5329 fra.me.REG[0] = p0;
5330 fra.me.REG[1] = p1;
5331 /* parser/parser.nit:1027 */
5332 fra.me.REG[2] = NIT_NULL;
5333 /* parser/parser.nit:1028 */
5334 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
5335 /* parser/parser.nit:1029 */
5336 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5337 /* parser/parser.nit:1030 */
5338 fra.me.REG[4] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
5339 /* parser/parser.nit:1035 */
5340 fra.me.REG[2] = fra.me.REG[4];
5341 /* parser/parser.nit:1036 */
5342 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5343 if (UNTAG_Bool(REGB0)) {
5344 } else {
5345 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1036);
5346 }
5347 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5348 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5349 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5350 stack_frame_head = fra.me.prev;
5351 return;
5352 }
5353 void parser___ReduceAction1___action(val_t p0, val_t p1){
5354 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5355 val_t REGB0;
5356 val_t tmp;
5357 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5358 fra.me.file = LOCATE_parser;
5359 fra.me.line = 1041;
5360 fra.me.meth = LOCATE_parser___ReduceAction1___action;
5361 fra.me.has_broke = 0;
5362 fra.me.REG_size = 6;
5363 fra.me.nitni_local_ref_head = NULL;
5364 fra.me.REG[0] = NIT_NULL;
5365 fra.me.REG[1] = NIT_NULL;
5366 fra.me.REG[2] = NIT_NULL;
5367 fra.me.REG[3] = NIT_NULL;
5368 fra.me.REG[4] = NIT_NULL;
5369 fra.me.REG[5] = NIT_NULL;
5370 fra.me.REG[0] = p0;
5371 fra.me.REG[1] = p1;
5372 /* parser/parser.nit:1043 */
5373 fra.me.REG[2] = NIT_NULL;
5374 /* parser/parser.nit:1044 */
5375 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5376 /* parser/parser.nit:1045 */
5377 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5378 /* parser/parser.nit:1046 */
5379 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5380 /* parser/parser.nit:1048 */
5381 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
5382 if (UNTAG_Bool(REGB0)) {
5383 } else {
5384 nit_abort("Assert failed", NULL, LOCATE_parser, 1048);
5385 }
5386 /* parser/parser.nit:1049 */
5387 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
5388 /* parser/parser.nit:1054 */
5389 fra.me.REG[2] = fra.me.REG[5];
5390 /* parser/parser.nit:1055 */
5391 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5392 if (UNTAG_Bool(REGB0)) {
5393 } else {
5394 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1055);
5395 }
5396 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5397 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5398 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5399 stack_frame_head = fra.me.prev;
5400 return;
5401 }
5402 void parser___ReduceAction2___action(val_t p0, val_t p1){
5403 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5404 val_t REGB0;
5405 val_t tmp;
5406 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5407 fra.me.file = LOCATE_parser;
5408 fra.me.line = 1060;
5409 fra.me.meth = LOCATE_parser___ReduceAction2___action;
5410 fra.me.has_broke = 0;
5411 fra.me.REG_size = 6;
5412 fra.me.nitni_local_ref_head = NULL;
5413 fra.me.REG[0] = NIT_NULL;
5414 fra.me.REG[1] = NIT_NULL;
5415 fra.me.REG[2] = NIT_NULL;
5416 fra.me.REG[3] = NIT_NULL;
5417 fra.me.REG[4] = NIT_NULL;
5418 fra.me.REG[5] = NIT_NULL;
5419 fra.me.REG[0] = p0;
5420 fra.me.REG[1] = p1;
5421 /* parser/parser.nit:1062 */
5422 fra.me.REG[2] = NIT_NULL;
5423 /* parser/parser.nit:1063 */
5424 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5425 /* parser/parser.nit:1064 */
5426 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5427 /* parser/parser.nit:1065 */
5428 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5429 /* parser/parser.nit:1067 */
5430 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5431 if (UNTAG_Bool(REGB0)) {
5432 } else {
5433 nit_abort("Assert failed", NULL, LOCATE_parser, 1067);
5434 }
5435 /* parser/parser.nit:1068 */
5436 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
5437 fra.me.REG[4] = fra.me.REG[3];
5438 /* parser/parser.nit:1069 */
5439 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
5440 /* parser/parser.nit:1074 */
5441 fra.me.REG[2] = fra.me.REG[5];
5442 /* parser/parser.nit:1075 */
5443 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5444 if (UNTAG_Bool(REGB0)) {
5445 } else {
5446 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1075);
5447 }
5448 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5449 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5450 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5451 stack_frame_head = fra.me.prev;
5452 return;
5453 }
5454 void parser___ReduceAction3___action(val_t p0, val_t p1){
5455 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5456 val_t REGB0;
5457 val_t tmp;
5458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5459 fra.me.file = LOCATE_parser;
5460 fra.me.line = 1080;
5461 fra.me.meth = LOCATE_parser___ReduceAction3___action;
5462 fra.me.has_broke = 0;
5463 fra.me.REG_size = 7;
5464 fra.me.nitni_local_ref_head = NULL;
5465 fra.me.REG[0] = NIT_NULL;
5466 fra.me.REG[1] = NIT_NULL;
5467 fra.me.REG[2] = NIT_NULL;
5468 fra.me.REG[3] = NIT_NULL;
5469 fra.me.REG[4] = NIT_NULL;
5470 fra.me.REG[5] = NIT_NULL;
5471 fra.me.REG[6] = NIT_NULL;
5472 fra.me.REG[0] = p0;
5473 fra.me.REG[1] = p1;
5474 /* parser/parser.nit:1082 */
5475 fra.me.REG[2] = NIT_NULL;
5476 /* parser/parser.nit:1083 */
5477 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5478 /* parser/parser.nit:1084 */
5479 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5480 /* parser/parser.nit:1085 */
5481 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5482 /* parser/parser.nit:1086 */
5483 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5484 /* parser/parser.nit:1088 */
5485 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
5486 if (UNTAG_Bool(REGB0)) {
5487 } else {
5488 nit_abort("Assert failed", NULL, LOCATE_parser, 1088);
5489 }
5490 /* parser/parser.nit:1090 */
5491 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5492 if (UNTAG_Bool(REGB0)) {
5493 } else {
5494 nit_abort("Assert failed", NULL, LOCATE_parser, 1090);
5495 }
5496 /* parser/parser.nit:1091 */
5497 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
5498 fra.me.REG[5] = fra.me.REG[3];
5499 /* parser/parser.nit:1092 */
5500 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
5501 /* parser/parser.nit:1097 */
5502 fra.me.REG[2] = fra.me.REG[6];
5503 /* parser/parser.nit:1098 */
5504 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5505 if (UNTAG_Bool(REGB0)) {
5506 } else {
5507 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1098);
5508 }
5509 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5510 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5511 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5512 stack_frame_head = fra.me.prev;
5513 return;
5514 }
5515 void parser___ReduceAction4___action(val_t p0, val_t p1){
5516 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5517 val_t REGB0;
5518 val_t tmp;
5519 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5520 fra.me.file = LOCATE_parser;
5521 fra.me.line = 1103;
5522 fra.me.meth = LOCATE_parser___ReduceAction4___action;
5523 fra.me.has_broke = 0;
5524 fra.me.REG_size = 6;
5525 fra.me.nitni_local_ref_head = NULL;
5526 fra.me.REG[0] = NIT_NULL;
5527 fra.me.REG[1] = NIT_NULL;
5528 fra.me.REG[2] = NIT_NULL;
5529 fra.me.REG[3] = NIT_NULL;
5530 fra.me.REG[4] = NIT_NULL;
5531 fra.me.REG[5] = NIT_NULL;
5532 fra.me.REG[0] = p0;
5533 fra.me.REG[1] = p1;
5534 /* parser/parser.nit:1105 */
5535 fra.me.REG[2] = NIT_NULL;
5536 /* parser/parser.nit:1106 */
5537 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5538 /* parser/parser.nit:1107 */
5539 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5540 /* parser/parser.nit:1108 */
5541 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5542 /* parser/parser.nit:1110 */
5543 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5544 if (UNTAG_Bool(REGB0)) {
5545 } else {
5546 nit_abort("Assert failed", NULL, LOCATE_parser, 1110);
5547 }
5548 /* parser/parser.nit:1111 */
5549 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
5550 fra.me.REG[5] = fra.me.REG[3];
5551 /* parser/parser.nit:1112 */
5552 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
5553 /* parser/parser.nit:1117 */
5554 fra.me.REG[2] = fra.me.REG[5];
5555 /* parser/parser.nit:1118 */
5556 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5557 if (UNTAG_Bool(REGB0)) {
5558 } else {
5559 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1118);
5560 }
5561 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5562 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5563 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5564 stack_frame_head = fra.me.prev;
5565 return;
5566 }
5567 void parser___ReduceAction5___action(val_t p0, val_t p1){
5568 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5569 val_t REGB0;
5570 val_t tmp;
5571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5572 fra.me.file = LOCATE_parser;
5573 fra.me.line = 1123;
5574 fra.me.meth = LOCATE_parser___ReduceAction5___action;
5575 fra.me.has_broke = 0;
5576 fra.me.REG_size = 7;
5577 fra.me.nitni_local_ref_head = NULL;
5578 fra.me.REG[0] = NIT_NULL;
5579 fra.me.REG[1] = NIT_NULL;
5580 fra.me.REG[2] = NIT_NULL;
5581 fra.me.REG[3] = NIT_NULL;
5582 fra.me.REG[4] = NIT_NULL;
5583 fra.me.REG[5] = NIT_NULL;
5584 fra.me.REG[6] = NIT_NULL;
5585 fra.me.REG[0] = p0;
5586 fra.me.REG[1] = p1;
5587 /* parser/parser.nit:1125 */
5588 fra.me.REG[2] = NIT_NULL;
5589 /* parser/parser.nit:1126 */
5590 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5591 /* parser/parser.nit:1127 */
5592 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5593 /* parser/parser.nit:1128 */
5594 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5595 /* parser/parser.nit:1129 */
5596 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5597 /* parser/parser.nit:1131 */
5598 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
5599 if (UNTAG_Bool(REGB0)) {
5600 } else {
5601 nit_abort("Assert failed", NULL, LOCATE_parser, 1131);
5602 }
5603 /* parser/parser.nit:1133 */
5604 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5605 if (UNTAG_Bool(REGB0)) {
5606 } else {
5607 nit_abort("Assert failed", NULL, LOCATE_parser, 1133);
5608 }
5609 /* parser/parser.nit:1134 */
5610 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
5611 fra.me.REG[6] = fra.me.REG[3];
5612 /* parser/parser.nit:1135 */
5613 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
5614 /* parser/parser.nit:1140 */
5615 fra.me.REG[2] = fra.me.REG[6];
5616 /* parser/parser.nit:1141 */
5617 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5618 if (UNTAG_Bool(REGB0)) {
5619 } else {
5620 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1141);
5621 }
5622 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5623 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5624 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5625 stack_frame_head = fra.me.prev;
5626 return;
5627 }
5628 void parser___ReduceAction6___action(val_t p0, val_t p1){
5629 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5630 val_t REGB0;
5631 val_t tmp;
5632 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5633 fra.me.file = LOCATE_parser;
5634 fra.me.line = 1146;
5635 fra.me.meth = LOCATE_parser___ReduceAction6___action;
5636 fra.me.has_broke = 0;
5637 fra.me.REG_size = 7;
5638 fra.me.nitni_local_ref_head = NULL;
5639 fra.me.REG[0] = NIT_NULL;
5640 fra.me.REG[1] = NIT_NULL;
5641 fra.me.REG[2] = NIT_NULL;
5642 fra.me.REG[3] = NIT_NULL;
5643 fra.me.REG[4] = NIT_NULL;
5644 fra.me.REG[5] = NIT_NULL;
5645 fra.me.REG[6] = NIT_NULL;
5646 fra.me.REG[0] = p0;
5647 fra.me.REG[1] = p1;
5648 /* parser/parser.nit:1148 */
5649 fra.me.REG[2] = NIT_NULL;
5650 /* parser/parser.nit:1149 */
5651 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5652 /* parser/parser.nit:1150 */
5653 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5654 /* parser/parser.nit:1151 */
5655 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5656 /* parser/parser.nit:1152 */
5657 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5658 /* parser/parser.nit:1154 */
5659 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5660 if (UNTAG_Bool(REGB0)) {
5661 } else {
5662 nit_abort("Assert failed", NULL, LOCATE_parser, 1154);
5663 }
5664 /* parser/parser.nit:1155 */
5665 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
5666 fra.me.REG[5] = fra.me.REG[4];
5667 /* parser/parser.nit:1157 */
5668 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5669 if (UNTAG_Bool(REGB0)) {
5670 } else {
5671 nit_abort("Assert failed", NULL, LOCATE_parser, 1157);
5672 }
5673 /* parser/parser.nit:1158 */
5674 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
5675 fra.me.REG[6] = fra.me.REG[3];
5676 /* parser/parser.nit:1159 */
5677 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
5678 /* parser/parser.nit:1164 */
5679 fra.me.REG[2] = fra.me.REG[6];
5680 /* parser/parser.nit:1165 */
5681 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5682 if (UNTAG_Bool(REGB0)) {
5683 } else {
5684 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1165);
5685 }
5686 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5687 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5688 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5689 stack_frame_head = fra.me.prev;
5690 return;
5691 }
5692 void parser___ReduceAction7___action(val_t p0, val_t p1){
5693 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
5694 val_t REGB0;
5695 val_t tmp;
5696 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5697 fra.me.file = LOCATE_parser;
5698 fra.me.line = 1170;
5699 fra.me.meth = LOCATE_parser___ReduceAction7___action;
5700 fra.me.has_broke = 0;
5701 fra.me.REG_size = 8;
5702 fra.me.nitni_local_ref_head = NULL;
5703 fra.me.REG[0] = NIT_NULL;
5704 fra.me.REG[1] = NIT_NULL;
5705 fra.me.REG[2] = NIT_NULL;
5706 fra.me.REG[3] = NIT_NULL;
5707 fra.me.REG[4] = NIT_NULL;
5708 fra.me.REG[5] = NIT_NULL;
5709 fra.me.REG[6] = NIT_NULL;
5710 fra.me.REG[7] = NIT_NULL;
5711 fra.me.REG[0] = p0;
5712 fra.me.REG[1] = p1;
5713 /* parser/parser.nit:1172 */
5714 fra.me.REG[2] = NIT_NULL;
5715 /* parser/parser.nit:1173 */
5716 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5717 /* parser/parser.nit:1174 */
5718 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5719 /* parser/parser.nit:1175 */
5720 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5721 /* parser/parser.nit:1176 */
5722 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5723 /* parser/parser.nit:1177 */
5724 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
5725 /* parser/parser.nit:1179 */
5726 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
5727 if (UNTAG_Bool(REGB0)) {
5728 } else {
5729 nit_abort("Assert failed", NULL, LOCATE_parser, 1179);
5730 }
5731 /* parser/parser.nit:1181 */
5732 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5733 if (UNTAG_Bool(REGB0)) {
5734 } else {
5735 nit_abort("Assert failed", NULL, LOCATE_parser, 1181);
5736 }
5737 /* parser/parser.nit:1182 */
5738 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
5739 fra.me.REG[6] = fra.me.REG[4];
5740 /* parser/parser.nit:1184 */
5741 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5742 if (UNTAG_Bool(REGB0)) {
5743 } else {
5744 nit_abort("Assert failed", NULL, LOCATE_parser, 1184);
5745 }
5746 /* parser/parser.nit:1185 */
5747 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
5748 fra.me.REG[7] = fra.me.REG[3];
5749 /* parser/parser.nit:1186 */
5750 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
5751 /* parser/parser.nit:1191 */
5752 fra.me.REG[2] = fra.me.REG[7];
5753 /* parser/parser.nit:1192 */
5754 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5755 if (UNTAG_Bool(REGB0)) {
5756 } else {
5757 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1192);
5758 }
5759 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5760 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5761 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5762 stack_frame_head = fra.me.prev;
5763 return;
5764 }
5765 void parser___ReduceAction8___action(val_t p0, val_t p1){
5766 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5767 val_t REGB0;
5768 val_t REGB1;
5769 val_t tmp;
5770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5771 fra.me.file = LOCATE_parser;
5772 fra.me.line = 1197;
5773 fra.me.meth = LOCATE_parser___ReduceAction8___action;
5774 fra.me.has_broke = 0;
5775 fra.me.REG_size = 7;
5776 fra.me.nitni_local_ref_head = NULL;
5777 fra.me.REG[0] = NIT_NULL;
5778 fra.me.REG[1] = NIT_NULL;
5779 fra.me.REG[2] = NIT_NULL;
5780 fra.me.REG[3] = NIT_NULL;
5781 fra.me.REG[4] = NIT_NULL;
5782 fra.me.REG[5] = NIT_NULL;
5783 fra.me.REG[6] = NIT_NULL;
5784 fra.me.REG[0] = p0;
5785 fra.me.REG[1] = p1;
5786 /* parser/parser.nit:1199 */
5787 fra.me.REG[2] = NIT_NULL;
5788 /* parser/parser.nit:1200 */
5789 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5790 /* parser/parser.nit:1201 */
5791 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5792 /* parser/parser.nit:1202 */
5793 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5794 /* parser/parser.nit:1203 */
5795 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5796 /* parser/parser.nit:1205 */
5797 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5798 if (UNTAG_Bool(REGB0)) {
5799 } else {
5800 nit_abort("Assert failed", NULL, LOCATE_parser, 1205);
5801 }
5802 /* parser/parser.nit:1206 */
5803 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
5804 fra.me.REG[6] = fra.me.REG[3];
5805 /* parser/parser.nit:1207 */
5806 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
5807 /* parser/parser.nit:1210 */
5808 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
5809 if (UNTAG_Bool(REGB0)) {
5810 } else {
5811 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
5812 if (UNTAG_Bool(REGB1)) {
5813 REGB1 = TAG_Bool(false);
5814 REGB0 = REGB1;
5815 } else {
5816 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
5817 REGB0 = REGB1;
5818 }
5819 }
5820 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5821 if (UNTAG_Bool(REGB0)) {
5822 /* parser/parser.nit:1211 */
5823 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
5824 }
5825 /* parser/parser.nit:1213 */
5826 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
5827 /* parser/parser.nit:1218 */
5828 fra.me.REG[2] = fra.me.REG[5];
5829 /* parser/parser.nit:1219 */
5830 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5831 if (UNTAG_Bool(REGB0)) {
5832 } else {
5833 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1219);
5834 }
5835 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5836 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5837 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5838 stack_frame_head = fra.me.prev;
5839 return;
5840 }
5841 void parser___ReduceAction9___action(val_t p0, val_t p1){
5842 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
5843 val_t REGB0;
5844 val_t REGB1;
5845 val_t tmp;
5846 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5847 fra.me.file = LOCATE_parser;
5848 fra.me.line = 1224;
5849 fra.me.meth = LOCATE_parser___ReduceAction9___action;
5850 fra.me.has_broke = 0;
5851 fra.me.REG_size = 8;
5852 fra.me.nitni_local_ref_head = NULL;
5853 fra.me.REG[0] = NIT_NULL;
5854 fra.me.REG[1] = NIT_NULL;
5855 fra.me.REG[2] = NIT_NULL;
5856 fra.me.REG[3] = NIT_NULL;
5857 fra.me.REG[4] = NIT_NULL;
5858 fra.me.REG[5] = NIT_NULL;
5859 fra.me.REG[6] = NIT_NULL;
5860 fra.me.REG[7] = NIT_NULL;
5861 fra.me.REG[0] = p0;
5862 fra.me.REG[1] = p1;
5863 /* parser/parser.nit:1226 */
5864 fra.me.REG[2] = NIT_NULL;
5865 /* parser/parser.nit:1227 */
5866 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5867 /* parser/parser.nit:1228 */
5868 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5869 /* parser/parser.nit:1229 */
5870 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5871 /* parser/parser.nit:1230 */
5872 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5873 /* parser/parser.nit:1232 */
5874 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
5875 if (UNTAG_Bool(REGB0)) {
5876 } else {
5877 nit_abort("Assert failed", NULL, LOCATE_parser, 1232);
5878 }
5879 /* parser/parser.nit:1233 */
5880 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
5881 /* parser/parser.nit:1235 */
5882 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5883 if (UNTAG_Bool(REGB0)) {
5884 } else {
5885 nit_abort("Assert failed", NULL, LOCATE_parser, 1235);
5886 }
5887 /* parser/parser.nit:1236 */
5888 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
5889 fra.me.REG[7] = fra.me.REG[3];
5890 /* parser/parser.nit:1237 */
5891 fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
5892 /* parser/parser.nit:1240 */
5893 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
5894 if (UNTAG_Bool(REGB0)) {
5895 } else {
5896 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
5897 if (UNTAG_Bool(REGB1)) {
5898 REGB1 = TAG_Bool(false);
5899 REGB0 = REGB1;
5900 } else {
5901 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
5902 REGB0 = REGB1;
5903 }
5904 }
5905 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5906 if (UNTAG_Bool(REGB0)) {
5907 /* parser/parser.nit:1241 */
5908 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
5909 }
5910 /* parser/parser.nit:1243 */
5911 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
5912 /* parser/parser.nit:1248 */
5913 fra.me.REG[2] = fra.me.REG[6];
5914 /* parser/parser.nit:1249 */
5915 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5916 if (UNTAG_Bool(REGB0)) {
5917 } else {
5918 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1249);
5919 }
5920 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5921 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5922 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5923 stack_frame_head = fra.me.prev;
5924 return;
5925 }
5926 void parser___ReduceAction10___action(val_t p0, val_t p1){
5927 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5928 val_t REGB0;
5929 val_t REGB1;
5930 val_t tmp;
5931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5932 fra.me.file = LOCATE_parser;
5933 fra.me.line = 1254;
5934 fra.me.meth = LOCATE_parser___ReduceAction10___action;
5935 fra.me.has_broke = 0;
5936 fra.me.REG_size = 7;
5937 fra.me.nitni_local_ref_head = NULL;
5938 fra.me.REG[0] = NIT_NULL;
5939 fra.me.REG[1] = NIT_NULL;
5940 fra.me.REG[2] = NIT_NULL;
5941 fra.me.REG[3] = NIT_NULL;
5942 fra.me.REG[4] = NIT_NULL;
5943 fra.me.REG[5] = NIT_NULL;
5944 fra.me.REG[6] = NIT_NULL;
5945 fra.me.REG[0] = p0;
5946 fra.me.REG[1] = p1;
5947 /* parser/parser.nit:1256 */
5948 fra.me.REG[2] = NIT_NULL;
5949 /* parser/parser.nit:1257 */
5950 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5951 /* parser/parser.nit:1258 */
5952 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5953 /* parser/parser.nit:1259 */
5954 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5955 /* parser/parser.nit:1260 */
5956 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5957 /* parser/parser.nit:1262 */
5958 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5959 if (UNTAG_Bool(REGB0)) {
5960 } else {
5961 nit_abort("Assert failed", NULL, LOCATE_parser, 1262);
5962 }
5963 /* parser/parser.nit:1263 */
5964 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
5965 fra.me.REG[5] = fra.me.REG[4];
5966 /* parser/parser.nit:1264 */
5967 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5968 /* parser/parser.nit:1266 */
5969 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
5970 if (UNTAG_Bool(REGB0)) {
5971 } else {
5972 nit_abort("Assert failed", NULL, LOCATE_parser, 1266);
5973 }
5974 /* parser/parser.nit:1267 */
5975 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
5976 fra.me.REG[4] = fra.me.REG[3];
5977 /* parser/parser.nit:1268 */
5978 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
5979 /* parser/parser.nit:1271 */
5980 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
5981 if (UNTAG_Bool(REGB0)) {
5982 } else {
5983 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
5984 if (UNTAG_Bool(REGB1)) {
5985 REGB1 = TAG_Bool(false);
5986 REGB0 = REGB1;
5987 } else {
5988 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
5989 REGB0 = REGB1;
5990 }
5991 }
5992 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5993 if (UNTAG_Bool(REGB0)) {
5994 /* parser/parser.nit:1272 */
5995 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
5996 }
5997 /* parser/parser.nit:1274 */
5998 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
5999 /* parser/parser.nit:1279 */
6000 fra.me.REG[2] = fra.me.REG[6];
6001 /* parser/parser.nit:1280 */
6002 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6003 if (UNTAG_Bool(REGB0)) {
6004 } else {
6005 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1280);
6006 }
6007 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6008 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6009 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6010 stack_frame_head = fra.me.prev;
6011 return;
6012 }
6013 void parser___ReduceAction11___action(val_t p0, val_t p1){
6014 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6015 val_t REGB0;
6016 val_t REGB1;
6017 val_t tmp;
6018 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6019 fra.me.file = LOCATE_parser;
6020 fra.me.line = 1285;
6021 fra.me.meth = LOCATE_parser___ReduceAction11___action;
6022 fra.me.has_broke = 0;
6023 fra.me.REG_size = 8;
6024 fra.me.nitni_local_ref_head = NULL;
6025 fra.me.REG[0] = NIT_NULL;
6026 fra.me.REG[1] = NIT_NULL;
6027 fra.me.REG[2] = NIT_NULL;
6028 fra.me.REG[3] = NIT_NULL;
6029 fra.me.REG[4] = NIT_NULL;
6030 fra.me.REG[5] = NIT_NULL;
6031 fra.me.REG[6] = NIT_NULL;
6032 fra.me.REG[7] = NIT_NULL;
6033 fra.me.REG[0] = p0;
6034 fra.me.REG[1] = p1;
6035 /* parser/parser.nit:1287 */
6036 fra.me.REG[2] = NIT_NULL;
6037 /* parser/parser.nit:1288 */
6038 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6039 /* parser/parser.nit:1289 */
6040 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6041 /* parser/parser.nit:1290 */
6042 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6043 /* parser/parser.nit:1291 */
6044 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6045 /* parser/parser.nit:1292 */
6046 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6047 /* parser/parser.nit:1294 */
6048 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
6049 if (UNTAG_Bool(REGB0)) {
6050 } else {
6051 nit_abort("Assert failed", NULL, LOCATE_parser, 1294);
6052 }
6053 /* parser/parser.nit:1296 */
6054 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6055 if (UNTAG_Bool(REGB0)) {
6056 } else {
6057 nit_abort("Assert failed", NULL, LOCATE_parser, 1296);
6058 }
6059 /* parser/parser.nit:1297 */
6060 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6061 fra.me.REG[6] = fra.me.REG[4];
6062 /* parser/parser.nit:1298 */
6063 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
6064 /* parser/parser.nit:1300 */
6065 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6066 if (UNTAG_Bool(REGB0)) {
6067 } else {
6068 nit_abort("Assert failed", NULL, LOCATE_parser, 1300);
6069 }
6070 /* parser/parser.nit:1301 */
6071 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
6072 fra.me.REG[4] = fra.me.REG[3];
6073 /* parser/parser.nit:1302 */
6074 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
6075 /* parser/parser.nit:1305 */
6076 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
6077 if (UNTAG_Bool(REGB0)) {
6078 } else {
6079 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
6080 if (UNTAG_Bool(REGB1)) {
6081 REGB1 = TAG_Bool(false);
6082 REGB0 = REGB1;
6083 } else {
6084 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
6085 REGB0 = REGB1;
6086 }
6087 }
6088 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6089 if (UNTAG_Bool(REGB0)) {
6090 /* parser/parser.nit:1306 */
6091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
6092 }
6093 /* parser/parser.nit:1308 */
6094 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6095 /* parser/parser.nit:1313 */
6096 fra.me.REG[2] = fra.me.REG[7];
6097 /* parser/parser.nit:1314 */
6098 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6099 if (UNTAG_Bool(REGB0)) {
6100 } else {
6101 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1314);
6102 }
6103 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6104 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6105 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6106 stack_frame_head = fra.me.prev;
6107 return;
6108 }
6109 void parser___ReduceAction12___action(val_t p0, val_t p1){
6110 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6111 val_t REGB0;
6112 val_t REGB1;
6113 val_t tmp;
6114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6115 fra.me.file = LOCATE_parser;
6116 fra.me.line = 1319;
6117 fra.me.meth = LOCATE_parser___ReduceAction12___action;
6118 fra.me.has_broke = 0;
6119 fra.me.REG_size = 8;
6120 fra.me.nitni_local_ref_head = NULL;
6121 fra.me.REG[0] = NIT_NULL;
6122 fra.me.REG[1] = NIT_NULL;
6123 fra.me.REG[2] = NIT_NULL;
6124 fra.me.REG[3] = NIT_NULL;
6125 fra.me.REG[4] = NIT_NULL;
6126 fra.me.REG[5] = NIT_NULL;
6127 fra.me.REG[6] = NIT_NULL;
6128 fra.me.REG[7] = NIT_NULL;
6129 fra.me.REG[0] = p0;
6130 fra.me.REG[1] = p1;
6131 /* parser/parser.nit:1321 */
6132 fra.me.REG[2] = NIT_NULL;
6133 /* parser/parser.nit:1322 */
6134 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6135 /* parser/parser.nit:1323 */
6136 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6137 /* parser/parser.nit:1324 */
6138 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6139 /* parser/parser.nit:1325 */
6140 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6141 /* parser/parser.nit:1327 */
6142 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6143 if (UNTAG_Bool(REGB0)) {
6144 } else {
6145 nit_abort("Assert failed", NULL, LOCATE_parser, 1327);
6146 }
6147 /* parser/parser.nit:1328 */
6148 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6149 /* parser/parser.nit:1330 */
6150 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6151 if (UNTAG_Bool(REGB0)) {
6152 } else {
6153 nit_abort("Assert failed", NULL, LOCATE_parser, 1330);
6154 }
6155 /* parser/parser.nit:1331 */
6156 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
6157 fra.me.REG[7] = fra.me.REG[3];
6158 /* parser/parser.nit:1332 */
6159 fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
6160 /* parser/parser.nit:1335 */
6161 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6162 fra.me.REG[6] = fra.me.REG[4];
6163 /* parser/parser.nit:1336 */
6164 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
6165 if (UNTAG_Bool(REGB0)) {
6166 } else {
6167 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
6168 if (UNTAG_Bool(REGB1)) {
6169 REGB1 = TAG_Bool(false);
6170 REGB0 = REGB1;
6171 } else {
6172 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
6173 REGB0 = REGB1;
6174 }
6175 }
6176 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6177 if (UNTAG_Bool(REGB0)) {
6178 /* parser/parser.nit:1337 */
6179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
6180 }
6181 /* parser/parser.nit:1339 */
6182 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
6183 /* parser/parser.nit:1344 */
6184 fra.me.REG[2] = fra.me.REG[6];
6185 /* parser/parser.nit:1345 */
6186 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6187 if (UNTAG_Bool(REGB0)) {
6188 } else {
6189 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1345);
6190 }
6191 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6192 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6193 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6194 stack_frame_head = fra.me.prev;
6195 return;
6196 }
6197 void parser___ReduceAction13___action(val_t p0, val_t p1){
6198 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6199 val_t REGB0;
6200 val_t REGB1;
6201 val_t tmp;
6202 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6203 fra.me.file = LOCATE_parser;
6204 fra.me.line = 1350;
6205 fra.me.meth = LOCATE_parser___ReduceAction13___action;
6206 fra.me.has_broke = 0;
6207 fra.me.REG_size = 9;
6208 fra.me.nitni_local_ref_head = NULL;
6209 fra.me.REG[0] = NIT_NULL;
6210 fra.me.REG[1] = NIT_NULL;
6211 fra.me.REG[2] = NIT_NULL;
6212 fra.me.REG[3] = NIT_NULL;
6213 fra.me.REG[4] = NIT_NULL;
6214 fra.me.REG[5] = NIT_NULL;
6215 fra.me.REG[6] = NIT_NULL;
6216 fra.me.REG[7] = NIT_NULL;
6217 fra.me.REG[8] = NIT_NULL;
6218 fra.me.REG[0] = p0;
6219 fra.me.REG[1] = p1;
6220 /* parser/parser.nit:1352 */
6221 fra.me.REG[2] = NIT_NULL;
6222 /* parser/parser.nit:1353 */
6223 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6224 /* parser/parser.nit:1354 */
6225 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6226 /* parser/parser.nit:1355 */
6227 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6228 /* parser/parser.nit:1356 */
6229 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6230 /* parser/parser.nit:1357 */
6231 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6232 /* parser/parser.nit:1359 */
6233 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
6234 if (UNTAG_Bool(REGB0)) {
6235 } else {
6236 nit_abort("Assert failed", NULL, LOCATE_parser, 1359);
6237 }
6238 /* parser/parser.nit:1361 */
6239 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6240 if (UNTAG_Bool(REGB0)) {
6241 } else {
6242 nit_abort("Assert failed", NULL, LOCATE_parser, 1361);
6243 }
6244 /* parser/parser.nit:1362 */
6245 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6246 /* parser/parser.nit:1364 */
6247 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6248 if (UNTAG_Bool(REGB0)) {
6249 } else {
6250 nit_abort("Assert failed", NULL, LOCATE_parser, 1364);
6251 }
6252 /* parser/parser.nit:1365 */
6253 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
6254 fra.me.REG[8] = fra.me.REG[3];
6255 /* parser/parser.nit:1366 */
6256 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
6257 /* parser/parser.nit:1369 */
6258 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6259 fra.me.REG[7] = fra.me.REG[4];
6260 /* parser/parser.nit:1370 */
6261 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
6262 if (UNTAG_Bool(REGB0)) {
6263 } else {
6264 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
6265 if (UNTAG_Bool(REGB1)) {
6266 REGB1 = TAG_Bool(false);
6267 REGB0 = REGB1;
6268 } else {
6269 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
6270 REGB0 = REGB1;
6271 }
6272 }
6273 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6274 if (UNTAG_Bool(REGB0)) {
6275 /* parser/parser.nit:1371 */
6276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
6277 }
6278 /* parser/parser.nit:1373 */
6279 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6280 /* parser/parser.nit:1378 */
6281 fra.me.REG[2] = fra.me.REG[7];
6282 /* parser/parser.nit:1379 */
6283 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6284 if (UNTAG_Bool(REGB0)) {
6285 } else {
6286 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1379);
6287 }
6288 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6289 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6290 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6291 stack_frame_head = fra.me.prev;
6292 return;
6293 }
6294 void parser___ReduceAction14___action(val_t p0, val_t p1){
6295 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6296 val_t REGB0;
6297 val_t REGB1;
6298 val_t tmp;
6299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6300 fra.me.file = LOCATE_parser;
6301 fra.me.line = 1384;
6302 fra.me.meth = LOCATE_parser___ReduceAction14___action;
6303 fra.me.has_broke = 0;
6304 fra.me.REG_size = 8;
6305 fra.me.nitni_local_ref_head = NULL;
6306 fra.me.REG[0] = NIT_NULL;
6307 fra.me.REG[1] = NIT_NULL;
6308 fra.me.REG[2] = NIT_NULL;
6309 fra.me.REG[3] = NIT_NULL;
6310 fra.me.REG[4] = NIT_NULL;
6311 fra.me.REG[5] = NIT_NULL;
6312 fra.me.REG[6] = NIT_NULL;
6313 fra.me.REG[7] = NIT_NULL;
6314 fra.me.REG[0] = p0;
6315 fra.me.REG[1] = p1;
6316 /* parser/parser.nit:1386 */
6317 fra.me.REG[2] = NIT_NULL;
6318 /* parser/parser.nit:1387 */
6319 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6320 /* parser/parser.nit:1388 */
6321 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6322 /* parser/parser.nit:1389 */
6323 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6324 /* parser/parser.nit:1390 */
6325 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6326 /* parser/parser.nit:1391 */
6327 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6328 /* parser/parser.nit:1393 */
6329 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6330 if (UNTAG_Bool(REGB0)) {
6331 } else {
6332 nit_abort("Assert failed", NULL, LOCATE_parser, 1393);
6333 }
6334 /* parser/parser.nit:1394 */
6335 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
6336 fra.me.REG[6] = fra.me.REG[5];
6337 /* parser/parser.nit:1396 */
6338 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6339 if (UNTAG_Bool(REGB0)) {
6340 } else {
6341 nit_abort("Assert failed", NULL, LOCATE_parser, 1396);
6342 }
6343 /* parser/parser.nit:1397 */
6344 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6345 /* parser/parser.nit:1399 */
6346 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6347 if (UNTAG_Bool(REGB0)) {
6348 } else {
6349 nit_abort("Assert failed", NULL, LOCATE_parser, 1399);
6350 }
6351 /* parser/parser.nit:1400 */
6352 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
6353 fra.me.REG[5] = fra.me.REG[3];
6354 /* parser/parser.nit:1401 */
6355 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
6356 /* parser/parser.nit:1404 */
6357 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6358 fra.me.REG[7] = fra.me.REG[4];
6359 /* parser/parser.nit:1405 */
6360 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
6361 if (UNTAG_Bool(REGB0)) {
6362 } else {
6363 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
6364 if (UNTAG_Bool(REGB1)) {
6365 REGB1 = TAG_Bool(false);
6366 REGB0 = REGB1;
6367 } else {
6368 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
6369 REGB0 = REGB1;
6370 }
6371 }
6372 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6373 if (UNTAG_Bool(REGB0)) {
6374 /* parser/parser.nit:1406 */
6375 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
6376 }
6377 /* parser/parser.nit:1408 */
6378 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
6379 /* parser/parser.nit:1413 */
6380 fra.me.REG[2] = fra.me.REG[7];
6381 /* parser/parser.nit:1414 */
6382 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6383 if (UNTAG_Bool(REGB0)) {
6384 } else {
6385 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1414);
6386 }
6387 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6388 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6389 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6390 stack_frame_head = fra.me.prev;
6391 return;
6392 }
6393 void parser___ReduceAction15___action(val_t p0, val_t p1){
6394 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6395 val_t REGB0;
6396 val_t REGB1;
6397 val_t tmp;
6398 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6399 fra.me.file = LOCATE_parser;
6400 fra.me.line = 1419;
6401 fra.me.meth = LOCATE_parser___ReduceAction15___action;
6402 fra.me.has_broke = 0;
6403 fra.me.REG_size = 9;
6404 fra.me.nitni_local_ref_head = NULL;
6405 fra.me.REG[0] = NIT_NULL;
6406 fra.me.REG[1] = NIT_NULL;
6407 fra.me.REG[2] = NIT_NULL;
6408 fra.me.REG[3] = NIT_NULL;
6409 fra.me.REG[4] = NIT_NULL;
6410 fra.me.REG[5] = NIT_NULL;
6411 fra.me.REG[6] = NIT_NULL;
6412 fra.me.REG[7] = NIT_NULL;
6413 fra.me.REG[8] = NIT_NULL;
6414 fra.me.REG[0] = p0;
6415 fra.me.REG[1] = p1;
6416 /* parser/parser.nit:1421 */
6417 fra.me.REG[2] = NIT_NULL;
6418 /* parser/parser.nit:1422 */
6419 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6420 /* parser/parser.nit:1423 */
6421 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6422 /* parser/parser.nit:1424 */
6423 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6424 /* parser/parser.nit:1425 */
6425 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6426 /* parser/parser.nit:1426 */
6427 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6428 /* parser/parser.nit:1427 */
6429 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6430 /* parser/parser.nit:1429 */
6431 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
6432 if (UNTAG_Bool(REGB0)) {
6433 } else {
6434 nit_abort("Assert failed", NULL, LOCATE_parser, 1429);
6435 }
6436 /* parser/parser.nit:1431 */
6437 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6438 if (UNTAG_Bool(REGB0)) {
6439 } else {
6440 nit_abort("Assert failed", NULL, LOCATE_parser, 1431);
6441 }
6442 /* parser/parser.nit:1432 */
6443 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
6444 fra.me.REG[7] = fra.me.REG[5];
6445 /* parser/parser.nit:1434 */
6446 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6447 if (UNTAG_Bool(REGB0)) {
6448 } else {
6449 nit_abort("Assert failed", NULL, LOCATE_parser, 1434);
6450 }
6451 /* parser/parser.nit:1435 */
6452 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6453 /* parser/parser.nit:1437 */
6454 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6455 if (UNTAG_Bool(REGB0)) {
6456 } else {
6457 nit_abort("Assert failed", NULL, LOCATE_parser, 1437);
6458 }
6459 /* parser/parser.nit:1438 */
6460 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
6461 fra.me.REG[5] = fra.me.REG[3];
6462 /* parser/parser.nit:1439 */
6463 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
6464 /* parser/parser.nit:1442 */
6465 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
6466 fra.me.REG[8] = fra.me.REG[4];
6467 /* parser/parser.nit:1443 */
6468 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
6469 if (UNTAG_Bool(REGB0)) {
6470 } else {
6471 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
6472 if (UNTAG_Bool(REGB1)) {
6473 REGB1 = TAG_Bool(false);
6474 REGB0 = REGB1;
6475 } else {
6476 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
6477 REGB0 = REGB1;
6478 }
6479 }
6480 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6481 if (UNTAG_Bool(REGB0)) {
6482 /* parser/parser.nit:1444 */
6483 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
6484 }
6485 /* parser/parser.nit:1446 */
6486 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
6487 /* parser/parser.nit:1451 */
6488 fra.me.REG[2] = fra.me.REG[8];
6489 /* parser/parser.nit:1452 */
6490 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6491 if (UNTAG_Bool(REGB0)) {
6492 } else {
6493 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1452);
6494 }
6495 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6496 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6497 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6498 stack_frame_head = fra.me.prev;
6499 return;
6500 }
6501 void parser___ReduceAction16___action(val_t p0, val_t p1){
6502 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
6503 val_t REGB0;
6504 val_t REGB1;
6505 val_t tmp;
6506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6507 fra.me.file = LOCATE_parser;
6508 fra.me.line = 1457;
6509 fra.me.meth = LOCATE_parser___ReduceAction16___action;
6510 fra.me.has_broke = 0;
6511 fra.me.REG_size = 6;
6512 fra.me.nitni_local_ref_head = NULL;
6513 fra.me.REG[0] = NIT_NULL;
6514 fra.me.REG[1] = NIT_NULL;
6515 fra.me.REG[2] = NIT_NULL;
6516 fra.me.REG[3] = NIT_NULL;
6517 fra.me.REG[4] = NIT_NULL;
6518 fra.me.REG[5] = NIT_NULL;
6519 fra.me.REG[0] = p0;
6520 fra.me.REG[1] = p1;
6521 /* parser/parser.nit:1459 */
6522 fra.me.REG[2] = NIT_NULL;
6523 /* parser/parser.nit:1460 */
6524 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6525 /* parser/parser.nit:1461 */
6526 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
6527 /* parser/parser.nit:1462 */
6528 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6529 /* parser/parser.nit:1464 */
6530 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
6531 if (UNTAG_Bool(REGB0)) {
6532 } else {
6533 nit_abort("Assert failed", NULL, LOCATE_parser, 1464);
6534 }
6535 /* parser/parser.nit:1465 */
6536 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6537 if (UNTAG_Bool(REGB0)) {
6538 } else {
6539 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6540 if (UNTAG_Bool(REGB1)) {
6541 REGB1 = TAG_Bool(false);
6542 REGB0 = REGB1;
6543 } else {
6544 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6545 REGB0 = REGB1;
6546 }
6547 }
6548 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6549 if (UNTAG_Bool(REGB0)) {
6550 /* parser/parser.nit:1466 */
6551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
6552 }
6553 /* parser/parser.nit:1468 */
6554 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
6555 /* parser/parser.nit:1473 */
6556 fra.me.REG[2] = fra.me.REG[5];
6557 /* parser/parser.nit:1474 */
6558 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6559 if (UNTAG_Bool(REGB0)) {
6560 } else {
6561 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1474);
6562 }
6563 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6564 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6565 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6566 stack_frame_head = fra.me.prev;
6567 return;
6568 }
6569 void parser___ReduceAction17___action(val_t p0, val_t p1){
6570 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6571 val_t REGB0;
6572 val_t REGB1;
6573 val_t tmp;
6574 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6575 fra.me.file = LOCATE_parser;
6576 fra.me.line = 1479;
6577 fra.me.meth = LOCATE_parser___ReduceAction17___action;
6578 fra.me.has_broke = 0;
6579 fra.me.REG_size = 7;
6580 fra.me.nitni_local_ref_head = NULL;
6581 fra.me.REG[0] = NIT_NULL;
6582 fra.me.REG[1] = NIT_NULL;
6583 fra.me.REG[2] = NIT_NULL;
6584 fra.me.REG[3] = NIT_NULL;
6585 fra.me.REG[4] = NIT_NULL;
6586 fra.me.REG[5] = NIT_NULL;
6587 fra.me.REG[6] = NIT_NULL;
6588 fra.me.REG[0] = p0;
6589 fra.me.REG[1] = p1;
6590 /* parser/parser.nit:1481 */
6591 fra.me.REG[2] = NIT_NULL;
6592 /* parser/parser.nit:1482 */
6593 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6594 /* parser/parser.nit:1483 */
6595 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6596 /* parser/parser.nit:1484 */
6597 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6598 /* parser/parser.nit:1485 */
6599 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6600 /* parser/parser.nit:1487 */
6601 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
6602 if (UNTAG_Bool(REGB0)) {
6603 } else {
6604 nit_abort("Assert failed", NULL, LOCATE_parser, 1487);
6605 }
6606 /* parser/parser.nit:1489 */
6607 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
6608 if (UNTAG_Bool(REGB0)) {
6609 } else {
6610 nit_abort("Assert failed", NULL, LOCATE_parser, 1489);
6611 }
6612 /* parser/parser.nit:1490 */
6613 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6614 if (UNTAG_Bool(REGB0)) {
6615 } else {
6616 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6617 if (UNTAG_Bool(REGB1)) {
6618 REGB1 = TAG_Bool(false);
6619 REGB0 = REGB1;
6620 } else {
6621 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6622 REGB0 = REGB1;
6623 }
6624 }
6625 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6626 if (UNTAG_Bool(REGB0)) {
6627 /* parser/parser.nit:1491 */
6628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
6629 }
6630 /* parser/parser.nit:1493 */
6631 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
6632 /* parser/parser.nit:1498 */
6633 fra.me.REG[2] = fra.me.REG[6];
6634 /* parser/parser.nit:1499 */
6635 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6636 if (UNTAG_Bool(REGB0)) {
6637 } else {
6638 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1499);
6639 }
6640 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6641 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6642 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6643 stack_frame_head = fra.me.prev;
6644 return;
6645 }
6646 void parser___ReduceAction18___action(val_t p0, val_t p1){
6647 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6648 val_t REGB0;
6649 val_t REGB1;
6650 val_t tmp;
6651 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6652 fra.me.file = LOCATE_parser;
6653 fra.me.line = 1504;
6654 fra.me.meth = LOCATE_parser___ReduceAction18___action;
6655 fra.me.has_broke = 0;
6656 fra.me.REG_size = 7;
6657 fra.me.nitni_local_ref_head = NULL;
6658 fra.me.REG[0] = NIT_NULL;
6659 fra.me.REG[1] = NIT_NULL;
6660 fra.me.REG[2] = NIT_NULL;
6661 fra.me.REG[3] = NIT_NULL;
6662 fra.me.REG[4] = NIT_NULL;
6663 fra.me.REG[5] = NIT_NULL;
6664 fra.me.REG[6] = NIT_NULL;
6665 fra.me.REG[0] = p0;
6666 fra.me.REG[1] = p1;
6667 /* parser/parser.nit:1506 */
6668 fra.me.REG[2] = NIT_NULL;
6669 /* parser/parser.nit:1507 */
6670 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6671 /* parser/parser.nit:1508 */
6672 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6673 /* parser/parser.nit:1509 */
6674 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6675 /* parser/parser.nit:1510 */
6676 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6677 /* parser/parser.nit:1512 */
6678 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6679 if (UNTAG_Bool(REGB0)) {
6680 } else {
6681 nit_abort("Assert failed", NULL, LOCATE_parser, 1512);
6682 }
6683 /* parser/parser.nit:1513 */
6684 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
6685 fra.me.REG[5] = fra.me.REG[4];
6686 /* parser/parser.nit:1515 */
6687 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
6688 if (UNTAG_Bool(REGB0)) {
6689 } else {
6690 nit_abort("Assert failed", NULL, LOCATE_parser, 1515);
6691 }
6692 /* parser/parser.nit:1516 */
6693 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6694 if (UNTAG_Bool(REGB0)) {
6695 } else {
6696 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6697 if (UNTAG_Bool(REGB1)) {
6698 REGB1 = TAG_Bool(false);
6699 REGB0 = REGB1;
6700 } else {
6701 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6702 REGB0 = REGB1;
6703 }
6704 }
6705 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6706 if (UNTAG_Bool(REGB0)) {
6707 /* parser/parser.nit:1517 */
6708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
6709 }
6710 /* parser/parser.nit:1519 */
6711 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
6712 /* parser/parser.nit:1524 */
6713 fra.me.REG[2] = fra.me.REG[6];
6714 /* parser/parser.nit:1525 */
6715 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6716 if (UNTAG_Bool(REGB0)) {
6717 } else {
6718 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1525);
6719 }
6720 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6721 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6722 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6723 stack_frame_head = fra.me.prev;
6724 return;
6725 }
6726 void parser___ReduceAction19___action(val_t p0, val_t p1){
6727 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6728 val_t REGB0;
6729 val_t REGB1;
6730 val_t tmp;
6731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6732 fra.me.file = LOCATE_parser;
6733 fra.me.line = 1530;
6734 fra.me.meth = LOCATE_parser___ReduceAction19___action;
6735 fra.me.has_broke = 0;
6736 fra.me.REG_size = 8;
6737 fra.me.nitni_local_ref_head = NULL;
6738 fra.me.REG[0] = NIT_NULL;
6739 fra.me.REG[1] = NIT_NULL;
6740 fra.me.REG[2] = NIT_NULL;
6741 fra.me.REG[3] = NIT_NULL;
6742 fra.me.REG[4] = NIT_NULL;
6743 fra.me.REG[5] = NIT_NULL;
6744 fra.me.REG[6] = NIT_NULL;
6745 fra.me.REG[7] = NIT_NULL;
6746 fra.me.REG[0] = p0;
6747 fra.me.REG[1] = p1;
6748 /* parser/parser.nit:1532 */
6749 fra.me.REG[2] = NIT_NULL;
6750 /* parser/parser.nit:1533 */
6751 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6752 /* parser/parser.nit:1534 */
6753 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6754 /* parser/parser.nit:1535 */
6755 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6756 /* parser/parser.nit:1536 */
6757 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6758 /* parser/parser.nit:1537 */
6759 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6760 /* parser/parser.nit:1539 */
6761 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
6762 if (UNTAG_Bool(REGB0)) {
6763 } else {
6764 nit_abort("Assert failed", NULL, LOCATE_parser, 1539);
6765 }
6766 /* parser/parser.nit:1541 */
6767 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6768 if (UNTAG_Bool(REGB0)) {
6769 } else {
6770 nit_abort("Assert failed", NULL, LOCATE_parser, 1541);
6771 }
6772 /* parser/parser.nit:1542 */
6773 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6774 fra.me.REG[6] = fra.me.REG[4];
6775 /* parser/parser.nit:1544 */
6776 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
6777 if (UNTAG_Bool(REGB0)) {
6778 } else {
6779 nit_abort("Assert failed", NULL, LOCATE_parser, 1544);
6780 }
6781 /* parser/parser.nit:1545 */
6782 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6783 if (UNTAG_Bool(REGB0)) {
6784 } else {
6785 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6786 if (UNTAG_Bool(REGB1)) {
6787 REGB1 = TAG_Bool(false);
6788 REGB0 = REGB1;
6789 } else {
6790 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6791 REGB0 = REGB1;
6792 }
6793 }
6794 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6795 if (UNTAG_Bool(REGB0)) {
6796 /* parser/parser.nit:1546 */
6797 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
6798 }
6799 /* parser/parser.nit:1548 */
6800 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6801 /* parser/parser.nit:1553 */
6802 fra.me.REG[2] = fra.me.REG[7];
6803 /* parser/parser.nit:1554 */
6804 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6805 if (UNTAG_Bool(REGB0)) {
6806 } else {
6807 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1554);
6808 }
6809 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6810 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6811 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6812 stack_frame_head = fra.me.prev;
6813 return;
6814 }
6815 void parser___ReduceAction20___action(val_t p0, val_t p1){
6816 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6817 val_t REGB0;
6818 val_t REGB1;
6819 val_t tmp;
6820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6821 fra.me.file = LOCATE_parser;
6822 fra.me.line = 1559;
6823 fra.me.meth = LOCATE_parser___ReduceAction20___action;
6824 fra.me.has_broke = 0;
6825 fra.me.REG_size = 7;
6826 fra.me.nitni_local_ref_head = NULL;
6827 fra.me.REG[0] = NIT_NULL;
6828 fra.me.REG[1] = NIT_NULL;
6829 fra.me.REG[2] = NIT_NULL;
6830 fra.me.REG[3] = NIT_NULL;
6831 fra.me.REG[4] = NIT_NULL;
6832 fra.me.REG[5] = NIT_NULL;
6833 fra.me.REG[6] = NIT_NULL;
6834 fra.me.REG[0] = p0;
6835 fra.me.REG[1] = p1;
6836 /* parser/parser.nit:1561 */
6837 fra.me.REG[2] = NIT_NULL;
6838 /* parser/parser.nit:1562 */
6839 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6840 /* parser/parser.nit:1563 */
6841 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6842 /* parser/parser.nit:1564 */
6843 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6844 /* parser/parser.nit:1565 */
6845 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6846 /* parser/parser.nit:1567 */
6847 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6848 if (UNTAG_Bool(REGB0)) {
6849 } else {
6850 nit_abort("Assert failed", NULL, LOCATE_parser, 1567);
6851 }
6852 /* parser/parser.nit:1569 */
6853 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
6854 if (UNTAG_Bool(REGB0)) {
6855 } else {
6856 nit_abort("Assert failed", NULL, LOCATE_parser, 1569);
6857 }
6858 /* parser/parser.nit:1570 */
6859 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6860 fra.me.REG[6] = fra.me.REG[4];
6861 /* parser/parser.nit:1571 */
6862 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6863 if (UNTAG_Bool(REGB0)) {
6864 } else {
6865 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6866 if (UNTAG_Bool(REGB1)) {
6867 REGB1 = TAG_Bool(false);
6868 REGB0 = REGB1;
6869 } else {
6870 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6871 REGB0 = REGB1;
6872 }
6873 }
6874 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6875 if (UNTAG_Bool(REGB0)) {
6876 /* parser/parser.nit:1572 */
6877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
6878 }
6879 /* parser/parser.nit:1574 */
6880 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
6881 /* parser/parser.nit:1579 */
6882 fra.me.REG[2] = fra.me.REG[6];
6883 /* parser/parser.nit:1580 */
6884 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6885 if (UNTAG_Bool(REGB0)) {
6886 } else {
6887 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1580);
6888 }
6889 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6890 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6891 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6892 stack_frame_head = fra.me.prev;
6893 return;
6894 }
6895 void parser___ReduceAction21___action(val_t p0, val_t p1){
6896 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6897 val_t REGB0;
6898 val_t REGB1;
6899 val_t tmp;
6900 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6901 fra.me.file = LOCATE_parser;
6902 fra.me.line = 1585;
6903 fra.me.meth = LOCATE_parser___ReduceAction21___action;
6904 fra.me.has_broke = 0;
6905 fra.me.REG_size = 8;
6906 fra.me.nitni_local_ref_head = NULL;
6907 fra.me.REG[0] = NIT_NULL;
6908 fra.me.REG[1] = NIT_NULL;
6909 fra.me.REG[2] = NIT_NULL;
6910 fra.me.REG[3] = NIT_NULL;
6911 fra.me.REG[4] = NIT_NULL;
6912 fra.me.REG[5] = NIT_NULL;
6913 fra.me.REG[6] = NIT_NULL;
6914 fra.me.REG[7] = NIT_NULL;
6915 fra.me.REG[0] = p0;
6916 fra.me.REG[1] = p1;
6917 /* parser/parser.nit:1587 */
6918 fra.me.REG[2] = NIT_NULL;
6919 /* parser/parser.nit:1588 */
6920 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6921 /* parser/parser.nit:1589 */
6922 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6923 /* parser/parser.nit:1590 */
6924 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6925 /* parser/parser.nit:1591 */
6926 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6927 /* parser/parser.nit:1592 */
6928 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6929 /* parser/parser.nit:1594 */
6930 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
6931 if (UNTAG_Bool(REGB0)) {
6932 } else {
6933 nit_abort("Assert failed", NULL, LOCATE_parser, 1594);
6934 }
6935 /* parser/parser.nit:1596 */
6936 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
6937 if (UNTAG_Bool(REGB0)) {
6938 } else {
6939 nit_abort("Assert failed", NULL, LOCATE_parser, 1596);
6940 }
6941 /* parser/parser.nit:1598 */
6942 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
6943 if (UNTAG_Bool(REGB0)) {
6944 } else {
6945 nit_abort("Assert failed", NULL, LOCATE_parser, 1598);
6946 }
6947 /* parser/parser.nit:1599 */
6948 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6949 fra.me.REG[7] = fra.me.REG[4];
6950 /* parser/parser.nit:1600 */
6951 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6952 if (UNTAG_Bool(REGB0)) {
6953 } else {
6954 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6955 if (UNTAG_Bool(REGB1)) {
6956 REGB1 = TAG_Bool(false);
6957 REGB0 = REGB1;
6958 } else {
6959 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6960 REGB0 = REGB1;
6961 }
6962 }
6963 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6964 if (UNTAG_Bool(REGB0)) {
6965 /* parser/parser.nit:1601 */
6966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
6967 }
6968 /* parser/parser.nit:1603 */
6969 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6970 /* parser/parser.nit:1608 */
6971 fra.me.REG[2] = fra.me.REG[7];
6972 /* parser/parser.nit:1609 */
6973 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6974 if (UNTAG_Bool(REGB0)) {
6975 } else {
6976 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1609);
6977 }
6978 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6979 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6980 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6981 stack_frame_head = fra.me.prev;
6982 return;
6983 }
6984 void parser___ReduceAction22___action(val_t p0, val_t p1){
6985 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6986 val_t REGB0;
6987 val_t REGB1;
6988 val_t tmp;
6989 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6990 fra.me.file = LOCATE_parser;
6991 fra.me.line = 1614;
6992 fra.me.meth = LOCATE_parser___ReduceAction22___action;
6993 fra.me.has_broke = 0;
6994 fra.me.REG_size = 8;
6995 fra.me.nitni_local_ref_head = NULL;
6996 fra.me.REG[0] = NIT_NULL;
6997 fra.me.REG[1] = NIT_NULL;
6998 fra.me.REG[2] = NIT_NULL;
6999 fra.me.REG[3] = NIT_NULL;
7000 fra.me.REG[4] = NIT_NULL;
7001 fra.me.REG[5] = NIT_NULL;
7002 fra.me.REG[6] = NIT_NULL;
7003 fra.me.REG[7] = NIT_NULL;
7004 fra.me.REG[0] = p0;
7005 fra.me.REG[1] = p1;
7006 /* parser/parser.nit:1616 */
7007 fra.me.REG[2] = NIT_NULL;
7008 /* parser/parser.nit:1617 */
7009 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7010 /* parser/parser.nit:1618 */
7011 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7012 /* parser/parser.nit:1619 */
7013 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7014 /* parser/parser.nit:1620 */
7015 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7016 /* parser/parser.nit:1621 */
7017 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7018 /* parser/parser.nit:1623 */
7019 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7020 if (UNTAG_Bool(REGB0)) {
7021 } else {
7022 nit_abort("Assert failed", NULL, LOCATE_parser, 1623);
7023 }
7024 /* parser/parser.nit:1624 */
7025 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
7026 fra.me.REG[6] = fra.me.REG[5];
7027 /* parser/parser.nit:1626 */
7028 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7029 if (UNTAG_Bool(REGB0)) {
7030 } else {
7031 nit_abort("Assert failed", NULL, LOCATE_parser, 1626);
7032 }
7033 /* parser/parser.nit:1628 */
7034 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7035 if (UNTAG_Bool(REGB0)) {
7036 } else {
7037 nit_abort("Assert failed", NULL, LOCATE_parser, 1628);
7038 }
7039 /* parser/parser.nit:1629 */
7040 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
7041 fra.me.REG[7] = fra.me.REG[4];
7042 /* parser/parser.nit:1630 */
7043 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7044 if (UNTAG_Bool(REGB0)) {
7045 } else {
7046 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7047 if (UNTAG_Bool(REGB1)) {
7048 REGB1 = TAG_Bool(false);
7049 REGB0 = REGB1;
7050 } else {
7051 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7052 REGB0 = REGB1;
7053 }
7054 }
7055 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7056 if (UNTAG_Bool(REGB0)) {
7057 /* parser/parser.nit:1631 */
7058 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
7059 }
7060 /* parser/parser.nit:1633 */
7061 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
7062 /* parser/parser.nit:1638 */
7063 fra.me.REG[2] = fra.me.REG[7];
7064 /* parser/parser.nit:1639 */
7065 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7066 if (UNTAG_Bool(REGB0)) {
7067 } else {
7068 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1639);
7069 }
7070 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7071 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7072 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7073 stack_frame_head = fra.me.prev;
7074 return;
7075 }
7076 void parser___ReduceAction23___action(val_t p0, val_t p1){
7077 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7078 val_t REGB0;
7079 val_t REGB1;
7080 val_t tmp;
7081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7082 fra.me.file = LOCATE_parser;
7083 fra.me.line = 1644;
7084 fra.me.meth = LOCATE_parser___ReduceAction23___action;
7085 fra.me.has_broke = 0;
7086 fra.me.REG_size = 9;
7087 fra.me.nitni_local_ref_head = NULL;
7088 fra.me.REG[0] = NIT_NULL;
7089 fra.me.REG[1] = NIT_NULL;
7090 fra.me.REG[2] = NIT_NULL;
7091 fra.me.REG[3] = NIT_NULL;
7092 fra.me.REG[4] = NIT_NULL;
7093 fra.me.REG[5] = NIT_NULL;
7094 fra.me.REG[6] = NIT_NULL;
7095 fra.me.REG[7] = NIT_NULL;
7096 fra.me.REG[8] = NIT_NULL;
7097 fra.me.REG[0] = p0;
7098 fra.me.REG[1] = p1;
7099 /* parser/parser.nit:1646 */
7100 fra.me.REG[2] = NIT_NULL;
7101 /* parser/parser.nit:1647 */
7102 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7103 /* parser/parser.nit:1648 */
7104 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7105 /* parser/parser.nit:1649 */
7106 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7107 /* parser/parser.nit:1650 */
7108 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7109 /* parser/parser.nit:1651 */
7110 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7111 /* parser/parser.nit:1652 */
7112 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7113 /* parser/parser.nit:1654 */
7114 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
7115 if (UNTAG_Bool(REGB0)) {
7116 } else {
7117 nit_abort("Assert failed", NULL, LOCATE_parser, 1654);
7118 }
7119 /* parser/parser.nit:1656 */
7120 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7121 if (UNTAG_Bool(REGB0)) {
7122 } else {
7123 nit_abort("Assert failed", NULL, LOCATE_parser, 1656);
7124 }
7125 /* parser/parser.nit:1657 */
7126 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
7127 fra.me.REG[7] = fra.me.REG[5];
7128 /* parser/parser.nit:1659 */
7129 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7130 if (UNTAG_Bool(REGB0)) {
7131 } else {
7132 nit_abort("Assert failed", NULL, LOCATE_parser, 1659);
7133 }
7134 /* parser/parser.nit:1661 */
7135 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7136 if (UNTAG_Bool(REGB0)) {
7137 } else {
7138 nit_abort("Assert failed", NULL, LOCATE_parser, 1661);
7139 }
7140 /* parser/parser.nit:1662 */
7141 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
7142 fra.me.REG[8] = fra.me.REG[4];
7143 /* parser/parser.nit:1663 */
7144 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7145 if (UNTAG_Bool(REGB0)) {
7146 } else {
7147 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7148 if (UNTAG_Bool(REGB1)) {
7149 REGB1 = TAG_Bool(false);
7150 REGB0 = REGB1;
7151 } else {
7152 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7153 REGB0 = REGB1;
7154 }
7155 }
7156 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7157 if (UNTAG_Bool(REGB0)) {
7158 /* parser/parser.nit:1664 */
7159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
7160 }
7161 /* parser/parser.nit:1666 */
7162 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7163 /* parser/parser.nit:1671 */
7164 fra.me.REG[2] = fra.me.REG[8];
7165 /* parser/parser.nit:1672 */
7166 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7167 if (UNTAG_Bool(REGB0)) {
7168 } else {
7169 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1672);
7170 }
7171 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7172 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7173 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7174 stack_frame_head = fra.me.prev;
7175 return;
7176 }
7177 void parser___ReduceAction24___action(val_t p0, val_t p1){
7178 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7179 val_t REGB0;
7180 val_t REGB1;
7181 val_t tmp;
7182 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7183 fra.me.file = LOCATE_parser;
7184 fra.me.line = 1677;
7185 fra.me.meth = LOCATE_parser___ReduceAction24___action;
7186 fra.me.has_broke = 0;
7187 fra.me.REG_size = 8;
7188 fra.me.nitni_local_ref_head = NULL;
7189 fra.me.REG[0] = NIT_NULL;
7190 fra.me.REG[1] = NIT_NULL;
7191 fra.me.REG[2] = NIT_NULL;
7192 fra.me.REG[3] = NIT_NULL;
7193 fra.me.REG[4] = NIT_NULL;
7194 fra.me.REG[5] = NIT_NULL;
7195 fra.me.REG[6] = NIT_NULL;
7196 fra.me.REG[7] = NIT_NULL;
7197 fra.me.REG[0] = p0;
7198 fra.me.REG[1] = p1;
7199 /* parser/parser.nit:1679 */
7200 fra.me.REG[2] = NIT_NULL;
7201 /* parser/parser.nit:1680 */
7202 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7203 /* parser/parser.nit:1681 */
7204 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7205 /* parser/parser.nit:1682 */
7206 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7207 /* parser/parser.nit:1683 */
7208 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7209 /* parser/parser.nit:1684 */
7210 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7211 /* parser/parser.nit:1686 */
7212 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7213 if (UNTAG_Bool(REGB0)) {
7214 } else {
7215 nit_abort("Assert failed", NULL, LOCATE_parser, 1686);
7216 }
7217 /* parser/parser.nit:1687 */
7218 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
7219 fra.me.REG[7] = fra.me.REG[4];
7220 /* parser/parser.nit:1688 */
7221 fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
7222 /* parser/parser.nit:1692 */
7223 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7224 if (UNTAG_Bool(REGB0)) {
7225 } else {
7226 nit_abort("Assert failed", NULL, LOCATE_parser, 1692);
7227 }
7228 /* parser/parser.nit:1693 */
7229 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7230 if (UNTAG_Bool(REGB0)) {
7231 } else {
7232 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7233 if (UNTAG_Bool(REGB1)) {
7234 REGB1 = TAG_Bool(false);
7235 REGB0 = REGB1;
7236 } else {
7237 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
7238 REGB0 = REGB1;
7239 }
7240 }
7241 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7242 if (UNTAG_Bool(REGB0)) {
7243 /* parser/parser.nit:1694 */
7244 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
7245 }
7246 /* parser/parser.nit:1696 */
7247 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7248 if (UNTAG_Bool(REGB0)) {
7249 } else {
7250 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7251 if (UNTAG_Bool(REGB1)) {
7252 REGB1 = TAG_Bool(false);
7253 REGB0 = REGB1;
7254 } else {
7255 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7256 REGB0 = REGB1;
7257 }
7258 }
7259 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7260 if (UNTAG_Bool(REGB0)) {
7261 /* parser/parser.nit:1697 */
7262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
7263 }
7264 /* parser/parser.nit:1699 */
7265 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
7266 /* parser/parser.nit:1704 */
7267 fra.me.REG[2] = fra.me.REG[6];
7268 /* parser/parser.nit:1705 */
7269 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7270 if (UNTAG_Bool(REGB0)) {
7271 } else {
7272 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1705);
7273 }
7274 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7275 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7276 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7277 stack_frame_head = fra.me.prev;
7278 return;
7279 }
7280 void parser___ReduceAction25___action(val_t p0, val_t p1){
7281 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7282 val_t REGB0;
7283 val_t REGB1;
7284 val_t tmp;
7285 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7286 fra.me.file = LOCATE_parser;
7287 fra.me.line = 1710;
7288 fra.me.meth = LOCATE_parser___ReduceAction25___action;
7289 fra.me.has_broke = 0;
7290 fra.me.REG_size = 9;
7291 fra.me.nitni_local_ref_head = NULL;
7292 fra.me.REG[0] = NIT_NULL;
7293 fra.me.REG[1] = NIT_NULL;
7294 fra.me.REG[2] = NIT_NULL;
7295 fra.me.REG[3] = NIT_NULL;
7296 fra.me.REG[4] = NIT_NULL;
7297 fra.me.REG[5] = NIT_NULL;
7298 fra.me.REG[6] = NIT_NULL;
7299 fra.me.REG[7] = NIT_NULL;
7300 fra.me.REG[8] = NIT_NULL;
7301 fra.me.REG[0] = p0;
7302 fra.me.REG[1] = p1;
7303 /* parser/parser.nit:1712 */
7304 fra.me.REG[2] = NIT_NULL;
7305 /* parser/parser.nit:1713 */
7306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7307 /* parser/parser.nit:1714 */
7308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7309 /* parser/parser.nit:1715 */
7310 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7311 /* parser/parser.nit:1716 */
7312 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7313 /* parser/parser.nit:1717 */
7314 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7315 /* parser/parser.nit:1719 */
7316 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
7317 if (UNTAG_Bool(REGB0)) {
7318 } else {
7319 nit_abort("Assert failed", NULL, LOCATE_parser, 1719);
7320 }
7321 /* parser/parser.nit:1720 */
7322 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7323 /* parser/parser.nit:1722 */
7324 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7325 if (UNTAG_Bool(REGB0)) {
7326 } else {
7327 nit_abort("Assert failed", NULL, LOCATE_parser, 1722);
7328 }
7329 /* parser/parser.nit:1723 */
7330 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
7331 fra.me.REG[8] = fra.me.REG[4];
7332 /* parser/parser.nit:1724 */
7333 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
7334 /* parser/parser.nit:1728 */
7335 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7336 if (UNTAG_Bool(REGB0)) {
7337 } else {
7338 nit_abort("Assert failed", NULL, LOCATE_parser, 1728);
7339 }
7340 /* parser/parser.nit:1729 */
7341 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7342 if (UNTAG_Bool(REGB0)) {
7343 } else {
7344 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7345 if (UNTAG_Bool(REGB1)) {
7346 REGB1 = TAG_Bool(false);
7347 REGB0 = REGB1;
7348 } else {
7349 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
7350 REGB0 = REGB1;
7351 }
7352 }
7353 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7354 if (UNTAG_Bool(REGB0)) {
7355 /* parser/parser.nit:1730 */
7356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
7357 }
7358 /* parser/parser.nit:1732 */
7359 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7360 if (UNTAG_Bool(REGB0)) {
7361 } else {
7362 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7363 if (UNTAG_Bool(REGB1)) {
7364 REGB1 = TAG_Bool(false);
7365 REGB0 = REGB1;
7366 } else {
7367 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7368 REGB0 = REGB1;
7369 }
7370 }
7371 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7372 if (UNTAG_Bool(REGB0)) {
7373 /* parser/parser.nit:1733 */
7374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
7375 }
7376 /* parser/parser.nit:1735 */
7377 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
7378 /* parser/parser.nit:1740 */
7379 fra.me.REG[2] = fra.me.REG[7];
7380 /* parser/parser.nit:1741 */
7381 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7382 if (UNTAG_Bool(REGB0)) {
7383 } else {
7384 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1741);
7385 }
7386 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7387 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7388 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7389 stack_frame_head = fra.me.prev;
7390 return;
7391 }
7392 void parser___ReduceAction26___action(val_t p0, val_t p1){
7393 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7394 val_t REGB0;
7395 val_t REGB1;
7396 val_t tmp;
7397 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7398 fra.me.file = LOCATE_parser;
7399 fra.me.line = 1746;
7400 fra.me.meth = LOCATE_parser___ReduceAction26___action;
7401 fra.me.has_broke = 0;
7402 fra.me.REG_size = 8;
7403 fra.me.nitni_local_ref_head = NULL;
7404 fra.me.REG[0] = NIT_NULL;
7405 fra.me.REG[1] = NIT_NULL;
7406 fra.me.REG[2] = NIT_NULL;
7407 fra.me.REG[3] = NIT_NULL;
7408 fra.me.REG[4] = NIT_NULL;
7409 fra.me.REG[5] = NIT_NULL;
7410 fra.me.REG[6] = NIT_NULL;
7411 fra.me.REG[7] = NIT_NULL;
7412 fra.me.REG[0] = p0;
7413 fra.me.REG[1] = p1;
7414 /* parser/parser.nit:1748 */
7415 fra.me.REG[2] = NIT_NULL;
7416 /* parser/parser.nit:1749 */
7417 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7418 /* parser/parser.nit:1750 */
7419 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7420 /* parser/parser.nit:1751 */
7421 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7422 /* parser/parser.nit:1752 */
7423 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7424 /* parser/parser.nit:1753 */
7425 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7426 /* parser/parser.nit:1755 */
7427 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7428 if (UNTAG_Bool(REGB0)) {
7429 } else {
7430 nit_abort("Assert failed", NULL, LOCATE_parser, 1755);
7431 }
7432 /* parser/parser.nit:1756 */
7433 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
7434 fra.me.REG[6] = fra.me.REG[5];
7435 /* parser/parser.nit:1757 */
7436 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7437 /* parser/parser.nit:1759 */
7438 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7439 if (UNTAG_Bool(REGB0)) {
7440 } else {
7441 nit_abort("Assert failed", NULL, LOCATE_parser, 1759);
7442 }
7443 /* parser/parser.nit:1760 */
7444 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
7445 fra.me.REG[5] = fra.me.REG[4];
7446 /* parser/parser.nit:1761 */
7447 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
7448 /* parser/parser.nit:1765 */
7449 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7450 if (UNTAG_Bool(REGB0)) {
7451 } else {
7452 nit_abort("Assert failed", NULL, LOCATE_parser, 1765);
7453 }
7454 /* parser/parser.nit:1766 */
7455 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7456 if (UNTAG_Bool(REGB0)) {
7457 } else {
7458 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7459 if (UNTAG_Bool(REGB1)) {
7460 REGB1 = TAG_Bool(false);
7461 REGB0 = REGB1;
7462 } else {
7463 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
7464 REGB0 = REGB1;
7465 }
7466 }
7467 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7468 if (UNTAG_Bool(REGB0)) {
7469 /* parser/parser.nit:1767 */
7470 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
7471 }
7472 /* parser/parser.nit:1769 */
7473 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7474 if (UNTAG_Bool(REGB0)) {
7475 } else {
7476 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7477 if (UNTAG_Bool(REGB1)) {
7478 REGB1 = TAG_Bool(false);
7479 REGB0 = REGB1;
7480 } else {
7481 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7482 REGB0 = REGB1;
7483 }
7484 }
7485 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7486 if (UNTAG_Bool(REGB0)) {
7487 /* parser/parser.nit:1770 */
7488 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
7489 }
7490 /* parser/parser.nit:1772 */
7491 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
7492 /* parser/parser.nit:1777 */
7493 fra.me.REG[2] = fra.me.REG[7];
7494 /* parser/parser.nit:1778 */
7495 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7496 if (UNTAG_Bool(REGB0)) {
7497 } else {
7498 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1778);
7499 }
7500 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7501 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7502 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7503 stack_frame_head = fra.me.prev;
7504 return;
7505 }
7506 void parser___ReduceAction27___action(val_t p0, val_t p1){
7507 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7508 val_t REGB0;
7509 val_t REGB1;
7510 val_t tmp;
7511 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7512 fra.me.file = LOCATE_parser;
7513 fra.me.line = 1783;
7514 fra.me.meth = LOCATE_parser___ReduceAction27___action;
7515 fra.me.has_broke = 0;
7516 fra.me.REG_size = 9;
7517 fra.me.nitni_local_ref_head = NULL;
7518 fra.me.REG[0] = NIT_NULL;
7519 fra.me.REG[1] = NIT_NULL;
7520 fra.me.REG[2] = NIT_NULL;
7521 fra.me.REG[3] = NIT_NULL;
7522 fra.me.REG[4] = NIT_NULL;
7523 fra.me.REG[5] = NIT_NULL;
7524 fra.me.REG[6] = NIT_NULL;
7525 fra.me.REG[7] = NIT_NULL;
7526 fra.me.REG[8] = NIT_NULL;
7527 fra.me.REG[0] = p0;
7528 fra.me.REG[1] = p1;
7529 /* parser/parser.nit:1785 */
7530 fra.me.REG[2] = NIT_NULL;
7531 /* parser/parser.nit:1786 */
7532 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7533 /* parser/parser.nit:1787 */
7534 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7535 /* parser/parser.nit:1788 */
7536 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7537 /* parser/parser.nit:1789 */
7538 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7539 /* parser/parser.nit:1790 */
7540 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7541 /* parser/parser.nit:1791 */
7542 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7543 /* parser/parser.nit:1793 */
7544 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
7545 if (UNTAG_Bool(REGB0)) {
7546 } else {
7547 nit_abort("Assert failed", NULL, LOCATE_parser, 1793);
7548 }
7549 /* parser/parser.nit:1795 */
7550 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7551 if (UNTAG_Bool(REGB0)) {
7552 } else {
7553 nit_abort("Assert failed", NULL, LOCATE_parser, 1795);
7554 }
7555 /* parser/parser.nit:1796 */
7556 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
7557 fra.me.REG[7] = fra.me.REG[5];
7558 /* parser/parser.nit:1797 */
7559 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7560 /* parser/parser.nit:1799 */
7561 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7562 if (UNTAG_Bool(REGB0)) {
7563 } else {
7564 nit_abort("Assert failed", NULL, LOCATE_parser, 1799);
7565 }
7566 /* parser/parser.nit:1800 */
7567 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
7568 fra.me.REG[5] = fra.me.REG[4];
7569 /* parser/parser.nit:1801 */
7570 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
7571 /* parser/parser.nit:1805 */
7572 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7573 if (UNTAG_Bool(REGB0)) {
7574 } else {
7575 nit_abort("Assert failed", NULL, LOCATE_parser, 1805);
7576 }
7577 /* parser/parser.nit:1806 */
7578 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7579 if (UNTAG_Bool(REGB0)) {
7580 } else {
7581 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7582 if (UNTAG_Bool(REGB1)) {
7583 REGB1 = TAG_Bool(false);
7584 REGB0 = REGB1;
7585 } else {
7586 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
7587 REGB0 = REGB1;
7588 }
7589 }
7590 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7591 if (UNTAG_Bool(REGB0)) {
7592 /* parser/parser.nit:1807 */
7593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
7594 }
7595 /* parser/parser.nit:1809 */
7596 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7597 if (UNTAG_Bool(REGB0)) {
7598 } else {
7599 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7600 if (UNTAG_Bool(REGB1)) {
7601 REGB1 = TAG_Bool(false);
7602 REGB0 = REGB1;
7603 } else {
7604 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7605 REGB0 = REGB1;
7606 }
7607 }
7608 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7609 if (UNTAG_Bool(REGB0)) {
7610 /* parser/parser.nit:1810 */
7611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
7612 }
7613 /* parser/parser.nit:1812 */
7614 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7615 /* parser/parser.nit:1817 */
7616 fra.me.REG[2] = fra.me.REG[8];
7617 /* parser/parser.nit:1818 */
7618 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7619 if (UNTAG_Bool(REGB0)) {
7620 } else {
7621 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1818);
7622 }
7623 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7624 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7625 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7626 stack_frame_head = fra.me.prev;
7627 return;
7628 }
7629 void parser___ReduceAction28___action(val_t p0, val_t p1){
7630 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7631 val_t REGB0;
7632 val_t REGB1;
7633 val_t tmp;
7634 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7635 fra.me.file = LOCATE_parser;
7636 fra.me.line = 1823;
7637 fra.me.meth = LOCATE_parser___ReduceAction28___action;
7638 fra.me.has_broke = 0;
7639 fra.me.REG_size = 9;
7640 fra.me.nitni_local_ref_head = NULL;
7641 fra.me.REG[0] = NIT_NULL;
7642 fra.me.REG[1] = NIT_NULL;
7643 fra.me.REG[2] = NIT_NULL;
7644 fra.me.REG[3] = NIT_NULL;
7645 fra.me.REG[4] = NIT_NULL;
7646 fra.me.REG[5] = NIT_NULL;
7647 fra.me.REG[6] = NIT_NULL;
7648 fra.me.REG[7] = NIT_NULL;
7649 fra.me.REG[8] = NIT_NULL;
7650 fra.me.REG[0] = p0;
7651 fra.me.REG[1] = p1;
7652 /* parser/parser.nit:1825 */
7653 fra.me.REG[2] = NIT_NULL;
7654 /* parser/parser.nit:1826 */
7655 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7656 /* parser/parser.nit:1827 */
7657 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7658 /* parser/parser.nit:1828 */
7659 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7660 /* parser/parser.nit:1829 */
7661 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7662 /* parser/parser.nit:1830 */
7663 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7664 /* parser/parser.nit:1832 */
7665 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7666 if (UNTAG_Bool(REGB0)) {
7667 } else {
7668 nit_abort("Assert failed", NULL, LOCATE_parser, 1832);
7669 }
7670 /* parser/parser.nit:1833 */
7671 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7672 /* parser/parser.nit:1835 */
7673 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7674 if (UNTAG_Bool(REGB0)) {
7675 } else {
7676 nit_abort("Assert failed", NULL, LOCATE_parser, 1835);
7677 }
7678 /* parser/parser.nit:1836 */
7679 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
7680 fra.me.REG[8] = fra.me.REG[4];
7681 /* parser/parser.nit:1837 */
7682 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
7683 /* parser/parser.nit:1841 */
7684 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7685 if (UNTAG_Bool(REGB0)) {
7686 } else {
7687 nit_abort("Assert failed", NULL, LOCATE_parser, 1841);
7688 }
7689 /* parser/parser.nit:1842 */
7690 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
7691 fra.me.REG[7] = fra.me.REG[5];
7692 /* parser/parser.nit:1843 */
7693 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7694 if (UNTAG_Bool(REGB0)) {
7695 } else {
7696 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7697 if (UNTAG_Bool(REGB1)) {
7698 REGB1 = TAG_Bool(false);
7699 REGB0 = REGB1;
7700 } else {
7701 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
7702 REGB0 = REGB1;
7703 }
7704 }
7705 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7706 if (UNTAG_Bool(REGB0)) {
7707 /* parser/parser.nit:1844 */
7708 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
7709 }
7710 /* parser/parser.nit:1846 */
7711 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7712 if (UNTAG_Bool(REGB0)) {
7713 } else {
7714 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7715 if (UNTAG_Bool(REGB1)) {
7716 REGB1 = TAG_Bool(false);
7717 REGB0 = REGB1;
7718 } else {
7719 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7720 REGB0 = REGB1;
7721 }
7722 }
7723 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7724 if (UNTAG_Bool(REGB0)) {
7725 /* parser/parser.nit:1847 */
7726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
7727 }
7728 /* parser/parser.nit:1849 */
7729 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
7730 /* parser/parser.nit:1854 */
7731 fra.me.REG[2] = fra.me.REG[7];
7732 /* parser/parser.nit:1855 */
7733 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7734 if (UNTAG_Bool(REGB0)) {
7735 } else {
7736 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1855);
7737 }
7738 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7739 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7740 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7741 stack_frame_head = fra.me.prev;
7742 return;
7743 }
7744 void parser___ReduceAction29___action(val_t p0, val_t p1){
7745 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
7746 val_t REGB0;
7747 val_t REGB1;
7748 val_t tmp;
7749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7750 fra.me.file = LOCATE_parser;
7751 fra.me.line = 1860;
7752 fra.me.meth = LOCATE_parser___ReduceAction29___action;
7753 fra.me.has_broke = 0;
7754 fra.me.REG_size = 10;
7755 fra.me.nitni_local_ref_head = NULL;
7756 fra.me.REG[0] = NIT_NULL;
7757 fra.me.REG[1] = NIT_NULL;
7758 fra.me.REG[2] = NIT_NULL;
7759 fra.me.REG[3] = NIT_NULL;
7760 fra.me.REG[4] = NIT_NULL;
7761 fra.me.REG[5] = NIT_NULL;
7762 fra.me.REG[6] = NIT_NULL;
7763 fra.me.REG[7] = NIT_NULL;
7764 fra.me.REG[8] = NIT_NULL;
7765 fra.me.REG[9] = NIT_NULL;
7766 fra.me.REG[0] = p0;
7767 fra.me.REG[1] = p1;
7768 /* parser/parser.nit:1862 */
7769 fra.me.REG[2] = NIT_NULL;
7770 /* parser/parser.nit:1863 */
7771 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7772 /* parser/parser.nit:1864 */
7773 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7774 /* parser/parser.nit:1865 */
7775 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7776 /* parser/parser.nit:1866 */
7777 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7778 /* parser/parser.nit:1867 */
7779 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7780 /* parser/parser.nit:1868 */
7781 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7782 /* parser/parser.nit:1870 */
7783 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
7784 if (UNTAG_Bool(REGB0)) {
7785 } else {
7786 nit_abort("Assert failed", NULL, LOCATE_parser, 1870);
7787 }
7788 /* parser/parser.nit:1872 */
7789 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7790 if (UNTAG_Bool(REGB0)) {
7791 } else {
7792 nit_abort("Assert failed", NULL, LOCATE_parser, 1872);
7793 }
7794 /* parser/parser.nit:1873 */
7795 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
7796 /* parser/parser.nit:1875 */
7797 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7798 if (UNTAG_Bool(REGB0)) {
7799 } else {
7800 nit_abort("Assert failed", NULL, LOCATE_parser, 1875);
7801 }
7802 /* parser/parser.nit:1876 */
7803 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
7804 fra.me.REG[9] = fra.me.REG[4];
7805 /* parser/parser.nit:1877 */
7806 fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
7807 /* parser/parser.nit:1881 */
7808 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7809 if (UNTAG_Bool(REGB0)) {
7810 } else {
7811 nit_abort("Assert failed", NULL, LOCATE_parser, 1881);
7812 }
7813 /* parser/parser.nit:1882 */
7814 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
7815 fra.me.REG[8] = fra.me.REG[5];
7816 /* parser/parser.nit:1883 */
7817 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
7818 if (UNTAG_Bool(REGB0)) {
7819 } else {
7820 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
7821 if (UNTAG_Bool(REGB1)) {
7822 REGB1 = TAG_Bool(false);
7823 REGB0 = REGB1;
7824 } else {
7825 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
7826 REGB0 = REGB1;
7827 }
7828 }
7829 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7830 if (UNTAG_Bool(REGB0)) {
7831 /* parser/parser.nit:1884 */
7832 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
7833 }
7834 /* parser/parser.nit:1886 */
7835 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7836 if (UNTAG_Bool(REGB0)) {
7837 } else {
7838 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7839 if (UNTAG_Bool(REGB1)) {
7840 REGB1 = TAG_Bool(false);
7841 REGB0 = REGB1;
7842 } else {
7843 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7844 REGB0 = REGB1;
7845 }
7846 }
7847 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7848 if (UNTAG_Bool(REGB0)) {
7849 /* parser/parser.nit:1887 */
7850 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
7851 }
7852 /* parser/parser.nit:1889 */
7853 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7854 /* parser/parser.nit:1894 */
7855 fra.me.REG[2] = fra.me.REG[8];
7856 /* parser/parser.nit:1895 */
7857 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7858 if (UNTAG_Bool(REGB0)) {
7859 } else {
7860 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1895);
7861 }
7862 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7863 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7864 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7865 stack_frame_head = fra.me.prev;
7866 return;
7867 }
7868 void parser___ReduceAction30___action(val_t p0, val_t p1){
7869 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7870 val_t REGB0;
7871 val_t REGB1;
7872 val_t tmp;
7873 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7874 fra.me.file = LOCATE_parser;
7875 fra.me.line = 1900;
7876 fra.me.meth = LOCATE_parser___ReduceAction30___action;
7877 fra.me.has_broke = 0;
7878 fra.me.REG_size = 9;
7879 fra.me.nitni_local_ref_head = NULL;
7880 fra.me.REG[0] = NIT_NULL;
7881 fra.me.REG[1] = NIT_NULL;
7882 fra.me.REG[2] = NIT_NULL;
7883 fra.me.REG[3] = NIT_NULL;
7884 fra.me.REG[4] = NIT_NULL;
7885 fra.me.REG[5] = NIT_NULL;
7886 fra.me.REG[6] = NIT_NULL;
7887 fra.me.REG[7] = NIT_NULL;
7888 fra.me.REG[8] = NIT_NULL;
7889 fra.me.REG[0] = p0;
7890 fra.me.REG[1] = p1;
7891 /* parser/parser.nit:1902 */
7892 fra.me.REG[2] = NIT_NULL;
7893 /* parser/parser.nit:1903 */
7894 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7895 /* parser/parser.nit:1904 */
7896 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7897 /* parser/parser.nit:1905 */
7898 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7899 /* parser/parser.nit:1906 */
7900 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7901 /* parser/parser.nit:1907 */
7902 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7903 /* parser/parser.nit:1908 */
7904 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7905 /* parser/parser.nit:1910 */
7906 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7907 if (UNTAG_Bool(REGB0)) {
7908 } else {
7909 nit_abort("Assert failed", NULL, LOCATE_parser, 1910);
7910 }
7911 /* parser/parser.nit:1911 */
7912 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
7913 fra.me.REG[7] = fra.me.REG[6];
7914 /* parser/parser.nit:1913 */
7915 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7916 if (UNTAG_Bool(REGB0)) {
7917 } else {
7918 nit_abort("Assert failed", NULL, LOCATE_parser, 1913);
7919 }
7920 /* parser/parser.nit:1914 */
7921 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7922 /* parser/parser.nit:1916 */
7923 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
7924 if (UNTAG_Bool(REGB0)) {
7925 } else {
7926 nit_abort("Assert failed", NULL, LOCATE_parser, 1916);
7927 }
7928 /* parser/parser.nit:1917 */
7929 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
7930 fra.me.REG[6] = fra.me.REG[4];
7931 /* parser/parser.nit:1918 */
7932 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
7933 /* parser/parser.nit:1922 */
7934 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
7935 if (UNTAG_Bool(REGB0)) {
7936 } else {
7937 nit_abort("Assert failed", NULL, LOCATE_parser, 1922);
7938 }
7939 /* parser/parser.nit:1923 */
7940 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
7941 fra.me.REG[8] = fra.me.REG[5];
7942 /* parser/parser.nit:1924 */
7943 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
7944 if (UNTAG_Bool(REGB0)) {
7945 } else {
7946 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
7947 if (UNTAG_Bool(REGB1)) {
7948 REGB1 = TAG_Bool(false);
7949 REGB0 = REGB1;
7950 } else {
7951 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
7952 REGB0 = REGB1;
7953 }
7954 }
7955 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7956 if (UNTAG_Bool(REGB0)) {
7957 /* parser/parser.nit:1925 */
7958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[6]);
7959 }
7960 /* parser/parser.nit:1927 */
7961 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7962 if (UNTAG_Bool(REGB0)) {
7963 } else {
7964 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7965 if (UNTAG_Bool(REGB1)) {
7966 REGB1 = TAG_Bool(false);
7967 REGB0 = REGB1;
7968 } else {
7969 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7970 REGB0 = REGB1;
7971 }
7972 }
7973 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7974 if (UNTAG_Bool(REGB0)) {
7975 /* parser/parser.nit:1928 */
7976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
7977 }
7978 /* parser/parser.nit:1930 */
7979 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8]);
7980 /* parser/parser.nit:1935 */
7981 fra.me.REG[2] = fra.me.REG[8];
7982 /* parser/parser.nit:1936 */
7983 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7984 if (UNTAG_Bool(REGB0)) {
7985 } else {
7986 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1936);
7987 }
7988 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7989 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7990 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7991 stack_frame_head = fra.me.prev;
7992 return;
7993 }
7994 void parser___ReduceAction31___action(val_t p0, val_t p1){
7995 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
7996 val_t REGB0;
7997 val_t REGB1;
7998 val_t tmp;
7999 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8000 fra.me.file = LOCATE_parser;
8001 fra.me.line = 1941;
8002 fra.me.meth = LOCATE_parser___ReduceAction31___action;
8003 fra.me.has_broke = 0;
8004 fra.me.REG_size = 10;
8005 fra.me.nitni_local_ref_head = NULL;
8006 fra.me.REG[0] = NIT_NULL;
8007 fra.me.REG[1] = NIT_NULL;
8008 fra.me.REG[2] = NIT_NULL;
8009 fra.me.REG[3] = NIT_NULL;
8010 fra.me.REG[4] = NIT_NULL;
8011 fra.me.REG[5] = NIT_NULL;
8012 fra.me.REG[6] = NIT_NULL;
8013 fra.me.REG[7] = NIT_NULL;
8014 fra.me.REG[8] = NIT_NULL;
8015 fra.me.REG[9] = NIT_NULL;
8016 fra.me.REG[0] = p0;
8017 fra.me.REG[1] = p1;
8018 /* parser/parser.nit:1943 */
8019 fra.me.REG[2] = NIT_NULL;
8020 /* parser/parser.nit:1944 */
8021 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8022 /* parser/parser.nit:1945 */
8023 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8024 /* parser/parser.nit:1946 */
8025 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8026 /* parser/parser.nit:1947 */
8027 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8028 /* parser/parser.nit:1948 */
8029 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8030 /* parser/parser.nit:1949 */
8031 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8032 /* parser/parser.nit:1950 */
8033 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8034 /* parser/parser.nit:1952 */
8035 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
8036 if (UNTAG_Bool(REGB0)) {
8037 } else {
8038 nit_abort("Assert failed", NULL, LOCATE_parser, 1952);
8039 }
8040 /* parser/parser.nit:1954 */
8041 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
8042 if (UNTAG_Bool(REGB0)) {
8043 } else {
8044 nit_abort("Assert failed", NULL, LOCATE_parser, 1954);
8045 }
8046 /* parser/parser.nit:1955 */
8047 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
8048 fra.me.REG[8] = fra.me.REG[6];
8049 /* parser/parser.nit:1957 */
8050 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
8051 if (UNTAG_Bool(REGB0)) {
8052 } else {
8053 nit_abort("Assert failed", NULL, LOCATE_parser, 1957);
8054 }
8055 /* parser/parser.nit:1958 */
8056 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8057 /* parser/parser.nit:1960 */
8058 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
8059 if (UNTAG_Bool(REGB0)) {
8060 } else {
8061 nit_abort("Assert failed", NULL, LOCATE_parser, 1960);
8062 }
8063 /* parser/parser.nit:1961 */
8064 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
8065 fra.me.REG[6] = fra.me.REG[4];
8066 /* parser/parser.nit:1962 */
8067 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
8068 /* parser/parser.nit:1966 */
8069 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AClassdef, ID_parser___parser_nodes___AClassdef)) /*cast nullable AClassdef*/;
8070 if (UNTAG_Bool(REGB0)) {
8071 } else {
8072 nit_abort("Assert failed", NULL, LOCATE_parser, 1966);
8073 }
8074 /* parser/parser.nit:1967 */
8075 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
8076 fra.me.REG[9] = fra.me.REG[5];
8077 /* parser/parser.nit:1968 */
8078 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
8079 if (UNTAG_Bool(REGB0)) {
8080 } else {
8081 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
8082 if (UNTAG_Bool(REGB1)) {
8083 REGB1 = TAG_Bool(false);
8084 REGB0 = REGB1;
8085 } else {
8086 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
8087 REGB0 = REGB1;
8088 }
8089 }
8090 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8091 if (UNTAG_Bool(REGB0)) {
8092 /* parser/parser.nit:1969 */
8093 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
8094 }
8095 /* parser/parser.nit:1971 */
8096 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8097 if (UNTAG_Bool(REGB0)) {
8098 } else {
8099 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8100 if (UNTAG_Bool(REGB1)) {
8101 REGB1 = TAG_Bool(false);
8102 REGB0 = REGB1;
8103 } else {
8104 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8105 REGB0 = REGB1;
8106 }
8107 }
8108 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8109 if (UNTAG_Bool(REGB0)) {
8110 /* parser/parser.nit:1972 */
8111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
8112 }
8113 /* parser/parser.nit:1974 */
8114 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
8115 /* parser/parser.nit:1979 */
8116 fra.me.REG[2] = fra.me.REG[9];
8117 /* parser/parser.nit:1980 */
8118 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8119 if (UNTAG_Bool(REGB0)) {
8120 } else {
8121 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1980);
8122 }
8123 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8124 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8125 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8126 stack_frame_head = fra.me.prev;
8127 return;
8128 }
8129 void parser___ReduceAction32___action(val_t p0, val_t p1){
8130 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
8131 val_t REGB0;
8132 val_t tmp;
8133 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8134 fra.me.file = LOCATE_parser;
8135 fra.me.line = 1985;
8136 fra.me.meth = LOCATE_parser___ReduceAction32___action;
8137 fra.me.has_broke = 0;
8138 fra.me.REG_size = 6;
8139 fra.me.nitni_local_ref_head = NULL;
8140 fra.me.REG[0] = NIT_NULL;
8141 fra.me.REG[1] = NIT_NULL;
8142 fra.me.REG[2] = NIT_NULL;
8143 fra.me.REG[3] = NIT_NULL;
8144 fra.me.REG[4] = NIT_NULL;
8145 fra.me.REG[5] = NIT_NULL;
8146 fra.me.REG[0] = p0;
8147 fra.me.REG[1] = p1;
8148 /* parser/parser.nit:1987 */
8149 fra.me.REG[2] = NIT_NULL;
8150 /* parser/parser.nit:1988 */
8151 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8152 /* parser/parser.nit:1989 */
8153 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8154 /* parser/parser.nit:1990 */
8155 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8156 /* parser/parser.nit:1991 */
8157 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8158 /* parser/parser.nit:1992 */
8159 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8160 /* parser/parser.nit:1994 */
8161 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
8162 if (UNTAG_Bool(REGB0)) {
8163 } else {
8164 nit_abort("Assert failed", NULL, LOCATE_parser, 1994);
8165 }
8166 /* parser/parser.nit:1996 */
8167 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwmodule, ID_parser___parser_nodes___TKwmodule)) /*cast nullable TKwmodule*/;
8168 if (UNTAG_Bool(REGB0)) {
8169 } else {
8170 nit_abort("Assert failed", NULL, LOCATE_parser, 1996);
8171 }
8172 /* parser/parser.nit:1998 */
8173 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AModuleName, ID_parser___parser_nodes___AModuleName)) /*cast nullable AModuleName*/;
8174 if (UNTAG_Bool(REGB0)) {
8175 } else {
8176 nit_abort("Assert failed", NULL, LOCATE_parser, 1998);
8177 }
8178 /* parser/parser.nit:1999 */
8179 fra.me.REG[3] = NEW_AModuledecl_parser___parser_prod___AModuledecl___init_amoduledecl(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
8180 /* parser/parser.nit:2004 */
8181 fra.me.REG[2] = fra.me.REG[3];
8182 /* parser/parser.nit:2005 */
8183 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8184 if (UNTAG_Bool(REGB0)) {
8185 } else {
8186 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2005);
8187 }
8188 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8189 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8190 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8191 stack_frame_head = fra.me.prev;
8192 return;
8193 }
8194 void parser___ReduceAction33___action(val_t p0, val_t p1){
8195 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8196 val_t REGB0;
8197 val_t tmp;
8198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8199 fra.me.file = LOCATE_parser;
8200 fra.me.line = 2010;
8201 fra.me.meth = LOCATE_parser___ReduceAction33___action;
8202 fra.me.has_broke = 0;
8203 fra.me.REG_size = 7;
8204 fra.me.nitni_local_ref_head = NULL;
8205 fra.me.REG[0] = NIT_NULL;
8206 fra.me.REG[1] = NIT_NULL;
8207 fra.me.REG[2] = NIT_NULL;
8208 fra.me.REG[3] = NIT_NULL;
8209 fra.me.REG[4] = NIT_NULL;
8210 fra.me.REG[5] = NIT_NULL;
8211 fra.me.REG[6] = NIT_NULL;
8212 fra.me.REG[0] = p0;
8213 fra.me.REG[1] = p1;
8214 /* parser/parser.nit:2012 */
8215 fra.me.REG[2] = NIT_NULL;
8216 /* parser/parser.nit:2013 */
8217 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8218 /* parser/parser.nit:2014 */
8219 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8220 /* parser/parser.nit:2015 */
8221 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8222 /* parser/parser.nit:2016 */
8223 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8224 /* parser/parser.nit:2017 */
8225 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8226 /* parser/parser.nit:2018 */
8227 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8228 /* parser/parser.nit:2020 */
8229 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
8230 if (UNTAG_Bool(REGB0)) {
8231 } else {
8232 nit_abort("Assert failed", NULL, LOCATE_parser, 2020);
8233 }
8234 /* parser/parser.nit:2022 */
8235 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
8236 if (UNTAG_Bool(REGB0)) {
8237 } else {
8238 nit_abort("Assert failed", NULL, LOCATE_parser, 2022);
8239 }
8240 /* parser/parser.nit:2024 */
8241 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AModuleName, ID_parser___parser_nodes___AModuleName)) /*cast nullable AModuleName*/;
8242 if (UNTAG_Bool(REGB0)) {
8243 } else {
8244 nit_abort("Assert failed", NULL, LOCATE_parser, 2024);
8245 }
8246 /* parser/parser.nit:2025 */
8247 fra.me.REG[3] = NEW_AStdImport_parser___parser_prod___AStdImport___init_astdimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
8248 /* parser/parser.nit:2030 */
8249 fra.me.REG[2] = fra.me.REG[3];
8250 /* parser/parser.nit:2031 */
8251 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8252 if (UNTAG_Bool(REGB0)) {
8253 } else {
8254 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2031);
8255 }
8256 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8258 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8259 stack_frame_head = fra.me.prev;
8260 return;
8261 }
8262 void parser___ReduceAction34___action(val_t p0, val_t p1){
8263 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8264 val_t REGB0;
8265 val_t tmp;
8266 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8267 fra.me.file = LOCATE_parser;
8268 fra.me.line = 2036;
8269 fra.me.meth = LOCATE_parser___ReduceAction34___action;
8270 fra.me.has_broke = 0;
8271 fra.me.REG_size = 7;
8272 fra.me.nitni_local_ref_head = NULL;
8273 fra.me.REG[0] = NIT_NULL;
8274 fra.me.REG[1] = NIT_NULL;
8275 fra.me.REG[2] = NIT_NULL;
8276 fra.me.REG[3] = NIT_NULL;
8277 fra.me.REG[4] = NIT_NULL;
8278 fra.me.REG[5] = NIT_NULL;
8279 fra.me.REG[6] = NIT_NULL;
8280 fra.me.REG[0] = p0;
8281 fra.me.REG[1] = p1;
8282 /* parser/parser.nit:2038 */
8283 fra.me.REG[2] = NIT_NULL;
8284 /* parser/parser.nit:2039 */
8285 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8286 /* parser/parser.nit:2040 */
8287 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8288 /* parser/parser.nit:2041 */
8289 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8290 /* parser/parser.nit:2042 */
8291 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8292 /* parser/parser.nit:2043 */
8293 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8294 /* parser/parser.nit:2044 */
8295 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8296 /* parser/parser.nit:2046 */
8297 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
8298 if (UNTAG_Bool(REGB0)) {
8299 } else {
8300 nit_abort("Assert failed", NULL, LOCATE_parser, 2046);
8301 }
8302 /* parser/parser.nit:2048 */
8303 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
8304 if (UNTAG_Bool(REGB0)) {
8305 } else {
8306 nit_abort("Assert failed", NULL, LOCATE_parser, 2048);
8307 }
8308 /* parser/parser.nit:2050 */
8309 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
8310 if (UNTAG_Bool(REGB0)) {
8311 } else {
8312 nit_abort("Assert failed", NULL, LOCATE_parser, 2050);
8313 }
8314 /* parser/parser.nit:2051 */
8315 fra.me.REG[3] = NEW_ANoImport_parser___parser_prod___ANoImport___init_anoimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
8316 /* parser/parser.nit:2056 */
8317 fra.me.REG[2] = fra.me.REG[3];
8318 /* parser/parser.nit:2057 */
8319 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8320 if (UNTAG_Bool(REGB0)) {
8321 } else {
8322 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2057);
8323 }
8324 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8325 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8326 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8327 stack_frame_head = fra.me.prev;
8328 return;
8329 }
8330 void parser___ReduceAction35___action(val_t p0, val_t p1){
8331 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
8332 val_t REGB0;
8333 val_t REGB1;
8334 val_t tmp;
8335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8336 fra.me.file = LOCATE_parser;
8337 fra.me.line = 2062;
8338 fra.me.meth = LOCATE_parser___ReduceAction35___action;
8339 fra.me.has_broke = 0;
8340 fra.me.REG_size = 5;
8341 fra.me.nitni_local_ref_head = NULL;
8342 fra.me.REG[0] = NIT_NULL;
8343 fra.me.REG[1] = NIT_NULL;
8344 fra.me.REG[2] = NIT_NULL;
8345 fra.me.REG[3] = NIT_NULL;
8346 fra.me.REG[4] = NIT_NULL;
8347 fra.me.REG[0] = p0;
8348 fra.me.REG[1] = p1;
8349 /* parser/parser.nit:2064 */
8350 fra.me.REG[2] = NIT_NULL;
8351 /* parser/parser.nit:2065 */
8352 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8353 /* parser/parser.nit:2066 */
8354 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
8355 /* parser/parser.nit:2068 */
8356 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___APropdef, ID_parser___parser_nodes___APropdef)) /*cast nullable APropdef*/;
8357 if (UNTAG_Bool(REGB0)) {
8358 } else {
8359 nit_abort("Assert failed", NULL, LOCATE_parser, 2068);
8360 }
8361 /* parser/parser.nit:2069 */
8362 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8363 if (UNTAG_Bool(REGB0)) {
8364 } else {
8365 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8366 if (UNTAG_Bool(REGB1)) {
8367 REGB1 = TAG_Bool(false);
8368 REGB0 = REGB1;
8369 } else {
8370 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8371 REGB0 = REGB1;
8372 }
8373 }
8374 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8375 if (UNTAG_Bool(REGB0)) {
8376 /* parser/parser.nit:2070 */
8377 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
8378 }
8379 /* parser/parser.nit:2072 */
8380 fra.me.REG[4] = NEW_AMainClassdef_parser___parser_prod___AMainClassdef___init_amainclassdef(fra.me.REG[4]);
8381 /* parser/parser.nit:2075 */
8382 fra.me.REG[2] = fra.me.REG[4];
8383 /* parser/parser.nit:2076 */
8384 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8385 if (UNTAG_Bool(REGB0)) {
8386 } else {
8387 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2076);
8388 }
8389 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8390 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8391 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8392 stack_frame_head = fra.me.prev;
8393 return;
8394 }
8395 void parser___ReduceAction36___action(val_t p0, val_t p1){
8396 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
8397 val_t REGB0;
8398 val_t tmp;
8399 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8400 fra.me.file = LOCATE_parser;
8401 fra.me.line = 2081;
8402 fra.me.meth = LOCATE_parser___ReduceAction36___action;
8403 fra.me.has_broke = 0;
8404 fra.me.REG_size = 4;
8405 fra.me.nitni_local_ref_head = NULL;
8406 fra.me.REG[0] = NIT_NULL;
8407 fra.me.REG[1] = NIT_NULL;
8408 fra.me.REG[2] = NIT_NULL;
8409 fra.me.REG[3] = NIT_NULL;
8410 fra.me.REG[0] = p0;
8411 fra.me.REG[1] = p1;
8412 /* parser/parser.nit:2083 */
8413 fra.me.REG[2] = NIT_NULL;
8414 /* parser/parser.nit:2084 */
8415 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8416 /* parser/parser.nit:2085 */
8417 fra.me.REG[2] = NIT_NULL;
8418 /* parser/parser.nit:2086 */
8419 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8420 if (UNTAG_Bool(REGB0)) {
8421 } else {
8422 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2086);
8423 }
8424 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8425 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8426 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8427 stack_frame_head = fra.me.prev;
8428 return;
8429 }
8430 void parser___ReduceAction37___action(val_t p0, val_t p1){
8431 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
8432 val_t REGB0;
8433 val_t tmp;
8434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8435 fra.me.file = LOCATE_parser;
8436 fra.me.line = 2091;
8437 fra.me.meth = LOCATE_parser___ReduceAction37___action;
8438 fra.me.has_broke = 0;
8439 fra.me.REG_size = 5;
8440 fra.me.nitni_local_ref_head = NULL;
8441 fra.me.REG[0] = NIT_NULL;
8442 fra.me.REG[1] = NIT_NULL;
8443 fra.me.REG[2] = NIT_NULL;
8444 fra.me.REG[3] = NIT_NULL;
8445 fra.me.REG[4] = NIT_NULL;
8446 fra.me.REG[0] = p0;
8447 fra.me.REG[1] = p1;
8448 /* parser/parser.nit:2093 */
8449 fra.me.REG[2] = NIT_NULL;
8450 /* parser/parser.nit:2094 */
8451 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8452 /* parser/parser.nit:2095 */
8453 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8454 /* parser/parser.nit:2097 */
8455 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
8456 if (UNTAG_Bool(REGB0)) {
8457 } else {
8458 nit_abort("Assert failed", NULL, LOCATE_parser, 2097);
8459 }
8460 /* parser/parser.nit:2098 */
8461 fra.me.REG[3] = NEW_AMainMethPropdef_parser___parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[3]);
8462 /* parser/parser.nit:2102 */
8463 fra.me.REG[2] = fra.me.REG[3];
8464 /* parser/parser.nit:2103 */
8465 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8466 if (UNTAG_Bool(REGB0)) {
8467 } else {
8468 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2103);
8469 }
8470 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8471 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8472 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8473 stack_frame_head = fra.me.prev;
8474 return;
8475 }
8476 void parser___ReduceAction39___action(val_t p0, val_t p1){
8477 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
8478 val_t REGB0;
8479 val_t tmp;
8480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8481 fra.me.file = LOCATE_parser;
8482 fra.me.line = 2108;
8483 fra.me.meth = LOCATE_parser___ReduceAction39___action;
8484 fra.me.has_broke = 0;
8485 fra.me.REG_size = 11;
8486 fra.me.nitni_local_ref_head = NULL;
8487 fra.me.REG[0] = NIT_NULL;
8488 fra.me.REG[1] = NIT_NULL;
8489 fra.me.REG[2] = NIT_NULL;
8490 fra.me.REG[3] = NIT_NULL;
8491 fra.me.REG[4] = NIT_NULL;
8492 fra.me.REG[5] = NIT_NULL;
8493 fra.me.REG[6] = NIT_NULL;
8494 fra.me.REG[7] = NIT_NULL;
8495 fra.me.REG[8] = NIT_NULL;
8496 fra.me.REG[9] = NIT_NULL;
8497 fra.me.REG[10] = NIT_NULL;
8498 fra.me.REG[0] = p0;
8499 fra.me.REG[1] = p1;
8500 /* parser/parser.nit:2110 */
8501 fra.me.REG[2] = NIT_NULL;
8502 /* parser/parser.nit:2111 */
8503 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8504 /* parser/parser.nit:2112 */
8505 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8506 /* parser/parser.nit:2113 */
8507 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8508 /* parser/parser.nit:2114 */
8509 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8510 /* parser/parser.nit:2115 */
8511 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8512 /* parser/parser.nit:2116 */
8513 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8514 /* parser/parser.nit:2117 */
8515 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8516 /* parser/parser.nit:2118 */
8517 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8518 /* parser/parser.nit:2119 */
8519 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8520 /* parser/parser.nit:2120 */
8521 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8522 /* parser/parser.nit:2122 */
8523 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
8524 if (UNTAG_Bool(REGB0)) {
8525 } else {
8526 nit_abort("Assert failed", NULL, LOCATE_parser, 2122);
8527 }
8528 /* parser/parser.nit:2124 */
8529 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
8530 if (UNTAG_Bool(REGB0)) {
8531 } else {
8532 nit_abort("Assert failed", NULL, LOCATE_parser, 2124);
8533 }
8534 /* parser/parser.nit:2126 */
8535 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
8536 if (UNTAG_Bool(REGB0)) {
8537 } else {
8538 nit_abort("Assert failed", NULL, LOCATE_parser, 2126);
8539 }
8540 /* parser/parser.nit:2128 */
8541 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
8542 if (UNTAG_Bool(REGB0)) {
8543 } else {
8544 nit_abort("Assert failed", NULL, LOCATE_parser, 2128);
8545 }
8546 /* parser/parser.nit:2130 */
8547 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
8548 if (UNTAG_Bool(REGB0)) {
8549 } else {
8550 nit_abort("Assert failed", NULL, LOCATE_parser, 2130);
8551 }
8552 /* parser/parser.nit:2131 */
8553 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10], fra.me.REG[3]);
8554 /* parser/parser.nit:2142 */
8555 fra.me.REG[2] = fra.me.REG[3];
8556 /* parser/parser.nit:2143 */
8557 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8558 if (UNTAG_Bool(REGB0)) {
8559 } else {
8560 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2143);
8561 }
8562 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8563 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8564 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8565 stack_frame_head = fra.me.prev;
8566 return;
8567 }
8568 void parser___ReduceAction40___action(val_t p0, val_t p1){
8569 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
8570 val_t REGB0;
8571 val_t tmp;
8572 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8573 fra.me.file = LOCATE_parser;
8574 fra.me.line = 2148;
8575 fra.me.meth = LOCATE_parser___ReduceAction40___action;
8576 fra.me.has_broke = 0;
8577 fra.me.REG_size = 12;
8578 fra.me.nitni_local_ref_head = NULL;
8579 fra.me.REG[0] = NIT_NULL;
8580 fra.me.REG[1] = NIT_NULL;
8581 fra.me.REG[2] = NIT_NULL;
8582 fra.me.REG[3] = NIT_NULL;
8583 fra.me.REG[4] = NIT_NULL;
8584 fra.me.REG[5] = NIT_NULL;
8585 fra.me.REG[6] = NIT_NULL;
8586 fra.me.REG[7] = NIT_NULL;
8587 fra.me.REG[8] = NIT_NULL;
8588 fra.me.REG[9] = NIT_NULL;
8589 fra.me.REG[10] = NIT_NULL;
8590 fra.me.REG[11] = NIT_NULL;
8591 fra.me.REG[0] = p0;
8592 fra.me.REG[1] = p1;
8593 /* parser/parser.nit:2150 */
8594 fra.me.REG[2] = NIT_NULL;
8595 /* parser/parser.nit:2151 */
8596 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8597 /* parser/parser.nit:2152 */
8598 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8599 /* parser/parser.nit:2153 */
8600 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8601 /* parser/parser.nit:2154 */
8602 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8603 /* parser/parser.nit:2155 */
8604 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8605 /* parser/parser.nit:2156 */
8606 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8607 /* parser/parser.nit:2157 */
8608 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8609 /* parser/parser.nit:2158 */
8610 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8611 /* parser/parser.nit:2159 */
8612 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8613 /* parser/parser.nit:2160 */
8614 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8615 /* parser/parser.nit:2161 */
8616 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
8617 /* parser/parser.nit:2163 */
8618 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
8619 if (UNTAG_Bool(REGB0)) {
8620 } else {
8621 nit_abort("Assert failed", NULL, LOCATE_parser, 2163);
8622 }
8623 /* parser/parser.nit:2165 */
8624 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
8625 if (UNTAG_Bool(REGB0)) {
8626 } else {
8627 nit_abort("Assert failed", NULL, LOCATE_parser, 2165);
8628 }
8629 /* parser/parser.nit:2167 */
8630 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
8631 if (UNTAG_Bool(REGB0)) {
8632 } else {
8633 nit_abort("Assert failed", NULL, LOCATE_parser, 2167);
8634 }
8635 /* parser/parser.nit:2169 */
8636 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
8637 if (UNTAG_Bool(REGB0)) {
8638 } else {
8639 nit_abort("Assert failed", NULL, LOCATE_parser, 2169);
8640 }
8641 /* parser/parser.nit:2171 */
8642 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
8643 if (UNTAG_Bool(REGB0)) {
8644 } else {
8645 nit_abort("Assert failed", NULL, LOCATE_parser, 2171);
8646 }
8647 /* parser/parser.nit:2173 */
8648 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
8649 if (UNTAG_Bool(REGB0)) {
8650 } else {
8651 nit_abort("Assert failed", NULL, LOCATE_parser, 2173);
8652 }
8653 /* parser/parser.nit:2174 */
8654 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
8655 /* parser/parser.nit:2185 */
8656 fra.me.REG[2] = fra.me.REG[3];
8657 /* parser/parser.nit:2186 */
8658 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8659 if (UNTAG_Bool(REGB0)) {
8660 } else {
8661 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2186);
8662 }
8663 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8664 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8665 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8666 stack_frame_head = fra.me.prev;
8667 return;
8668 }
8669 void parser___ReduceAction41___action(val_t p0, val_t p1){
8670 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
8671 val_t REGB0;
8672 val_t tmp;
8673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8674 fra.me.file = LOCATE_parser;
8675 fra.me.line = 2191;
8676 fra.me.meth = LOCATE_parser___ReduceAction41___action;
8677 fra.me.has_broke = 0;
8678 fra.me.REG_size = 12;
8679 fra.me.nitni_local_ref_head = NULL;
8680 fra.me.REG[0] = NIT_NULL;
8681 fra.me.REG[1] = NIT_NULL;
8682 fra.me.REG[2] = NIT_NULL;
8683 fra.me.REG[3] = NIT_NULL;
8684 fra.me.REG[4] = NIT_NULL;
8685 fra.me.REG[5] = NIT_NULL;
8686 fra.me.REG[6] = NIT_NULL;
8687 fra.me.REG[7] = NIT_NULL;
8688 fra.me.REG[8] = NIT_NULL;
8689 fra.me.REG[9] = NIT_NULL;
8690 fra.me.REG[10] = NIT_NULL;
8691 fra.me.REG[11] = NIT_NULL;
8692 fra.me.REG[0] = p0;
8693 fra.me.REG[1] = p1;
8694 /* parser/parser.nit:2193 */
8695 fra.me.REG[2] = NIT_NULL;
8696 /* parser/parser.nit:2194 */
8697 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8698 /* parser/parser.nit:2195 */
8699 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8700 /* parser/parser.nit:2196 */
8701 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8702 /* parser/parser.nit:2197 */
8703 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8704 /* parser/parser.nit:2198 */
8705 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8706 /* parser/parser.nit:2199 */
8707 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8708 /* parser/parser.nit:2200 */
8709 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8710 /* parser/parser.nit:2201 */
8711 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8712 /* parser/parser.nit:2202 */
8713 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8714 /* parser/parser.nit:2203 */
8715 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8716 /* parser/parser.nit:2204 */
8717 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
8718 /* parser/parser.nit:2206 */
8719 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
8720 if (UNTAG_Bool(REGB0)) {
8721 } else {
8722 nit_abort("Assert failed", NULL, LOCATE_parser, 2206);
8723 }
8724 /* parser/parser.nit:2208 */
8725 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
8726 if (UNTAG_Bool(REGB0)) {
8727 } else {
8728 nit_abort("Assert failed", NULL, LOCATE_parser, 2208);
8729 }
8730 /* parser/parser.nit:2210 */
8731 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
8732 if (UNTAG_Bool(REGB0)) {
8733 } else {
8734 nit_abort("Assert failed", NULL, LOCATE_parser, 2210);
8735 }
8736 /* parser/parser.nit:2212 */
8737 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
8738 if (UNTAG_Bool(REGB0)) {
8739 } else {
8740 nit_abort("Assert failed", NULL, LOCATE_parser, 2212);
8741 }
8742 /* parser/parser.nit:2214 */
8743 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
8744 if (UNTAG_Bool(REGB0)) {
8745 } else {
8746 nit_abort("Assert failed", NULL, LOCATE_parser, 2214);
8747 }
8748 /* parser/parser.nit:2215 */
8749 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
8750 fra.me.REG[9] = fra.me.REG[4];
8751 /* parser/parser.nit:2217 */
8752 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
8753 if (UNTAG_Bool(REGB0)) {
8754 } else {
8755 nit_abort("Assert failed", NULL, LOCATE_parser, 2217);
8756 }
8757 /* parser/parser.nit:2218 */
8758 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
8759 /* parser/parser.nit:2229 */
8760 fra.me.REG[2] = fra.me.REG[3];
8761 /* parser/parser.nit:2230 */
8762 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8763 if (UNTAG_Bool(REGB0)) {
8764 } else {
8765 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2230);
8766 }
8767 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8768 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8769 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8770 stack_frame_head = fra.me.prev;
8771 return;
8772 }
8773 void parser___ReduceAction42___action(val_t p0, val_t p1){
8774 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
8775 val_t REGB0;
8776 val_t tmp;
8777 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8778 fra.me.file = LOCATE_parser;
8779 fra.me.line = 2235;
8780 fra.me.meth = LOCATE_parser___ReduceAction42___action;
8781 fra.me.has_broke = 0;
8782 fra.me.REG_size = 13;
8783 fra.me.nitni_local_ref_head = NULL;
8784 fra.me.REG[0] = NIT_NULL;
8785 fra.me.REG[1] = NIT_NULL;
8786 fra.me.REG[2] = NIT_NULL;
8787 fra.me.REG[3] = NIT_NULL;
8788 fra.me.REG[4] = NIT_NULL;
8789 fra.me.REG[5] = NIT_NULL;
8790 fra.me.REG[6] = NIT_NULL;
8791 fra.me.REG[7] = NIT_NULL;
8792 fra.me.REG[8] = NIT_NULL;
8793 fra.me.REG[9] = NIT_NULL;
8794 fra.me.REG[10] = NIT_NULL;
8795 fra.me.REG[11] = NIT_NULL;
8796 fra.me.REG[12] = NIT_NULL;
8797 fra.me.REG[0] = p0;
8798 fra.me.REG[1] = p1;
8799 /* parser/parser.nit:2237 */
8800 fra.me.REG[2] = NIT_NULL;
8801 /* parser/parser.nit:2238 */
8802 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8803 /* parser/parser.nit:2239 */
8804 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8805 /* parser/parser.nit:2240 */
8806 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8807 /* parser/parser.nit:2241 */
8808 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8809 /* parser/parser.nit:2242 */
8810 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8811 /* parser/parser.nit:2243 */
8812 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8813 /* parser/parser.nit:2244 */
8814 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8815 /* parser/parser.nit:2245 */
8816 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8817 /* parser/parser.nit:2246 */
8818 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8819 /* parser/parser.nit:2247 */
8820 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8821 /* parser/parser.nit:2248 */
8822 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
8823 /* parser/parser.nit:2249 */
8824 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
8825 /* parser/parser.nit:2251 */
8826 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
8827 if (UNTAG_Bool(REGB0)) {
8828 } else {
8829 nit_abort("Assert failed", NULL, LOCATE_parser, 2251);
8830 }
8831 /* parser/parser.nit:2253 */
8832 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
8833 if (UNTAG_Bool(REGB0)) {
8834 } else {
8835 nit_abort("Assert failed", NULL, LOCATE_parser, 2253);
8836 }
8837 /* parser/parser.nit:2255 */
8838 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
8839 if (UNTAG_Bool(REGB0)) {
8840 } else {
8841 nit_abort("Assert failed", NULL, LOCATE_parser, 2255);
8842 }
8843 /* parser/parser.nit:2257 */
8844 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
8845 if (UNTAG_Bool(REGB0)) {
8846 } else {
8847 nit_abort("Assert failed", NULL, LOCATE_parser, 2257);
8848 }
8849 /* parser/parser.nit:2259 */
8850 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
8851 if (UNTAG_Bool(REGB0)) {
8852 } else {
8853 nit_abort("Assert failed", NULL, LOCATE_parser, 2259);
8854 }
8855 /* parser/parser.nit:2261 */
8856 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
8857 if (UNTAG_Bool(REGB0)) {
8858 } else {
8859 nit_abort("Assert failed", NULL, LOCATE_parser, 2261);
8860 }
8861 /* parser/parser.nit:2262 */
8862 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
8863 fra.me.REG[10] = fra.me.REG[4];
8864 /* parser/parser.nit:2264 */
8865 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
8866 if (UNTAG_Bool(REGB0)) {
8867 } else {
8868 nit_abort("Assert failed", NULL, LOCATE_parser, 2264);
8869 }
8870 /* parser/parser.nit:2265 */
8871 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
8872 /* parser/parser.nit:2276 */
8873 fra.me.REG[2] = fra.me.REG[3];
8874 /* parser/parser.nit:2277 */
8875 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8876 if (UNTAG_Bool(REGB0)) {
8877 } else {
8878 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2277);
8879 }
8880 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8881 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8882 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8883 stack_frame_head = fra.me.prev;
8884 return;
8885 }
8886 void parser___ReduceAction43___action(val_t p0, val_t p1){
8887 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
8888 val_t REGB0;
8889 val_t tmp;
8890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8891 fra.me.file = LOCATE_parser;
8892 fra.me.line = 2282;
8893 fra.me.meth = LOCATE_parser___ReduceAction43___action;
8894 fra.me.has_broke = 0;
8895 fra.me.REG_size = 12;
8896 fra.me.nitni_local_ref_head = NULL;
8897 fra.me.REG[0] = NIT_NULL;
8898 fra.me.REG[1] = NIT_NULL;
8899 fra.me.REG[2] = NIT_NULL;
8900 fra.me.REG[3] = NIT_NULL;
8901 fra.me.REG[4] = NIT_NULL;
8902 fra.me.REG[5] = NIT_NULL;
8903 fra.me.REG[6] = NIT_NULL;
8904 fra.me.REG[7] = NIT_NULL;
8905 fra.me.REG[8] = NIT_NULL;
8906 fra.me.REG[9] = NIT_NULL;
8907 fra.me.REG[10] = NIT_NULL;
8908 fra.me.REG[11] = NIT_NULL;
8909 fra.me.REG[0] = p0;
8910 fra.me.REG[1] = p1;
8911 /* parser/parser.nit:2284 */
8912 fra.me.REG[2] = NIT_NULL;
8913 /* parser/parser.nit:2285 */
8914 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8915 /* parser/parser.nit:2286 */
8916 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8917 /* parser/parser.nit:2287 */
8918 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8919 /* parser/parser.nit:2288 */
8920 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8921 /* parser/parser.nit:2289 */
8922 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8923 /* parser/parser.nit:2290 */
8924 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8925 /* parser/parser.nit:2291 */
8926 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8927 /* parser/parser.nit:2292 */
8928 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8929 /* parser/parser.nit:2293 */
8930 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8931 /* parser/parser.nit:2294 */
8932 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8933 /* parser/parser.nit:2295 */
8934 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
8935 /* parser/parser.nit:2297 */
8936 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
8937 if (UNTAG_Bool(REGB0)) {
8938 } else {
8939 nit_abort("Assert failed", NULL, LOCATE_parser, 2297);
8940 }
8941 /* parser/parser.nit:2299 */
8942 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
8943 if (UNTAG_Bool(REGB0)) {
8944 } else {
8945 nit_abort("Assert failed", NULL, LOCATE_parser, 2299);
8946 }
8947 /* parser/parser.nit:2301 */
8948 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
8949 if (UNTAG_Bool(REGB0)) {
8950 } else {
8951 nit_abort("Assert failed", NULL, LOCATE_parser, 2301);
8952 }
8953 /* parser/parser.nit:2303 */
8954 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
8955 if (UNTAG_Bool(REGB0)) {
8956 } else {
8957 nit_abort("Assert failed", NULL, LOCATE_parser, 2303);
8958 }
8959 /* parser/parser.nit:2305 */
8960 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
8961 if (UNTAG_Bool(REGB0)) {
8962 } else {
8963 nit_abort("Assert failed", NULL, LOCATE_parser, 2305);
8964 }
8965 /* parser/parser.nit:2306 */
8966 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
8967 fra.me.REG[10] = fra.me.REG[4];
8968 /* parser/parser.nit:2308 */
8969 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
8970 if (UNTAG_Bool(REGB0)) {
8971 } else {
8972 nit_abort("Assert failed", NULL, LOCATE_parser, 2308);
8973 }
8974 /* parser/parser.nit:2309 */
8975 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
8976 /* parser/parser.nit:2320 */
8977 fra.me.REG[2] = fra.me.REG[3];
8978 /* parser/parser.nit:2321 */
8979 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8980 if (UNTAG_Bool(REGB0)) {
8981 } else {
8982 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2321);
8983 }
8984 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8985 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8986 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8987 stack_frame_head = fra.me.prev;
8988 return;
8989 }
8990 void parser___ReduceAction44___action(val_t p0, val_t p1){
8991 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
8992 val_t REGB0;
8993 val_t tmp;
8994 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8995 fra.me.file = LOCATE_parser;
8996 fra.me.line = 2326;
8997 fra.me.meth = LOCATE_parser___ReduceAction44___action;
8998 fra.me.has_broke = 0;
8999 fra.me.REG_size = 13;
9000 fra.me.nitni_local_ref_head = NULL;
9001 fra.me.REG[0] = NIT_NULL;
9002 fra.me.REG[1] = NIT_NULL;
9003 fra.me.REG[2] = NIT_NULL;
9004 fra.me.REG[3] = NIT_NULL;
9005 fra.me.REG[4] = NIT_NULL;
9006 fra.me.REG[5] = NIT_NULL;
9007 fra.me.REG[6] = NIT_NULL;
9008 fra.me.REG[7] = NIT_NULL;
9009 fra.me.REG[8] = NIT_NULL;
9010 fra.me.REG[9] = NIT_NULL;
9011 fra.me.REG[10] = NIT_NULL;
9012 fra.me.REG[11] = NIT_NULL;
9013 fra.me.REG[12] = NIT_NULL;
9014 fra.me.REG[0] = p0;
9015 fra.me.REG[1] = p1;
9016 /* parser/parser.nit:2328 */
9017 fra.me.REG[2] = NIT_NULL;
9018 /* parser/parser.nit:2329 */
9019 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9020 /* parser/parser.nit:2330 */
9021 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9022 /* parser/parser.nit:2331 */
9023 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9024 /* parser/parser.nit:2332 */
9025 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9026 /* parser/parser.nit:2333 */
9027 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9028 /* parser/parser.nit:2334 */
9029 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9030 /* parser/parser.nit:2335 */
9031 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9032 /* parser/parser.nit:2336 */
9033 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9034 /* parser/parser.nit:2337 */
9035 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9036 /* parser/parser.nit:2338 */
9037 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9038 /* parser/parser.nit:2339 */
9039 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9040 /* parser/parser.nit:2340 */
9041 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9042 /* parser/parser.nit:2342 */
9043 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9044 if (UNTAG_Bool(REGB0)) {
9045 } else {
9046 nit_abort("Assert failed", NULL, LOCATE_parser, 2342);
9047 }
9048 /* parser/parser.nit:2344 */
9049 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
9050 if (UNTAG_Bool(REGB0)) {
9051 } else {
9052 nit_abort("Assert failed", NULL, LOCATE_parser, 2344);
9053 }
9054 /* parser/parser.nit:2346 */
9055 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9056 if (UNTAG_Bool(REGB0)) {
9057 } else {
9058 nit_abort("Assert failed", NULL, LOCATE_parser, 2346);
9059 }
9060 /* parser/parser.nit:2348 */
9061 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9062 if (UNTAG_Bool(REGB0)) {
9063 } else {
9064 nit_abort("Assert failed", NULL, LOCATE_parser, 2348);
9065 }
9066 /* parser/parser.nit:2350 */
9067 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9068 if (UNTAG_Bool(REGB0)) {
9069 } else {
9070 nit_abort("Assert failed", NULL, LOCATE_parser, 2350);
9071 }
9072 /* parser/parser.nit:2352 */
9073 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9074 if (UNTAG_Bool(REGB0)) {
9075 } else {
9076 nit_abort("Assert failed", NULL, LOCATE_parser, 2352);
9077 }
9078 /* parser/parser.nit:2353 */
9079 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
9080 fra.me.REG[11] = fra.me.REG[4];
9081 /* parser/parser.nit:2355 */
9082 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
9083 if (UNTAG_Bool(REGB0)) {
9084 } else {
9085 nit_abort("Assert failed", NULL, LOCATE_parser, 2355);
9086 }
9087 /* parser/parser.nit:2356 */
9088 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
9089 /* parser/parser.nit:2367 */
9090 fra.me.REG[2] = fra.me.REG[3];
9091 /* parser/parser.nit:2368 */
9092 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9093 if (UNTAG_Bool(REGB0)) {
9094 } else {
9095 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2368);
9096 }
9097 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9098 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9099 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9100 stack_frame_head = fra.me.prev;
9101 return;
9102 }
9103 void parser___ReduceAction45___action(val_t p0, val_t p1){
9104 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
9105 val_t REGB0;
9106 val_t tmp;
9107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9108 fra.me.file = LOCATE_parser;
9109 fra.me.line = 2373;
9110 fra.me.meth = LOCATE_parser___ReduceAction45___action;
9111 fra.me.has_broke = 0;
9112 fra.me.REG_size = 13;
9113 fra.me.nitni_local_ref_head = NULL;
9114 fra.me.REG[0] = NIT_NULL;
9115 fra.me.REG[1] = NIT_NULL;
9116 fra.me.REG[2] = NIT_NULL;
9117 fra.me.REG[3] = NIT_NULL;
9118 fra.me.REG[4] = NIT_NULL;
9119 fra.me.REG[5] = NIT_NULL;
9120 fra.me.REG[6] = NIT_NULL;
9121 fra.me.REG[7] = NIT_NULL;
9122 fra.me.REG[8] = NIT_NULL;
9123 fra.me.REG[9] = NIT_NULL;
9124 fra.me.REG[10] = NIT_NULL;
9125 fra.me.REG[11] = NIT_NULL;
9126 fra.me.REG[12] = NIT_NULL;
9127 fra.me.REG[0] = p0;
9128 fra.me.REG[1] = p1;
9129 /* parser/parser.nit:2375 */
9130 fra.me.REG[2] = NIT_NULL;
9131 /* parser/parser.nit:2376 */
9132 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9133 /* parser/parser.nit:2377 */
9134 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9135 /* parser/parser.nit:2378 */
9136 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9137 /* parser/parser.nit:2379 */
9138 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9139 /* parser/parser.nit:2380 */
9140 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9141 /* parser/parser.nit:2381 */
9142 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9143 /* parser/parser.nit:2382 */
9144 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9145 /* parser/parser.nit:2383 */
9146 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9147 /* parser/parser.nit:2384 */
9148 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9149 /* parser/parser.nit:2385 */
9150 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9151 /* parser/parser.nit:2386 */
9152 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9153 /* parser/parser.nit:2387 */
9154 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9155 /* parser/parser.nit:2389 */
9156 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9157 if (UNTAG_Bool(REGB0)) {
9158 } else {
9159 nit_abort("Assert failed", NULL, LOCATE_parser, 2389);
9160 }
9161 /* parser/parser.nit:2391 */
9162 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9163 if (UNTAG_Bool(REGB0)) {
9164 } else {
9165 nit_abort("Assert failed", NULL, LOCATE_parser, 2391);
9166 }
9167 /* parser/parser.nit:2393 */
9168 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9169 if (UNTAG_Bool(REGB0)) {
9170 } else {
9171 nit_abort("Assert failed", NULL, LOCATE_parser, 2393);
9172 }
9173 /* parser/parser.nit:2395 */
9174 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9175 if (UNTAG_Bool(REGB0)) {
9176 } else {
9177 nit_abort("Assert failed", NULL, LOCATE_parser, 2395);
9178 }
9179 /* parser/parser.nit:2397 */
9180 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9181 if (UNTAG_Bool(REGB0)) {
9182 } else {
9183 nit_abort("Assert failed", NULL, LOCATE_parser, 2397);
9184 }
9185 /* parser/parser.nit:2398 */
9186 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
9187 fra.me.REG[10] = fra.me.REG[5];
9188 /* parser/parser.nit:2400 */
9189 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9190 if (UNTAG_Bool(REGB0)) {
9191 } else {
9192 nit_abort("Assert failed", NULL, LOCATE_parser, 2400);
9193 }
9194 /* parser/parser.nit:2401 */
9195 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
9196 fra.me.REG[11] = fra.me.REG[4];
9197 /* parser/parser.nit:2403 */
9198 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
9199 if (UNTAG_Bool(REGB0)) {
9200 } else {
9201 nit_abort("Assert failed", NULL, LOCATE_parser, 2403);
9202 }
9203 /* parser/parser.nit:2404 */
9204 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
9205 /* parser/parser.nit:2415 */
9206 fra.me.REG[2] = fra.me.REG[3];
9207 /* parser/parser.nit:2416 */
9208 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9209 if (UNTAG_Bool(REGB0)) {
9210 } else {
9211 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2416);
9212 }
9213 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9214 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9215 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9216 stack_frame_head = fra.me.prev;
9217 return;
9218 }
9219 void parser___ReduceAction46___action(val_t p0, val_t p1){
9220 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
9221 val_t REGB0;
9222 val_t tmp;
9223 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9224 fra.me.file = LOCATE_parser;
9225 fra.me.line = 2421;
9226 fra.me.meth = LOCATE_parser___ReduceAction46___action;
9227 fra.me.has_broke = 0;
9228 fra.me.REG_size = 14;
9229 fra.me.nitni_local_ref_head = NULL;
9230 fra.me.REG[0] = NIT_NULL;
9231 fra.me.REG[1] = NIT_NULL;
9232 fra.me.REG[2] = NIT_NULL;
9233 fra.me.REG[3] = NIT_NULL;
9234 fra.me.REG[4] = NIT_NULL;
9235 fra.me.REG[5] = NIT_NULL;
9236 fra.me.REG[6] = NIT_NULL;
9237 fra.me.REG[7] = NIT_NULL;
9238 fra.me.REG[8] = NIT_NULL;
9239 fra.me.REG[9] = NIT_NULL;
9240 fra.me.REG[10] = NIT_NULL;
9241 fra.me.REG[11] = NIT_NULL;
9242 fra.me.REG[12] = NIT_NULL;
9243 fra.me.REG[13] = NIT_NULL;
9244 fra.me.REG[0] = p0;
9245 fra.me.REG[1] = p1;
9246 /* parser/parser.nit:2423 */
9247 fra.me.REG[2] = NIT_NULL;
9248 /* parser/parser.nit:2424 */
9249 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9250 /* parser/parser.nit:2425 */
9251 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9252 /* parser/parser.nit:2426 */
9253 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9254 /* parser/parser.nit:2427 */
9255 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9256 /* parser/parser.nit:2428 */
9257 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9258 /* parser/parser.nit:2429 */
9259 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9260 /* parser/parser.nit:2430 */
9261 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9262 /* parser/parser.nit:2431 */
9263 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9264 /* parser/parser.nit:2432 */
9265 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9266 /* parser/parser.nit:2433 */
9267 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9268 /* parser/parser.nit:2434 */
9269 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9270 /* parser/parser.nit:2435 */
9271 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9272 /* parser/parser.nit:2436 */
9273 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
9274 /* parser/parser.nit:2438 */
9275 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9276 if (UNTAG_Bool(REGB0)) {
9277 } else {
9278 nit_abort("Assert failed", NULL, LOCATE_parser, 2438);
9279 }
9280 /* parser/parser.nit:2440 */
9281 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
9282 if (UNTAG_Bool(REGB0)) {
9283 } else {
9284 nit_abort("Assert failed", NULL, LOCATE_parser, 2440);
9285 }
9286 /* parser/parser.nit:2442 */
9287 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9288 if (UNTAG_Bool(REGB0)) {
9289 } else {
9290 nit_abort("Assert failed", NULL, LOCATE_parser, 2442);
9291 }
9292 /* parser/parser.nit:2444 */
9293 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9294 if (UNTAG_Bool(REGB0)) {
9295 } else {
9296 nit_abort("Assert failed", NULL, LOCATE_parser, 2444);
9297 }
9298 /* parser/parser.nit:2446 */
9299 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9300 if (UNTAG_Bool(REGB0)) {
9301 } else {
9302 nit_abort("Assert failed", NULL, LOCATE_parser, 2446);
9303 }
9304 /* parser/parser.nit:2448 */
9305 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9306 if (UNTAG_Bool(REGB0)) {
9307 } else {
9308 nit_abort("Assert failed", NULL, LOCATE_parser, 2448);
9309 }
9310 /* parser/parser.nit:2449 */
9311 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
9312 fra.me.REG[11] = fra.me.REG[5];
9313 /* parser/parser.nit:2451 */
9314 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9315 if (UNTAG_Bool(REGB0)) {
9316 } else {
9317 nit_abort("Assert failed", NULL, LOCATE_parser, 2451);
9318 }
9319 /* parser/parser.nit:2452 */
9320 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
9321 fra.me.REG[12] = fra.me.REG[4];
9322 /* parser/parser.nit:2454 */
9323 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
9324 if (UNTAG_Bool(REGB0)) {
9325 } else {
9326 nit_abort("Assert failed", NULL, LOCATE_parser, 2454);
9327 }
9328 /* parser/parser.nit:2455 */
9329 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
9330 /* parser/parser.nit:2466 */
9331 fra.me.REG[2] = fra.me.REG[3];
9332 /* parser/parser.nit:2467 */
9333 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9334 if (UNTAG_Bool(REGB0)) {
9335 } else {
9336 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2467);
9337 }
9338 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9339 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9340 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9341 stack_frame_head = fra.me.prev;
9342 return;
9343 }
9344 void parser___ReduceAction47___action(val_t p0, val_t p1){
9345 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
9346 val_t REGB0;
9347 val_t tmp;
9348 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9349 fra.me.file = LOCATE_parser;
9350 fra.me.line = 2472;
9351 fra.me.meth = LOCATE_parser___ReduceAction47___action;
9352 fra.me.has_broke = 0;
9353 fra.me.REG_size = 12;
9354 fra.me.nitni_local_ref_head = NULL;
9355 fra.me.REG[0] = NIT_NULL;
9356 fra.me.REG[1] = NIT_NULL;
9357 fra.me.REG[2] = NIT_NULL;
9358 fra.me.REG[3] = NIT_NULL;
9359 fra.me.REG[4] = NIT_NULL;
9360 fra.me.REG[5] = NIT_NULL;
9361 fra.me.REG[6] = NIT_NULL;
9362 fra.me.REG[7] = NIT_NULL;
9363 fra.me.REG[8] = NIT_NULL;
9364 fra.me.REG[9] = NIT_NULL;
9365 fra.me.REG[10] = NIT_NULL;
9366 fra.me.REG[11] = NIT_NULL;
9367 fra.me.REG[0] = p0;
9368 fra.me.REG[1] = p1;
9369 /* parser/parser.nit:2474 */
9370 fra.me.REG[2] = NIT_NULL;
9371 /* parser/parser.nit:2475 */
9372 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9373 /* parser/parser.nit:2476 */
9374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9375 /* parser/parser.nit:2477 */
9376 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9377 /* parser/parser.nit:2478 */
9378 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9379 /* parser/parser.nit:2479 */
9380 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9381 /* parser/parser.nit:2480 */
9382 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9383 /* parser/parser.nit:2481 */
9384 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9385 /* parser/parser.nit:2482 */
9386 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9387 /* parser/parser.nit:2483 */
9388 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9389 /* parser/parser.nit:2484 */
9390 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9391 /* parser/parser.nit:2485 */
9392 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9393 /* parser/parser.nit:2487 */
9394 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9395 if (UNTAG_Bool(REGB0)) {
9396 } else {
9397 nit_abort("Assert failed", NULL, LOCATE_parser, 2487);
9398 }
9399 /* parser/parser.nit:2489 */
9400 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9401 if (UNTAG_Bool(REGB0)) {
9402 } else {
9403 nit_abort("Assert failed", NULL, LOCATE_parser, 2489);
9404 }
9405 /* parser/parser.nit:2491 */
9406 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9407 if (UNTAG_Bool(REGB0)) {
9408 } else {
9409 nit_abort("Assert failed", NULL, LOCATE_parser, 2491);
9410 }
9411 /* parser/parser.nit:2493 */
9412 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9413 if (UNTAG_Bool(REGB0)) {
9414 } else {
9415 nit_abort("Assert failed", NULL, LOCATE_parser, 2493);
9416 }
9417 /* parser/parser.nit:2495 */
9418 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9419 if (UNTAG_Bool(REGB0)) {
9420 } else {
9421 nit_abort("Assert failed", NULL, LOCATE_parser, 2495);
9422 }
9423 /* parser/parser.nit:2496 */
9424 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
9425 fra.me.REG[11] = fra.me.REG[4];
9426 /* parser/parser.nit:2498 */
9427 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
9428 if (UNTAG_Bool(REGB0)) {
9429 } else {
9430 nit_abort("Assert failed", NULL, LOCATE_parser, 2498);
9431 }
9432 /* parser/parser.nit:2499 */
9433 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
9434 /* parser/parser.nit:2510 */
9435 fra.me.REG[2] = fra.me.REG[3];
9436 /* parser/parser.nit:2511 */
9437 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9438 if (UNTAG_Bool(REGB0)) {
9439 } else {
9440 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2511);
9441 }
9442 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9443 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9444 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9445 stack_frame_head = fra.me.prev;
9446 return;
9447 }
9448 void parser___ReduceAction48___action(val_t p0, val_t p1){
9449 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
9450 val_t REGB0;
9451 val_t tmp;
9452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9453 fra.me.file = LOCATE_parser;
9454 fra.me.line = 2516;
9455 fra.me.meth = LOCATE_parser___ReduceAction48___action;
9456 fra.me.has_broke = 0;
9457 fra.me.REG_size = 13;
9458 fra.me.nitni_local_ref_head = NULL;
9459 fra.me.REG[0] = NIT_NULL;
9460 fra.me.REG[1] = NIT_NULL;
9461 fra.me.REG[2] = NIT_NULL;
9462 fra.me.REG[3] = NIT_NULL;
9463 fra.me.REG[4] = NIT_NULL;
9464 fra.me.REG[5] = NIT_NULL;
9465 fra.me.REG[6] = NIT_NULL;
9466 fra.me.REG[7] = NIT_NULL;
9467 fra.me.REG[8] = NIT_NULL;
9468 fra.me.REG[9] = NIT_NULL;
9469 fra.me.REG[10] = NIT_NULL;
9470 fra.me.REG[11] = NIT_NULL;
9471 fra.me.REG[12] = NIT_NULL;
9472 fra.me.REG[0] = p0;
9473 fra.me.REG[1] = p1;
9474 /* parser/parser.nit:2518 */
9475 fra.me.REG[2] = NIT_NULL;
9476 /* parser/parser.nit:2519 */
9477 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9478 /* parser/parser.nit:2520 */
9479 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9480 /* parser/parser.nit:2521 */
9481 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9482 /* parser/parser.nit:2522 */
9483 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9484 /* parser/parser.nit:2523 */
9485 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9486 /* parser/parser.nit:2524 */
9487 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9488 /* parser/parser.nit:2525 */
9489 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9490 /* parser/parser.nit:2526 */
9491 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9492 /* parser/parser.nit:2527 */
9493 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9494 /* parser/parser.nit:2528 */
9495 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9496 /* parser/parser.nit:2529 */
9497 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9498 /* parser/parser.nit:2530 */
9499 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9500 /* parser/parser.nit:2532 */
9501 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9502 if (UNTAG_Bool(REGB0)) {
9503 } else {
9504 nit_abort("Assert failed", NULL, LOCATE_parser, 2532);
9505 }
9506 /* parser/parser.nit:2534 */
9507 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
9508 if (UNTAG_Bool(REGB0)) {
9509 } else {
9510 nit_abort("Assert failed", NULL, LOCATE_parser, 2534);
9511 }
9512 /* parser/parser.nit:2536 */
9513 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9514 if (UNTAG_Bool(REGB0)) {
9515 } else {
9516 nit_abort("Assert failed", NULL, LOCATE_parser, 2536);
9517 }
9518 /* parser/parser.nit:2538 */
9519 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9520 if (UNTAG_Bool(REGB0)) {
9521 } else {
9522 nit_abort("Assert failed", NULL, LOCATE_parser, 2538);
9523 }
9524 /* parser/parser.nit:2540 */
9525 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9526 if (UNTAG_Bool(REGB0)) {
9527 } else {
9528 nit_abort("Assert failed", NULL, LOCATE_parser, 2540);
9529 }
9530 /* parser/parser.nit:2542 */
9531 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9532 if (UNTAG_Bool(REGB0)) {
9533 } else {
9534 nit_abort("Assert failed", NULL, LOCATE_parser, 2542);
9535 }
9536 /* parser/parser.nit:2543 */
9537 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
9538 fra.me.REG[12] = fra.me.REG[4];
9539 /* parser/parser.nit:2545 */
9540 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
9541 if (UNTAG_Bool(REGB0)) {
9542 } else {
9543 nit_abort("Assert failed", NULL, LOCATE_parser, 2545);
9544 }
9545 /* parser/parser.nit:2546 */
9546 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
9547 /* parser/parser.nit:2557 */
9548 fra.me.REG[2] = fra.me.REG[3];
9549 /* parser/parser.nit:2558 */
9550 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9551 if (UNTAG_Bool(REGB0)) {
9552 } else {
9553 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2558);
9554 }
9555 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9556 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9557 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9558 stack_frame_head = fra.me.prev;
9559 return;
9560 }
9561 void parser___ReduceAction49___action(val_t p0, val_t p1){
9562 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
9563 val_t REGB0;
9564 val_t tmp;
9565 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9566 fra.me.file = LOCATE_parser;
9567 fra.me.line = 2563;
9568 fra.me.meth = LOCATE_parser___ReduceAction49___action;
9569 fra.me.has_broke = 0;
9570 fra.me.REG_size = 13;
9571 fra.me.nitni_local_ref_head = NULL;
9572 fra.me.REG[0] = NIT_NULL;
9573 fra.me.REG[1] = NIT_NULL;
9574 fra.me.REG[2] = NIT_NULL;
9575 fra.me.REG[3] = NIT_NULL;
9576 fra.me.REG[4] = NIT_NULL;
9577 fra.me.REG[5] = NIT_NULL;
9578 fra.me.REG[6] = NIT_NULL;
9579 fra.me.REG[7] = NIT_NULL;
9580 fra.me.REG[8] = NIT_NULL;
9581 fra.me.REG[9] = NIT_NULL;
9582 fra.me.REG[10] = NIT_NULL;
9583 fra.me.REG[11] = NIT_NULL;
9584 fra.me.REG[12] = NIT_NULL;
9585 fra.me.REG[0] = p0;
9586 fra.me.REG[1] = p1;
9587 /* parser/parser.nit:2565 */
9588 fra.me.REG[2] = NIT_NULL;
9589 /* parser/parser.nit:2566 */
9590 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9591 /* parser/parser.nit:2567 */
9592 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9593 /* parser/parser.nit:2568 */
9594 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9595 /* parser/parser.nit:2569 */
9596 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9597 /* parser/parser.nit:2570 */
9598 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9599 /* parser/parser.nit:2571 */
9600 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9601 /* parser/parser.nit:2572 */
9602 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9603 /* parser/parser.nit:2573 */
9604 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9605 /* parser/parser.nit:2574 */
9606 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9607 /* parser/parser.nit:2575 */
9608 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9609 /* parser/parser.nit:2576 */
9610 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9611 /* parser/parser.nit:2577 */
9612 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9613 /* parser/parser.nit:2579 */
9614 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9615 if (UNTAG_Bool(REGB0)) {
9616 } else {
9617 nit_abort("Assert failed", NULL, LOCATE_parser, 2579);
9618 }
9619 /* parser/parser.nit:2581 */
9620 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9621 if (UNTAG_Bool(REGB0)) {
9622 } else {
9623 nit_abort("Assert failed", NULL, LOCATE_parser, 2581);
9624 }
9625 /* parser/parser.nit:2583 */
9626 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9627 if (UNTAG_Bool(REGB0)) {
9628 } else {
9629 nit_abort("Assert failed", NULL, LOCATE_parser, 2583);
9630 }
9631 /* parser/parser.nit:2585 */
9632 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9633 if (UNTAG_Bool(REGB0)) {
9634 } else {
9635 nit_abort("Assert failed", NULL, LOCATE_parser, 2585);
9636 }
9637 /* parser/parser.nit:2587 */
9638 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9639 if (UNTAG_Bool(REGB0)) {
9640 } else {
9641 nit_abort("Assert failed", NULL, LOCATE_parser, 2587);
9642 }
9643 /* parser/parser.nit:2588 */
9644 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
9645 fra.me.REG[10] = fra.me.REG[5];
9646 /* parser/parser.nit:2590 */
9647 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9648 if (UNTAG_Bool(REGB0)) {
9649 } else {
9650 nit_abort("Assert failed", NULL, LOCATE_parser, 2590);
9651 }
9652 /* parser/parser.nit:2591 */
9653 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
9654 fra.me.REG[12] = fra.me.REG[4];
9655 /* parser/parser.nit:2593 */
9656 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
9657 if (UNTAG_Bool(REGB0)) {
9658 } else {
9659 nit_abort("Assert failed", NULL, LOCATE_parser, 2593);
9660 }
9661 /* parser/parser.nit:2594 */
9662 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
9663 /* parser/parser.nit:2605 */
9664 fra.me.REG[2] = fra.me.REG[3];
9665 /* parser/parser.nit:2606 */
9666 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9667 if (UNTAG_Bool(REGB0)) {
9668 } else {
9669 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2606);
9670 }
9671 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9672 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9673 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9674 stack_frame_head = fra.me.prev;
9675 return;
9676 }
9677 void parser___ReduceAction50___action(val_t p0, val_t p1){
9678 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
9679 val_t REGB0;
9680 val_t tmp;
9681 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9682 fra.me.file = LOCATE_parser;
9683 fra.me.line = 2611;
9684 fra.me.meth = LOCATE_parser___ReduceAction50___action;
9685 fra.me.has_broke = 0;
9686 fra.me.REG_size = 14;
9687 fra.me.nitni_local_ref_head = NULL;
9688 fra.me.REG[0] = NIT_NULL;
9689 fra.me.REG[1] = NIT_NULL;
9690 fra.me.REG[2] = NIT_NULL;
9691 fra.me.REG[3] = NIT_NULL;
9692 fra.me.REG[4] = NIT_NULL;
9693 fra.me.REG[5] = NIT_NULL;
9694 fra.me.REG[6] = NIT_NULL;
9695 fra.me.REG[7] = NIT_NULL;
9696 fra.me.REG[8] = NIT_NULL;
9697 fra.me.REG[9] = NIT_NULL;
9698 fra.me.REG[10] = NIT_NULL;
9699 fra.me.REG[11] = NIT_NULL;
9700 fra.me.REG[12] = NIT_NULL;
9701 fra.me.REG[13] = NIT_NULL;
9702 fra.me.REG[0] = p0;
9703 fra.me.REG[1] = p1;
9704 /* parser/parser.nit:2613 */
9705 fra.me.REG[2] = NIT_NULL;
9706 /* parser/parser.nit:2614 */
9707 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9708 /* parser/parser.nit:2615 */
9709 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9710 /* parser/parser.nit:2616 */
9711 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9712 /* parser/parser.nit:2617 */
9713 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9714 /* parser/parser.nit:2618 */
9715 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9716 /* parser/parser.nit:2619 */
9717 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9718 /* parser/parser.nit:2620 */
9719 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9720 /* parser/parser.nit:2621 */
9721 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9722 /* parser/parser.nit:2622 */
9723 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9724 /* parser/parser.nit:2623 */
9725 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9726 /* parser/parser.nit:2624 */
9727 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9728 /* parser/parser.nit:2625 */
9729 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9730 /* parser/parser.nit:2626 */
9731 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
9732 /* parser/parser.nit:2628 */
9733 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9734 if (UNTAG_Bool(REGB0)) {
9735 } else {
9736 nit_abort("Assert failed", NULL, LOCATE_parser, 2628);
9737 }
9738 /* parser/parser.nit:2630 */
9739 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
9740 if (UNTAG_Bool(REGB0)) {
9741 } else {
9742 nit_abort("Assert failed", NULL, LOCATE_parser, 2630);
9743 }
9744 /* parser/parser.nit:2632 */
9745 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9746 if (UNTAG_Bool(REGB0)) {
9747 } else {
9748 nit_abort("Assert failed", NULL, LOCATE_parser, 2632);
9749 }
9750 /* parser/parser.nit:2634 */
9751 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9752 if (UNTAG_Bool(REGB0)) {
9753 } else {
9754 nit_abort("Assert failed", NULL, LOCATE_parser, 2634);
9755 }
9756 /* parser/parser.nit:2636 */
9757 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9758 if (UNTAG_Bool(REGB0)) {
9759 } else {
9760 nit_abort("Assert failed", NULL, LOCATE_parser, 2636);
9761 }
9762 /* parser/parser.nit:2638 */
9763 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9764 if (UNTAG_Bool(REGB0)) {
9765 } else {
9766 nit_abort("Assert failed", NULL, LOCATE_parser, 2638);
9767 }
9768 /* parser/parser.nit:2639 */
9769 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
9770 fra.me.REG[11] = fra.me.REG[5];
9771 /* parser/parser.nit:2641 */
9772 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9773 if (UNTAG_Bool(REGB0)) {
9774 } else {
9775 nit_abort("Assert failed", NULL, LOCATE_parser, 2641);
9776 }
9777 /* parser/parser.nit:2642 */
9778 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
9779 fra.me.REG[13] = fra.me.REG[4];
9780 /* parser/parser.nit:2644 */
9781 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
9782 if (UNTAG_Bool(REGB0)) {
9783 } else {
9784 nit_abort("Assert failed", NULL, LOCATE_parser, 2644);
9785 }
9786 /* parser/parser.nit:2645 */
9787 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
9788 /* parser/parser.nit:2656 */
9789 fra.me.REG[2] = fra.me.REG[3];
9790 /* parser/parser.nit:2657 */
9791 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9792 if (UNTAG_Bool(REGB0)) {
9793 } else {
9794 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2657);
9795 }
9796 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9797 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9798 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9799 stack_frame_head = fra.me.prev;
9800 return;
9801 }
9802 void parser___ReduceAction51___action(val_t p0, val_t p1){
9803 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
9804 val_t REGB0;
9805 val_t tmp;
9806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9807 fra.me.file = LOCATE_parser;
9808 fra.me.line = 2662;
9809 fra.me.meth = LOCATE_parser___ReduceAction51___action;
9810 fra.me.has_broke = 0;
9811 fra.me.REG_size = 13;
9812 fra.me.nitni_local_ref_head = NULL;
9813 fra.me.REG[0] = NIT_NULL;
9814 fra.me.REG[1] = NIT_NULL;
9815 fra.me.REG[2] = NIT_NULL;
9816 fra.me.REG[3] = NIT_NULL;
9817 fra.me.REG[4] = NIT_NULL;
9818 fra.me.REG[5] = NIT_NULL;
9819 fra.me.REG[6] = NIT_NULL;
9820 fra.me.REG[7] = NIT_NULL;
9821 fra.me.REG[8] = NIT_NULL;
9822 fra.me.REG[9] = NIT_NULL;
9823 fra.me.REG[10] = NIT_NULL;
9824 fra.me.REG[11] = NIT_NULL;
9825 fra.me.REG[12] = NIT_NULL;
9826 fra.me.REG[0] = p0;
9827 fra.me.REG[1] = p1;
9828 /* parser/parser.nit:2664 */
9829 fra.me.REG[2] = NIT_NULL;
9830 /* parser/parser.nit:2665 */
9831 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9832 /* parser/parser.nit:2666 */
9833 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9834 /* parser/parser.nit:2667 */
9835 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9836 /* parser/parser.nit:2668 */
9837 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9838 /* parser/parser.nit:2669 */
9839 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9840 /* parser/parser.nit:2670 */
9841 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9842 /* parser/parser.nit:2671 */
9843 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9844 /* parser/parser.nit:2672 */
9845 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9846 /* parser/parser.nit:2673 */
9847 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9848 /* parser/parser.nit:2674 */
9849 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9850 /* parser/parser.nit:2675 */
9851 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9852 /* parser/parser.nit:2676 */
9853 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9854 /* parser/parser.nit:2678 */
9855 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9856 if (UNTAG_Bool(REGB0)) {
9857 } else {
9858 nit_abort("Assert failed", NULL, LOCATE_parser, 2678);
9859 }
9860 /* parser/parser.nit:2680 */
9861 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9862 if (UNTAG_Bool(REGB0)) {
9863 } else {
9864 nit_abort("Assert failed", NULL, LOCATE_parser, 2680);
9865 }
9866 /* parser/parser.nit:2682 */
9867 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9868 if (UNTAG_Bool(REGB0)) {
9869 } else {
9870 nit_abort("Assert failed", NULL, LOCATE_parser, 2682);
9871 }
9872 /* parser/parser.nit:2684 */
9873 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9874 if (UNTAG_Bool(REGB0)) {
9875 } else {
9876 nit_abort("Assert failed", NULL, LOCATE_parser, 2684);
9877 }
9878 /* parser/parser.nit:2686 */
9879 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9880 if (UNTAG_Bool(REGB0)) {
9881 } else {
9882 nit_abort("Assert failed", NULL, LOCATE_parser, 2686);
9883 }
9884 /* parser/parser.nit:2687 */
9885 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
9886 fra.me.REG[11] = fra.me.REG[5];
9887 /* parser/parser.nit:2689 */
9888 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
9889 if (UNTAG_Bool(REGB0)) {
9890 } else {
9891 nit_abort("Assert failed", NULL, LOCATE_parser, 2689);
9892 }
9893 /* parser/parser.nit:2690 */
9894 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
9895 fra.me.REG[12] = fra.me.REG[4];
9896 /* parser/parser.nit:2692 */
9897 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
9898 if (UNTAG_Bool(REGB0)) {
9899 } else {
9900 nit_abort("Assert failed", NULL, LOCATE_parser, 2692);
9901 }
9902 /* parser/parser.nit:2693 */
9903 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
9904 /* parser/parser.nit:2704 */
9905 fra.me.REG[2] = fra.me.REG[3];
9906 /* parser/parser.nit:2705 */
9907 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9908 if (UNTAG_Bool(REGB0)) {
9909 } else {
9910 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2705);
9911 }
9912 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9913 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9914 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9915 stack_frame_head = fra.me.prev;
9916 return;
9917 }
9918 void parser___ReduceAction52___action(val_t p0, val_t p1){
9919 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
9920 val_t REGB0;
9921 val_t tmp;
9922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9923 fra.me.file = LOCATE_parser;
9924 fra.me.line = 2710;
9925 fra.me.meth = LOCATE_parser___ReduceAction52___action;
9926 fra.me.has_broke = 0;
9927 fra.me.REG_size = 14;
9928 fra.me.nitni_local_ref_head = NULL;
9929 fra.me.REG[0] = NIT_NULL;
9930 fra.me.REG[1] = NIT_NULL;
9931 fra.me.REG[2] = NIT_NULL;
9932 fra.me.REG[3] = NIT_NULL;
9933 fra.me.REG[4] = NIT_NULL;
9934 fra.me.REG[5] = NIT_NULL;
9935 fra.me.REG[6] = NIT_NULL;
9936 fra.me.REG[7] = NIT_NULL;
9937 fra.me.REG[8] = NIT_NULL;
9938 fra.me.REG[9] = NIT_NULL;
9939 fra.me.REG[10] = NIT_NULL;
9940 fra.me.REG[11] = NIT_NULL;
9941 fra.me.REG[12] = NIT_NULL;
9942 fra.me.REG[13] = NIT_NULL;
9943 fra.me.REG[0] = p0;
9944 fra.me.REG[1] = p1;
9945 /* parser/parser.nit:2712 */
9946 fra.me.REG[2] = NIT_NULL;
9947 /* parser/parser.nit:2713 */
9948 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9949 /* parser/parser.nit:2714 */
9950 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9951 /* parser/parser.nit:2715 */
9952 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9953 /* parser/parser.nit:2716 */
9954 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9955 /* parser/parser.nit:2717 */
9956 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9957 /* parser/parser.nit:2718 */
9958 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9959 /* parser/parser.nit:2719 */
9960 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9961 /* parser/parser.nit:2720 */
9962 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9963 /* parser/parser.nit:2721 */
9964 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9965 /* parser/parser.nit:2722 */
9966 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9967 /* parser/parser.nit:2723 */
9968 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9969 /* parser/parser.nit:2724 */
9970 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9971 /* parser/parser.nit:2725 */
9972 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
9973 /* parser/parser.nit:2727 */
9974 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
9975 if (UNTAG_Bool(REGB0)) {
9976 } else {
9977 nit_abort("Assert failed", NULL, LOCATE_parser, 2727);
9978 }
9979 /* parser/parser.nit:2729 */
9980 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
9981 if (UNTAG_Bool(REGB0)) {
9982 } else {
9983 nit_abort("Assert failed", NULL, LOCATE_parser, 2729);
9984 }
9985 /* parser/parser.nit:2731 */
9986 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
9987 if (UNTAG_Bool(REGB0)) {
9988 } else {
9989 nit_abort("Assert failed", NULL, LOCATE_parser, 2731);
9990 }
9991 /* parser/parser.nit:2733 */
9992 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
9993 if (UNTAG_Bool(REGB0)) {
9994 } else {
9995 nit_abort("Assert failed", NULL, LOCATE_parser, 2733);
9996 }
9997 /* parser/parser.nit:2735 */
9998 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
9999 if (UNTAG_Bool(REGB0)) {
10000 } else {
10001 nit_abort("Assert failed", NULL, LOCATE_parser, 2735);
10002 }
10003 /* parser/parser.nit:2737 */
10004 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10005 if (UNTAG_Bool(REGB0)) {
10006 } else {
10007 nit_abort("Assert failed", NULL, LOCATE_parser, 2737);
10008 }
10009 /* parser/parser.nit:2738 */
10010 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
10011 fra.me.REG[12] = fra.me.REG[5];
10012 /* parser/parser.nit:2740 */
10013 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10014 if (UNTAG_Bool(REGB0)) {
10015 } else {
10016 nit_abort("Assert failed", NULL, LOCATE_parser, 2740);
10017 }
10018 /* parser/parser.nit:2741 */
10019 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
10020 fra.me.REG[13] = fra.me.REG[4];
10021 /* parser/parser.nit:2743 */
10022 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
10023 if (UNTAG_Bool(REGB0)) {
10024 } else {
10025 nit_abort("Assert failed", NULL, LOCATE_parser, 2743);
10026 }
10027 /* parser/parser.nit:2744 */
10028 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
10029 /* parser/parser.nit:2755 */
10030 fra.me.REG[2] = fra.me.REG[3];
10031 /* parser/parser.nit:2756 */
10032 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10033 if (UNTAG_Bool(REGB0)) {
10034 } else {
10035 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2756);
10036 }
10037 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10038 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10039 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10040 stack_frame_head = fra.me.prev;
10041 return;
10042 }
10043 void parser___ReduceAction53___action(val_t p0, val_t p1){
10044 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
10045 val_t REGB0;
10046 val_t tmp;
10047 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10048 fra.me.file = LOCATE_parser;
10049 fra.me.line = 2761;
10050 fra.me.meth = LOCATE_parser___ReduceAction53___action;
10051 fra.me.has_broke = 0;
10052 fra.me.REG_size = 14;
10053 fra.me.nitni_local_ref_head = NULL;
10054 fra.me.REG[0] = NIT_NULL;
10055 fra.me.REG[1] = NIT_NULL;
10056 fra.me.REG[2] = NIT_NULL;
10057 fra.me.REG[3] = NIT_NULL;
10058 fra.me.REG[4] = NIT_NULL;
10059 fra.me.REG[5] = NIT_NULL;
10060 fra.me.REG[6] = NIT_NULL;
10061 fra.me.REG[7] = NIT_NULL;
10062 fra.me.REG[8] = NIT_NULL;
10063 fra.me.REG[9] = NIT_NULL;
10064 fra.me.REG[10] = NIT_NULL;
10065 fra.me.REG[11] = NIT_NULL;
10066 fra.me.REG[12] = NIT_NULL;
10067 fra.me.REG[13] = NIT_NULL;
10068 fra.me.REG[0] = p0;
10069 fra.me.REG[1] = p1;
10070 /* parser/parser.nit:2763 */
10071 fra.me.REG[2] = NIT_NULL;
10072 /* parser/parser.nit:2764 */
10073 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10074 /* parser/parser.nit:2765 */
10075 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10076 /* parser/parser.nit:2766 */
10077 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10078 /* parser/parser.nit:2767 */
10079 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10080 /* parser/parser.nit:2768 */
10081 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10082 /* parser/parser.nit:2769 */
10083 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10084 /* parser/parser.nit:2770 */
10085 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10086 /* parser/parser.nit:2771 */
10087 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10088 /* parser/parser.nit:2772 */
10089 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10090 /* parser/parser.nit:2773 */
10091 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10092 /* parser/parser.nit:2774 */
10093 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
10094 /* parser/parser.nit:2775 */
10095 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
10096 /* parser/parser.nit:2776 */
10097 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
10098 /* parser/parser.nit:2778 */
10099 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
10100 if (UNTAG_Bool(REGB0)) {
10101 } else {
10102 nit_abort("Assert failed", NULL, LOCATE_parser, 2778);
10103 }
10104 /* parser/parser.nit:2780 */
10105 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
10106 if (UNTAG_Bool(REGB0)) {
10107 } else {
10108 nit_abort("Assert failed", NULL, LOCATE_parser, 2780);
10109 }
10110 /* parser/parser.nit:2782 */
10111 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
10112 if (UNTAG_Bool(REGB0)) {
10113 } else {
10114 nit_abort("Assert failed", NULL, LOCATE_parser, 2782);
10115 }
10116 /* parser/parser.nit:2784 */
10117 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
10118 if (UNTAG_Bool(REGB0)) {
10119 } else {
10120 nit_abort("Assert failed", NULL, LOCATE_parser, 2784);
10121 }
10122 /* parser/parser.nit:2786 */
10123 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10124 if (UNTAG_Bool(REGB0)) {
10125 } else {
10126 nit_abort("Assert failed", NULL, LOCATE_parser, 2786);
10127 }
10128 /* parser/parser.nit:2787 */
10129 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
10130 fra.me.REG[11] = fra.me.REG[6];
10131 /* parser/parser.nit:2789 */
10132 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10133 if (UNTAG_Bool(REGB0)) {
10134 } else {
10135 nit_abort("Assert failed", NULL, LOCATE_parser, 2789);
10136 }
10137 /* parser/parser.nit:2790 */
10138 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
10139 fra.me.REG[12] = fra.me.REG[5];
10140 /* parser/parser.nit:2792 */
10141 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10142 if (UNTAG_Bool(REGB0)) {
10143 } else {
10144 nit_abort("Assert failed", NULL, LOCATE_parser, 2792);
10145 }
10146 /* parser/parser.nit:2793 */
10147 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
10148 fra.me.REG[13] = fra.me.REG[4];
10149 /* parser/parser.nit:2795 */
10150 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
10151 if (UNTAG_Bool(REGB0)) {
10152 } else {
10153 nit_abort("Assert failed", NULL, LOCATE_parser, 2795);
10154 }
10155 /* parser/parser.nit:2796 */
10156 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
10157 /* parser/parser.nit:2807 */
10158 fra.me.REG[2] = fra.me.REG[3];
10159 /* parser/parser.nit:2808 */
10160 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10161 if (UNTAG_Bool(REGB0)) {
10162 } else {
10163 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2808);
10164 }
10165 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10166 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10167 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10168 stack_frame_head = fra.me.prev;
10169 return;
10170 }
10171 void parser___ReduceAction54___action(val_t p0, val_t p1){
10172 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
10173 val_t REGB0;
10174 val_t tmp;
10175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10176 fra.me.file = LOCATE_parser;
10177 fra.me.line = 2813;
10178 fra.me.meth = LOCATE_parser___ReduceAction54___action;
10179 fra.me.has_broke = 0;
10180 fra.me.REG_size = 15;
10181 fra.me.nitni_local_ref_head = NULL;
10182 fra.me.REG[0] = NIT_NULL;
10183 fra.me.REG[1] = NIT_NULL;
10184 fra.me.REG[2] = NIT_NULL;
10185 fra.me.REG[3] = NIT_NULL;
10186 fra.me.REG[4] = NIT_NULL;
10187 fra.me.REG[5] = NIT_NULL;
10188 fra.me.REG[6] = NIT_NULL;
10189 fra.me.REG[7] = NIT_NULL;
10190 fra.me.REG[8] = NIT_NULL;
10191 fra.me.REG[9] = NIT_NULL;
10192 fra.me.REG[10] = NIT_NULL;
10193 fra.me.REG[11] = NIT_NULL;
10194 fra.me.REG[12] = NIT_NULL;
10195 fra.me.REG[13] = NIT_NULL;
10196 fra.me.REG[14] = NIT_NULL;
10197 fra.me.REG[0] = p0;
10198 fra.me.REG[1] = p1;
10199 /* parser/parser.nit:2815 */
10200 fra.me.REG[2] = NIT_NULL;
10201 /* parser/parser.nit:2816 */
10202 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10203 /* parser/parser.nit:2817 */
10204 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10205 /* parser/parser.nit:2818 */
10206 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10207 /* parser/parser.nit:2819 */
10208 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10209 /* parser/parser.nit:2820 */
10210 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10211 /* parser/parser.nit:2821 */
10212 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10213 /* parser/parser.nit:2822 */
10214 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10215 /* parser/parser.nit:2823 */
10216 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10217 /* parser/parser.nit:2824 */
10218 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10219 /* parser/parser.nit:2825 */
10220 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10221 /* parser/parser.nit:2826 */
10222 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10223 /* parser/parser.nit:2827 */
10224 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
10225 /* parser/parser.nit:2828 */
10226 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
10227 /* parser/parser.nit:2829 */
10228 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
10229 /* parser/parser.nit:2831 */
10230 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
10231 if (UNTAG_Bool(REGB0)) {
10232 } else {
10233 nit_abort("Assert failed", NULL, LOCATE_parser, 2831);
10234 }
10235 /* parser/parser.nit:2833 */
10236 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
10237 if (UNTAG_Bool(REGB0)) {
10238 } else {
10239 nit_abort("Assert failed", NULL, LOCATE_parser, 2833);
10240 }
10241 /* parser/parser.nit:2835 */
10242 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
10243 if (UNTAG_Bool(REGB0)) {
10244 } else {
10245 nit_abort("Assert failed", NULL, LOCATE_parser, 2835);
10246 }
10247 /* parser/parser.nit:2837 */
10248 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
10249 if (UNTAG_Bool(REGB0)) {
10250 } else {
10251 nit_abort("Assert failed", NULL, LOCATE_parser, 2837);
10252 }
10253 /* parser/parser.nit:2839 */
10254 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
10255 if (UNTAG_Bool(REGB0)) {
10256 } else {
10257 nit_abort("Assert failed", NULL, LOCATE_parser, 2839);
10258 }
10259 /* parser/parser.nit:2841 */
10260 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10261 if (UNTAG_Bool(REGB0)) {
10262 } else {
10263 nit_abort("Assert failed", NULL, LOCATE_parser, 2841);
10264 }
10265 /* parser/parser.nit:2842 */
10266 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
10267 fra.me.REG[12] = fra.me.REG[6];
10268 /* parser/parser.nit:2844 */
10269 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10270 if (UNTAG_Bool(REGB0)) {
10271 } else {
10272 nit_abort("Assert failed", NULL, LOCATE_parser, 2844);
10273 }
10274 /* parser/parser.nit:2845 */
10275 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
10276 fra.me.REG[13] = fra.me.REG[5];
10277 /* parser/parser.nit:2847 */
10278 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10279 if (UNTAG_Bool(REGB0)) {
10280 } else {
10281 nit_abort("Assert failed", NULL, LOCATE_parser, 2847);
10282 }
10283 /* parser/parser.nit:2848 */
10284 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
10285 fra.me.REG[14] = fra.me.REG[4];
10286 /* parser/parser.nit:2850 */
10287 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
10288 if (UNTAG_Bool(REGB0)) {
10289 } else {
10290 nit_abort("Assert failed", NULL, LOCATE_parser, 2850);
10291 }
10292 /* parser/parser.nit:2851 */
10293 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
10294 /* parser/parser.nit:2862 */
10295 fra.me.REG[2] = fra.me.REG[3];
10296 /* parser/parser.nit:2863 */
10297 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10298 if (UNTAG_Bool(REGB0)) {
10299 } else {
10300 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2863);
10301 }
10302 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10303 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10304 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10305 stack_frame_head = fra.me.prev;
10306 return;
10307 }
10308 void parser___ReduceAction55___action(val_t p0, val_t p1){
10309 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10310 val_t REGB0;
10311 val_t tmp;
10312 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10313 fra.me.file = LOCATE_parser;
10314 fra.me.line = 2868;
10315 fra.me.meth = LOCATE_parser___ReduceAction55___action;
10316 fra.me.has_broke = 0;
10317 fra.me.REG_size = 4;
10318 fra.me.nitni_local_ref_head = NULL;
10319 fra.me.REG[0] = NIT_NULL;
10320 fra.me.REG[1] = NIT_NULL;
10321 fra.me.REG[2] = NIT_NULL;
10322 fra.me.REG[3] = NIT_NULL;
10323 fra.me.REG[0] = p0;
10324 fra.me.REG[1] = p1;
10325 /* parser/parser.nit:2870 */
10326 fra.me.REG[2] = NIT_NULL;
10327 /* parser/parser.nit:2871 */
10328 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10329 /* parser/parser.nit:2873 */
10330 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwclass, ID_parser___parser_nodes___TKwclass)) /*cast nullable TKwclass*/;
10331 if (UNTAG_Bool(REGB0)) {
10332 } else {
10333 nit_abort("Assert failed", NULL, LOCATE_parser, 2873);
10334 }
10335 /* parser/parser.nit:2874 */
10336 fra.me.REG[3] = NEW_AConcreteClasskind_parser___parser_prod___AConcreteClasskind___init_aconcreteclasskind(fra.me.REG[3]);
10337 /* parser/parser.nit:2877 */
10338 fra.me.REG[2] = fra.me.REG[3];
10339 /* parser/parser.nit:2878 */
10340 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10341 if (UNTAG_Bool(REGB0)) {
10342 } else {
10343 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2878);
10344 }
10345 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10346 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10347 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10348 stack_frame_head = fra.me.prev;
10349 return;
10350 }
10351 void parser___ReduceAction56___action(val_t p0, val_t p1){
10352 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
10353 val_t REGB0;
10354 val_t tmp;
10355 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10356 fra.me.file = LOCATE_parser;
10357 fra.me.line = 2883;
10358 fra.me.meth = LOCATE_parser___ReduceAction56___action;
10359 fra.me.has_broke = 0;
10360 fra.me.REG_size = 5;
10361 fra.me.nitni_local_ref_head = NULL;
10362 fra.me.REG[0] = NIT_NULL;
10363 fra.me.REG[1] = NIT_NULL;
10364 fra.me.REG[2] = NIT_NULL;
10365 fra.me.REG[3] = NIT_NULL;
10366 fra.me.REG[4] = NIT_NULL;
10367 fra.me.REG[0] = p0;
10368 fra.me.REG[1] = p1;
10369 /* parser/parser.nit:2885 */
10370 fra.me.REG[2] = NIT_NULL;
10371 /* parser/parser.nit:2886 */
10372 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10373 /* parser/parser.nit:2887 */
10374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10375 /* parser/parser.nit:2889 */
10376 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwabstract, ID_parser___parser_nodes___TKwabstract)) /*cast nullable TKwabstract*/;
10377 if (UNTAG_Bool(REGB0)) {
10378 } else {
10379 nit_abort("Assert failed", NULL, LOCATE_parser, 2889);
10380 }
10381 /* parser/parser.nit:2891 */
10382 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwclass, ID_parser___parser_nodes___TKwclass)) /*cast nullable TKwclass*/;
10383 if (UNTAG_Bool(REGB0)) {
10384 } else {
10385 nit_abort("Assert failed", NULL, LOCATE_parser, 2891);
10386 }
10387 /* parser/parser.nit:2892 */
10388 fra.me.REG[3] = NEW_AAbstractClasskind_parser___parser_prod___AAbstractClasskind___init_aabstractclasskind(fra.me.REG[4], fra.me.REG[3]);
10389 /* parser/parser.nit:2896 */
10390 fra.me.REG[2] = fra.me.REG[3];
10391 /* parser/parser.nit:2897 */
10392 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10393 if (UNTAG_Bool(REGB0)) {
10394 } else {
10395 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2897);
10396 }
10397 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10398 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10399 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10400 stack_frame_head = fra.me.prev;
10401 return;
10402 }
10403 void parser___ReduceAction57___action(val_t p0, val_t p1){
10404 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10405 val_t REGB0;
10406 val_t tmp;
10407 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10408 fra.me.file = LOCATE_parser;
10409 fra.me.line = 2902;
10410 fra.me.meth = LOCATE_parser___ReduceAction57___action;
10411 fra.me.has_broke = 0;
10412 fra.me.REG_size = 4;
10413 fra.me.nitni_local_ref_head = NULL;
10414 fra.me.REG[0] = NIT_NULL;
10415 fra.me.REG[1] = NIT_NULL;
10416 fra.me.REG[2] = NIT_NULL;
10417 fra.me.REG[3] = NIT_NULL;
10418 fra.me.REG[0] = p0;
10419 fra.me.REG[1] = p1;
10420 /* parser/parser.nit:2904 */
10421 fra.me.REG[2] = NIT_NULL;
10422 /* parser/parser.nit:2905 */
10423 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10424 /* parser/parser.nit:2907 */
10425 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwinterface, ID_parser___parser_nodes___TKwinterface)) /*cast nullable TKwinterface*/;
10426 if (UNTAG_Bool(REGB0)) {
10427 } else {
10428 nit_abort("Assert failed", NULL, LOCATE_parser, 2907);
10429 }
10430 /* parser/parser.nit:2908 */
10431 fra.me.REG[3] = NEW_AInterfaceClasskind_parser___parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(fra.me.REG[3]);
10432 /* parser/parser.nit:2911 */
10433 fra.me.REG[2] = fra.me.REG[3];
10434 /* parser/parser.nit:2912 */
10435 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10436 if (UNTAG_Bool(REGB0)) {
10437 } else {
10438 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2912);
10439 }
10440 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10441 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10442 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10443 stack_frame_head = fra.me.prev;
10444 return;
10445 }
10446 void parser___ReduceAction58___action(val_t p0, val_t p1){
10447 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10448 val_t REGB0;
10449 val_t tmp;
10450 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10451 fra.me.file = LOCATE_parser;
10452 fra.me.line = 2917;
10453 fra.me.meth = LOCATE_parser___ReduceAction58___action;
10454 fra.me.has_broke = 0;
10455 fra.me.REG_size = 4;
10456 fra.me.nitni_local_ref_head = NULL;
10457 fra.me.REG[0] = NIT_NULL;
10458 fra.me.REG[1] = NIT_NULL;
10459 fra.me.REG[2] = NIT_NULL;
10460 fra.me.REG[3] = NIT_NULL;
10461 fra.me.REG[0] = p0;
10462 fra.me.REG[1] = p1;
10463 /* parser/parser.nit:2919 */
10464 fra.me.REG[2] = NIT_NULL;
10465 /* parser/parser.nit:2920 */
10466 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10467 /* parser/parser.nit:2922 */
10468 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwenum, ID_parser___parser_nodes___TKwenum)) /*cast nullable TKwenum*/;
10469 if (UNTAG_Bool(REGB0)) {
10470 } else {
10471 nit_abort("Assert failed", NULL, LOCATE_parser, 2922);
10472 }
10473 /* parser/parser.nit:2923 */
10474 fra.me.REG[3] = NEW_AEnumClasskind_parser___parser_prod___AEnumClasskind___init_aenumclasskind(fra.me.REG[3]);
10475 /* parser/parser.nit:2926 */
10476 fra.me.REG[2] = fra.me.REG[3];
10477 /* parser/parser.nit:2927 */
10478 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10479 if (UNTAG_Bool(REGB0)) {
10480 } else {
10481 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2927);
10482 }
10483 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10484 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10485 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10486 stack_frame_head = fra.me.prev;
10487 return;
10488 }
10489 void parser___ReduceAction59___action(val_t p0, val_t p1){
10490 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10491 val_t REGB0;
10492 val_t tmp;
10493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10494 fra.me.file = LOCATE_parser;
10495 fra.me.line = 2932;
10496 fra.me.meth = LOCATE_parser___ReduceAction59___action;
10497 fra.me.has_broke = 0;
10498 fra.me.REG_size = 4;
10499 fra.me.nitni_local_ref_head = NULL;
10500 fra.me.REG[0] = NIT_NULL;
10501 fra.me.REG[1] = NIT_NULL;
10502 fra.me.REG[2] = NIT_NULL;
10503 fra.me.REG[3] = NIT_NULL;
10504 fra.me.REG[0] = p0;
10505 fra.me.REG[1] = p1;
10506 /* parser/parser.nit:2934 */
10507 fra.me.REG[2] = NIT_NULL;
10508 /* parser/parser.nit:2935 */
10509 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10510 /* parser/parser.nit:2937 */
10511 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwextern, ID_parser___parser_nodes___TKwextern)) /*cast nullable TKwextern*/;
10512 if (UNTAG_Bool(REGB0)) {
10513 } else {
10514 nit_abort("Assert failed", NULL, LOCATE_parser, 2937);
10515 }
10516 /* parser/parser.nit:2938 */
10517 fra.me.REG[3] = NEW_AExternClasskind_parser___parser_prod___AExternClasskind___init_aexternclasskind(fra.me.REG[3]);
10518 /* parser/parser.nit:2941 */
10519 fra.me.REG[2] = fra.me.REG[3];
10520 /* parser/parser.nit:2942 */
10521 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10522 if (UNTAG_Bool(REGB0)) {
10523 } else {
10524 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2942);
10525 }
10526 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10527 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10528 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10529 stack_frame_head = fra.me.prev;
10530 return;
10531 }
10532 void parser___ReduceAction60___action(val_t p0, val_t p1){
10533 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
10534 val_t REGB0;
10535 val_t REGB1;
10536 val_t tmp;
10537 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10538 fra.me.file = LOCATE_parser;
10539 fra.me.line = 2947;
10540 fra.me.meth = LOCATE_parser___ReduceAction60___action;
10541 fra.me.has_broke = 0;
10542 fra.me.REG_size = 5;
10543 fra.me.nitni_local_ref_head = NULL;
10544 fra.me.REG[0] = NIT_NULL;
10545 fra.me.REG[1] = NIT_NULL;
10546 fra.me.REG[2] = NIT_NULL;
10547 fra.me.REG[3] = NIT_NULL;
10548 fra.me.REG[4] = NIT_NULL;
10549 fra.me.REG[0] = p0;
10550 fra.me.REG[1] = p1;
10551 /* parser/parser.nit:2949 */
10552 fra.me.REG[2] = NIT_NULL;
10553 /* parser/parser.nit:2950 */
10554 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10555 /* parser/parser.nit:2951 */
10556 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10557 /* parser/parser.nit:2952 */
10558 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10559 /* parser/parser.nit:2953 */
10560 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10561 /* parser/parser.nit:2954 */
10562 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10563 /* parser/parser.nit:2955 */
10564 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
10565 /* parser/parser.nit:2957 */
10566 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10567 if (UNTAG_Bool(REGB0)) {
10568 } else {
10569 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10570 if (UNTAG_Bool(REGB1)) {
10571 REGB1 = TAG_Bool(false);
10572 REGB0 = REGB1;
10573 } else {
10574 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10575 REGB0 = REGB1;
10576 }
10577 }
10578 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10579 if (UNTAG_Bool(REGB0)) {
10580 /* parser/parser.nit:2958 */
10581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
10582 }
10583 /* parser/parser.nit:2960 */
10584 fra.me.REG[2] = fra.me.REG[4];
10585 /* parser/parser.nit:2961 */
10586 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10587 if (UNTAG_Bool(REGB0)) {
10588 } else {
10589 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2961);
10590 }
10591 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10592 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10593 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10594 stack_frame_head = fra.me.prev;
10595 return;
10596 }
10597 void parser___ReduceAction61___action(val_t p0, val_t p1){
10598 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
10599 val_t REGB0;
10600 val_t REGB1;
10601 val_t tmp;
10602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10603 fra.me.file = LOCATE_parser;
10604 fra.me.line = 2966;
10605 fra.me.meth = LOCATE_parser___ReduceAction61___action;
10606 fra.me.has_broke = 0;
10607 fra.me.REG_size = 6;
10608 fra.me.nitni_local_ref_head = NULL;
10609 fra.me.REG[0] = NIT_NULL;
10610 fra.me.REG[1] = NIT_NULL;
10611 fra.me.REG[2] = NIT_NULL;
10612 fra.me.REG[3] = NIT_NULL;
10613 fra.me.REG[4] = NIT_NULL;
10614 fra.me.REG[5] = NIT_NULL;
10615 fra.me.REG[0] = p0;
10616 fra.me.REG[1] = p1;
10617 /* parser/parser.nit:2968 */
10618 fra.me.REG[2] = NIT_NULL;
10619 /* parser/parser.nit:2969 */
10620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10621 /* parser/parser.nit:2970 */
10622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10623 /* parser/parser.nit:2971 */
10624 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10625 /* parser/parser.nit:2972 */
10626 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10627 /* parser/parser.nit:2973 */
10628 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10629 /* parser/parser.nit:2974 */
10630 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10631 /* parser/parser.nit:2975 */
10632 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10633 /* parser/parser.nit:2978 */
10634 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
10635 if (UNTAG_Bool(REGB0)) {
10636 } else {
10637 nit_abort("Assert failed", NULL, LOCATE_parser, 2978);
10638 }
10639 /* parser/parser.nit:2979 */
10640 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10641 if (UNTAG_Bool(REGB0)) {
10642 } else {
10643 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10644 if (UNTAG_Bool(REGB1)) {
10645 REGB1 = TAG_Bool(false);
10646 REGB0 = REGB1;
10647 } else {
10648 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
10649 REGB0 = REGB1;
10650 }
10651 }
10652 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10653 if (UNTAG_Bool(REGB0)) {
10654 /* parser/parser.nit:2980 */
10655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
10656 }
10657 /* parser/parser.nit:2982 */
10658 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
10659 fra.me.REG[5] = fra.me.REG[3];
10660 /* parser/parser.nit:2983 */
10661 fra.me.REG[2] = fra.me.REG[5];
10662 /* parser/parser.nit:2984 */
10663 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10664 if (UNTAG_Bool(REGB0)) {
10665 } else {
10666 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2984);
10667 }
10668 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10669 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10670 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10671 stack_frame_head = fra.me.prev;
10672 return;
10673 }
10674 void parser___ReduceAction62___action(val_t p0, val_t p1){
10675 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
10676 val_t REGB0;
10677 val_t tmp;
10678 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10679 fra.me.file = LOCATE_parser;
10680 fra.me.line = 2989;
10681 fra.me.meth = LOCATE_parser___ReduceAction62___action;
10682 fra.me.has_broke = 0;
10683 fra.me.REG_size = 5;
10684 fra.me.nitni_local_ref_head = NULL;
10685 fra.me.REG[0] = NIT_NULL;
10686 fra.me.REG[1] = NIT_NULL;
10687 fra.me.REG[2] = NIT_NULL;
10688 fra.me.REG[3] = NIT_NULL;
10689 fra.me.REG[4] = NIT_NULL;
10690 fra.me.REG[0] = p0;
10691 fra.me.REG[1] = p1;
10692 /* parser/parser.nit:2991 */
10693 fra.me.REG[2] = NIT_NULL;
10694 /* parser/parser.nit:2992 */
10695 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10696 /* parser/parser.nit:2993 */
10697 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10698 /* parser/parser.nit:2994 */
10699 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10700 /* parser/parser.nit:2996 */
10701 fra.me.REG[2] = fra.me.REG[3];
10702 /* parser/parser.nit:2997 */
10703 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10704 if (UNTAG_Bool(REGB0)) {
10705 } else {
10706 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2997);
10707 }
10708 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10709 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10710 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10711 stack_frame_head = fra.me.prev;
10712 return;
10713 }
10714 void parser___ReduceAction63___action(val_t p0, val_t p1){
10715 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10716 val_t REGB0;
10717 val_t tmp;
10718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10719 fra.me.file = LOCATE_parser;
10720 fra.me.line = 3002;
10721 fra.me.meth = LOCATE_parser___ReduceAction63___action;
10722 fra.me.has_broke = 0;
10723 fra.me.REG_size = 4;
10724 fra.me.nitni_local_ref_head = NULL;
10725 fra.me.REG[0] = NIT_NULL;
10726 fra.me.REG[1] = NIT_NULL;
10727 fra.me.REG[2] = NIT_NULL;
10728 fra.me.REG[3] = NIT_NULL;
10729 fra.me.REG[0] = p0;
10730 fra.me.REG[1] = p1;
10731 /* parser/parser.nit:3004 */
10732 fra.me.REG[2] = NIT_NULL;
10733 /* parser/parser.nit:3005 */
10734 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10735 /* parser/parser.nit:3007 */
10736 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
10737 if (UNTAG_Bool(REGB0)) {
10738 } else {
10739 nit_abort("Assert failed", NULL, LOCATE_parser, 3007);
10740 }
10741 /* parser/parser.nit:3008 */
10742 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], NIT_NULL);
10743 /* parser/parser.nit:3012 */
10744 fra.me.REG[2] = fra.me.REG[3];
10745 /* parser/parser.nit:3013 */
10746 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10747 if (UNTAG_Bool(REGB0)) {
10748 } else {
10749 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3013);
10750 }
10751 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10752 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10753 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10754 stack_frame_head = fra.me.prev;
10755 return;
10756 }
10757 void parser___ReduceAction64___action(val_t p0, val_t p1){
10758 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
10759 val_t REGB0;
10760 val_t tmp;
10761 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10762 fra.me.file = LOCATE_parser;
10763 fra.me.line = 3018;
10764 fra.me.meth = LOCATE_parser___ReduceAction64___action;
10765 fra.me.has_broke = 0;
10766 fra.me.REG_size = 5;
10767 fra.me.nitni_local_ref_head = NULL;
10768 fra.me.REG[0] = NIT_NULL;
10769 fra.me.REG[1] = NIT_NULL;
10770 fra.me.REG[2] = NIT_NULL;
10771 fra.me.REG[3] = NIT_NULL;
10772 fra.me.REG[4] = NIT_NULL;
10773 fra.me.REG[0] = p0;
10774 fra.me.REG[1] = p1;
10775 /* parser/parser.nit:3020 */
10776 fra.me.REG[2] = NIT_NULL;
10777 /* parser/parser.nit:3021 */
10778 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10779 /* parser/parser.nit:3022 */
10780 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10781 /* parser/parser.nit:3024 */
10782 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
10783 if (UNTAG_Bool(REGB0)) {
10784 } else {
10785 nit_abort("Assert failed", NULL, LOCATE_parser, 3024);
10786 }
10787 /* parser/parser.nit:3026 */
10788 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
10789 if (UNTAG_Bool(REGB0)) {
10790 } else {
10791 nit_abort("Assert failed", NULL, LOCATE_parser, 3026);
10792 }
10793 /* parser/parser.nit:3027 */
10794 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[4], fra.me.REG[3]);
10795 /* parser/parser.nit:3031 */
10796 fra.me.REG[2] = fra.me.REG[3];
10797 /* parser/parser.nit:3032 */
10798 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10799 if (UNTAG_Bool(REGB0)) {
10800 } else {
10801 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3032);
10802 }
10803 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10804 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10805 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10806 stack_frame_head = fra.me.prev;
10807 return;
10808 }
10809 void parser___ReduceAction65___action(val_t p0, val_t p1){
10810 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
10811 val_t REGB0;
10812 val_t tmp;
10813 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10814 fra.me.file = LOCATE_parser;
10815 fra.me.line = 3037;
10816 fra.me.meth = LOCATE_parser___ReduceAction65___action;
10817 fra.me.has_broke = 0;
10818 fra.me.REG_size = 6;
10819 fra.me.nitni_local_ref_head = NULL;
10820 fra.me.REG[0] = NIT_NULL;
10821 fra.me.REG[1] = NIT_NULL;
10822 fra.me.REG[2] = NIT_NULL;
10823 fra.me.REG[3] = NIT_NULL;
10824 fra.me.REG[4] = NIT_NULL;
10825 fra.me.REG[5] = NIT_NULL;
10826 fra.me.REG[0] = p0;
10827 fra.me.REG[1] = p1;
10828 /* parser/parser.nit:3039 */
10829 fra.me.REG[2] = NIT_NULL;
10830 /* parser/parser.nit:3040 */
10831 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10832 /* parser/parser.nit:3041 */
10833 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10834 /* parser/parser.nit:3042 */
10835 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10836 /* parser/parser.nit:3043 */
10837 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10838 /* parser/parser.nit:3045 */
10839 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwspecial, ID_parser___parser_nodes___TKwspecial)) /*cast nullable TKwspecial*/;
10840 if (UNTAG_Bool(REGB0)) {
10841 } else {
10842 nit_abort("Assert failed", NULL, LOCATE_parser, 3045);
10843 }
10844 /* parser/parser.nit:3047 */
10845 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
10846 if (UNTAG_Bool(REGB0)) {
10847 } else {
10848 nit_abort("Assert failed", NULL, LOCATE_parser, 3047);
10849 }
10850 /* parser/parser.nit:3048 */
10851 fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
10852 /* parser/parser.nit:3053 */
10853 fra.me.REG[2] = fra.me.REG[3];
10854 /* parser/parser.nit:3054 */
10855 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10856 if (UNTAG_Bool(REGB0)) {
10857 } else {
10858 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3054);
10859 }
10860 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10861 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10862 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10863 stack_frame_head = fra.me.prev;
10864 return;
10865 }
10866 void parser___ReduceAction66___action(val_t p0, val_t p1){
10867 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
10868 val_t REGB0;
10869 val_t tmp;
10870 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10871 fra.me.file = LOCATE_parser;
10872 fra.me.line = 3059;
10873 fra.me.meth = LOCATE_parser___ReduceAction66___action;
10874 fra.me.has_broke = 0;
10875 fra.me.REG_size = 6;
10876 fra.me.nitni_local_ref_head = NULL;
10877 fra.me.REG[0] = NIT_NULL;
10878 fra.me.REG[1] = NIT_NULL;
10879 fra.me.REG[2] = NIT_NULL;
10880 fra.me.REG[3] = NIT_NULL;
10881 fra.me.REG[4] = NIT_NULL;
10882 fra.me.REG[5] = NIT_NULL;
10883 fra.me.REG[0] = p0;
10884 fra.me.REG[1] = p1;
10885 /* parser/parser.nit:3061 */
10886 fra.me.REG[2] = NIT_NULL;
10887 /* parser/parser.nit:3062 */
10888 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10889 /* parser/parser.nit:3063 */
10890 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10891 /* parser/parser.nit:3064 */
10892 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10893 /* parser/parser.nit:3065 */
10894 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10895 /* parser/parser.nit:3067 */
10896 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
10897 if (UNTAG_Bool(REGB0)) {
10898 } else {
10899 nit_abort("Assert failed", NULL, LOCATE_parser, 3067);
10900 }
10901 /* parser/parser.nit:3069 */
10902 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
10903 if (UNTAG_Bool(REGB0)) {
10904 } else {
10905 nit_abort("Assert failed", NULL, LOCATE_parser, 3069);
10906 }
10907 /* parser/parser.nit:3070 */
10908 fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
10909 /* parser/parser.nit:3075 */
10910 fra.me.REG[2] = fra.me.REG[3];
10911 /* parser/parser.nit:3076 */
10912 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10913 if (UNTAG_Bool(REGB0)) {
10914 } else {
10915 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3076);
10916 }
10917 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10918 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10919 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10920 stack_frame_head = fra.me.prev;
10921 return;
10922 }
10923 void parser___ReduceAction67___action(val_t p0, val_t p1){
10924 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10925 val_t REGB0;
10926 val_t tmp;
10927 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10928 fra.me.file = LOCATE_parser;
10929 fra.me.line = 3081;
10930 fra.me.meth = LOCATE_parser___ReduceAction67___action;
10931 fra.me.has_broke = 0;
10932 fra.me.REG_size = 4;
10933 fra.me.nitni_local_ref_head = NULL;
10934 fra.me.REG[0] = NIT_NULL;
10935 fra.me.REG[1] = NIT_NULL;
10936 fra.me.REG[2] = NIT_NULL;
10937 fra.me.REG[3] = NIT_NULL;
10938 fra.me.REG[0] = p0;
10939 fra.me.REG[1] = p1;
10940 /* parser/parser.nit:3083 */
10941 fra.me.REG[2] = NIT_NULL;
10942 /* parser/parser.nit:3084 */
10943 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10944 /* parser/parser.nit:3085 */
10945 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10946 /* parser/parser.nit:3087 */
10947 fra.me.REG[2] = fra.me.REG[3];
10948 /* parser/parser.nit:3088 */
10949 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10950 if (UNTAG_Bool(REGB0)) {
10951 } else {
10952 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3088);
10953 }
10954 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10955 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10956 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10957 stack_frame_head = fra.me.prev;
10958 return;
10959 }
10960 void parser___ReduceAction68___action(val_t p0, val_t p1){
10961 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10962 val_t REGB0;
10963 val_t tmp;
10964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10965 fra.me.file = LOCATE_parser;
10966 fra.me.line = 3093;
10967 fra.me.meth = LOCATE_parser___ReduceAction68___action;
10968 fra.me.has_broke = 0;
10969 fra.me.REG_size = 9;
10970 fra.me.nitni_local_ref_head = NULL;
10971 fra.me.REG[0] = NIT_NULL;
10972 fra.me.REG[1] = NIT_NULL;
10973 fra.me.REG[2] = NIT_NULL;
10974 fra.me.REG[3] = NIT_NULL;
10975 fra.me.REG[4] = NIT_NULL;
10976 fra.me.REG[5] = NIT_NULL;
10977 fra.me.REG[6] = NIT_NULL;
10978 fra.me.REG[7] = NIT_NULL;
10979 fra.me.REG[8] = NIT_NULL;
10980 fra.me.REG[0] = p0;
10981 fra.me.REG[1] = p1;
10982 /* parser/parser.nit:3095 */
10983 fra.me.REG[2] = NIT_NULL;
10984 /* parser/parser.nit:3096 */
10985 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10986 /* parser/parser.nit:3097 */
10987 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10988 /* parser/parser.nit:3098 */
10989 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10990 /* parser/parser.nit:3099 */
10991 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10992 /* parser/parser.nit:3100 */
10993 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10994 /* parser/parser.nit:3101 */
10995 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10996 /* parser/parser.nit:3102 */
10997 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10998 /* parser/parser.nit:3104 */
10999 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11000 if (UNTAG_Bool(REGB0)) {
11001 } else {
11002 nit_abort("Assert failed", NULL, LOCATE_parser, 3104);
11003 }
11004 /* parser/parser.nit:3106 */
11005 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11006 if (UNTAG_Bool(REGB0)) {
11007 } else {
11008 nit_abort("Assert failed", NULL, LOCATE_parser, 3106);
11009 }
11010 /* parser/parser.nit:3108 */
11011 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11012 if (UNTAG_Bool(REGB0)) {
11013 } else {
11014 nit_abort("Assert failed", NULL, LOCATE_parser, 3108);
11015 }
11016 /* parser/parser.nit:3110 */
11017 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11018 if (UNTAG_Bool(REGB0)) {
11019 } else {
11020 nit_abort("Assert failed", NULL, LOCATE_parser, 3110);
11021 }
11022 /* parser/parser.nit:3112 */
11023 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11024 if (UNTAG_Bool(REGB0)) {
11025 } else {
11026 nit_abort("Assert failed", NULL, LOCATE_parser, 3112);
11027 }
11028 /* parser/parser.nit:3114 */
11029 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
11030 if (UNTAG_Bool(REGB0)) {
11031 } else {
11032 nit_abort("Assert failed", NULL, LOCATE_parser, 3114);
11033 }
11034 /* parser/parser.nit:3115 */
11035 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11036 /* parser/parser.nit:3124 */
11037 fra.me.REG[2] = fra.me.REG[3];
11038 /* parser/parser.nit:3125 */
11039 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11040 if (UNTAG_Bool(REGB0)) {
11041 } else {
11042 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3125);
11043 }
11044 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11045 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11046 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11047 stack_frame_head = fra.me.prev;
11048 return;
11049 }
11050 void parser___ReduceAction69___action(val_t p0, val_t p1){
11051 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11052 val_t REGB0;
11053 val_t tmp;
11054 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11055 fra.me.file = LOCATE_parser;
11056 fra.me.line = 3130;
11057 fra.me.meth = LOCATE_parser___ReduceAction69___action;
11058 fra.me.has_broke = 0;
11059 fra.me.REG_size = 10;
11060 fra.me.nitni_local_ref_head = NULL;
11061 fra.me.REG[0] = NIT_NULL;
11062 fra.me.REG[1] = NIT_NULL;
11063 fra.me.REG[2] = NIT_NULL;
11064 fra.me.REG[3] = NIT_NULL;
11065 fra.me.REG[4] = NIT_NULL;
11066 fra.me.REG[5] = NIT_NULL;
11067 fra.me.REG[6] = NIT_NULL;
11068 fra.me.REG[7] = NIT_NULL;
11069 fra.me.REG[8] = NIT_NULL;
11070 fra.me.REG[9] = NIT_NULL;
11071 fra.me.REG[0] = p0;
11072 fra.me.REG[1] = p1;
11073 /* parser/parser.nit:3132 */
11074 fra.me.REG[2] = NIT_NULL;
11075 /* parser/parser.nit:3133 */
11076 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11077 /* parser/parser.nit:3134 */
11078 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11079 /* parser/parser.nit:3135 */
11080 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11081 /* parser/parser.nit:3136 */
11082 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11083 /* parser/parser.nit:3137 */
11084 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11085 /* parser/parser.nit:3138 */
11086 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11087 /* parser/parser.nit:3139 */
11088 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11089 /* parser/parser.nit:3140 */
11090 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11091 /* parser/parser.nit:3142 */
11092 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11093 if (UNTAG_Bool(REGB0)) {
11094 } else {
11095 nit_abort("Assert failed", NULL, LOCATE_parser, 3142);
11096 }
11097 /* parser/parser.nit:3144 */
11098 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
11099 if (UNTAG_Bool(REGB0)) {
11100 } else {
11101 nit_abort("Assert failed", NULL, LOCATE_parser, 3144);
11102 }
11103 /* parser/parser.nit:3146 */
11104 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11105 if (UNTAG_Bool(REGB0)) {
11106 } else {
11107 nit_abort("Assert failed", NULL, LOCATE_parser, 3146);
11108 }
11109 /* parser/parser.nit:3148 */
11110 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11111 if (UNTAG_Bool(REGB0)) {
11112 } else {
11113 nit_abort("Assert failed", NULL, LOCATE_parser, 3148);
11114 }
11115 /* parser/parser.nit:3150 */
11116 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11117 if (UNTAG_Bool(REGB0)) {
11118 } else {
11119 nit_abort("Assert failed", NULL, LOCATE_parser, 3150);
11120 }
11121 /* parser/parser.nit:3152 */
11122 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11123 if (UNTAG_Bool(REGB0)) {
11124 } else {
11125 nit_abort("Assert failed", NULL, LOCATE_parser, 3152);
11126 }
11127 /* parser/parser.nit:3154 */
11128 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
11129 if (UNTAG_Bool(REGB0)) {
11130 } else {
11131 nit_abort("Assert failed", NULL, LOCATE_parser, 3154);
11132 }
11133 /* parser/parser.nit:3155 */
11134 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11135 /* parser/parser.nit:3164 */
11136 fra.me.REG[2] = fra.me.REG[3];
11137 /* parser/parser.nit:3165 */
11138 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11139 if (UNTAG_Bool(REGB0)) {
11140 } else {
11141 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3165);
11142 }
11143 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11144 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11145 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11146 stack_frame_head = fra.me.prev;
11147 return;
11148 }
11149 void parser___ReduceAction70___action(val_t p0, val_t p1){
11150 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11151 val_t REGB0;
11152 val_t tmp;
11153 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11154 fra.me.file = LOCATE_parser;
11155 fra.me.line = 3170;
11156 fra.me.meth = LOCATE_parser___ReduceAction70___action;
11157 fra.me.has_broke = 0;
11158 fra.me.REG_size = 9;
11159 fra.me.nitni_local_ref_head = NULL;
11160 fra.me.REG[0] = NIT_NULL;
11161 fra.me.REG[1] = NIT_NULL;
11162 fra.me.REG[2] = NIT_NULL;
11163 fra.me.REG[3] = NIT_NULL;
11164 fra.me.REG[4] = NIT_NULL;
11165 fra.me.REG[5] = NIT_NULL;
11166 fra.me.REG[6] = NIT_NULL;
11167 fra.me.REG[7] = NIT_NULL;
11168 fra.me.REG[8] = NIT_NULL;
11169 fra.me.REG[0] = p0;
11170 fra.me.REG[1] = p1;
11171 /* parser/parser.nit:3172 */
11172 fra.me.REG[2] = NIT_NULL;
11173 /* parser/parser.nit:3173 */
11174 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11175 /* parser/parser.nit:3174 */
11176 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11177 /* parser/parser.nit:3175 */
11178 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11179 /* parser/parser.nit:3176 */
11180 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11181 /* parser/parser.nit:3177 */
11182 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11183 /* parser/parser.nit:3178 */
11184 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11185 /* parser/parser.nit:3179 */
11186 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11187 /* parser/parser.nit:3180 */
11188 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11189 /* parser/parser.nit:3182 */
11190 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11191 if (UNTAG_Bool(REGB0)) {
11192 } else {
11193 nit_abort("Assert failed", NULL, LOCATE_parser, 3182);
11194 }
11195 /* parser/parser.nit:3184 */
11196 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11197 if (UNTAG_Bool(REGB0)) {
11198 } else {
11199 nit_abort("Assert failed", NULL, LOCATE_parser, 3184);
11200 }
11201 /* parser/parser.nit:3186 */
11202 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11203 if (UNTAG_Bool(REGB0)) {
11204 } else {
11205 nit_abort("Assert failed", NULL, LOCATE_parser, 3186);
11206 }
11207 /* parser/parser.nit:3188 */
11208 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11209 if (UNTAG_Bool(REGB0)) {
11210 } else {
11211 nit_abort("Assert failed", NULL, LOCATE_parser, 3188);
11212 }
11213 /* parser/parser.nit:3190 */
11214 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11215 if (UNTAG_Bool(REGB0)) {
11216 } else {
11217 nit_abort("Assert failed", NULL, LOCATE_parser, 3190);
11218 }
11219 /* parser/parser.nit:3192 */
11220 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
11221 if (UNTAG_Bool(REGB0)) {
11222 } else {
11223 nit_abort("Assert failed", NULL, LOCATE_parser, 3192);
11224 }
11225 /* parser/parser.nit:3193 */
11226 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11227 /* parser/parser.nit:3202 */
11228 fra.me.REG[2] = fra.me.REG[3];
11229 /* parser/parser.nit:3203 */
11230 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11231 if (UNTAG_Bool(REGB0)) {
11232 } else {
11233 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3203);
11234 }
11235 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11236 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11237 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11238 stack_frame_head = fra.me.prev;
11239 return;
11240 }
11241 void parser___ReduceAction71___action(val_t p0, val_t p1){
11242 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11243 val_t REGB0;
11244 val_t tmp;
11245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11246 fra.me.file = LOCATE_parser;
11247 fra.me.line = 3208;
11248 fra.me.meth = LOCATE_parser___ReduceAction71___action;
11249 fra.me.has_broke = 0;
11250 fra.me.REG_size = 10;
11251 fra.me.nitni_local_ref_head = NULL;
11252 fra.me.REG[0] = NIT_NULL;
11253 fra.me.REG[1] = NIT_NULL;
11254 fra.me.REG[2] = NIT_NULL;
11255 fra.me.REG[3] = NIT_NULL;
11256 fra.me.REG[4] = NIT_NULL;
11257 fra.me.REG[5] = NIT_NULL;
11258 fra.me.REG[6] = NIT_NULL;
11259 fra.me.REG[7] = NIT_NULL;
11260 fra.me.REG[8] = NIT_NULL;
11261 fra.me.REG[9] = NIT_NULL;
11262 fra.me.REG[0] = p0;
11263 fra.me.REG[1] = p1;
11264 /* parser/parser.nit:3210 */
11265 fra.me.REG[2] = NIT_NULL;
11266 /* parser/parser.nit:3211 */
11267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11268 /* parser/parser.nit:3212 */
11269 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11270 /* parser/parser.nit:3213 */
11271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11272 /* parser/parser.nit:3214 */
11273 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11274 /* parser/parser.nit:3215 */
11275 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11276 /* parser/parser.nit:3216 */
11277 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11278 /* parser/parser.nit:3217 */
11279 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11280 /* parser/parser.nit:3218 */
11281 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11282 /* parser/parser.nit:3219 */
11283 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11284 /* parser/parser.nit:3221 */
11285 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11286 if (UNTAG_Bool(REGB0)) {
11287 } else {
11288 nit_abort("Assert failed", NULL, LOCATE_parser, 3221);
11289 }
11290 /* parser/parser.nit:3223 */
11291 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
11292 if (UNTAG_Bool(REGB0)) {
11293 } else {
11294 nit_abort("Assert failed", NULL, LOCATE_parser, 3223);
11295 }
11296 /* parser/parser.nit:3225 */
11297 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11298 if (UNTAG_Bool(REGB0)) {
11299 } else {
11300 nit_abort("Assert failed", NULL, LOCATE_parser, 3225);
11301 }
11302 /* parser/parser.nit:3227 */
11303 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11304 if (UNTAG_Bool(REGB0)) {
11305 } else {
11306 nit_abort("Assert failed", NULL, LOCATE_parser, 3227);
11307 }
11308 /* parser/parser.nit:3229 */
11309 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11310 if (UNTAG_Bool(REGB0)) {
11311 } else {
11312 nit_abort("Assert failed", NULL, LOCATE_parser, 3229);
11313 }
11314 /* parser/parser.nit:3231 */
11315 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11316 if (UNTAG_Bool(REGB0)) {
11317 } else {
11318 nit_abort("Assert failed", NULL, LOCATE_parser, 3231);
11319 }
11320 /* parser/parser.nit:3233 */
11321 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
11322 if (UNTAG_Bool(REGB0)) {
11323 } else {
11324 nit_abort("Assert failed", NULL, LOCATE_parser, 3233);
11325 }
11326 /* parser/parser.nit:3234 */
11327 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11328 /* parser/parser.nit:3243 */
11329 fra.me.REG[2] = fra.me.REG[3];
11330 /* parser/parser.nit:3244 */
11331 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11332 if (UNTAG_Bool(REGB0)) {
11333 } else {
11334 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3244);
11335 }
11336 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11337 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11338 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11339 stack_frame_head = fra.me.prev;
11340 return;
11341 }
11342 void parser___ReduceAction72___action(val_t p0, val_t p1){
11343 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11344 val_t REGB0;
11345 val_t tmp;
11346 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11347 fra.me.file = LOCATE_parser;
11348 fra.me.line = 3249;
11349 fra.me.meth = LOCATE_parser___ReduceAction72___action;
11350 fra.me.has_broke = 0;
11351 fra.me.REG_size = 9;
11352 fra.me.nitni_local_ref_head = NULL;
11353 fra.me.REG[0] = NIT_NULL;
11354 fra.me.REG[1] = NIT_NULL;
11355 fra.me.REG[2] = NIT_NULL;
11356 fra.me.REG[3] = NIT_NULL;
11357 fra.me.REG[4] = NIT_NULL;
11358 fra.me.REG[5] = NIT_NULL;
11359 fra.me.REG[6] = NIT_NULL;
11360 fra.me.REG[7] = NIT_NULL;
11361 fra.me.REG[8] = NIT_NULL;
11362 fra.me.REG[0] = p0;
11363 fra.me.REG[1] = p1;
11364 /* parser/parser.nit:3251 */
11365 fra.me.REG[2] = NIT_NULL;
11366 /* parser/parser.nit:3252 */
11367 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11368 /* parser/parser.nit:3253 */
11369 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11370 /* parser/parser.nit:3254 */
11371 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11372 /* parser/parser.nit:3255 */
11373 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11374 /* parser/parser.nit:3256 */
11375 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11376 /* parser/parser.nit:3257 */
11377 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11378 /* parser/parser.nit:3258 */
11379 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11380 /* parser/parser.nit:3259 */
11381 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11382 /* parser/parser.nit:3261 */
11383 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11384 if (UNTAG_Bool(REGB0)) {
11385 } else {
11386 nit_abort("Assert failed", NULL, LOCATE_parser, 3261);
11387 }
11388 /* parser/parser.nit:3263 */
11389 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11390 if (UNTAG_Bool(REGB0)) {
11391 } else {
11392 nit_abort("Assert failed", NULL, LOCATE_parser, 3263);
11393 }
11394 /* parser/parser.nit:3265 */
11395 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11396 if (UNTAG_Bool(REGB0)) {
11397 } else {
11398 nit_abort("Assert failed", NULL, LOCATE_parser, 3265);
11399 }
11400 /* parser/parser.nit:3267 */
11401 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11402 if (UNTAG_Bool(REGB0)) {
11403 } else {
11404 nit_abort("Assert failed", NULL, LOCATE_parser, 3267);
11405 }
11406 /* parser/parser.nit:3269 */
11407 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11408 if (UNTAG_Bool(REGB0)) {
11409 } else {
11410 nit_abort("Assert failed", NULL, LOCATE_parser, 3269);
11411 }
11412 /* parser/parser.nit:3271 */
11413 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
11414 if (UNTAG_Bool(REGB0)) {
11415 } else {
11416 nit_abort("Assert failed", NULL, LOCATE_parser, 3271);
11417 }
11418 /* parser/parser.nit:3272 */
11419 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11420 /* parser/parser.nit:3281 */
11421 fra.me.REG[2] = fra.me.REG[3];
11422 /* parser/parser.nit:3282 */
11423 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11424 if (UNTAG_Bool(REGB0)) {
11425 } else {
11426 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3282);
11427 }
11428 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11429 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11430 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11431 stack_frame_head = fra.me.prev;
11432 return;
11433 }
11434 void parser___ReduceAction73___action(val_t p0, val_t p1){
11435 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11436 val_t REGB0;
11437 val_t tmp;
11438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11439 fra.me.file = LOCATE_parser;
11440 fra.me.line = 3287;
11441 fra.me.meth = LOCATE_parser___ReduceAction73___action;
11442 fra.me.has_broke = 0;
11443 fra.me.REG_size = 10;
11444 fra.me.nitni_local_ref_head = NULL;
11445 fra.me.REG[0] = NIT_NULL;
11446 fra.me.REG[1] = NIT_NULL;
11447 fra.me.REG[2] = NIT_NULL;
11448 fra.me.REG[3] = NIT_NULL;
11449 fra.me.REG[4] = NIT_NULL;
11450 fra.me.REG[5] = NIT_NULL;
11451 fra.me.REG[6] = NIT_NULL;
11452 fra.me.REG[7] = NIT_NULL;
11453 fra.me.REG[8] = NIT_NULL;
11454 fra.me.REG[9] = NIT_NULL;
11455 fra.me.REG[0] = p0;
11456 fra.me.REG[1] = p1;
11457 /* parser/parser.nit:3289 */
11458 fra.me.REG[2] = NIT_NULL;
11459 /* parser/parser.nit:3290 */
11460 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11461 /* parser/parser.nit:3291 */
11462 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11463 /* parser/parser.nit:3292 */
11464 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11465 /* parser/parser.nit:3293 */
11466 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11467 /* parser/parser.nit:3294 */
11468 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11469 /* parser/parser.nit:3295 */
11470 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11471 /* parser/parser.nit:3296 */
11472 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11473 /* parser/parser.nit:3297 */
11474 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11475 /* parser/parser.nit:3298 */
11476 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11477 /* parser/parser.nit:3300 */
11478 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11479 if (UNTAG_Bool(REGB0)) {
11480 } else {
11481 nit_abort("Assert failed", NULL, LOCATE_parser, 3300);
11482 }
11483 /* parser/parser.nit:3302 */
11484 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
11485 if (UNTAG_Bool(REGB0)) {
11486 } else {
11487 nit_abort("Assert failed", NULL, LOCATE_parser, 3302);
11488 }
11489 /* parser/parser.nit:3304 */
11490 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11491 if (UNTAG_Bool(REGB0)) {
11492 } else {
11493 nit_abort("Assert failed", NULL, LOCATE_parser, 3304);
11494 }
11495 /* parser/parser.nit:3306 */
11496 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11497 if (UNTAG_Bool(REGB0)) {
11498 } else {
11499 nit_abort("Assert failed", NULL, LOCATE_parser, 3306);
11500 }
11501 /* parser/parser.nit:3308 */
11502 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11503 if (UNTAG_Bool(REGB0)) {
11504 } else {
11505 nit_abort("Assert failed", NULL, LOCATE_parser, 3308);
11506 }
11507 /* parser/parser.nit:3310 */
11508 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11509 if (UNTAG_Bool(REGB0)) {
11510 } else {
11511 nit_abort("Assert failed", NULL, LOCATE_parser, 3310);
11512 }
11513 /* parser/parser.nit:3312 */
11514 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
11515 if (UNTAG_Bool(REGB0)) {
11516 } else {
11517 nit_abort("Assert failed", NULL, LOCATE_parser, 3312);
11518 }
11519 /* parser/parser.nit:3313 */
11520 fra.me.REG[3] = NEW_AConcreteMethPropdef_parser___parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11521 /* parser/parser.nit:3322 */
11522 fra.me.REG[2] = fra.me.REG[3];
11523 /* parser/parser.nit:3323 */
11524 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11525 if (UNTAG_Bool(REGB0)) {
11526 } else {
11527 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3323);
11528 }
11529 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11530 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11531 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11532 stack_frame_head = fra.me.prev;
11533 return;
11534 }
11535 void parser___ReduceAction74___action(val_t p0, val_t p1){
11536 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11537 val_t REGB0;
11538 val_t tmp;
11539 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11540 fra.me.file = LOCATE_parser;
11541 fra.me.line = 3328;
11542 fra.me.meth = LOCATE_parser___ReduceAction74___action;
11543 fra.me.has_broke = 0;
11544 fra.me.REG_size = 8;
11545 fra.me.nitni_local_ref_head = NULL;
11546 fra.me.REG[0] = NIT_NULL;
11547 fra.me.REG[1] = NIT_NULL;
11548 fra.me.REG[2] = NIT_NULL;
11549 fra.me.REG[3] = NIT_NULL;
11550 fra.me.REG[4] = NIT_NULL;
11551 fra.me.REG[5] = NIT_NULL;
11552 fra.me.REG[6] = NIT_NULL;
11553 fra.me.REG[7] = NIT_NULL;
11554 fra.me.REG[0] = p0;
11555 fra.me.REG[1] = p1;
11556 /* parser/parser.nit:3330 */
11557 fra.me.REG[2] = NIT_NULL;
11558 /* parser/parser.nit:3331 */
11559 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11560 /* parser/parser.nit:3332 */
11561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11562 /* parser/parser.nit:3333 */
11563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11564 /* parser/parser.nit:3334 */
11565 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11566 /* parser/parser.nit:3335 */
11567 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11568 /* parser/parser.nit:3336 */
11569 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11570 /* parser/parser.nit:3337 */
11571 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11572 /* parser/parser.nit:3339 */
11573 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11574 if (UNTAG_Bool(REGB0)) {
11575 } else {
11576 nit_abort("Assert failed", NULL, LOCATE_parser, 3339);
11577 }
11578 /* parser/parser.nit:3341 */
11579 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11580 if (UNTAG_Bool(REGB0)) {
11581 } else {
11582 nit_abort("Assert failed", NULL, LOCATE_parser, 3341);
11583 }
11584 /* parser/parser.nit:3343 */
11585 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11586 if (UNTAG_Bool(REGB0)) {
11587 } else {
11588 nit_abort("Assert failed", NULL, LOCATE_parser, 3343);
11589 }
11590 /* parser/parser.nit:3345 */
11591 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11592 if (UNTAG_Bool(REGB0)) {
11593 } else {
11594 nit_abort("Assert failed", NULL, LOCATE_parser, 3345);
11595 }
11596 /* parser/parser.nit:3347 */
11597 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11598 if (UNTAG_Bool(REGB0)) {
11599 } else {
11600 nit_abort("Assert failed", NULL, LOCATE_parser, 3347);
11601 }
11602 /* parser/parser.nit:3348 */
11603 fra.me.REG[3] = NEW_ADeferredMethPropdef_parser___parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11604 /* parser/parser.nit:3356 */
11605 fra.me.REG[2] = fra.me.REG[3];
11606 /* parser/parser.nit:3357 */
11607 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11608 if (UNTAG_Bool(REGB0)) {
11609 } else {
11610 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3357);
11611 }
11612 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11613 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11614 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11615 stack_frame_head = fra.me.prev;
11616 return;
11617 }
11618 void parser___ReduceAction75___action(val_t p0, val_t p1){
11619 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11620 val_t REGB0;
11621 val_t tmp;
11622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11623 fra.me.file = LOCATE_parser;
11624 fra.me.line = 3362;
11625 fra.me.meth = LOCATE_parser___ReduceAction75___action;
11626 fra.me.has_broke = 0;
11627 fra.me.REG_size = 9;
11628 fra.me.nitni_local_ref_head = NULL;
11629 fra.me.REG[0] = NIT_NULL;
11630 fra.me.REG[1] = NIT_NULL;
11631 fra.me.REG[2] = NIT_NULL;
11632 fra.me.REG[3] = NIT_NULL;
11633 fra.me.REG[4] = NIT_NULL;
11634 fra.me.REG[5] = NIT_NULL;
11635 fra.me.REG[6] = NIT_NULL;
11636 fra.me.REG[7] = NIT_NULL;
11637 fra.me.REG[8] = NIT_NULL;
11638 fra.me.REG[0] = p0;
11639 fra.me.REG[1] = p1;
11640 /* parser/parser.nit:3364 */
11641 fra.me.REG[2] = NIT_NULL;
11642 /* parser/parser.nit:3365 */
11643 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11644 /* parser/parser.nit:3366 */
11645 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11646 /* parser/parser.nit:3367 */
11647 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11648 /* parser/parser.nit:3368 */
11649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11650 /* parser/parser.nit:3369 */
11651 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11652 /* parser/parser.nit:3370 */
11653 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11654 /* parser/parser.nit:3371 */
11655 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11656 /* parser/parser.nit:3372 */
11657 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11658 /* parser/parser.nit:3374 */
11659 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11660 if (UNTAG_Bool(REGB0)) {
11661 } else {
11662 nit_abort("Assert failed", NULL, LOCATE_parser, 3374);
11663 }
11664 /* parser/parser.nit:3376 */
11665 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
11666 if (UNTAG_Bool(REGB0)) {
11667 } else {
11668 nit_abort("Assert failed", NULL, LOCATE_parser, 3376);
11669 }
11670 /* parser/parser.nit:3378 */
11671 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11672 if (UNTAG_Bool(REGB0)) {
11673 } else {
11674 nit_abort("Assert failed", NULL, LOCATE_parser, 3378);
11675 }
11676 /* parser/parser.nit:3380 */
11677 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11678 if (UNTAG_Bool(REGB0)) {
11679 } else {
11680 nit_abort("Assert failed", NULL, LOCATE_parser, 3380);
11681 }
11682 /* parser/parser.nit:3382 */
11683 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11684 if (UNTAG_Bool(REGB0)) {
11685 } else {
11686 nit_abort("Assert failed", NULL, LOCATE_parser, 3382);
11687 }
11688 /* parser/parser.nit:3384 */
11689 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11690 if (UNTAG_Bool(REGB0)) {
11691 } else {
11692 nit_abort("Assert failed", NULL, LOCATE_parser, 3384);
11693 }
11694 /* parser/parser.nit:3385 */
11695 fra.me.REG[3] = NEW_ADeferredMethPropdef_parser___parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11696 /* parser/parser.nit:3393 */
11697 fra.me.REG[2] = fra.me.REG[3];
11698 /* parser/parser.nit:3394 */
11699 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11700 if (UNTAG_Bool(REGB0)) {
11701 } else {
11702 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3394);
11703 }
11704 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11705 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11706 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11707 stack_frame_head = fra.me.prev;
11708 return;
11709 }
11710 void parser___ReduceAction76___action(val_t p0, val_t p1){
11711 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11712 val_t REGB0;
11713 val_t tmp;
11714 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11715 fra.me.file = LOCATE_parser;
11716 fra.me.line = 3399;
11717 fra.me.meth = LOCATE_parser___ReduceAction76___action;
11718 fra.me.has_broke = 0;
11719 fra.me.REG_size = 8;
11720 fra.me.nitni_local_ref_head = NULL;
11721 fra.me.REG[0] = NIT_NULL;
11722 fra.me.REG[1] = NIT_NULL;
11723 fra.me.REG[2] = NIT_NULL;
11724 fra.me.REG[3] = NIT_NULL;
11725 fra.me.REG[4] = NIT_NULL;
11726 fra.me.REG[5] = NIT_NULL;
11727 fra.me.REG[6] = NIT_NULL;
11728 fra.me.REG[7] = NIT_NULL;
11729 fra.me.REG[0] = p0;
11730 fra.me.REG[1] = p1;
11731 /* parser/parser.nit:3401 */
11732 fra.me.REG[2] = NIT_NULL;
11733 /* parser/parser.nit:3402 */
11734 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11735 /* parser/parser.nit:3403 */
11736 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11737 /* parser/parser.nit:3404 */
11738 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11739 /* parser/parser.nit:3405 */
11740 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11741 /* parser/parser.nit:3406 */
11742 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11743 /* parser/parser.nit:3407 */
11744 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11745 /* parser/parser.nit:3408 */
11746 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11747 /* parser/parser.nit:3410 */
11748 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11749 if (UNTAG_Bool(REGB0)) {
11750 } else {
11751 nit_abort("Assert failed", NULL, LOCATE_parser, 3410);
11752 }
11753 /* parser/parser.nit:3412 */
11754 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11755 if (UNTAG_Bool(REGB0)) {
11756 } else {
11757 nit_abort("Assert failed", NULL, LOCATE_parser, 3412);
11758 }
11759 /* parser/parser.nit:3414 */
11760 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11761 if (UNTAG_Bool(REGB0)) {
11762 } else {
11763 nit_abort("Assert failed", NULL, LOCATE_parser, 3414);
11764 }
11765 /* parser/parser.nit:3416 */
11766 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11767 if (UNTAG_Bool(REGB0)) {
11768 } else {
11769 nit_abort("Assert failed", NULL, LOCATE_parser, 3416);
11770 }
11771 /* parser/parser.nit:3418 */
11772 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11773 if (UNTAG_Bool(REGB0)) {
11774 } else {
11775 nit_abort("Assert failed", NULL, LOCATE_parser, 3418);
11776 }
11777 /* parser/parser.nit:3419 */
11778 fra.me.REG[3] = NEW_AInternMethPropdef_parser___parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11779 /* parser/parser.nit:3427 */
11780 fra.me.REG[2] = fra.me.REG[3];
11781 /* parser/parser.nit:3428 */
11782 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11783 if (UNTAG_Bool(REGB0)) {
11784 } else {
11785 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3428);
11786 }
11787 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11788 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11789 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11790 stack_frame_head = fra.me.prev;
11791 return;
11792 }
11793 void parser___ReduceAction77___action(val_t p0, val_t p1){
11794 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11795 val_t REGB0;
11796 val_t tmp;
11797 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11798 fra.me.file = LOCATE_parser;
11799 fra.me.line = 3433;
11800 fra.me.meth = LOCATE_parser___ReduceAction77___action;
11801 fra.me.has_broke = 0;
11802 fra.me.REG_size = 9;
11803 fra.me.nitni_local_ref_head = NULL;
11804 fra.me.REG[0] = NIT_NULL;
11805 fra.me.REG[1] = NIT_NULL;
11806 fra.me.REG[2] = NIT_NULL;
11807 fra.me.REG[3] = NIT_NULL;
11808 fra.me.REG[4] = NIT_NULL;
11809 fra.me.REG[5] = NIT_NULL;
11810 fra.me.REG[6] = NIT_NULL;
11811 fra.me.REG[7] = NIT_NULL;
11812 fra.me.REG[8] = NIT_NULL;
11813 fra.me.REG[0] = p0;
11814 fra.me.REG[1] = p1;
11815 /* parser/parser.nit:3435 */
11816 fra.me.REG[2] = NIT_NULL;
11817 /* parser/parser.nit:3436 */
11818 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11819 /* parser/parser.nit:3437 */
11820 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11821 /* parser/parser.nit:3438 */
11822 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11823 /* parser/parser.nit:3439 */
11824 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11825 /* parser/parser.nit:3440 */
11826 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11827 /* parser/parser.nit:3441 */
11828 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11829 /* parser/parser.nit:3442 */
11830 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11831 /* parser/parser.nit:3443 */
11832 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11833 /* parser/parser.nit:3445 */
11834 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11835 if (UNTAG_Bool(REGB0)) {
11836 } else {
11837 nit_abort("Assert failed", NULL, LOCATE_parser, 3445);
11838 }
11839 /* parser/parser.nit:3447 */
11840 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
11841 if (UNTAG_Bool(REGB0)) {
11842 } else {
11843 nit_abort("Assert failed", NULL, LOCATE_parser, 3447);
11844 }
11845 /* parser/parser.nit:3449 */
11846 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11847 if (UNTAG_Bool(REGB0)) {
11848 } else {
11849 nit_abort("Assert failed", NULL, LOCATE_parser, 3449);
11850 }
11851 /* parser/parser.nit:3451 */
11852 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11853 if (UNTAG_Bool(REGB0)) {
11854 } else {
11855 nit_abort("Assert failed", NULL, LOCATE_parser, 3451);
11856 }
11857 /* parser/parser.nit:3453 */
11858 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11859 if (UNTAG_Bool(REGB0)) {
11860 } else {
11861 nit_abort("Assert failed", NULL, LOCATE_parser, 3453);
11862 }
11863 /* parser/parser.nit:3455 */
11864 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11865 if (UNTAG_Bool(REGB0)) {
11866 } else {
11867 nit_abort("Assert failed", NULL, LOCATE_parser, 3455);
11868 }
11869 /* parser/parser.nit:3456 */
11870 fra.me.REG[3] = NEW_AInternMethPropdef_parser___parser_prod___AInternMethPropdef___init_ainternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
11871 /* parser/parser.nit:3464 */
11872 fra.me.REG[2] = fra.me.REG[3];
11873 /* parser/parser.nit:3465 */
11874 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11875 if (UNTAG_Bool(REGB0)) {
11876 } else {
11877 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3465);
11878 }
11879 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11880 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11881 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11882 stack_frame_head = fra.me.prev;
11883 return;
11884 }
11885 void parser___ReduceAction78___action(val_t p0, val_t p1){
11886 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11887 val_t REGB0;
11888 val_t tmp;
11889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11890 fra.me.file = LOCATE_parser;
11891 fra.me.line = 3470;
11892 fra.me.meth = LOCATE_parser___ReduceAction78___action;
11893 fra.me.has_broke = 0;
11894 fra.me.REG_size = 8;
11895 fra.me.nitni_local_ref_head = NULL;
11896 fra.me.REG[0] = NIT_NULL;
11897 fra.me.REG[1] = NIT_NULL;
11898 fra.me.REG[2] = NIT_NULL;
11899 fra.me.REG[3] = NIT_NULL;
11900 fra.me.REG[4] = NIT_NULL;
11901 fra.me.REG[5] = NIT_NULL;
11902 fra.me.REG[6] = NIT_NULL;
11903 fra.me.REG[7] = NIT_NULL;
11904 fra.me.REG[0] = p0;
11905 fra.me.REG[1] = p1;
11906 /* parser/parser.nit:3472 */
11907 fra.me.REG[2] = NIT_NULL;
11908 /* parser/parser.nit:3473 */
11909 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11910 /* parser/parser.nit:3474 */
11911 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11912 /* parser/parser.nit:3475 */
11913 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11914 /* parser/parser.nit:3476 */
11915 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11916 /* parser/parser.nit:3477 */
11917 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11918 /* parser/parser.nit:3478 */
11919 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11920 /* parser/parser.nit:3479 */
11921 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11922 /* parser/parser.nit:3481 */
11923 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
11924 if (UNTAG_Bool(REGB0)) {
11925 } else {
11926 nit_abort("Assert failed", NULL, LOCATE_parser, 3481);
11927 }
11928 /* parser/parser.nit:3483 */
11929 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
11930 if (UNTAG_Bool(REGB0)) {
11931 } else {
11932 nit_abort("Assert failed", NULL, LOCATE_parser, 3483);
11933 }
11934 /* parser/parser.nit:3485 */
11935 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
11936 if (UNTAG_Bool(REGB0)) {
11937 } else {
11938 nit_abort("Assert failed", NULL, LOCATE_parser, 3485);
11939 }
11940 /* parser/parser.nit:3487 */
11941 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
11942 if (UNTAG_Bool(REGB0)) {
11943 } else {
11944 nit_abort("Assert failed", NULL, LOCATE_parser, 3487);
11945 }
11946 /* parser/parser.nit:3489 */
11947 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
11948 if (UNTAG_Bool(REGB0)) {
11949 } else {
11950 nit_abort("Assert failed", NULL, LOCATE_parser, 3489);
11951 }
11952 /* parser/parser.nit:3490 */
11953 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
11954 /* parser/parser.nit:3500 */
11955 fra.me.REG[2] = fra.me.REG[3];
11956 /* parser/parser.nit:3501 */
11957 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11958 if (UNTAG_Bool(REGB0)) {
11959 } else {
11960 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3501);
11961 }
11962 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11963 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11964 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11965 stack_frame_head = fra.me.prev;
11966 return;
11967 }
11968 void parser___ReduceAction79___action(val_t p0, val_t p1){
11969 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11970 val_t REGB0;
11971 val_t tmp;
11972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11973 fra.me.file = LOCATE_parser;
11974 fra.me.line = 3506;
11975 fra.me.meth = LOCATE_parser___ReduceAction79___action;
11976 fra.me.has_broke = 0;
11977 fra.me.REG_size = 9;
11978 fra.me.nitni_local_ref_head = NULL;
11979 fra.me.REG[0] = NIT_NULL;
11980 fra.me.REG[1] = NIT_NULL;
11981 fra.me.REG[2] = NIT_NULL;
11982 fra.me.REG[3] = NIT_NULL;
11983 fra.me.REG[4] = NIT_NULL;
11984 fra.me.REG[5] = NIT_NULL;
11985 fra.me.REG[6] = NIT_NULL;
11986 fra.me.REG[7] = NIT_NULL;
11987 fra.me.REG[8] = NIT_NULL;
11988 fra.me.REG[0] = p0;
11989 fra.me.REG[1] = p1;
11990 /* parser/parser.nit:3508 */
11991 fra.me.REG[2] = NIT_NULL;
11992 /* parser/parser.nit:3509 */
11993 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11994 /* parser/parser.nit:3510 */
11995 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11996 /* parser/parser.nit:3511 */
11997 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11998 /* parser/parser.nit:3512 */
11999 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12000 /* parser/parser.nit:3513 */
12001 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12002 /* parser/parser.nit:3514 */
12003 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12004 /* parser/parser.nit:3515 */
12005 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12006 /* parser/parser.nit:3516 */
12007 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12008 /* parser/parser.nit:3518 */
12009 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12010 if (UNTAG_Bool(REGB0)) {
12011 } else {
12012 nit_abort("Assert failed", NULL, LOCATE_parser, 3518);
12013 }
12014 /* parser/parser.nit:3520 */
12015 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
12016 if (UNTAG_Bool(REGB0)) {
12017 } else {
12018 nit_abort("Assert failed", NULL, LOCATE_parser, 3520);
12019 }
12020 /* parser/parser.nit:3522 */
12021 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12022 if (UNTAG_Bool(REGB0)) {
12023 } else {
12024 nit_abort("Assert failed", NULL, LOCATE_parser, 3522);
12025 }
12026 /* parser/parser.nit:3524 */
12027 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
12028 if (UNTAG_Bool(REGB0)) {
12029 } else {
12030 nit_abort("Assert failed", NULL, LOCATE_parser, 3524);
12031 }
12032 /* parser/parser.nit:3526 */
12033 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
12034 if (UNTAG_Bool(REGB0)) {
12035 } else {
12036 nit_abort("Assert failed", NULL, LOCATE_parser, 3526);
12037 }
12038 /* parser/parser.nit:3528 */
12039 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
12040 if (UNTAG_Bool(REGB0)) {
12041 } else {
12042 nit_abort("Assert failed", NULL, LOCATE_parser, 3528);
12043 }
12044 /* parser/parser.nit:3529 */
12045 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
12046 /* parser/parser.nit:3539 */
12047 fra.me.REG[2] = fra.me.REG[3];
12048 /* parser/parser.nit:3540 */
12049 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12050 if (UNTAG_Bool(REGB0)) {
12051 } else {
12052 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3540);
12053 }
12054 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12055 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12056 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12057 stack_frame_head = fra.me.prev;
12058 return;
12059 }
12060 void parser___ReduceAction80___action(val_t p0, val_t p1){
12061 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12062 val_t REGB0;
12063 val_t tmp;
12064 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12065 fra.me.file = LOCATE_parser;
12066 fra.me.line = 3545;
12067 fra.me.meth = LOCATE_parser___ReduceAction80___action;
12068 fra.me.has_broke = 0;
12069 fra.me.REG_size = 9;
12070 fra.me.nitni_local_ref_head = NULL;
12071 fra.me.REG[0] = NIT_NULL;
12072 fra.me.REG[1] = NIT_NULL;
12073 fra.me.REG[2] = NIT_NULL;
12074 fra.me.REG[3] = NIT_NULL;
12075 fra.me.REG[4] = NIT_NULL;
12076 fra.me.REG[5] = NIT_NULL;
12077 fra.me.REG[6] = NIT_NULL;
12078 fra.me.REG[7] = NIT_NULL;
12079 fra.me.REG[8] = NIT_NULL;
12080 fra.me.REG[0] = p0;
12081 fra.me.REG[1] = p1;
12082 /* parser/parser.nit:3547 */
12083 fra.me.REG[2] = NIT_NULL;
12084 /* parser/parser.nit:3548 */
12085 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12086 /* parser/parser.nit:3549 */
12087 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12088 /* parser/parser.nit:3550 */
12089 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12090 /* parser/parser.nit:3551 */
12091 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12092 /* parser/parser.nit:3552 */
12093 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12094 /* parser/parser.nit:3553 */
12095 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12096 /* parser/parser.nit:3554 */
12097 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12098 /* parser/parser.nit:3555 */
12099 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12100 /* parser/parser.nit:3557 */
12101 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12102 if (UNTAG_Bool(REGB0)) {
12103 } else {
12104 nit_abort("Assert failed", NULL, LOCATE_parser, 3557);
12105 }
12106 /* parser/parser.nit:3559 */
12107 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12108 if (UNTAG_Bool(REGB0)) {
12109 } else {
12110 nit_abort("Assert failed", NULL, LOCATE_parser, 3559);
12111 }
12112 /* parser/parser.nit:3561 */
12113 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
12114 if (UNTAG_Bool(REGB0)) {
12115 } else {
12116 nit_abort("Assert failed", NULL, LOCATE_parser, 3561);
12117 }
12118 /* parser/parser.nit:3563 */
12119 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
12120 if (UNTAG_Bool(REGB0)) {
12121 } else {
12122 nit_abort("Assert failed", NULL, LOCATE_parser, 3563);
12123 }
12124 /* parser/parser.nit:3565 */
12125 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
12126 if (UNTAG_Bool(REGB0)) {
12127 } else {
12128 nit_abort("Assert failed", NULL, LOCATE_parser, 3565);
12129 }
12130 /* parser/parser.nit:3567 */
12131 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
12132 if (UNTAG_Bool(REGB0)) {
12133 } else {
12134 nit_abort("Assert failed", NULL, LOCATE_parser, 3567);
12135 }
12136 /* parser/parser.nit:3568 */
12137 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
12138 /* parser/parser.nit:3578 */
12139 fra.me.REG[2] = fra.me.REG[3];
12140 /* parser/parser.nit:3579 */
12141 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12142 if (UNTAG_Bool(REGB0)) {
12143 } else {
12144 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3579);
12145 }
12146 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12147 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12148 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12149 stack_frame_head = fra.me.prev;
12150 return;
12151 }
12152 void parser___ReduceAction81___action(val_t p0, val_t p1){
12153 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12154 val_t REGB0;
12155 val_t tmp;
12156 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12157 fra.me.file = LOCATE_parser;
12158 fra.me.line = 3584;
12159 fra.me.meth = LOCATE_parser___ReduceAction81___action;
12160 fra.me.has_broke = 0;
12161 fra.me.REG_size = 10;
12162 fra.me.nitni_local_ref_head = NULL;
12163 fra.me.REG[0] = NIT_NULL;
12164 fra.me.REG[1] = NIT_NULL;
12165 fra.me.REG[2] = NIT_NULL;
12166 fra.me.REG[3] = NIT_NULL;
12167 fra.me.REG[4] = NIT_NULL;
12168 fra.me.REG[5] = NIT_NULL;
12169 fra.me.REG[6] = NIT_NULL;
12170 fra.me.REG[7] = NIT_NULL;
12171 fra.me.REG[8] = NIT_NULL;
12172 fra.me.REG[9] = NIT_NULL;
12173 fra.me.REG[0] = p0;
12174 fra.me.REG[1] = p1;
12175 /* parser/parser.nit:3586 */
12176 fra.me.REG[2] = NIT_NULL;
12177 /* parser/parser.nit:3587 */
12178 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12179 /* parser/parser.nit:3588 */
12180 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12181 /* parser/parser.nit:3589 */
12182 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12183 /* parser/parser.nit:3590 */
12184 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12185 /* parser/parser.nit:3591 */
12186 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12187 /* parser/parser.nit:3592 */
12188 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12189 /* parser/parser.nit:3593 */
12190 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12191 /* parser/parser.nit:3594 */
12192 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12193 /* parser/parser.nit:3595 */
12194 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12195 /* parser/parser.nit:3597 */
12196 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12197 if (UNTAG_Bool(REGB0)) {
12198 } else {
12199 nit_abort("Assert failed", NULL, LOCATE_parser, 3597);
12200 }
12201 /* parser/parser.nit:3599 */
12202 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
12203 if (UNTAG_Bool(REGB0)) {
12204 } else {
12205 nit_abort("Assert failed", NULL, LOCATE_parser, 3599);
12206 }
12207 /* parser/parser.nit:3601 */
12208 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12209 if (UNTAG_Bool(REGB0)) {
12210 } else {
12211 nit_abort("Assert failed", NULL, LOCATE_parser, 3601);
12212 }
12213 /* parser/parser.nit:3603 */
12214 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
12215 if (UNTAG_Bool(REGB0)) {
12216 } else {
12217 nit_abort("Assert failed", NULL, LOCATE_parser, 3603);
12218 }
12219 /* parser/parser.nit:3605 */
12220 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
12221 if (UNTAG_Bool(REGB0)) {
12222 } else {
12223 nit_abort("Assert failed", NULL, LOCATE_parser, 3605);
12224 }
12225 /* parser/parser.nit:3607 */
12226 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
12227 if (UNTAG_Bool(REGB0)) {
12228 } else {
12229 nit_abort("Assert failed", NULL, LOCATE_parser, 3607);
12230 }
12231 /* parser/parser.nit:3609 */
12232 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
12233 if (UNTAG_Bool(REGB0)) {
12234 } else {
12235 nit_abort("Assert failed", NULL, LOCATE_parser, 3609);
12236 }
12237 /* parser/parser.nit:3610 */
12238 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
12239 /* parser/parser.nit:3620 */
12240 fra.me.REG[2] = fra.me.REG[3];
12241 /* parser/parser.nit:3621 */
12242 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12243 if (UNTAG_Bool(REGB0)) {
12244 } else {
12245 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3621);
12246 }
12247 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12248 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12249 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12250 stack_frame_head = fra.me.prev;
12251 return;
12252 }
12253 void parser___ReduceAction82___action(val_t p0, val_t p1){
12254 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12255 val_t REGB0;
12256 val_t tmp;
12257 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12258 fra.me.file = LOCATE_parser;
12259 fra.me.line = 3626;
12260 fra.me.meth = LOCATE_parser___ReduceAction82___action;
12261 fra.me.has_broke = 0;
12262 fra.me.REG_size = 9;
12263 fra.me.nitni_local_ref_head = NULL;
12264 fra.me.REG[0] = NIT_NULL;
12265 fra.me.REG[1] = NIT_NULL;
12266 fra.me.REG[2] = NIT_NULL;
12267 fra.me.REG[3] = NIT_NULL;
12268 fra.me.REG[4] = NIT_NULL;
12269 fra.me.REG[5] = NIT_NULL;
12270 fra.me.REG[6] = NIT_NULL;
12271 fra.me.REG[7] = NIT_NULL;
12272 fra.me.REG[8] = NIT_NULL;
12273 fra.me.REG[0] = p0;
12274 fra.me.REG[1] = p1;
12275 /* parser/parser.nit:3628 */
12276 fra.me.REG[2] = NIT_NULL;
12277 /* parser/parser.nit:3629 */
12278 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12279 /* parser/parser.nit:3630 */
12280 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12281 /* parser/parser.nit:3631 */
12282 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12283 /* parser/parser.nit:3632 */
12284 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12285 /* parser/parser.nit:3633 */
12286 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12287 /* parser/parser.nit:3634 */
12288 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12289 /* parser/parser.nit:3635 */
12290 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12291 /* parser/parser.nit:3636 */
12292 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12293 /* parser/parser.nit:3638 */
12294 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12295 if (UNTAG_Bool(REGB0)) {
12296 } else {
12297 nit_abort("Assert failed", NULL, LOCATE_parser, 3638);
12298 }
12299 /* parser/parser.nit:3640 */
12300 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12301 if (UNTAG_Bool(REGB0)) {
12302 } else {
12303 nit_abort("Assert failed", NULL, LOCATE_parser, 3640);
12304 }
12305 /* parser/parser.nit:3642 */
12306 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
12307 if (UNTAG_Bool(REGB0)) {
12308 } else {
12309 nit_abort("Assert failed", NULL, LOCATE_parser, 3642);
12310 }
12311 /* parser/parser.nit:3644 */
12312 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
12313 if (UNTAG_Bool(REGB0)) {
12314 } else {
12315 nit_abort("Assert failed", NULL, LOCATE_parser, 3644);
12316 }
12317 /* parser/parser.nit:3646 */
12318 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
12319 if (UNTAG_Bool(REGB0)) {
12320 } else {
12321 nit_abort("Assert failed", NULL, LOCATE_parser, 3646);
12322 }
12323 /* parser/parser.nit:3648 */
12324 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
12325 if (UNTAG_Bool(REGB0)) {
12326 } else {
12327 nit_abort("Assert failed", NULL, LOCATE_parser, 3648);
12328 }
12329 /* parser/parser.nit:3649 */
12330 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
12331 /* parser/parser.nit:3659 */
12332 fra.me.REG[2] = fra.me.REG[3];
12333 /* parser/parser.nit:3660 */
12334 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12335 if (UNTAG_Bool(REGB0)) {
12336 } else {
12337 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3660);
12338 }
12339 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12340 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12341 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12342 stack_frame_head = fra.me.prev;
12343 return;
12344 }
12345 void parser___ReduceAction83___action(val_t p0, val_t p1){
12346 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12347 val_t REGB0;
12348 val_t tmp;
12349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12350 fra.me.file = LOCATE_parser;
12351 fra.me.line = 3665;
12352 fra.me.meth = LOCATE_parser___ReduceAction83___action;
12353 fra.me.has_broke = 0;
12354 fra.me.REG_size = 10;
12355 fra.me.nitni_local_ref_head = NULL;
12356 fra.me.REG[0] = NIT_NULL;
12357 fra.me.REG[1] = NIT_NULL;
12358 fra.me.REG[2] = NIT_NULL;
12359 fra.me.REG[3] = NIT_NULL;
12360 fra.me.REG[4] = NIT_NULL;
12361 fra.me.REG[5] = NIT_NULL;
12362 fra.me.REG[6] = NIT_NULL;
12363 fra.me.REG[7] = NIT_NULL;
12364 fra.me.REG[8] = NIT_NULL;
12365 fra.me.REG[9] = NIT_NULL;
12366 fra.me.REG[0] = p0;
12367 fra.me.REG[1] = p1;
12368 /* parser/parser.nit:3667 */
12369 fra.me.REG[2] = NIT_NULL;
12370 /* parser/parser.nit:3668 */
12371 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12372 /* parser/parser.nit:3669 */
12373 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12374 /* parser/parser.nit:3670 */
12375 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12376 /* parser/parser.nit:3671 */
12377 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12378 /* parser/parser.nit:3672 */
12379 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12380 /* parser/parser.nit:3673 */
12381 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12382 /* parser/parser.nit:3674 */
12383 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12384 /* parser/parser.nit:3675 */
12385 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12386 /* parser/parser.nit:3676 */
12387 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12388 /* parser/parser.nit:3678 */
12389 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12390 if (UNTAG_Bool(REGB0)) {
12391 } else {
12392 nit_abort("Assert failed", NULL, LOCATE_parser, 3678);
12393 }
12394 /* parser/parser.nit:3680 */
12395 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
12396 if (UNTAG_Bool(REGB0)) {
12397 } else {
12398 nit_abort("Assert failed", NULL, LOCATE_parser, 3680);
12399 }
12400 /* parser/parser.nit:3682 */
12401 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12402 if (UNTAG_Bool(REGB0)) {
12403 } else {
12404 nit_abort("Assert failed", NULL, LOCATE_parser, 3682);
12405 }
12406 /* parser/parser.nit:3684 */
12407 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
12408 if (UNTAG_Bool(REGB0)) {
12409 } else {
12410 nit_abort("Assert failed", NULL, LOCATE_parser, 3684);
12411 }
12412 /* parser/parser.nit:3686 */
12413 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
12414 if (UNTAG_Bool(REGB0)) {
12415 } else {
12416 nit_abort("Assert failed", NULL, LOCATE_parser, 3686);
12417 }
12418 /* parser/parser.nit:3688 */
12419 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
12420 if (UNTAG_Bool(REGB0)) {
12421 } else {
12422 nit_abort("Assert failed", NULL, LOCATE_parser, 3688);
12423 }
12424 /* parser/parser.nit:3690 */
12425 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
12426 if (UNTAG_Bool(REGB0)) {
12427 } else {
12428 nit_abort("Assert failed", NULL, LOCATE_parser, 3690);
12429 }
12430 /* parser/parser.nit:3691 */
12431 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
12432 /* parser/parser.nit:3701 */
12433 fra.me.REG[2] = fra.me.REG[3];
12434 /* parser/parser.nit:3702 */
12435 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12436 if (UNTAG_Bool(REGB0)) {
12437 } else {
12438 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3702);
12439 }
12440 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12441 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12442 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12443 stack_frame_head = fra.me.prev;
12444 return;
12445 }
12446 void parser___ReduceAction84___action(val_t p0, val_t p1){
12447 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12448 val_t REGB0;
12449 val_t tmp;
12450 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12451 fra.me.file = LOCATE_parser;
12452 fra.me.line = 3707;
12453 fra.me.meth = LOCATE_parser___ReduceAction84___action;
12454 fra.me.has_broke = 0;
12455 fra.me.REG_size = 10;
12456 fra.me.nitni_local_ref_head = NULL;
12457 fra.me.REG[0] = NIT_NULL;
12458 fra.me.REG[1] = NIT_NULL;
12459 fra.me.REG[2] = NIT_NULL;
12460 fra.me.REG[3] = NIT_NULL;
12461 fra.me.REG[4] = NIT_NULL;
12462 fra.me.REG[5] = NIT_NULL;
12463 fra.me.REG[6] = NIT_NULL;
12464 fra.me.REG[7] = NIT_NULL;
12465 fra.me.REG[8] = NIT_NULL;
12466 fra.me.REG[9] = NIT_NULL;
12467 fra.me.REG[0] = p0;
12468 fra.me.REG[1] = p1;
12469 /* parser/parser.nit:3709 */
12470 fra.me.REG[2] = NIT_NULL;
12471 /* parser/parser.nit:3710 */
12472 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12473 /* parser/parser.nit:3711 */
12474 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12475 /* parser/parser.nit:3712 */
12476 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12477 /* parser/parser.nit:3713 */
12478 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12479 /* parser/parser.nit:3714 */
12480 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12481 /* parser/parser.nit:3715 */
12482 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12483 /* parser/parser.nit:3716 */
12484 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12485 /* parser/parser.nit:3717 */
12486 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12487 /* parser/parser.nit:3718 */
12488 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12489 /* parser/parser.nit:3720 */
12490 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12491 if (UNTAG_Bool(REGB0)) {
12492 } else {
12493 nit_abort("Assert failed", NULL, LOCATE_parser, 3720);
12494 }
12495 /* parser/parser.nit:3722 */
12496 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12497 if (UNTAG_Bool(REGB0)) {
12498 } else {
12499 nit_abort("Assert failed", NULL, LOCATE_parser, 3722);
12500 }
12501 /* parser/parser.nit:3724 */
12502 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
12503 if (UNTAG_Bool(REGB0)) {
12504 } else {
12505 nit_abort("Assert failed", NULL, LOCATE_parser, 3724);
12506 }
12507 /* parser/parser.nit:3726 */
12508 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
12509 if (UNTAG_Bool(REGB0)) {
12510 } else {
12511 nit_abort("Assert failed", NULL, LOCATE_parser, 3726);
12512 }
12513 /* parser/parser.nit:3728 */
12514 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
12515 if (UNTAG_Bool(REGB0)) {
12516 } else {
12517 nit_abort("Assert failed", NULL, LOCATE_parser, 3728);
12518 }
12519 /* parser/parser.nit:3730 */
12520 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
12521 if (UNTAG_Bool(REGB0)) {
12522 } else {
12523 nit_abort("Assert failed", NULL, LOCATE_parser, 3730);
12524 }
12525 /* parser/parser.nit:3732 */
12526 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
12527 if (UNTAG_Bool(REGB0)) {
12528 } else {
12529 nit_abort("Assert failed", NULL, LOCATE_parser, 3732);
12530 }
12531 /* parser/parser.nit:3733 */
12532 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
12533 /* parser/parser.nit:3743 */
12534 fra.me.REG[2] = fra.me.REG[3];
12535 /* parser/parser.nit:3744 */
12536 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12537 if (UNTAG_Bool(REGB0)) {
12538 } else {
12539 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3744);
12540 }
12541 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12542 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12543 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12544 stack_frame_head = fra.me.prev;
12545 return;
12546 }
12547 void parser___ReduceAction85___action(val_t p0, val_t p1){
12548 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
12549 val_t REGB0;
12550 val_t tmp;
12551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12552 fra.me.file = LOCATE_parser;
12553 fra.me.line = 3749;
12554 fra.me.meth = LOCATE_parser___ReduceAction85___action;
12555 fra.me.has_broke = 0;
12556 fra.me.REG_size = 11;
12557 fra.me.nitni_local_ref_head = NULL;
12558 fra.me.REG[0] = NIT_NULL;
12559 fra.me.REG[1] = NIT_NULL;
12560 fra.me.REG[2] = NIT_NULL;
12561 fra.me.REG[3] = NIT_NULL;
12562 fra.me.REG[4] = NIT_NULL;
12563 fra.me.REG[5] = NIT_NULL;
12564 fra.me.REG[6] = NIT_NULL;
12565 fra.me.REG[7] = NIT_NULL;
12566 fra.me.REG[8] = NIT_NULL;
12567 fra.me.REG[9] = NIT_NULL;
12568 fra.me.REG[10] = NIT_NULL;
12569 fra.me.REG[0] = p0;
12570 fra.me.REG[1] = p1;
12571 /* parser/parser.nit:3751 */
12572 fra.me.REG[2] = NIT_NULL;
12573 /* parser/parser.nit:3752 */
12574 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12575 /* parser/parser.nit:3753 */
12576 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12577 /* parser/parser.nit:3754 */
12578 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12579 /* parser/parser.nit:3755 */
12580 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12581 /* parser/parser.nit:3756 */
12582 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12583 /* parser/parser.nit:3757 */
12584 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12585 /* parser/parser.nit:3758 */
12586 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12587 /* parser/parser.nit:3759 */
12588 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12589 /* parser/parser.nit:3760 */
12590 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12591 /* parser/parser.nit:3761 */
12592 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12593 /* parser/parser.nit:3763 */
12594 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12595 if (UNTAG_Bool(REGB0)) {
12596 } else {
12597 nit_abort("Assert failed", NULL, LOCATE_parser, 3763);
12598 }
12599 /* parser/parser.nit:3765 */
12600 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
12601 if (UNTAG_Bool(REGB0)) {
12602 } else {
12603 nit_abort("Assert failed", NULL, LOCATE_parser, 3765);
12604 }
12605 /* parser/parser.nit:3767 */
12606 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12607 if (UNTAG_Bool(REGB0)) {
12608 } else {
12609 nit_abort("Assert failed", NULL, LOCATE_parser, 3767);
12610 }
12611 /* parser/parser.nit:3769 */
12612 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
12613 if (UNTAG_Bool(REGB0)) {
12614 } else {
12615 nit_abort("Assert failed", NULL, LOCATE_parser, 3769);
12616 }
12617 /* parser/parser.nit:3771 */
12618 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
12619 if (UNTAG_Bool(REGB0)) {
12620 } else {
12621 nit_abort("Assert failed", NULL, LOCATE_parser, 3771);
12622 }
12623 /* parser/parser.nit:3773 */
12624 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
12625 if (UNTAG_Bool(REGB0)) {
12626 } else {
12627 nit_abort("Assert failed", NULL, LOCATE_parser, 3773);
12628 }
12629 /* parser/parser.nit:3775 */
12630 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
12631 if (UNTAG_Bool(REGB0)) {
12632 } else {
12633 nit_abort("Assert failed", NULL, LOCATE_parser, 3775);
12634 }
12635 /* parser/parser.nit:3777 */
12636 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
12637 if (UNTAG_Bool(REGB0)) {
12638 } else {
12639 nit_abort("Assert failed", NULL, LOCATE_parser, 3777);
12640 }
12641 /* parser/parser.nit:3778 */
12642 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
12643 /* parser/parser.nit:3788 */
12644 fra.me.REG[2] = fra.me.REG[3];
12645 /* parser/parser.nit:3789 */
12646 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12647 if (UNTAG_Bool(REGB0)) {
12648 } else {
12649 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3789);
12650 }
12651 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12652 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12653 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12654 stack_frame_head = fra.me.prev;
12655 return;
12656 }
12657 void parser___ReduceAction86___action(val_t p0, val_t p1){
12658 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
12659 val_t REGB0;
12660 val_t tmp;
12661 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12662 fra.me.file = LOCATE_parser;
12663 fra.me.line = 3794;
12664 fra.me.meth = LOCATE_parser___ReduceAction86___action;
12665 fra.me.has_broke = 0;
12666 fra.me.REG_size = 7;
12667 fra.me.nitni_local_ref_head = NULL;
12668 fra.me.REG[0] = NIT_NULL;
12669 fra.me.REG[1] = NIT_NULL;
12670 fra.me.REG[2] = NIT_NULL;
12671 fra.me.REG[3] = NIT_NULL;
12672 fra.me.REG[4] = NIT_NULL;
12673 fra.me.REG[5] = NIT_NULL;
12674 fra.me.REG[6] = NIT_NULL;
12675 fra.me.REG[0] = p0;
12676 fra.me.REG[1] = p1;
12677 /* parser/parser.nit:3796 */
12678 fra.me.REG[2] = NIT_NULL;
12679 /* parser/parser.nit:3797 */
12680 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12681 /* parser/parser.nit:3798 */
12682 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12683 /* parser/parser.nit:3799 */
12684 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12685 /* parser/parser.nit:3800 */
12686 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12687 /* parser/parser.nit:3802 */
12688 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12689 if (UNTAG_Bool(REGB0)) {
12690 } else {
12691 nit_abort("Assert failed", NULL, LOCATE_parser, 3802);
12692 }
12693 /* parser/parser.nit:3804 */
12694 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12695 if (UNTAG_Bool(REGB0)) {
12696 } else {
12697 nit_abort("Assert failed", NULL, LOCATE_parser, 3804);
12698 }
12699 /* parser/parser.nit:3806 */
12700 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
12701 if (UNTAG_Bool(REGB0)) {
12702 } else {
12703 nit_abort("Assert failed", NULL, LOCATE_parser, 3806);
12704 }
12705 /* parser/parser.nit:3808 */
12706 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
12707 if (UNTAG_Bool(REGB0)) {
12708 } else {
12709 nit_abort("Assert failed", NULL, LOCATE_parser, 3808);
12710 }
12711 /* parser/parser.nit:3809 */
12712 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
12713 /* parser/parser.nit:3821 */
12714 fra.me.REG[2] = fra.me.REG[3];
12715 /* parser/parser.nit:3822 */
12716 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12717 if (UNTAG_Bool(REGB0)) {
12718 } else {
12719 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3822);
12720 }
12721 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12722 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12723 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12724 stack_frame_head = fra.me.prev;
12725 return;
12726 }
12727 void parser___ReduceAction87___action(val_t p0, val_t p1){
12728 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
12729 val_t REGB0;
12730 val_t tmp;
12731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12732 fra.me.file = LOCATE_parser;
12733 fra.me.line = 3827;
12734 fra.me.meth = LOCATE_parser___ReduceAction87___action;
12735 fra.me.has_broke = 0;
12736 fra.me.REG_size = 8;
12737 fra.me.nitni_local_ref_head = NULL;
12738 fra.me.REG[0] = NIT_NULL;
12739 fra.me.REG[1] = NIT_NULL;
12740 fra.me.REG[2] = NIT_NULL;
12741 fra.me.REG[3] = NIT_NULL;
12742 fra.me.REG[4] = NIT_NULL;
12743 fra.me.REG[5] = NIT_NULL;
12744 fra.me.REG[6] = NIT_NULL;
12745 fra.me.REG[7] = NIT_NULL;
12746 fra.me.REG[0] = p0;
12747 fra.me.REG[1] = p1;
12748 /* parser/parser.nit:3829 */
12749 fra.me.REG[2] = NIT_NULL;
12750 /* parser/parser.nit:3830 */
12751 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12752 /* parser/parser.nit:3831 */
12753 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12754 /* parser/parser.nit:3832 */
12755 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12756 /* parser/parser.nit:3833 */
12757 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12758 /* parser/parser.nit:3834 */
12759 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12760 /* parser/parser.nit:3836 */
12761 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12762 if (UNTAG_Bool(REGB0)) {
12763 } else {
12764 nit_abort("Assert failed", NULL, LOCATE_parser, 3836);
12765 }
12766 /* parser/parser.nit:3838 */
12767 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
12768 if (UNTAG_Bool(REGB0)) {
12769 } else {
12770 nit_abort("Assert failed", NULL, LOCATE_parser, 3838);
12771 }
12772 /* parser/parser.nit:3840 */
12773 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12774 if (UNTAG_Bool(REGB0)) {
12775 } else {
12776 nit_abort("Assert failed", NULL, LOCATE_parser, 3840);
12777 }
12778 /* parser/parser.nit:3842 */
12779 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
12780 if (UNTAG_Bool(REGB0)) {
12781 } else {
12782 nit_abort("Assert failed", NULL, LOCATE_parser, 3842);
12783 }
12784 /* parser/parser.nit:3844 */
12785 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
12786 if (UNTAG_Bool(REGB0)) {
12787 } else {
12788 nit_abort("Assert failed", NULL, LOCATE_parser, 3844);
12789 }
12790 /* parser/parser.nit:3845 */
12791 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
12792 /* parser/parser.nit:3857 */
12793 fra.me.REG[2] = fra.me.REG[3];
12794 /* parser/parser.nit:3858 */
12795 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12796 if (UNTAG_Bool(REGB0)) {
12797 } else {
12798 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3858);
12799 }
12800 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12801 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12802 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12803 stack_frame_head = fra.me.prev;
12804 return;
12805 }
12806 void parser___ReduceAction88___action(val_t p0, val_t p1){
12807 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
12808 val_t REGB0;
12809 val_t tmp;
12810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12811 fra.me.file = LOCATE_parser;
12812 fra.me.line = 3863;
12813 fra.me.meth = LOCATE_parser___ReduceAction88___action;
12814 fra.me.has_broke = 0;
12815 fra.me.REG_size = 8;
12816 fra.me.nitni_local_ref_head = NULL;
12817 fra.me.REG[0] = NIT_NULL;
12818 fra.me.REG[1] = NIT_NULL;
12819 fra.me.REG[2] = NIT_NULL;
12820 fra.me.REG[3] = NIT_NULL;
12821 fra.me.REG[4] = NIT_NULL;
12822 fra.me.REG[5] = NIT_NULL;
12823 fra.me.REG[6] = NIT_NULL;
12824 fra.me.REG[7] = NIT_NULL;
12825 fra.me.REG[0] = p0;
12826 fra.me.REG[1] = p1;
12827 /* parser/parser.nit:3865 */
12828 fra.me.REG[2] = NIT_NULL;
12829 /* parser/parser.nit:3866 */
12830 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12831 /* parser/parser.nit:3867 */
12832 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12833 /* parser/parser.nit:3868 */
12834 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12835 /* parser/parser.nit:3869 */
12836 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12837 /* parser/parser.nit:3870 */
12838 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12839 /* parser/parser.nit:3872 */
12840 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12841 if (UNTAG_Bool(REGB0)) {
12842 } else {
12843 nit_abort("Assert failed", NULL, LOCATE_parser, 3872);
12844 }
12845 /* parser/parser.nit:3874 */
12846 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
12847 if (UNTAG_Bool(REGB0)) {
12848 } else {
12849 nit_abort("Assert failed", NULL, LOCATE_parser, 3874);
12850 }
12851 /* parser/parser.nit:3876 */
12852 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12853 if (UNTAG_Bool(REGB0)) {
12854 } else {
12855 nit_abort("Assert failed", NULL, LOCATE_parser, 3876);
12856 }
12857 /* parser/parser.nit:3878 */
12858 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
12859 if (UNTAG_Bool(REGB0)) {
12860 } else {
12861 nit_abort("Assert failed", NULL, LOCATE_parser, 3878);
12862 }
12863 /* parser/parser.nit:3880 */
12864 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
12865 if (UNTAG_Bool(REGB0)) {
12866 } else {
12867 nit_abort("Assert failed", NULL, LOCATE_parser, 3880);
12868 }
12869 /* parser/parser.nit:3881 */
12870 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], fra.me.REG[6], NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
12871 /* parser/parser.nit:3893 */
12872 fra.me.REG[2] = fra.me.REG[3];
12873 /* parser/parser.nit:3894 */
12874 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12875 if (UNTAG_Bool(REGB0)) {
12876 } else {
12877 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3894);
12878 }
12879 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12880 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12881 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12882 stack_frame_head = fra.me.prev;
12883 return;
12884 }
12885 void parser___ReduceAction89___action(val_t p0, val_t p1){
12886 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12887 val_t REGB0;
12888 val_t tmp;
12889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12890 fra.me.file = LOCATE_parser;
12891 fra.me.line = 3899;
12892 fra.me.meth = LOCATE_parser___ReduceAction89___action;
12893 fra.me.has_broke = 0;
12894 fra.me.REG_size = 9;
12895 fra.me.nitni_local_ref_head = NULL;
12896 fra.me.REG[0] = NIT_NULL;
12897 fra.me.REG[1] = NIT_NULL;
12898 fra.me.REG[2] = NIT_NULL;
12899 fra.me.REG[3] = NIT_NULL;
12900 fra.me.REG[4] = NIT_NULL;
12901 fra.me.REG[5] = NIT_NULL;
12902 fra.me.REG[6] = NIT_NULL;
12903 fra.me.REG[7] = NIT_NULL;
12904 fra.me.REG[8] = NIT_NULL;
12905 fra.me.REG[0] = p0;
12906 fra.me.REG[1] = p1;
12907 /* parser/parser.nit:3901 */
12908 fra.me.REG[2] = NIT_NULL;
12909 /* parser/parser.nit:3902 */
12910 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12911 /* parser/parser.nit:3903 */
12912 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12913 /* parser/parser.nit:3904 */
12914 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12915 /* parser/parser.nit:3905 */
12916 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12917 /* parser/parser.nit:3906 */
12918 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12919 /* parser/parser.nit:3907 */
12920 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12921 /* parser/parser.nit:3909 */
12922 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
12923 if (UNTAG_Bool(REGB0)) {
12924 } else {
12925 nit_abort("Assert failed", NULL, LOCATE_parser, 3909);
12926 }
12927 /* parser/parser.nit:3911 */
12928 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
12929 if (UNTAG_Bool(REGB0)) {
12930 } else {
12931 nit_abort("Assert failed", NULL, LOCATE_parser, 3911);
12932 }
12933 /* parser/parser.nit:3913 */
12934 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
12935 if (UNTAG_Bool(REGB0)) {
12936 } else {
12937 nit_abort("Assert failed", NULL, LOCATE_parser, 3913);
12938 }
12939 /* parser/parser.nit:3915 */
12940 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
12941 if (UNTAG_Bool(REGB0)) {
12942 } else {
12943 nit_abort("Assert failed", NULL, LOCATE_parser, 3915);
12944 }
12945 /* parser/parser.nit:3917 */
12946 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
12947 if (UNTAG_Bool(REGB0)) {
12948 } else {
12949 nit_abort("Assert failed", NULL, LOCATE_parser, 3917);
12950 }
12951 /* parser/parser.nit:3919 */
12952 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
12953 if (UNTAG_Bool(REGB0)) {
12954 } else {
12955 nit_abort("Assert failed", NULL, LOCATE_parser, 3919);
12956 }
12957 /* parser/parser.nit:3920 */
12958 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
12959 /* parser/parser.nit:3932 */
12960 fra.me.REG[2] = fra.me.REG[3];
12961 /* parser/parser.nit:3933 */
12962 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12963 if (UNTAG_Bool(REGB0)) {
12964 } else {
12965 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3933);
12966 }
12967 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12968 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12969 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12970 stack_frame_head = fra.me.prev;
12971 return;
12972 }
12973 void parser___ReduceAction90___action(val_t p0, val_t p1){
12974 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
12975 val_t REGB0;
12976 val_t tmp;
12977 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12978 fra.me.file = LOCATE_parser;
12979 fra.me.line = 3938;
12980 fra.me.meth = LOCATE_parser___ReduceAction90___action;
12981 fra.me.has_broke = 0;
12982 fra.me.REG_size = 8;
12983 fra.me.nitni_local_ref_head = NULL;
12984 fra.me.REG[0] = NIT_NULL;
12985 fra.me.REG[1] = NIT_NULL;
12986 fra.me.REG[2] = NIT_NULL;
12987 fra.me.REG[3] = NIT_NULL;
12988 fra.me.REG[4] = NIT_NULL;
12989 fra.me.REG[5] = NIT_NULL;
12990 fra.me.REG[6] = NIT_NULL;
12991 fra.me.REG[7] = NIT_NULL;
12992 fra.me.REG[0] = p0;
12993 fra.me.REG[1] = p1;
12994 /* parser/parser.nit:3940 */
12995 fra.me.REG[2] = NIT_NULL;
12996 /* parser/parser.nit:3941 */
12997 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12998 /* parser/parser.nit:3942 */
12999 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13000 /* parser/parser.nit:3943 */
13001 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13002 /* parser/parser.nit:3944 */
13003 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13004 /* parser/parser.nit:3945 */
13005 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13006 /* parser/parser.nit:3947 */
13007 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13008 if (UNTAG_Bool(REGB0)) {
13009 } else {
13010 nit_abort("Assert failed", NULL, LOCATE_parser, 3947);
13011 }
13012 /* parser/parser.nit:3949 */
13013 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13014 if (UNTAG_Bool(REGB0)) {
13015 } else {
13016 nit_abort("Assert failed", NULL, LOCATE_parser, 3949);
13017 }
13018 /* parser/parser.nit:3951 */
13019 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13020 if (UNTAG_Bool(REGB0)) {
13021 } else {
13022 nit_abort("Assert failed", NULL, LOCATE_parser, 3951);
13023 }
13024 /* parser/parser.nit:3953 */
13025 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13026 if (UNTAG_Bool(REGB0)) {
13027 } else {
13028 nit_abort("Assert failed", NULL, LOCATE_parser, 3953);
13029 }
13030 /* parser/parser.nit:3955 */
13031 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13032 if (UNTAG_Bool(REGB0)) {
13033 } else {
13034 nit_abort("Assert failed", NULL, LOCATE_parser, 3955);
13035 }
13036 /* parser/parser.nit:3956 */
13037 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
13038 /* parser/parser.nit:3968 */
13039 fra.me.REG[2] = fra.me.REG[3];
13040 /* parser/parser.nit:3969 */
13041 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13042 if (UNTAG_Bool(REGB0)) {
13043 } else {
13044 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3969);
13045 }
13046 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13047 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13048 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13049 stack_frame_head = fra.me.prev;
13050 return;
13051 }
13052 void parser___ReduceAction91___action(val_t p0, val_t p1){
13053 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13054 val_t REGB0;
13055 val_t tmp;
13056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13057 fra.me.file = LOCATE_parser;
13058 fra.me.line = 3974;
13059 fra.me.meth = LOCATE_parser___ReduceAction91___action;
13060 fra.me.has_broke = 0;
13061 fra.me.REG_size = 9;
13062 fra.me.nitni_local_ref_head = NULL;
13063 fra.me.REG[0] = NIT_NULL;
13064 fra.me.REG[1] = NIT_NULL;
13065 fra.me.REG[2] = NIT_NULL;
13066 fra.me.REG[3] = NIT_NULL;
13067 fra.me.REG[4] = NIT_NULL;
13068 fra.me.REG[5] = NIT_NULL;
13069 fra.me.REG[6] = NIT_NULL;
13070 fra.me.REG[7] = NIT_NULL;
13071 fra.me.REG[8] = NIT_NULL;
13072 fra.me.REG[0] = p0;
13073 fra.me.REG[1] = p1;
13074 /* parser/parser.nit:3976 */
13075 fra.me.REG[2] = NIT_NULL;
13076 /* parser/parser.nit:3977 */
13077 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13078 /* parser/parser.nit:3978 */
13079 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13080 /* parser/parser.nit:3979 */
13081 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13082 /* parser/parser.nit:3980 */
13083 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13084 /* parser/parser.nit:3981 */
13085 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13086 /* parser/parser.nit:3982 */
13087 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13088 /* parser/parser.nit:3984 */
13089 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13090 if (UNTAG_Bool(REGB0)) {
13091 } else {
13092 nit_abort("Assert failed", NULL, LOCATE_parser, 3984);
13093 }
13094 /* parser/parser.nit:3986 */
13095 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13096 if (UNTAG_Bool(REGB0)) {
13097 } else {
13098 nit_abort("Assert failed", NULL, LOCATE_parser, 3986);
13099 }
13100 /* parser/parser.nit:3988 */
13101 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
13102 if (UNTAG_Bool(REGB0)) {
13103 } else {
13104 nit_abort("Assert failed", NULL, LOCATE_parser, 3988);
13105 }
13106 /* parser/parser.nit:3990 */
13107 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13108 if (UNTAG_Bool(REGB0)) {
13109 } else {
13110 nit_abort("Assert failed", NULL, LOCATE_parser, 3990);
13111 }
13112 /* parser/parser.nit:3992 */
13113 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13114 if (UNTAG_Bool(REGB0)) {
13115 } else {
13116 nit_abort("Assert failed", NULL, LOCATE_parser, 3992);
13117 }
13118 /* parser/parser.nit:3994 */
13119 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13120 if (UNTAG_Bool(REGB0)) {
13121 } else {
13122 nit_abort("Assert failed", NULL, LOCATE_parser, 3994);
13123 }
13124 /* parser/parser.nit:3995 */
13125 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
13126 /* parser/parser.nit:4007 */
13127 fra.me.REG[2] = fra.me.REG[3];
13128 /* parser/parser.nit:4008 */
13129 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13130 if (UNTAG_Bool(REGB0)) {
13131 } else {
13132 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4008);
13133 }
13134 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13135 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13136 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13137 stack_frame_head = fra.me.prev;
13138 return;
13139 }
13140 void parser___ReduceAction92___action(val_t p0, val_t p1){
13141 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13142 val_t REGB0;
13143 val_t tmp;
13144 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13145 fra.me.file = LOCATE_parser;
13146 fra.me.line = 4013;
13147 fra.me.meth = LOCATE_parser___ReduceAction92___action;
13148 fra.me.has_broke = 0;
13149 fra.me.REG_size = 9;
13150 fra.me.nitni_local_ref_head = NULL;
13151 fra.me.REG[0] = NIT_NULL;
13152 fra.me.REG[1] = NIT_NULL;
13153 fra.me.REG[2] = NIT_NULL;
13154 fra.me.REG[3] = NIT_NULL;
13155 fra.me.REG[4] = NIT_NULL;
13156 fra.me.REG[5] = NIT_NULL;
13157 fra.me.REG[6] = NIT_NULL;
13158 fra.me.REG[7] = NIT_NULL;
13159 fra.me.REG[8] = NIT_NULL;
13160 fra.me.REG[0] = p0;
13161 fra.me.REG[1] = p1;
13162 /* parser/parser.nit:4015 */
13163 fra.me.REG[2] = NIT_NULL;
13164 /* parser/parser.nit:4016 */
13165 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13166 /* parser/parser.nit:4017 */
13167 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13168 /* parser/parser.nit:4018 */
13169 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13170 /* parser/parser.nit:4019 */
13171 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13172 /* parser/parser.nit:4020 */
13173 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13174 /* parser/parser.nit:4021 */
13175 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13176 /* parser/parser.nit:4023 */
13177 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13178 if (UNTAG_Bool(REGB0)) {
13179 } else {
13180 nit_abort("Assert failed", NULL, LOCATE_parser, 4023);
13181 }
13182 /* parser/parser.nit:4025 */
13183 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13184 if (UNTAG_Bool(REGB0)) {
13185 } else {
13186 nit_abort("Assert failed", NULL, LOCATE_parser, 4025);
13187 }
13188 /* parser/parser.nit:4027 */
13189 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13190 if (UNTAG_Bool(REGB0)) {
13191 } else {
13192 nit_abort("Assert failed", NULL, LOCATE_parser, 4027);
13193 }
13194 /* parser/parser.nit:4029 */
13195 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13196 if (UNTAG_Bool(REGB0)) {
13197 } else {
13198 nit_abort("Assert failed", NULL, LOCATE_parser, 4029);
13199 }
13200 /* parser/parser.nit:4031 */
13201 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13202 if (UNTAG_Bool(REGB0)) {
13203 } else {
13204 nit_abort("Assert failed", NULL, LOCATE_parser, 4031);
13205 }
13206 /* parser/parser.nit:4033 */
13207 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13208 if (UNTAG_Bool(REGB0)) {
13209 } else {
13210 nit_abort("Assert failed", NULL, LOCATE_parser, 4033);
13211 }
13212 /* parser/parser.nit:4034 */
13213 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
13214 /* parser/parser.nit:4046 */
13215 fra.me.REG[2] = fra.me.REG[3];
13216 /* parser/parser.nit:4047 */
13217 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13218 if (UNTAG_Bool(REGB0)) {
13219 } else {
13220 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4047);
13221 }
13222 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13223 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13224 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13225 stack_frame_head = fra.me.prev;
13226 return;
13227 }
13228 void parser___ReduceAction93___action(val_t p0, val_t p1){
13229 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13230 val_t REGB0;
13231 val_t tmp;
13232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13233 fra.me.file = LOCATE_parser;
13234 fra.me.line = 4052;
13235 fra.me.meth = LOCATE_parser___ReduceAction93___action;
13236 fra.me.has_broke = 0;
13237 fra.me.REG_size = 10;
13238 fra.me.nitni_local_ref_head = NULL;
13239 fra.me.REG[0] = NIT_NULL;
13240 fra.me.REG[1] = NIT_NULL;
13241 fra.me.REG[2] = NIT_NULL;
13242 fra.me.REG[3] = NIT_NULL;
13243 fra.me.REG[4] = NIT_NULL;
13244 fra.me.REG[5] = NIT_NULL;
13245 fra.me.REG[6] = NIT_NULL;
13246 fra.me.REG[7] = NIT_NULL;
13247 fra.me.REG[8] = NIT_NULL;
13248 fra.me.REG[9] = NIT_NULL;
13249 fra.me.REG[0] = p0;
13250 fra.me.REG[1] = p1;
13251 /* parser/parser.nit:4054 */
13252 fra.me.REG[2] = NIT_NULL;
13253 /* parser/parser.nit:4055 */
13254 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13255 /* parser/parser.nit:4056 */
13256 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13257 /* parser/parser.nit:4057 */
13258 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13259 /* parser/parser.nit:4058 */
13260 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13261 /* parser/parser.nit:4059 */
13262 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13263 /* parser/parser.nit:4060 */
13264 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13265 /* parser/parser.nit:4061 */
13266 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13267 /* parser/parser.nit:4063 */
13268 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13269 if (UNTAG_Bool(REGB0)) {
13270 } else {
13271 nit_abort("Assert failed", NULL, LOCATE_parser, 4063);
13272 }
13273 /* parser/parser.nit:4065 */
13274 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13275 if (UNTAG_Bool(REGB0)) {
13276 } else {
13277 nit_abort("Assert failed", NULL, LOCATE_parser, 4065);
13278 }
13279 /* parser/parser.nit:4067 */
13280 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13281 if (UNTAG_Bool(REGB0)) {
13282 } else {
13283 nit_abort("Assert failed", NULL, LOCATE_parser, 4067);
13284 }
13285 /* parser/parser.nit:4069 */
13286 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
13287 if (UNTAG_Bool(REGB0)) {
13288 } else {
13289 nit_abort("Assert failed", NULL, LOCATE_parser, 4069);
13290 }
13291 /* parser/parser.nit:4071 */
13292 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13293 if (UNTAG_Bool(REGB0)) {
13294 } else {
13295 nit_abort("Assert failed", NULL, LOCATE_parser, 4071);
13296 }
13297 /* parser/parser.nit:4073 */
13298 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13299 if (UNTAG_Bool(REGB0)) {
13300 } else {
13301 nit_abort("Assert failed", NULL, LOCATE_parser, 4073);
13302 }
13303 /* parser/parser.nit:4075 */
13304 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13305 if (UNTAG_Bool(REGB0)) {
13306 } else {
13307 nit_abort("Assert failed", NULL, LOCATE_parser, 4075);
13308 }
13309 /* parser/parser.nit:4076 */
13310 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
13311 /* parser/parser.nit:4088 */
13312 fra.me.REG[2] = fra.me.REG[3];
13313 /* parser/parser.nit:4089 */
13314 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13315 if (UNTAG_Bool(REGB0)) {
13316 } else {
13317 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4089);
13318 }
13319 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13320 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13321 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13322 stack_frame_head = fra.me.prev;
13323 return;
13324 }
13325 void parser___ReduceAction94___action(val_t p0, val_t p1){
13326 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
13327 val_t REGB0;
13328 val_t tmp;
13329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13330 fra.me.file = LOCATE_parser;
13331 fra.me.line = 4094;
13332 fra.me.meth = LOCATE_parser___ReduceAction94___action;
13333 fra.me.has_broke = 0;
13334 fra.me.REG_size = 8;
13335 fra.me.nitni_local_ref_head = NULL;
13336 fra.me.REG[0] = NIT_NULL;
13337 fra.me.REG[1] = NIT_NULL;
13338 fra.me.REG[2] = NIT_NULL;
13339 fra.me.REG[3] = NIT_NULL;
13340 fra.me.REG[4] = NIT_NULL;
13341 fra.me.REG[5] = NIT_NULL;
13342 fra.me.REG[6] = NIT_NULL;
13343 fra.me.REG[7] = NIT_NULL;
13344 fra.me.REG[0] = p0;
13345 fra.me.REG[1] = p1;
13346 /* parser/parser.nit:4096 */
13347 fra.me.REG[2] = NIT_NULL;
13348 /* parser/parser.nit:4097 */
13349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13350 /* parser/parser.nit:4098 */
13351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13352 /* parser/parser.nit:4099 */
13353 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13354 /* parser/parser.nit:4100 */
13355 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13356 /* parser/parser.nit:4101 */
13357 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13358 /* parser/parser.nit:4103 */
13359 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13360 if (UNTAG_Bool(REGB0)) {
13361 } else {
13362 nit_abort("Assert failed", NULL, LOCATE_parser, 4103);
13363 }
13364 /* parser/parser.nit:4105 */
13365 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13366 if (UNTAG_Bool(REGB0)) {
13367 } else {
13368 nit_abort("Assert failed", NULL, LOCATE_parser, 4105);
13369 }
13370 /* parser/parser.nit:4107 */
13371 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13372 if (UNTAG_Bool(REGB0)) {
13373 } else {
13374 nit_abort("Assert failed", NULL, LOCATE_parser, 4107);
13375 }
13376 /* parser/parser.nit:4109 */
13377 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13378 if (UNTAG_Bool(REGB0)) {
13379 } else {
13380 nit_abort("Assert failed", NULL, LOCATE_parser, 4109);
13381 }
13382 /* parser/parser.nit:4111 */
13383 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
13384 if (UNTAG_Bool(REGB0)) {
13385 } else {
13386 nit_abort("Assert failed", NULL, LOCATE_parser, 4111);
13387 }
13388 /* parser/parser.nit:4112 */
13389 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
13390 /* parser/parser.nit:4124 */
13391 fra.me.REG[2] = fra.me.REG[3];
13392 /* parser/parser.nit:4125 */
13393 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13394 if (UNTAG_Bool(REGB0)) {
13395 } else {
13396 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4125);
13397 }
13398 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13400 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13401 stack_frame_head = fra.me.prev;
13402 return;
13403 }
13404 void parser___ReduceAction95___action(val_t p0, val_t p1){
13405 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13406 val_t REGB0;
13407 val_t tmp;
13408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13409 fra.me.file = LOCATE_parser;
13410 fra.me.line = 4130;
13411 fra.me.meth = LOCATE_parser___ReduceAction95___action;
13412 fra.me.has_broke = 0;
13413 fra.me.REG_size = 9;
13414 fra.me.nitni_local_ref_head = NULL;
13415 fra.me.REG[0] = NIT_NULL;
13416 fra.me.REG[1] = NIT_NULL;
13417 fra.me.REG[2] = NIT_NULL;
13418 fra.me.REG[3] = NIT_NULL;
13419 fra.me.REG[4] = NIT_NULL;
13420 fra.me.REG[5] = NIT_NULL;
13421 fra.me.REG[6] = NIT_NULL;
13422 fra.me.REG[7] = NIT_NULL;
13423 fra.me.REG[8] = NIT_NULL;
13424 fra.me.REG[0] = p0;
13425 fra.me.REG[1] = p1;
13426 /* parser/parser.nit:4132 */
13427 fra.me.REG[2] = NIT_NULL;
13428 /* parser/parser.nit:4133 */
13429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13430 /* parser/parser.nit:4134 */
13431 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13432 /* parser/parser.nit:4135 */
13433 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13434 /* parser/parser.nit:4136 */
13435 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13436 /* parser/parser.nit:4137 */
13437 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13438 /* parser/parser.nit:4138 */
13439 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13440 /* parser/parser.nit:4140 */
13441 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13442 if (UNTAG_Bool(REGB0)) {
13443 } else {
13444 nit_abort("Assert failed", NULL, LOCATE_parser, 4140);
13445 }
13446 /* parser/parser.nit:4142 */
13447 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
13448 if (UNTAG_Bool(REGB0)) {
13449 } else {
13450 nit_abort("Assert failed", NULL, LOCATE_parser, 4142);
13451 }
13452 /* parser/parser.nit:4144 */
13453 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13454 if (UNTAG_Bool(REGB0)) {
13455 } else {
13456 nit_abort("Assert failed", NULL, LOCATE_parser, 4144);
13457 }
13458 /* parser/parser.nit:4146 */
13459 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13460 if (UNTAG_Bool(REGB0)) {
13461 } else {
13462 nit_abort("Assert failed", NULL, LOCATE_parser, 4146);
13463 }
13464 /* parser/parser.nit:4148 */
13465 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13466 if (UNTAG_Bool(REGB0)) {
13467 } else {
13468 nit_abort("Assert failed", NULL, LOCATE_parser, 4148);
13469 }
13470 /* parser/parser.nit:4150 */
13471 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
13472 if (UNTAG_Bool(REGB0)) {
13473 } else {
13474 nit_abort("Assert failed", NULL, LOCATE_parser, 4150);
13475 }
13476 /* parser/parser.nit:4151 */
13477 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
13478 /* parser/parser.nit:4163 */
13479 fra.me.REG[2] = fra.me.REG[3];
13480 /* parser/parser.nit:4164 */
13481 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13482 if (UNTAG_Bool(REGB0)) {
13483 } else {
13484 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4164);
13485 }
13486 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13487 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13489 stack_frame_head = fra.me.prev;
13490 return;
13491 }
13492 void parser___ReduceAction96___action(val_t p0, val_t p1){
13493 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13494 val_t REGB0;
13495 val_t tmp;
13496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13497 fra.me.file = LOCATE_parser;
13498 fra.me.line = 4169;
13499 fra.me.meth = LOCATE_parser___ReduceAction96___action;
13500 fra.me.has_broke = 0;
13501 fra.me.REG_size = 9;
13502 fra.me.nitni_local_ref_head = NULL;
13503 fra.me.REG[0] = NIT_NULL;
13504 fra.me.REG[1] = NIT_NULL;
13505 fra.me.REG[2] = NIT_NULL;
13506 fra.me.REG[3] = NIT_NULL;
13507 fra.me.REG[4] = NIT_NULL;
13508 fra.me.REG[5] = NIT_NULL;
13509 fra.me.REG[6] = NIT_NULL;
13510 fra.me.REG[7] = NIT_NULL;
13511 fra.me.REG[8] = NIT_NULL;
13512 fra.me.REG[0] = p0;
13513 fra.me.REG[1] = p1;
13514 /* parser/parser.nit:4171 */
13515 fra.me.REG[2] = NIT_NULL;
13516 /* parser/parser.nit:4172 */
13517 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13518 /* parser/parser.nit:4173 */
13519 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13520 /* parser/parser.nit:4174 */
13521 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13522 /* parser/parser.nit:4175 */
13523 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13524 /* parser/parser.nit:4176 */
13525 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13526 /* parser/parser.nit:4177 */
13527 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13528 /* parser/parser.nit:4179 */
13529 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13530 if (UNTAG_Bool(REGB0)) {
13531 } else {
13532 nit_abort("Assert failed", NULL, LOCATE_parser, 4179);
13533 }
13534 /* parser/parser.nit:4181 */
13535 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13536 if (UNTAG_Bool(REGB0)) {
13537 } else {
13538 nit_abort("Assert failed", NULL, LOCATE_parser, 4181);
13539 }
13540 /* parser/parser.nit:4183 */
13541 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13542 if (UNTAG_Bool(REGB0)) {
13543 } else {
13544 nit_abort("Assert failed", NULL, LOCATE_parser, 4183);
13545 }
13546 /* parser/parser.nit:4185 */
13547 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13548 if (UNTAG_Bool(REGB0)) {
13549 } else {
13550 nit_abort("Assert failed", NULL, LOCATE_parser, 4185);
13551 }
13552 /* parser/parser.nit:4187 */
13553 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13554 if (UNTAG_Bool(REGB0)) {
13555 } else {
13556 nit_abort("Assert failed", NULL, LOCATE_parser, 4187);
13557 }
13558 /* parser/parser.nit:4189 */
13559 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
13560 if (UNTAG_Bool(REGB0)) {
13561 } else {
13562 nit_abort("Assert failed", NULL, LOCATE_parser, 4189);
13563 }
13564 /* parser/parser.nit:4190 */
13565 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
13566 /* parser/parser.nit:4202 */
13567 fra.me.REG[2] = fra.me.REG[3];
13568 /* parser/parser.nit:4203 */
13569 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13570 if (UNTAG_Bool(REGB0)) {
13571 } else {
13572 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4203);
13573 }
13574 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13575 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13576 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13577 stack_frame_head = fra.me.prev;
13578 return;
13579 }
13580 void parser___ReduceAction97___action(val_t p0, val_t p1){
13581 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13582 val_t REGB0;
13583 val_t tmp;
13584 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13585 fra.me.file = LOCATE_parser;
13586 fra.me.line = 4208;
13587 fra.me.meth = LOCATE_parser___ReduceAction97___action;
13588 fra.me.has_broke = 0;
13589 fra.me.REG_size = 10;
13590 fra.me.nitni_local_ref_head = NULL;
13591 fra.me.REG[0] = NIT_NULL;
13592 fra.me.REG[1] = NIT_NULL;
13593 fra.me.REG[2] = NIT_NULL;
13594 fra.me.REG[3] = NIT_NULL;
13595 fra.me.REG[4] = NIT_NULL;
13596 fra.me.REG[5] = NIT_NULL;
13597 fra.me.REG[6] = NIT_NULL;
13598 fra.me.REG[7] = NIT_NULL;
13599 fra.me.REG[8] = NIT_NULL;
13600 fra.me.REG[9] = NIT_NULL;
13601 fra.me.REG[0] = p0;
13602 fra.me.REG[1] = p1;
13603 /* parser/parser.nit:4210 */
13604 fra.me.REG[2] = NIT_NULL;
13605 /* parser/parser.nit:4211 */
13606 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13607 /* parser/parser.nit:4212 */
13608 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13609 /* parser/parser.nit:4213 */
13610 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13611 /* parser/parser.nit:4214 */
13612 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13613 /* parser/parser.nit:4215 */
13614 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13615 /* parser/parser.nit:4216 */
13616 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13617 /* parser/parser.nit:4217 */
13618 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13619 /* parser/parser.nit:4219 */
13620 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13621 if (UNTAG_Bool(REGB0)) {
13622 } else {
13623 nit_abort("Assert failed", NULL, LOCATE_parser, 4219);
13624 }
13625 /* parser/parser.nit:4221 */
13626 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13627 if (UNTAG_Bool(REGB0)) {
13628 } else {
13629 nit_abort("Assert failed", NULL, LOCATE_parser, 4221);
13630 }
13631 /* parser/parser.nit:4223 */
13632 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
13633 if (UNTAG_Bool(REGB0)) {
13634 } else {
13635 nit_abort("Assert failed", NULL, LOCATE_parser, 4223);
13636 }
13637 /* parser/parser.nit:4225 */
13638 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13639 if (UNTAG_Bool(REGB0)) {
13640 } else {
13641 nit_abort("Assert failed", NULL, LOCATE_parser, 4225);
13642 }
13643 /* parser/parser.nit:4227 */
13644 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13645 if (UNTAG_Bool(REGB0)) {
13646 } else {
13647 nit_abort("Assert failed", NULL, LOCATE_parser, 4227);
13648 }
13649 /* parser/parser.nit:4229 */
13650 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13651 if (UNTAG_Bool(REGB0)) {
13652 } else {
13653 nit_abort("Assert failed", NULL, LOCATE_parser, 4229);
13654 }
13655 /* parser/parser.nit:4231 */
13656 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
13657 if (UNTAG_Bool(REGB0)) {
13658 } else {
13659 nit_abort("Assert failed", NULL, LOCATE_parser, 4231);
13660 }
13661 /* parser/parser.nit:4232 */
13662 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
13663 /* parser/parser.nit:4244 */
13664 fra.me.REG[2] = fra.me.REG[3];
13665 /* parser/parser.nit:4245 */
13666 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13667 if (UNTAG_Bool(REGB0)) {
13668 } else {
13669 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4245);
13670 }
13671 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13672 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13673 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13674 stack_frame_head = fra.me.prev;
13675 return;
13676 }
13677 void parser___ReduceAction98___action(val_t p0, val_t p1){
13678 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13679 val_t REGB0;
13680 val_t tmp;
13681 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13682 fra.me.file = LOCATE_parser;
13683 fra.me.line = 4250;
13684 fra.me.meth = LOCATE_parser___ReduceAction98___action;
13685 fra.me.has_broke = 0;
13686 fra.me.REG_size = 9;
13687 fra.me.nitni_local_ref_head = NULL;
13688 fra.me.REG[0] = NIT_NULL;
13689 fra.me.REG[1] = NIT_NULL;
13690 fra.me.REG[2] = NIT_NULL;
13691 fra.me.REG[3] = NIT_NULL;
13692 fra.me.REG[4] = NIT_NULL;
13693 fra.me.REG[5] = NIT_NULL;
13694 fra.me.REG[6] = NIT_NULL;
13695 fra.me.REG[7] = NIT_NULL;
13696 fra.me.REG[8] = NIT_NULL;
13697 fra.me.REG[0] = p0;
13698 fra.me.REG[1] = p1;
13699 /* parser/parser.nit:4252 */
13700 fra.me.REG[2] = NIT_NULL;
13701 /* parser/parser.nit:4253 */
13702 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13703 /* parser/parser.nit:4254 */
13704 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13705 /* parser/parser.nit:4255 */
13706 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13707 /* parser/parser.nit:4256 */
13708 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13709 /* parser/parser.nit:4257 */
13710 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13711 /* parser/parser.nit:4258 */
13712 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13713 /* parser/parser.nit:4260 */
13714 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13715 if (UNTAG_Bool(REGB0)) {
13716 } else {
13717 nit_abort("Assert failed", NULL, LOCATE_parser, 4260);
13718 }
13719 /* parser/parser.nit:4262 */
13720 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13721 if (UNTAG_Bool(REGB0)) {
13722 } else {
13723 nit_abort("Assert failed", NULL, LOCATE_parser, 4262);
13724 }
13725 /* parser/parser.nit:4264 */
13726 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13727 if (UNTAG_Bool(REGB0)) {
13728 } else {
13729 nit_abort("Assert failed", NULL, LOCATE_parser, 4264);
13730 }
13731 /* parser/parser.nit:4266 */
13732 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13733 if (UNTAG_Bool(REGB0)) {
13734 } else {
13735 nit_abort("Assert failed", NULL, LOCATE_parser, 4266);
13736 }
13737 /* parser/parser.nit:4268 */
13738 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13739 if (UNTAG_Bool(REGB0)) {
13740 } else {
13741 nit_abort("Assert failed", NULL, LOCATE_parser, 4268);
13742 }
13743 /* parser/parser.nit:4270 */
13744 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
13745 if (UNTAG_Bool(REGB0)) {
13746 } else {
13747 nit_abort("Assert failed", NULL, LOCATE_parser, 4270);
13748 }
13749 /* parser/parser.nit:4271 */
13750 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
13751 /* parser/parser.nit:4283 */
13752 fra.me.REG[2] = fra.me.REG[3];
13753 /* parser/parser.nit:4284 */
13754 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13755 if (UNTAG_Bool(REGB0)) {
13756 } else {
13757 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4284);
13758 }
13759 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13760 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13761 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13762 stack_frame_head = fra.me.prev;
13763 return;
13764 }
13765 void parser___ReduceAction99___action(val_t p0, val_t p1){
13766 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13767 val_t REGB0;
13768 val_t tmp;
13769 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13770 fra.me.file = LOCATE_parser;
13771 fra.me.line = 4289;
13772 fra.me.meth = LOCATE_parser___ReduceAction99___action;
13773 fra.me.has_broke = 0;
13774 fra.me.REG_size = 10;
13775 fra.me.nitni_local_ref_head = NULL;
13776 fra.me.REG[0] = NIT_NULL;
13777 fra.me.REG[1] = NIT_NULL;
13778 fra.me.REG[2] = NIT_NULL;
13779 fra.me.REG[3] = NIT_NULL;
13780 fra.me.REG[4] = NIT_NULL;
13781 fra.me.REG[5] = NIT_NULL;
13782 fra.me.REG[6] = NIT_NULL;
13783 fra.me.REG[7] = NIT_NULL;
13784 fra.me.REG[8] = NIT_NULL;
13785 fra.me.REG[9] = NIT_NULL;
13786 fra.me.REG[0] = p0;
13787 fra.me.REG[1] = p1;
13788 /* parser/parser.nit:4291 */
13789 fra.me.REG[2] = NIT_NULL;
13790 /* parser/parser.nit:4292 */
13791 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13792 /* parser/parser.nit:4293 */
13793 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13794 /* parser/parser.nit:4294 */
13795 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13796 /* parser/parser.nit:4295 */
13797 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13798 /* parser/parser.nit:4296 */
13799 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13800 /* parser/parser.nit:4297 */
13801 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13802 /* parser/parser.nit:4298 */
13803 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13804 /* parser/parser.nit:4300 */
13805 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13806 if (UNTAG_Bool(REGB0)) {
13807 } else {
13808 nit_abort("Assert failed", NULL, LOCATE_parser, 4300);
13809 }
13810 /* parser/parser.nit:4302 */
13811 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13812 if (UNTAG_Bool(REGB0)) {
13813 } else {
13814 nit_abort("Assert failed", NULL, LOCATE_parser, 4302);
13815 }
13816 /* parser/parser.nit:4304 */
13817 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
13818 if (UNTAG_Bool(REGB0)) {
13819 } else {
13820 nit_abort("Assert failed", NULL, LOCATE_parser, 4304);
13821 }
13822 /* parser/parser.nit:4306 */
13823 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13824 if (UNTAG_Bool(REGB0)) {
13825 } else {
13826 nit_abort("Assert failed", NULL, LOCATE_parser, 4306);
13827 }
13828 /* parser/parser.nit:4308 */
13829 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13830 if (UNTAG_Bool(REGB0)) {
13831 } else {
13832 nit_abort("Assert failed", NULL, LOCATE_parser, 4308);
13833 }
13834 /* parser/parser.nit:4310 */
13835 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13836 if (UNTAG_Bool(REGB0)) {
13837 } else {
13838 nit_abort("Assert failed", NULL, LOCATE_parser, 4310);
13839 }
13840 /* parser/parser.nit:4312 */
13841 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
13842 if (UNTAG_Bool(REGB0)) {
13843 } else {
13844 nit_abort("Assert failed", NULL, LOCATE_parser, 4312);
13845 }
13846 /* parser/parser.nit:4313 */
13847 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
13848 /* parser/parser.nit:4325 */
13849 fra.me.REG[2] = fra.me.REG[3];
13850 /* parser/parser.nit:4326 */
13851 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13852 if (UNTAG_Bool(REGB0)) {
13853 } else {
13854 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4326);
13855 }
13856 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13857 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13858 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13859 stack_frame_head = fra.me.prev;
13860 return;
13861 }
13862 void parser___ReduceAction100___action(val_t p0, val_t p1){
13863 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13864 val_t REGB0;
13865 val_t tmp;
13866 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13867 fra.me.file = LOCATE_parser;
13868 fra.me.line = 4331;
13869 fra.me.meth = LOCATE_parser___ReduceAction100___action;
13870 fra.me.has_broke = 0;
13871 fra.me.REG_size = 10;
13872 fra.me.nitni_local_ref_head = NULL;
13873 fra.me.REG[0] = NIT_NULL;
13874 fra.me.REG[1] = NIT_NULL;
13875 fra.me.REG[2] = NIT_NULL;
13876 fra.me.REG[3] = NIT_NULL;
13877 fra.me.REG[4] = NIT_NULL;
13878 fra.me.REG[5] = NIT_NULL;
13879 fra.me.REG[6] = NIT_NULL;
13880 fra.me.REG[7] = NIT_NULL;
13881 fra.me.REG[8] = NIT_NULL;
13882 fra.me.REG[9] = NIT_NULL;
13883 fra.me.REG[0] = p0;
13884 fra.me.REG[1] = p1;
13885 /* parser/parser.nit:4333 */
13886 fra.me.REG[2] = NIT_NULL;
13887 /* parser/parser.nit:4334 */
13888 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13889 /* parser/parser.nit:4335 */
13890 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13891 /* parser/parser.nit:4336 */
13892 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13893 /* parser/parser.nit:4337 */
13894 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13895 /* parser/parser.nit:4338 */
13896 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13897 /* parser/parser.nit:4339 */
13898 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13899 /* parser/parser.nit:4340 */
13900 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13901 /* parser/parser.nit:4342 */
13902 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
13903 if (UNTAG_Bool(REGB0)) {
13904 } else {
13905 nit_abort("Assert failed", NULL, LOCATE_parser, 4342);
13906 }
13907 /* parser/parser.nit:4344 */
13908 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13909 if (UNTAG_Bool(REGB0)) {
13910 } else {
13911 nit_abort("Assert failed", NULL, LOCATE_parser, 4344);
13912 }
13913 /* parser/parser.nit:4346 */
13914 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
13915 if (UNTAG_Bool(REGB0)) {
13916 } else {
13917 nit_abort("Assert failed", NULL, LOCATE_parser, 4346);
13918 }
13919 /* parser/parser.nit:4348 */
13920 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
13921 if (UNTAG_Bool(REGB0)) {
13922 } else {
13923 nit_abort("Assert failed", NULL, LOCATE_parser, 4348);
13924 }
13925 /* parser/parser.nit:4350 */
13926 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
13927 if (UNTAG_Bool(REGB0)) {
13928 } else {
13929 nit_abort("Assert failed", NULL, LOCATE_parser, 4350);
13930 }
13931 /* parser/parser.nit:4352 */
13932 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
13933 if (UNTAG_Bool(REGB0)) {
13934 } else {
13935 nit_abort("Assert failed", NULL, LOCATE_parser, 4352);
13936 }
13937 /* parser/parser.nit:4354 */
13938 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
13939 if (UNTAG_Bool(REGB0)) {
13940 } else {
13941 nit_abort("Assert failed", NULL, LOCATE_parser, 4354);
13942 }
13943 /* parser/parser.nit:4355 */
13944 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
13945 /* parser/parser.nit:4367 */
13946 fra.me.REG[2] = fra.me.REG[3];
13947 /* parser/parser.nit:4368 */
13948 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13949 if (UNTAG_Bool(REGB0)) {
13950 } else {
13951 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4368);
13952 }
13953 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13954 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13955 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13956 stack_frame_head = fra.me.prev;
13957 return;
13958 }
13959 void parser___ReduceAction101___action(val_t p0, val_t p1){
13960 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13961 val_t REGB0;
13962 val_t tmp;
13963 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13964 fra.me.file = LOCATE_parser;
13965 fra.me.line = 4373;
13966 fra.me.meth = LOCATE_parser___ReduceAction101___action;
13967 fra.me.has_broke = 0;
13968 fra.me.REG_size = 11;
13969 fra.me.nitni_local_ref_head = NULL;
13970 fra.me.REG[0] = NIT_NULL;
13971 fra.me.REG[1] = NIT_NULL;
13972 fra.me.REG[2] = NIT_NULL;
13973 fra.me.REG[3] = NIT_NULL;
13974 fra.me.REG[4] = NIT_NULL;
13975 fra.me.REG[5] = NIT_NULL;
13976 fra.me.REG[6] = NIT_NULL;
13977 fra.me.REG[7] = NIT_NULL;
13978 fra.me.REG[8] = NIT_NULL;
13979 fra.me.REG[9] = NIT_NULL;
13980 fra.me.REG[10] = NIT_NULL;
13981 fra.me.REG[0] = p0;
13982 fra.me.REG[1] = p1;
13983 /* parser/parser.nit:4375 */
13984 fra.me.REG[2] = NIT_NULL;
13985 /* parser/parser.nit:4376 */
13986 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13987 /* parser/parser.nit:4377 */
13988 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13989 /* parser/parser.nit:4378 */
13990 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13991 /* parser/parser.nit:4379 */
13992 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13993 /* parser/parser.nit:4380 */
13994 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13995 /* parser/parser.nit:4381 */
13996 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13997 /* parser/parser.nit:4382 */
13998 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13999 /* parser/parser.nit:4383 */
14000 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14001 /* parser/parser.nit:4385 */
14002 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14003 if (UNTAG_Bool(REGB0)) {
14004 } else {
14005 nit_abort("Assert failed", NULL, LOCATE_parser, 4385);
14006 }
14007 /* parser/parser.nit:4387 */
14008 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14009 if (UNTAG_Bool(REGB0)) {
14010 } else {
14011 nit_abort("Assert failed", NULL, LOCATE_parser, 4387);
14012 }
14013 /* parser/parser.nit:4389 */
14014 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14015 if (UNTAG_Bool(REGB0)) {
14016 } else {
14017 nit_abort("Assert failed", NULL, LOCATE_parser, 4389);
14018 }
14019 /* parser/parser.nit:4391 */
14020 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
14021 if (UNTAG_Bool(REGB0)) {
14022 } else {
14023 nit_abort("Assert failed", NULL, LOCATE_parser, 4391);
14024 }
14025 /* parser/parser.nit:4393 */
14026 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14027 if (UNTAG_Bool(REGB0)) {
14028 } else {
14029 nit_abort("Assert failed", NULL, LOCATE_parser, 4393);
14030 }
14031 /* parser/parser.nit:4395 */
14032 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14033 if (UNTAG_Bool(REGB0)) {
14034 } else {
14035 nit_abort("Assert failed", NULL, LOCATE_parser, 4395);
14036 }
14037 /* parser/parser.nit:4397 */
14038 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14039 if (UNTAG_Bool(REGB0)) {
14040 } else {
14041 nit_abort("Assert failed", NULL, LOCATE_parser, 4397);
14042 }
14043 /* parser/parser.nit:4399 */
14044 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
14045 if (UNTAG_Bool(REGB0)) {
14046 } else {
14047 nit_abort("Assert failed", NULL, LOCATE_parser, 4399);
14048 }
14049 /* parser/parser.nit:4400 */
14050 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
14051 /* parser/parser.nit:4412 */
14052 fra.me.REG[2] = fra.me.REG[3];
14053 /* parser/parser.nit:4413 */
14054 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14055 if (UNTAG_Bool(REGB0)) {
14056 } else {
14057 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4413);
14058 }
14059 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14060 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14061 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14062 stack_frame_head = fra.me.prev;
14063 return;
14064 }
14065 void parser___ReduceAction102___action(val_t p0, val_t p1){
14066 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
14067 val_t REGB0;
14068 val_t tmp;
14069 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14070 fra.me.file = LOCATE_parser;
14071 fra.me.line = 4418;
14072 fra.me.meth = LOCATE_parser___ReduceAction102___action;
14073 fra.me.has_broke = 0;
14074 fra.me.REG_size = 8;
14075 fra.me.nitni_local_ref_head = NULL;
14076 fra.me.REG[0] = NIT_NULL;
14077 fra.me.REG[1] = NIT_NULL;
14078 fra.me.REG[2] = NIT_NULL;
14079 fra.me.REG[3] = NIT_NULL;
14080 fra.me.REG[4] = NIT_NULL;
14081 fra.me.REG[5] = NIT_NULL;
14082 fra.me.REG[6] = NIT_NULL;
14083 fra.me.REG[7] = NIT_NULL;
14084 fra.me.REG[0] = p0;
14085 fra.me.REG[1] = p1;
14086 /* parser/parser.nit:4420 */
14087 fra.me.REG[2] = NIT_NULL;
14088 /* parser/parser.nit:4421 */
14089 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14090 /* parser/parser.nit:4422 */
14091 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14092 /* parser/parser.nit:4423 */
14093 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14094 /* parser/parser.nit:4424 */
14095 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14096 /* parser/parser.nit:4425 */
14097 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14098 /* parser/parser.nit:4426 */
14099 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14100 /* parser/parser.nit:4427 */
14101 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14102 /* parser/parser.nit:4429 */
14103 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14104 if (UNTAG_Bool(REGB0)) {
14105 } else {
14106 nit_abort("Assert failed", NULL, LOCATE_parser, 4429);
14107 }
14108 /* parser/parser.nit:4431 */
14109 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14110 if (UNTAG_Bool(REGB0)) {
14111 } else {
14112 nit_abort("Assert failed", NULL, LOCATE_parser, 4431);
14113 }
14114 /* parser/parser.nit:4433 */
14115 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14116 if (UNTAG_Bool(REGB0)) {
14117 } else {
14118 nit_abort("Assert failed", NULL, LOCATE_parser, 4433);
14119 }
14120 /* parser/parser.nit:4435 */
14121 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14122 if (UNTAG_Bool(REGB0)) {
14123 } else {
14124 nit_abort("Assert failed", NULL, LOCATE_parser, 4435);
14125 }
14126 /* parser/parser.nit:4437 */
14127 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14128 if (UNTAG_Bool(REGB0)) {
14129 } else {
14130 nit_abort("Assert failed", NULL, LOCATE_parser, 4437);
14131 }
14132 /* parser/parser.nit:4438 */
14133 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
14134 /* parser/parser.nit:4450 */
14135 fra.me.REG[2] = fra.me.REG[3];
14136 /* parser/parser.nit:4451 */
14137 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14138 if (UNTAG_Bool(REGB0)) {
14139 } else {
14140 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4451);
14141 }
14142 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14143 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14144 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14145 stack_frame_head = fra.me.prev;
14146 return;
14147 }
14148 void parser___ReduceAction103___action(val_t p0, val_t p1){
14149 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
14150 val_t REGB0;
14151 val_t tmp;
14152 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14153 fra.me.file = LOCATE_parser;
14154 fra.me.line = 4456;
14155 fra.me.meth = LOCATE_parser___ReduceAction103___action;
14156 fra.me.has_broke = 0;
14157 fra.me.REG_size = 9;
14158 fra.me.nitni_local_ref_head = NULL;
14159 fra.me.REG[0] = NIT_NULL;
14160 fra.me.REG[1] = NIT_NULL;
14161 fra.me.REG[2] = NIT_NULL;
14162 fra.me.REG[3] = NIT_NULL;
14163 fra.me.REG[4] = NIT_NULL;
14164 fra.me.REG[5] = NIT_NULL;
14165 fra.me.REG[6] = NIT_NULL;
14166 fra.me.REG[7] = NIT_NULL;
14167 fra.me.REG[8] = NIT_NULL;
14168 fra.me.REG[0] = p0;
14169 fra.me.REG[1] = p1;
14170 /* parser/parser.nit:4458 */
14171 fra.me.REG[2] = NIT_NULL;
14172 /* parser/parser.nit:4459 */
14173 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14174 /* parser/parser.nit:4460 */
14175 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14176 /* parser/parser.nit:4461 */
14177 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14178 /* parser/parser.nit:4462 */
14179 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14180 /* parser/parser.nit:4463 */
14181 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14182 /* parser/parser.nit:4464 */
14183 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14184 /* parser/parser.nit:4465 */
14185 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14186 /* parser/parser.nit:4466 */
14187 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14188 /* parser/parser.nit:4468 */
14189 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14190 if (UNTAG_Bool(REGB0)) {
14191 } else {
14192 nit_abort("Assert failed", NULL, LOCATE_parser, 4468);
14193 }
14194 /* parser/parser.nit:4470 */
14195 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
14196 if (UNTAG_Bool(REGB0)) {
14197 } else {
14198 nit_abort("Assert failed", NULL, LOCATE_parser, 4470);
14199 }
14200 /* parser/parser.nit:4472 */
14201 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14202 if (UNTAG_Bool(REGB0)) {
14203 } else {
14204 nit_abort("Assert failed", NULL, LOCATE_parser, 4472);
14205 }
14206 /* parser/parser.nit:4474 */
14207 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14208 if (UNTAG_Bool(REGB0)) {
14209 } else {
14210 nit_abort("Assert failed", NULL, LOCATE_parser, 4474);
14211 }
14212 /* parser/parser.nit:4476 */
14213 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14214 if (UNTAG_Bool(REGB0)) {
14215 } else {
14216 nit_abort("Assert failed", NULL, LOCATE_parser, 4476);
14217 }
14218 /* parser/parser.nit:4478 */
14219 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14220 if (UNTAG_Bool(REGB0)) {
14221 } else {
14222 nit_abort("Assert failed", NULL, LOCATE_parser, 4478);
14223 }
14224 /* parser/parser.nit:4479 */
14225 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
14226 /* parser/parser.nit:4491 */
14227 fra.me.REG[2] = fra.me.REG[3];
14228 /* parser/parser.nit:4492 */
14229 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14230 if (UNTAG_Bool(REGB0)) {
14231 } else {
14232 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4492);
14233 }
14234 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14235 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14236 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14237 stack_frame_head = fra.me.prev;
14238 return;
14239 }
14240 void parser___ReduceAction104___action(val_t p0, val_t p1){
14241 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
14242 val_t REGB0;
14243 val_t tmp;
14244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14245 fra.me.file = LOCATE_parser;
14246 fra.me.line = 4497;
14247 fra.me.meth = LOCATE_parser___ReduceAction104___action;
14248 fra.me.has_broke = 0;
14249 fra.me.REG_size = 9;
14250 fra.me.nitni_local_ref_head = NULL;
14251 fra.me.REG[0] = NIT_NULL;
14252 fra.me.REG[1] = NIT_NULL;
14253 fra.me.REG[2] = NIT_NULL;
14254 fra.me.REG[3] = NIT_NULL;
14255 fra.me.REG[4] = NIT_NULL;
14256 fra.me.REG[5] = NIT_NULL;
14257 fra.me.REG[6] = NIT_NULL;
14258 fra.me.REG[7] = NIT_NULL;
14259 fra.me.REG[8] = NIT_NULL;
14260 fra.me.REG[0] = p0;
14261 fra.me.REG[1] = p1;
14262 /* parser/parser.nit:4499 */
14263 fra.me.REG[2] = NIT_NULL;
14264 /* parser/parser.nit:4500 */
14265 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14266 /* parser/parser.nit:4501 */
14267 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14268 /* parser/parser.nit:4502 */
14269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14270 /* parser/parser.nit:4503 */
14271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14272 /* parser/parser.nit:4504 */
14273 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14274 /* parser/parser.nit:4505 */
14275 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14276 /* parser/parser.nit:4506 */
14277 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14278 /* parser/parser.nit:4507 */
14279 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14280 /* parser/parser.nit:4509 */
14281 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14282 if (UNTAG_Bool(REGB0)) {
14283 } else {
14284 nit_abort("Assert failed", NULL, LOCATE_parser, 4509);
14285 }
14286 /* parser/parser.nit:4511 */
14287 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14288 if (UNTAG_Bool(REGB0)) {
14289 } else {
14290 nit_abort("Assert failed", NULL, LOCATE_parser, 4511);
14291 }
14292 /* parser/parser.nit:4513 */
14293 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14294 if (UNTAG_Bool(REGB0)) {
14295 } else {
14296 nit_abort("Assert failed", NULL, LOCATE_parser, 4513);
14297 }
14298 /* parser/parser.nit:4515 */
14299 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14300 if (UNTAG_Bool(REGB0)) {
14301 } else {
14302 nit_abort("Assert failed", NULL, LOCATE_parser, 4515);
14303 }
14304 /* parser/parser.nit:4517 */
14305 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14306 if (UNTAG_Bool(REGB0)) {
14307 } else {
14308 nit_abort("Assert failed", NULL, LOCATE_parser, 4517);
14309 }
14310 /* parser/parser.nit:4519 */
14311 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14312 if (UNTAG_Bool(REGB0)) {
14313 } else {
14314 nit_abort("Assert failed", NULL, LOCATE_parser, 4519);
14315 }
14316 /* parser/parser.nit:4520 */
14317 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
14318 /* parser/parser.nit:4532 */
14319 fra.me.REG[2] = fra.me.REG[3];
14320 /* parser/parser.nit:4533 */
14321 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14322 if (UNTAG_Bool(REGB0)) {
14323 } else {
14324 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4533);
14325 }
14326 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14327 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14328 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14329 stack_frame_head = fra.me.prev;
14330 return;
14331 }
14332 void parser___ReduceAction105___action(val_t p0, val_t p1){
14333 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
14334 val_t REGB0;
14335 val_t tmp;
14336 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14337 fra.me.file = LOCATE_parser;
14338 fra.me.line = 4538;
14339 fra.me.meth = LOCATE_parser___ReduceAction105___action;
14340 fra.me.has_broke = 0;
14341 fra.me.REG_size = 10;
14342 fra.me.nitni_local_ref_head = NULL;
14343 fra.me.REG[0] = NIT_NULL;
14344 fra.me.REG[1] = NIT_NULL;
14345 fra.me.REG[2] = NIT_NULL;
14346 fra.me.REG[3] = NIT_NULL;
14347 fra.me.REG[4] = NIT_NULL;
14348 fra.me.REG[5] = NIT_NULL;
14349 fra.me.REG[6] = NIT_NULL;
14350 fra.me.REG[7] = NIT_NULL;
14351 fra.me.REG[8] = NIT_NULL;
14352 fra.me.REG[9] = NIT_NULL;
14353 fra.me.REG[0] = p0;
14354 fra.me.REG[1] = p1;
14355 /* parser/parser.nit:4540 */
14356 fra.me.REG[2] = NIT_NULL;
14357 /* parser/parser.nit:4541 */
14358 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14359 /* parser/parser.nit:4542 */
14360 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14361 /* parser/parser.nit:4543 */
14362 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14363 /* parser/parser.nit:4544 */
14364 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14365 /* parser/parser.nit:4545 */
14366 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14367 /* parser/parser.nit:4546 */
14368 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14369 /* parser/parser.nit:4547 */
14370 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14371 /* parser/parser.nit:4548 */
14372 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14373 /* parser/parser.nit:4549 */
14374 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14375 /* parser/parser.nit:4551 */
14376 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14377 if (UNTAG_Bool(REGB0)) {
14378 } else {
14379 nit_abort("Assert failed", NULL, LOCATE_parser, 4551);
14380 }
14381 /* parser/parser.nit:4553 */
14382 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14383 if (UNTAG_Bool(REGB0)) {
14384 } else {
14385 nit_abort("Assert failed", NULL, LOCATE_parser, 4553);
14386 }
14387 /* parser/parser.nit:4555 */
14388 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
14389 if (UNTAG_Bool(REGB0)) {
14390 } else {
14391 nit_abort("Assert failed", NULL, LOCATE_parser, 4555);
14392 }
14393 /* parser/parser.nit:4557 */
14394 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14395 if (UNTAG_Bool(REGB0)) {
14396 } else {
14397 nit_abort("Assert failed", NULL, LOCATE_parser, 4557);
14398 }
14399 /* parser/parser.nit:4559 */
14400 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14401 if (UNTAG_Bool(REGB0)) {
14402 } else {
14403 nit_abort("Assert failed", NULL, LOCATE_parser, 4559);
14404 }
14405 /* parser/parser.nit:4561 */
14406 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14407 if (UNTAG_Bool(REGB0)) {
14408 } else {
14409 nit_abort("Assert failed", NULL, LOCATE_parser, 4561);
14410 }
14411 /* parser/parser.nit:4563 */
14412 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14413 if (UNTAG_Bool(REGB0)) {
14414 } else {
14415 nit_abort("Assert failed", NULL, LOCATE_parser, 4563);
14416 }
14417 /* parser/parser.nit:4564 */
14418 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
14419 /* parser/parser.nit:4576 */
14420 fra.me.REG[2] = fra.me.REG[3];
14421 /* parser/parser.nit:4577 */
14422 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14423 if (UNTAG_Bool(REGB0)) {
14424 } else {
14425 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4577);
14426 }
14427 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14428 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14429 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14430 stack_frame_head = fra.me.prev;
14431 return;
14432 }
14433 void parser___ReduceAction106___action(val_t p0, val_t p1){
14434 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
14435 val_t REGB0;
14436 val_t tmp;
14437 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14438 fra.me.file = LOCATE_parser;
14439 fra.me.line = 4582;
14440 fra.me.meth = LOCATE_parser___ReduceAction106___action;
14441 fra.me.has_broke = 0;
14442 fra.me.REG_size = 9;
14443 fra.me.nitni_local_ref_head = NULL;
14444 fra.me.REG[0] = NIT_NULL;
14445 fra.me.REG[1] = NIT_NULL;
14446 fra.me.REG[2] = NIT_NULL;
14447 fra.me.REG[3] = NIT_NULL;
14448 fra.me.REG[4] = NIT_NULL;
14449 fra.me.REG[5] = NIT_NULL;
14450 fra.me.REG[6] = NIT_NULL;
14451 fra.me.REG[7] = NIT_NULL;
14452 fra.me.REG[8] = NIT_NULL;
14453 fra.me.REG[0] = p0;
14454 fra.me.REG[1] = p1;
14455 /* parser/parser.nit:4584 */
14456 fra.me.REG[2] = NIT_NULL;
14457 /* parser/parser.nit:4585 */
14458 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14459 /* parser/parser.nit:4586 */
14460 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14461 /* parser/parser.nit:4587 */
14462 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14463 /* parser/parser.nit:4588 */
14464 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14465 /* parser/parser.nit:4589 */
14466 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14467 /* parser/parser.nit:4590 */
14468 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14469 /* parser/parser.nit:4591 */
14470 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14471 /* parser/parser.nit:4592 */
14472 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14473 /* parser/parser.nit:4594 */
14474 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14475 if (UNTAG_Bool(REGB0)) {
14476 } else {
14477 nit_abort("Assert failed", NULL, LOCATE_parser, 4594);
14478 }
14479 /* parser/parser.nit:4596 */
14480 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14481 if (UNTAG_Bool(REGB0)) {
14482 } else {
14483 nit_abort("Assert failed", NULL, LOCATE_parser, 4596);
14484 }
14485 /* parser/parser.nit:4598 */
14486 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14487 if (UNTAG_Bool(REGB0)) {
14488 } else {
14489 nit_abort("Assert failed", NULL, LOCATE_parser, 4598);
14490 }
14491 /* parser/parser.nit:4600 */
14492 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14493 if (UNTAG_Bool(REGB0)) {
14494 } else {
14495 nit_abort("Assert failed", NULL, LOCATE_parser, 4600);
14496 }
14497 /* parser/parser.nit:4602 */
14498 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14499 if (UNTAG_Bool(REGB0)) {
14500 } else {
14501 nit_abort("Assert failed", NULL, LOCATE_parser, 4602);
14502 }
14503 /* parser/parser.nit:4604 */
14504 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14505 if (UNTAG_Bool(REGB0)) {
14506 } else {
14507 nit_abort("Assert failed", NULL, LOCATE_parser, 4604);
14508 }
14509 /* parser/parser.nit:4605 */
14510 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
14511 /* parser/parser.nit:4617 */
14512 fra.me.REG[2] = fra.me.REG[3];
14513 /* parser/parser.nit:4618 */
14514 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14515 if (UNTAG_Bool(REGB0)) {
14516 } else {
14517 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4618);
14518 }
14519 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14520 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14521 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14522 stack_frame_head = fra.me.prev;
14523 return;
14524 }
14525 void parser___ReduceAction107___action(val_t p0, val_t p1){
14526 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
14527 val_t REGB0;
14528 val_t tmp;
14529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14530 fra.me.file = LOCATE_parser;
14531 fra.me.line = 4623;
14532 fra.me.meth = LOCATE_parser___ReduceAction107___action;
14533 fra.me.has_broke = 0;
14534 fra.me.REG_size = 10;
14535 fra.me.nitni_local_ref_head = NULL;
14536 fra.me.REG[0] = NIT_NULL;
14537 fra.me.REG[1] = NIT_NULL;
14538 fra.me.REG[2] = NIT_NULL;
14539 fra.me.REG[3] = NIT_NULL;
14540 fra.me.REG[4] = NIT_NULL;
14541 fra.me.REG[5] = NIT_NULL;
14542 fra.me.REG[6] = NIT_NULL;
14543 fra.me.REG[7] = NIT_NULL;
14544 fra.me.REG[8] = NIT_NULL;
14545 fra.me.REG[9] = NIT_NULL;
14546 fra.me.REG[0] = p0;
14547 fra.me.REG[1] = p1;
14548 /* parser/parser.nit:4625 */
14549 fra.me.REG[2] = NIT_NULL;
14550 /* parser/parser.nit:4626 */
14551 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14552 /* parser/parser.nit:4627 */
14553 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14554 /* parser/parser.nit:4628 */
14555 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14556 /* parser/parser.nit:4629 */
14557 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14558 /* parser/parser.nit:4630 */
14559 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14560 /* parser/parser.nit:4631 */
14561 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14562 /* parser/parser.nit:4632 */
14563 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14564 /* parser/parser.nit:4633 */
14565 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14566 /* parser/parser.nit:4634 */
14567 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14568 /* parser/parser.nit:4636 */
14569 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14570 if (UNTAG_Bool(REGB0)) {
14571 } else {
14572 nit_abort("Assert failed", NULL, LOCATE_parser, 4636);
14573 }
14574 /* parser/parser.nit:4638 */
14575 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14576 if (UNTAG_Bool(REGB0)) {
14577 } else {
14578 nit_abort("Assert failed", NULL, LOCATE_parser, 4638);
14579 }
14580 /* parser/parser.nit:4640 */
14581 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
14582 if (UNTAG_Bool(REGB0)) {
14583 } else {
14584 nit_abort("Assert failed", NULL, LOCATE_parser, 4640);
14585 }
14586 /* parser/parser.nit:4642 */
14587 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14588 if (UNTAG_Bool(REGB0)) {
14589 } else {
14590 nit_abort("Assert failed", NULL, LOCATE_parser, 4642);
14591 }
14592 /* parser/parser.nit:4644 */
14593 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14594 if (UNTAG_Bool(REGB0)) {
14595 } else {
14596 nit_abort("Assert failed", NULL, LOCATE_parser, 4644);
14597 }
14598 /* parser/parser.nit:4646 */
14599 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14600 if (UNTAG_Bool(REGB0)) {
14601 } else {
14602 nit_abort("Assert failed", NULL, LOCATE_parser, 4646);
14603 }
14604 /* parser/parser.nit:4648 */
14605 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14606 if (UNTAG_Bool(REGB0)) {
14607 } else {
14608 nit_abort("Assert failed", NULL, LOCATE_parser, 4648);
14609 }
14610 /* parser/parser.nit:4649 */
14611 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
14612 /* parser/parser.nit:4661 */
14613 fra.me.REG[2] = fra.me.REG[3];
14614 /* parser/parser.nit:4662 */
14615 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14616 if (UNTAG_Bool(REGB0)) {
14617 } else {
14618 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4662);
14619 }
14620 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14622 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14623 stack_frame_head = fra.me.prev;
14624 return;
14625 }
14626 void parser___ReduceAction108___action(val_t p0, val_t p1){
14627 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
14628 val_t REGB0;
14629 val_t tmp;
14630 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14631 fra.me.file = LOCATE_parser;
14632 fra.me.line = 4667;
14633 fra.me.meth = LOCATE_parser___ReduceAction108___action;
14634 fra.me.has_broke = 0;
14635 fra.me.REG_size = 10;
14636 fra.me.nitni_local_ref_head = NULL;
14637 fra.me.REG[0] = NIT_NULL;
14638 fra.me.REG[1] = NIT_NULL;
14639 fra.me.REG[2] = NIT_NULL;
14640 fra.me.REG[3] = NIT_NULL;
14641 fra.me.REG[4] = NIT_NULL;
14642 fra.me.REG[5] = NIT_NULL;
14643 fra.me.REG[6] = NIT_NULL;
14644 fra.me.REG[7] = NIT_NULL;
14645 fra.me.REG[8] = NIT_NULL;
14646 fra.me.REG[9] = NIT_NULL;
14647 fra.me.REG[0] = p0;
14648 fra.me.REG[1] = p1;
14649 /* parser/parser.nit:4669 */
14650 fra.me.REG[2] = NIT_NULL;
14651 /* parser/parser.nit:4670 */
14652 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14653 /* parser/parser.nit:4671 */
14654 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14655 /* parser/parser.nit:4672 */
14656 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14657 /* parser/parser.nit:4673 */
14658 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14659 /* parser/parser.nit:4674 */
14660 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14661 /* parser/parser.nit:4675 */
14662 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14663 /* parser/parser.nit:4676 */
14664 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14665 /* parser/parser.nit:4677 */
14666 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14667 /* parser/parser.nit:4678 */
14668 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14669 /* parser/parser.nit:4680 */
14670 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14671 if (UNTAG_Bool(REGB0)) {
14672 } else {
14673 nit_abort("Assert failed", NULL, LOCATE_parser, 4680);
14674 }
14675 /* parser/parser.nit:4682 */
14676 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14677 if (UNTAG_Bool(REGB0)) {
14678 } else {
14679 nit_abort("Assert failed", NULL, LOCATE_parser, 4682);
14680 }
14681 /* parser/parser.nit:4684 */
14682 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14683 if (UNTAG_Bool(REGB0)) {
14684 } else {
14685 nit_abort("Assert failed", NULL, LOCATE_parser, 4684);
14686 }
14687 /* parser/parser.nit:4686 */
14688 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14689 if (UNTAG_Bool(REGB0)) {
14690 } else {
14691 nit_abort("Assert failed", NULL, LOCATE_parser, 4686);
14692 }
14693 /* parser/parser.nit:4688 */
14694 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14695 if (UNTAG_Bool(REGB0)) {
14696 } else {
14697 nit_abort("Assert failed", NULL, LOCATE_parser, 4688);
14698 }
14699 /* parser/parser.nit:4690 */
14700 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14701 if (UNTAG_Bool(REGB0)) {
14702 } else {
14703 nit_abort("Assert failed", NULL, LOCATE_parser, 4690);
14704 }
14705 /* parser/parser.nit:4692 */
14706 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14707 if (UNTAG_Bool(REGB0)) {
14708 } else {
14709 nit_abort("Assert failed", NULL, LOCATE_parser, 4692);
14710 }
14711 /* parser/parser.nit:4693 */
14712 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
14713 /* parser/parser.nit:4705 */
14714 fra.me.REG[2] = fra.me.REG[3];
14715 /* parser/parser.nit:4706 */
14716 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14717 if (UNTAG_Bool(REGB0)) {
14718 } else {
14719 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4706);
14720 }
14721 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14722 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14723 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14724 stack_frame_head = fra.me.prev;
14725 return;
14726 }
14727 void parser___ReduceAction109___action(val_t p0, val_t p1){
14728 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
14729 val_t REGB0;
14730 val_t tmp;
14731 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14732 fra.me.file = LOCATE_parser;
14733 fra.me.line = 4711;
14734 fra.me.meth = LOCATE_parser___ReduceAction109___action;
14735 fra.me.has_broke = 0;
14736 fra.me.REG_size = 11;
14737 fra.me.nitni_local_ref_head = NULL;
14738 fra.me.REG[0] = NIT_NULL;
14739 fra.me.REG[1] = NIT_NULL;
14740 fra.me.REG[2] = NIT_NULL;
14741 fra.me.REG[3] = NIT_NULL;
14742 fra.me.REG[4] = NIT_NULL;
14743 fra.me.REG[5] = NIT_NULL;
14744 fra.me.REG[6] = NIT_NULL;
14745 fra.me.REG[7] = NIT_NULL;
14746 fra.me.REG[8] = NIT_NULL;
14747 fra.me.REG[9] = NIT_NULL;
14748 fra.me.REG[10] = NIT_NULL;
14749 fra.me.REG[0] = p0;
14750 fra.me.REG[1] = p1;
14751 /* parser/parser.nit:4713 */
14752 fra.me.REG[2] = NIT_NULL;
14753 /* parser/parser.nit:4714 */
14754 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14755 /* parser/parser.nit:4715 */
14756 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14757 /* parser/parser.nit:4716 */
14758 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14759 /* parser/parser.nit:4717 */
14760 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14761 /* parser/parser.nit:4718 */
14762 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14763 /* parser/parser.nit:4719 */
14764 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14765 /* parser/parser.nit:4720 */
14766 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14767 /* parser/parser.nit:4721 */
14768 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14769 /* parser/parser.nit:4722 */
14770 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14771 /* parser/parser.nit:4723 */
14772 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14773 /* parser/parser.nit:4725 */
14774 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14775 if (UNTAG_Bool(REGB0)) {
14776 } else {
14777 nit_abort("Assert failed", NULL, LOCATE_parser, 4725);
14778 }
14779 /* parser/parser.nit:4727 */
14780 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14781 if (UNTAG_Bool(REGB0)) {
14782 } else {
14783 nit_abort("Assert failed", NULL, LOCATE_parser, 4727);
14784 }
14785 /* parser/parser.nit:4729 */
14786 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
14787 if (UNTAG_Bool(REGB0)) {
14788 } else {
14789 nit_abort("Assert failed", NULL, LOCATE_parser, 4729);
14790 }
14791 /* parser/parser.nit:4731 */
14792 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
14793 if (UNTAG_Bool(REGB0)) {
14794 } else {
14795 nit_abort("Assert failed", NULL, LOCATE_parser, 4731);
14796 }
14797 /* parser/parser.nit:4733 */
14798 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14799 if (UNTAG_Bool(REGB0)) {
14800 } else {
14801 nit_abort("Assert failed", NULL, LOCATE_parser, 4733);
14802 }
14803 /* parser/parser.nit:4735 */
14804 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14805 if (UNTAG_Bool(REGB0)) {
14806 } else {
14807 nit_abort("Assert failed", NULL, LOCATE_parser, 4735);
14808 }
14809 /* parser/parser.nit:4737 */
14810 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14811 if (UNTAG_Bool(REGB0)) {
14812 } else {
14813 nit_abort("Assert failed", NULL, LOCATE_parser, 4737);
14814 }
14815 /* parser/parser.nit:4739 */
14816 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14817 if (UNTAG_Bool(REGB0)) {
14818 } else {
14819 nit_abort("Assert failed", NULL, LOCATE_parser, 4739);
14820 }
14821 /* parser/parser.nit:4740 */
14822 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
14823 /* parser/parser.nit:4752 */
14824 fra.me.REG[2] = fra.me.REG[3];
14825 /* parser/parser.nit:4753 */
14826 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14827 if (UNTAG_Bool(REGB0)) {
14828 } else {
14829 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4753);
14830 }
14831 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14832 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14833 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14834 stack_frame_head = fra.me.prev;
14835 return;
14836 }
14837 void parser___ReduceAction110___action(val_t p0, val_t p1){
14838 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
14839 val_t REGB0;
14840 val_t tmp;
14841 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14842 fra.me.file = LOCATE_parser;
14843 fra.me.line = 4758;
14844 fra.me.meth = LOCATE_parser___ReduceAction110___action;
14845 fra.me.has_broke = 0;
14846 fra.me.REG_size = 9;
14847 fra.me.nitni_local_ref_head = NULL;
14848 fra.me.REG[0] = NIT_NULL;
14849 fra.me.REG[1] = NIT_NULL;
14850 fra.me.REG[2] = NIT_NULL;
14851 fra.me.REG[3] = NIT_NULL;
14852 fra.me.REG[4] = NIT_NULL;
14853 fra.me.REG[5] = NIT_NULL;
14854 fra.me.REG[6] = NIT_NULL;
14855 fra.me.REG[7] = NIT_NULL;
14856 fra.me.REG[8] = NIT_NULL;
14857 fra.me.REG[0] = p0;
14858 fra.me.REG[1] = p1;
14859 /* parser/parser.nit:4760 */
14860 fra.me.REG[2] = NIT_NULL;
14861 /* parser/parser.nit:4761 */
14862 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14863 /* parser/parser.nit:4762 */
14864 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14865 /* parser/parser.nit:4763 */
14866 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14867 /* parser/parser.nit:4764 */
14868 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14869 /* parser/parser.nit:4765 */
14870 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14871 /* parser/parser.nit:4766 */
14872 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14873 /* parser/parser.nit:4767 */
14874 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14875 /* parser/parser.nit:4768 */
14876 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14877 /* parser/parser.nit:4770 */
14878 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14879 if (UNTAG_Bool(REGB0)) {
14880 } else {
14881 nit_abort("Assert failed", NULL, LOCATE_parser, 4770);
14882 }
14883 /* parser/parser.nit:4772 */
14884 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14885 if (UNTAG_Bool(REGB0)) {
14886 } else {
14887 nit_abort("Assert failed", NULL, LOCATE_parser, 4772);
14888 }
14889 /* parser/parser.nit:4774 */
14890 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14891 if (UNTAG_Bool(REGB0)) {
14892 } else {
14893 nit_abort("Assert failed", NULL, LOCATE_parser, 4774);
14894 }
14895 /* parser/parser.nit:4776 */
14896 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14897 if (UNTAG_Bool(REGB0)) {
14898 } else {
14899 nit_abort("Assert failed", NULL, LOCATE_parser, 4776);
14900 }
14901 /* parser/parser.nit:4778 */
14902 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
14903 if (UNTAG_Bool(REGB0)) {
14904 } else {
14905 nit_abort("Assert failed", NULL, LOCATE_parser, 4778);
14906 }
14907 /* parser/parser.nit:4780 */
14908 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
14909 if (UNTAG_Bool(REGB0)) {
14910 } else {
14911 nit_abort("Assert failed", NULL, LOCATE_parser, 4780);
14912 }
14913 /* parser/parser.nit:4781 */
14914 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
14915 /* parser/parser.nit:4793 */
14916 fra.me.REG[2] = fra.me.REG[3];
14917 /* parser/parser.nit:4794 */
14918 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14919 if (UNTAG_Bool(REGB0)) {
14920 } else {
14921 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4794);
14922 }
14923 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14924 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14925 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14926 stack_frame_head = fra.me.prev;
14927 return;
14928 }
14929 void parser___ReduceAction111___action(val_t p0, val_t p1){
14930 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
14931 val_t REGB0;
14932 val_t tmp;
14933 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14934 fra.me.file = LOCATE_parser;
14935 fra.me.line = 4799;
14936 fra.me.meth = LOCATE_parser___ReduceAction111___action;
14937 fra.me.has_broke = 0;
14938 fra.me.REG_size = 10;
14939 fra.me.nitni_local_ref_head = NULL;
14940 fra.me.REG[0] = NIT_NULL;
14941 fra.me.REG[1] = NIT_NULL;
14942 fra.me.REG[2] = NIT_NULL;
14943 fra.me.REG[3] = NIT_NULL;
14944 fra.me.REG[4] = NIT_NULL;
14945 fra.me.REG[5] = NIT_NULL;
14946 fra.me.REG[6] = NIT_NULL;
14947 fra.me.REG[7] = NIT_NULL;
14948 fra.me.REG[8] = NIT_NULL;
14949 fra.me.REG[9] = NIT_NULL;
14950 fra.me.REG[0] = p0;
14951 fra.me.REG[1] = p1;
14952 /* parser/parser.nit:4801 */
14953 fra.me.REG[2] = NIT_NULL;
14954 /* parser/parser.nit:4802 */
14955 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14956 /* parser/parser.nit:4803 */
14957 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14958 /* parser/parser.nit:4804 */
14959 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14960 /* parser/parser.nit:4805 */
14961 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14962 /* parser/parser.nit:4806 */
14963 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14964 /* parser/parser.nit:4807 */
14965 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14966 /* parser/parser.nit:4808 */
14967 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14968 /* parser/parser.nit:4809 */
14969 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14970 /* parser/parser.nit:4810 */
14971 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14972 /* parser/parser.nit:4812 */
14973 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
14974 if (UNTAG_Bool(REGB0)) {
14975 } else {
14976 nit_abort("Assert failed", NULL, LOCATE_parser, 4812);
14977 }
14978 /* parser/parser.nit:4814 */
14979 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
14980 if (UNTAG_Bool(REGB0)) {
14981 } else {
14982 nit_abort("Assert failed", NULL, LOCATE_parser, 4814);
14983 }
14984 /* parser/parser.nit:4816 */
14985 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14986 if (UNTAG_Bool(REGB0)) {
14987 } else {
14988 nit_abort("Assert failed", NULL, LOCATE_parser, 4816);
14989 }
14990 /* parser/parser.nit:4818 */
14991 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
14992 if (UNTAG_Bool(REGB0)) {
14993 } else {
14994 nit_abort("Assert failed", NULL, LOCATE_parser, 4818);
14995 }
14996 /* parser/parser.nit:4820 */
14997 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
14998 if (UNTAG_Bool(REGB0)) {
14999 } else {
15000 nit_abort("Assert failed", NULL, LOCATE_parser, 4820);
15001 }
15002 /* parser/parser.nit:4822 */
15003 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15004 if (UNTAG_Bool(REGB0)) {
15005 } else {
15006 nit_abort("Assert failed", NULL, LOCATE_parser, 4822);
15007 }
15008 /* parser/parser.nit:4824 */
15009 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
15010 if (UNTAG_Bool(REGB0)) {
15011 } else {
15012 nit_abort("Assert failed", NULL, LOCATE_parser, 4824);
15013 }
15014 /* parser/parser.nit:4825 */
15015 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
15016 /* parser/parser.nit:4837 */
15017 fra.me.REG[2] = fra.me.REG[3];
15018 /* parser/parser.nit:4838 */
15019 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15020 if (UNTAG_Bool(REGB0)) {
15021 } else {
15022 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4838);
15023 }
15024 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15025 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15026 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15027 stack_frame_head = fra.me.prev;
15028 return;
15029 }
15030 void parser___ReduceAction112___action(val_t p0, val_t p1){
15031 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
15032 val_t REGB0;
15033 val_t tmp;
15034 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15035 fra.me.file = LOCATE_parser;
15036 fra.me.line = 4843;
15037 fra.me.meth = LOCATE_parser___ReduceAction112___action;
15038 fra.me.has_broke = 0;
15039 fra.me.REG_size = 10;
15040 fra.me.nitni_local_ref_head = NULL;
15041 fra.me.REG[0] = NIT_NULL;
15042 fra.me.REG[1] = NIT_NULL;
15043 fra.me.REG[2] = NIT_NULL;
15044 fra.me.REG[3] = NIT_NULL;
15045 fra.me.REG[4] = NIT_NULL;
15046 fra.me.REG[5] = NIT_NULL;
15047 fra.me.REG[6] = NIT_NULL;
15048 fra.me.REG[7] = NIT_NULL;
15049 fra.me.REG[8] = NIT_NULL;
15050 fra.me.REG[9] = NIT_NULL;
15051 fra.me.REG[0] = p0;
15052 fra.me.REG[1] = p1;
15053 /* parser/parser.nit:4845 */
15054 fra.me.REG[2] = NIT_NULL;
15055 /* parser/parser.nit:4846 */
15056 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15057 /* parser/parser.nit:4847 */
15058 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15059 /* parser/parser.nit:4848 */
15060 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15061 /* parser/parser.nit:4849 */
15062 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15063 /* parser/parser.nit:4850 */
15064 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15065 /* parser/parser.nit:4851 */
15066 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15067 /* parser/parser.nit:4852 */
15068 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15069 /* parser/parser.nit:4853 */
15070 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15071 /* parser/parser.nit:4854 */
15072 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15073 /* parser/parser.nit:4856 */
15074 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15075 if (UNTAG_Bool(REGB0)) {
15076 } else {
15077 nit_abort("Assert failed", NULL, LOCATE_parser, 4856);
15078 }
15079 /* parser/parser.nit:4858 */
15080 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
15081 if (UNTAG_Bool(REGB0)) {
15082 } else {
15083 nit_abort("Assert failed", NULL, LOCATE_parser, 4858);
15084 }
15085 /* parser/parser.nit:4860 */
15086 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15087 if (UNTAG_Bool(REGB0)) {
15088 } else {
15089 nit_abort("Assert failed", NULL, LOCATE_parser, 4860);
15090 }
15091 /* parser/parser.nit:4862 */
15092 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15093 if (UNTAG_Bool(REGB0)) {
15094 } else {
15095 nit_abort("Assert failed", NULL, LOCATE_parser, 4862);
15096 }
15097 /* parser/parser.nit:4864 */
15098 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
15099 if (UNTAG_Bool(REGB0)) {
15100 } else {
15101 nit_abort("Assert failed", NULL, LOCATE_parser, 4864);
15102 }
15103 /* parser/parser.nit:4866 */
15104 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15105 if (UNTAG_Bool(REGB0)) {
15106 } else {
15107 nit_abort("Assert failed", NULL, LOCATE_parser, 4866);
15108 }
15109 /* parser/parser.nit:4868 */
15110 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
15111 if (UNTAG_Bool(REGB0)) {
15112 } else {
15113 nit_abort("Assert failed", NULL, LOCATE_parser, 4868);
15114 }
15115 /* parser/parser.nit:4869 */
15116 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
15117 /* parser/parser.nit:4881 */
15118 fra.me.REG[2] = fra.me.REG[3];
15119 /* parser/parser.nit:4882 */
15120 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15121 if (UNTAG_Bool(REGB0)) {
15122 } else {
15123 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4882);
15124 }
15125 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15128 stack_frame_head = fra.me.prev;
15129 return;
15130 }
15131 void parser___ReduceAction113___action(val_t p0, val_t p1){
15132 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
15133 val_t REGB0;
15134 val_t tmp;
15135 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15136 fra.me.file = LOCATE_parser;
15137 fra.me.line = 4887;
15138 fra.me.meth = LOCATE_parser___ReduceAction113___action;
15139 fra.me.has_broke = 0;
15140 fra.me.REG_size = 11;
15141 fra.me.nitni_local_ref_head = NULL;
15142 fra.me.REG[0] = NIT_NULL;
15143 fra.me.REG[1] = NIT_NULL;
15144 fra.me.REG[2] = NIT_NULL;
15145 fra.me.REG[3] = NIT_NULL;
15146 fra.me.REG[4] = NIT_NULL;
15147 fra.me.REG[5] = NIT_NULL;
15148 fra.me.REG[6] = NIT_NULL;
15149 fra.me.REG[7] = NIT_NULL;
15150 fra.me.REG[8] = NIT_NULL;
15151 fra.me.REG[9] = NIT_NULL;
15152 fra.me.REG[10] = NIT_NULL;
15153 fra.me.REG[0] = p0;
15154 fra.me.REG[1] = p1;
15155 /* parser/parser.nit:4889 */
15156 fra.me.REG[2] = NIT_NULL;
15157 /* parser/parser.nit:4890 */
15158 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15159 /* parser/parser.nit:4891 */
15160 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15161 /* parser/parser.nit:4892 */
15162 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15163 /* parser/parser.nit:4893 */
15164 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15165 /* parser/parser.nit:4894 */
15166 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15167 /* parser/parser.nit:4895 */
15168 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15169 /* parser/parser.nit:4896 */
15170 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15171 /* parser/parser.nit:4897 */
15172 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15173 /* parser/parser.nit:4898 */
15174 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15175 /* parser/parser.nit:4899 */
15176 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15177 /* parser/parser.nit:4901 */
15178 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15179 if (UNTAG_Bool(REGB0)) {
15180 } else {
15181 nit_abort("Assert failed", NULL, LOCATE_parser, 4901);
15182 }
15183 /* parser/parser.nit:4903 */
15184 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
15185 if (UNTAG_Bool(REGB0)) {
15186 } else {
15187 nit_abort("Assert failed", NULL, LOCATE_parser, 4903);
15188 }
15189 /* parser/parser.nit:4905 */
15190 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
15191 if (UNTAG_Bool(REGB0)) {
15192 } else {
15193 nit_abort("Assert failed", NULL, LOCATE_parser, 4905);
15194 }
15195 /* parser/parser.nit:4907 */
15196 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15197 if (UNTAG_Bool(REGB0)) {
15198 } else {
15199 nit_abort("Assert failed", NULL, LOCATE_parser, 4907);
15200 }
15201 /* parser/parser.nit:4909 */
15202 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15203 if (UNTAG_Bool(REGB0)) {
15204 } else {
15205 nit_abort("Assert failed", NULL, LOCATE_parser, 4909);
15206 }
15207 /* parser/parser.nit:4911 */
15208 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
15209 if (UNTAG_Bool(REGB0)) {
15210 } else {
15211 nit_abort("Assert failed", NULL, LOCATE_parser, 4911);
15212 }
15213 /* parser/parser.nit:4913 */
15214 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15215 if (UNTAG_Bool(REGB0)) {
15216 } else {
15217 nit_abort("Assert failed", NULL, LOCATE_parser, 4913);
15218 }
15219 /* parser/parser.nit:4915 */
15220 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
15221 if (UNTAG_Bool(REGB0)) {
15222 } else {
15223 nit_abort("Assert failed", NULL, LOCATE_parser, 4915);
15224 }
15225 /* parser/parser.nit:4916 */
15226 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
15227 /* parser/parser.nit:4928 */
15228 fra.me.REG[2] = fra.me.REG[3];
15229 /* parser/parser.nit:4929 */
15230 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15231 if (UNTAG_Bool(REGB0)) {
15232 } else {
15233 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4929);
15234 }
15235 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15236 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15237 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15238 stack_frame_head = fra.me.prev;
15239 return;
15240 }
15241 void parser___ReduceAction114___action(val_t p0, val_t p1){
15242 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
15243 val_t REGB0;
15244 val_t tmp;
15245 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15246 fra.me.file = LOCATE_parser;
15247 fra.me.line = 4934;
15248 fra.me.meth = LOCATE_parser___ReduceAction114___action;
15249 fra.me.has_broke = 0;
15250 fra.me.REG_size = 10;
15251 fra.me.nitni_local_ref_head = NULL;
15252 fra.me.REG[0] = NIT_NULL;
15253 fra.me.REG[1] = NIT_NULL;
15254 fra.me.REG[2] = NIT_NULL;
15255 fra.me.REG[3] = NIT_NULL;
15256 fra.me.REG[4] = NIT_NULL;
15257 fra.me.REG[5] = NIT_NULL;
15258 fra.me.REG[6] = NIT_NULL;
15259 fra.me.REG[7] = NIT_NULL;
15260 fra.me.REG[8] = NIT_NULL;
15261 fra.me.REG[9] = NIT_NULL;
15262 fra.me.REG[0] = p0;
15263 fra.me.REG[1] = p1;
15264 /* parser/parser.nit:4936 */
15265 fra.me.REG[2] = NIT_NULL;
15266 /* parser/parser.nit:4937 */
15267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15268 /* parser/parser.nit:4938 */
15269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15270 /* parser/parser.nit:4939 */
15271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15272 /* parser/parser.nit:4940 */
15273 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15274 /* parser/parser.nit:4941 */
15275 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15276 /* parser/parser.nit:4942 */
15277 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15278 /* parser/parser.nit:4943 */
15279 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15280 /* parser/parser.nit:4944 */
15281 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15282 /* parser/parser.nit:4945 */
15283 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15284 /* parser/parser.nit:4947 */
15285 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15286 if (UNTAG_Bool(REGB0)) {
15287 } else {
15288 nit_abort("Assert failed", NULL, LOCATE_parser, 4947);
15289 }
15290 /* parser/parser.nit:4949 */
15291 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
15292 if (UNTAG_Bool(REGB0)) {
15293 } else {
15294 nit_abort("Assert failed", NULL, LOCATE_parser, 4949);
15295 }
15296 /* parser/parser.nit:4951 */
15297 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15298 if (UNTAG_Bool(REGB0)) {
15299 } else {
15300 nit_abort("Assert failed", NULL, LOCATE_parser, 4951);
15301 }
15302 /* parser/parser.nit:4953 */
15303 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15304 if (UNTAG_Bool(REGB0)) {
15305 } else {
15306 nit_abort("Assert failed", NULL, LOCATE_parser, 4953);
15307 }
15308 /* parser/parser.nit:4955 */
15309 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
15310 if (UNTAG_Bool(REGB0)) {
15311 } else {
15312 nit_abort("Assert failed", NULL, LOCATE_parser, 4955);
15313 }
15314 /* parser/parser.nit:4957 */
15315 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15316 if (UNTAG_Bool(REGB0)) {
15317 } else {
15318 nit_abort("Assert failed", NULL, LOCATE_parser, 4957);
15319 }
15320 /* parser/parser.nit:4959 */
15321 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
15322 if (UNTAG_Bool(REGB0)) {
15323 } else {
15324 nit_abort("Assert failed", NULL, LOCATE_parser, 4959);
15325 }
15326 /* parser/parser.nit:4960 */
15327 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
15328 /* parser/parser.nit:4972 */
15329 fra.me.REG[2] = fra.me.REG[3];
15330 /* parser/parser.nit:4973 */
15331 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15332 if (UNTAG_Bool(REGB0)) {
15333 } else {
15334 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4973);
15335 }
15336 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15337 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15338 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15339 stack_frame_head = fra.me.prev;
15340 return;
15341 }
15342 void parser___ReduceAction115___action(val_t p0, val_t p1){
15343 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
15344 val_t REGB0;
15345 val_t tmp;
15346 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15347 fra.me.file = LOCATE_parser;
15348 fra.me.line = 4978;
15349 fra.me.meth = LOCATE_parser___ReduceAction115___action;
15350 fra.me.has_broke = 0;
15351 fra.me.REG_size = 11;
15352 fra.me.nitni_local_ref_head = NULL;
15353 fra.me.REG[0] = NIT_NULL;
15354 fra.me.REG[1] = NIT_NULL;
15355 fra.me.REG[2] = NIT_NULL;
15356 fra.me.REG[3] = NIT_NULL;
15357 fra.me.REG[4] = NIT_NULL;
15358 fra.me.REG[5] = NIT_NULL;
15359 fra.me.REG[6] = NIT_NULL;
15360 fra.me.REG[7] = NIT_NULL;
15361 fra.me.REG[8] = NIT_NULL;
15362 fra.me.REG[9] = NIT_NULL;
15363 fra.me.REG[10] = NIT_NULL;
15364 fra.me.REG[0] = p0;
15365 fra.me.REG[1] = p1;
15366 /* parser/parser.nit:4980 */
15367 fra.me.REG[2] = NIT_NULL;
15368 /* parser/parser.nit:4981 */
15369 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15370 /* parser/parser.nit:4982 */
15371 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15372 /* parser/parser.nit:4983 */
15373 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15374 /* parser/parser.nit:4984 */
15375 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15376 /* parser/parser.nit:4985 */
15377 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15378 /* parser/parser.nit:4986 */
15379 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15380 /* parser/parser.nit:4987 */
15381 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15382 /* parser/parser.nit:4988 */
15383 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15384 /* parser/parser.nit:4989 */
15385 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15386 /* parser/parser.nit:4990 */
15387 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15388 /* parser/parser.nit:4992 */
15389 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15390 if (UNTAG_Bool(REGB0)) {
15391 } else {
15392 nit_abort("Assert failed", NULL, LOCATE_parser, 4992);
15393 }
15394 /* parser/parser.nit:4994 */
15395 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
15396 if (UNTAG_Bool(REGB0)) {
15397 } else {
15398 nit_abort("Assert failed", NULL, LOCATE_parser, 4994);
15399 }
15400 /* parser/parser.nit:4996 */
15401 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
15402 if (UNTAG_Bool(REGB0)) {
15403 } else {
15404 nit_abort("Assert failed", NULL, LOCATE_parser, 4996);
15405 }
15406 /* parser/parser.nit:4998 */
15407 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15408 if (UNTAG_Bool(REGB0)) {
15409 } else {
15410 nit_abort("Assert failed", NULL, LOCATE_parser, 4998);
15411 }
15412 /* parser/parser.nit:5000 */
15413 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15414 if (UNTAG_Bool(REGB0)) {
15415 } else {
15416 nit_abort("Assert failed", NULL, LOCATE_parser, 5000);
15417 }
15418 /* parser/parser.nit:5002 */
15419 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
15420 if (UNTAG_Bool(REGB0)) {
15421 } else {
15422 nit_abort("Assert failed", NULL, LOCATE_parser, 5002);
15423 }
15424 /* parser/parser.nit:5004 */
15425 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15426 if (UNTAG_Bool(REGB0)) {
15427 } else {
15428 nit_abort("Assert failed", NULL, LOCATE_parser, 5004);
15429 }
15430 /* parser/parser.nit:5006 */
15431 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
15432 if (UNTAG_Bool(REGB0)) {
15433 } else {
15434 nit_abort("Assert failed", NULL, LOCATE_parser, 5006);
15435 }
15436 /* parser/parser.nit:5007 */
15437 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
15438 /* parser/parser.nit:5019 */
15439 fra.me.REG[2] = fra.me.REG[3];
15440 /* parser/parser.nit:5020 */
15441 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15442 if (UNTAG_Bool(REGB0)) {
15443 } else {
15444 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5020);
15445 }
15446 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15447 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15448 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15449 stack_frame_head = fra.me.prev;
15450 return;
15451 }
15452 void parser___ReduceAction116___action(val_t p0, val_t p1){
15453 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
15454 val_t REGB0;
15455 val_t tmp;
15456 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15457 fra.me.file = LOCATE_parser;
15458 fra.me.line = 5025;
15459 fra.me.meth = LOCATE_parser___ReduceAction116___action;
15460 fra.me.has_broke = 0;
15461 fra.me.REG_size = 11;
15462 fra.me.nitni_local_ref_head = NULL;
15463 fra.me.REG[0] = NIT_NULL;
15464 fra.me.REG[1] = NIT_NULL;
15465 fra.me.REG[2] = NIT_NULL;
15466 fra.me.REG[3] = NIT_NULL;
15467 fra.me.REG[4] = NIT_NULL;
15468 fra.me.REG[5] = NIT_NULL;
15469 fra.me.REG[6] = NIT_NULL;
15470 fra.me.REG[7] = NIT_NULL;
15471 fra.me.REG[8] = NIT_NULL;
15472 fra.me.REG[9] = NIT_NULL;
15473 fra.me.REG[10] = NIT_NULL;
15474 fra.me.REG[0] = p0;
15475 fra.me.REG[1] = p1;
15476 /* parser/parser.nit:5027 */
15477 fra.me.REG[2] = NIT_NULL;
15478 /* parser/parser.nit:5028 */
15479 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15480 /* parser/parser.nit:5029 */
15481 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15482 /* parser/parser.nit:5030 */
15483 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15484 /* parser/parser.nit:5031 */
15485 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15486 /* parser/parser.nit:5032 */
15487 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15488 /* parser/parser.nit:5033 */
15489 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15490 /* parser/parser.nit:5034 */
15491 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15492 /* parser/parser.nit:5035 */
15493 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15494 /* parser/parser.nit:5036 */
15495 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15496 /* parser/parser.nit:5037 */
15497 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15498 /* parser/parser.nit:5039 */
15499 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15500 if (UNTAG_Bool(REGB0)) {
15501 } else {
15502 nit_abort("Assert failed", NULL, LOCATE_parser, 5039);
15503 }
15504 /* parser/parser.nit:5041 */
15505 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
15506 if (UNTAG_Bool(REGB0)) {
15507 } else {
15508 nit_abort("Assert failed", NULL, LOCATE_parser, 5041);
15509 }
15510 /* parser/parser.nit:5043 */
15511 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
15512 if (UNTAG_Bool(REGB0)) {
15513 } else {
15514 nit_abort("Assert failed", NULL, LOCATE_parser, 5043);
15515 }
15516 /* parser/parser.nit:5045 */
15517 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15518 if (UNTAG_Bool(REGB0)) {
15519 } else {
15520 nit_abort("Assert failed", NULL, LOCATE_parser, 5045);
15521 }
15522 /* parser/parser.nit:5047 */
15523 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15524 if (UNTAG_Bool(REGB0)) {
15525 } else {
15526 nit_abort("Assert failed", NULL, LOCATE_parser, 5047);
15527 }
15528 /* parser/parser.nit:5049 */
15529 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
15530 if (UNTAG_Bool(REGB0)) {
15531 } else {
15532 nit_abort("Assert failed", NULL, LOCATE_parser, 5049);
15533 }
15534 /* parser/parser.nit:5051 */
15535 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15536 if (UNTAG_Bool(REGB0)) {
15537 } else {
15538 nit_abort("Assert failed", NULL, LOCATE_parser, 5051);
15539 }
15540 /* parser/parser.nit:5053 */
15541 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
15542 if (UNTAG_Bool(REGB0)) {
15543 } else {
15544 nit_abort("Assert failed", NULL, LOCATE_parser, 5053);
15545 }
15546 /* parser/parser.nit:5054 */
15547 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
15548 /* parser/parser.nit:5066 */
15549 fra.me.REG[2] = fra.me.REG[3];
15550 /* parser/parser.nit:5067 */
15551 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15552 if (UNTAG_Bool(REGB0)) {
15553 } else {
15554 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5067);
15555 }
15556 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15557 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15558 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15559 stack_frame_head = fra.me.prev;
15560 return;
15561 }
15562 void parser___ReduceAction117___action(val_t p0, val_t p1){
15563 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
15564 val_t REGB0;
15565 val_t tmp;
15566 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15567 fra.me.file = LOCATE_parser;
15568 fra.me.line = 5072;
15569 fra.me.meth = LOCATE_parser___ReduceAction117___action;
15570 fra.me.has_broke = 0;
15571 fra.me.REG_size = 12;
15572 fra.me.nitni_local_ref_head = NULL;
15573 fra.me.REG[0] = NIT_NULL;
15574 fra.me.REG[1] = NIT_NULL;
15575 fra.me.REG[2] = NIT_NULL;
15576 fra.me.REG[3] = NIT_NULL;
15577 fra.me.REG[4] = NIT_NULL;
15578 fra.me.REG[5] = NIT_NULL;
15579 fra.me.REG[6] = NIT_NULL;
15580 fra.me.REG[7] = NIT_NULL;
15581 fra.me.REG[8] = NIT_NULL;
15582 fra.me.REG[9] = NIT_NULL;
15583 fra.me.REG[10] = NIT_NULL;
15584 fra.me.REG[11] = NIT_NULL;
15585 fra.me.REG[0] = p0;
15586 fra.me.REG[1] = p1;
15587 /* parser/parser.nit:5074 */
15588 fra.me.REG[2] = NIT_NULL;
15589 /* parser/parser.nit:5075 */
15590 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15591 /* parser/parser.nit:5076 */
15592 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15593 /* parser/parser.nit:5077 */
15594 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15595 /* parser/parser.nit:5078 */
15596 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15597 /* parser/parser.nit:5079 */
15598 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15599 /* parser/parser.nit:5080 */
15600 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15601 /* parser/parser.nit:5081 */
15602 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15603 /* parser/parser.nit:5082 */
15604 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15605 /* parser/parser.nit:5083 */
15606 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15607 /* parser/parser.nit:5084 */
15608 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15609 /* parser/parser.nit:5085 */
15610 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15611 /* parser/parser.nit:5087 */
15612 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15613 if (UNTAG_Bool(REGB0)) {
15614 } else {
15615 nit_abort("Assert failed", NULL, LOCATE_parser, 5087);
15616 }
15617 /* parser/parser.nit:5089 */
15618 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
15619 if (UNTAG_Bool(REGB0)) {
15620 } else {
15621 nit_abort("Assert failed", NULL, LOCATE_parser, 5089);
15622 }
15623 /* parser/parser.nit:5091 */
15624 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
15625 if (UNTAG_Bool(REGB0)) {
15626 } else {
15627 nit_abort("Assert failed", NULL, LOCATE_parser, 5091);
15628 }
15629 /* parser/parser.nit:5093 */
15630 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
15631 if (UNTAG_Bool(REGB0)) {
15632 } else {
15633 nit_abort("Assert failed", NULL, LOCATE_parser, 5093);
15634 }
15635 /* parser/parser.nit:5095 */
15636 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15637 if (UNTAG_Bool(REGB0)) {
15638 } else {
15639 nit_abort("Assert failed", NULL, LOCATE_parser, 5095);
15640 }
15641 /* parser/parser.nit:5097 */
15642 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15643 if (UNTAG_Bool(REGB0)) {
15644 } else {
15645 nit_abort("Assert failed", NULL, LOCATE_parser, 5097);
15646 }
15647 /* parser/parser.nit:5099 */
15648 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
15649 if (UNTAG_Bool(REGB0)) {
15650 } else {
15651 nit_abort("Assert failed", NULL, LOCATE_parser, 5099);
15652 }
15653 /* parser/parser.nit:5101 */
15654 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15655 if (UNTAG_Bool(REGB0)) {
15656 } else {
15657 nit_abort("Assert failed", NULL, LOCATE_parser, 5101);
15658 }
15659 /* parser/parser.nit:5103 */
15660 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
15661 if (UNTAG_Bool(REGB0)) {
15662 } else {
15663 nit_abort("Assert failed", NULL, LOCATE_parser, 5103);
15664 }
15665 /* parser/parser.nit:5104 */
15666 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
15667 /* parser/parser.nit:5116 */
15668 fra.me.REG[2] = fra.me.REG[3];
15669 /* parser/parser.nit:5117 */
15670 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15671 if (UNTAG_Bool(REGB0)) {
15672 } else {
15673 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5117);
15674 }
15675 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15676 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15677 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15678 stack_frame_head = fra.me.prev;
15679 return;
15680 }
15681 void parser___ReduceAction118___action(val_t p0, val_t p1){
15682 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
15683 val_t REGB0;
15684 val_t tmp;
15685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15686 fra.me.file = LOCATE_parser;
15687 fra.me.line = 5122;
15688 fra.me.meth = LOCATE_parser___ReduceAction118___action;
15689 fra.me.has_broke = 0;
15690 fra.me.REG_size = 7;
15691 fra.me.nitni_local_ref_head = NULL;
15692 fra.me.REG[0] = NIT_NULL;
15693 fra.me.REG[1] = NIT_NULL;
15694 fra.me.REG[2] = NIT_NULL;
15695 fra.me.REG[3] = NIT_NULL;
15696 fra.me.REG[4] = NIT_NULL;
15697 fra.me.REG[5] = NIT_NULL;
15698 fra.me.REG[6] = NIT_NULL;
15699 fra.me.REG[0] = p0;
15700 fra.me.REG[1] = p1;
15701 /* parser/parser.nit:5124 */
15702 fra.me.REG[2] = NIT_NULL;
15703 /* parser/parser.nit:5125 */
15704 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15705 /* parser/parser.nit:5126 */
15706 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15707 /* parser/parser.nit:5127 */
15708 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15709 /* parser/parser.nit:5128 */
15710 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15711 /* parser/parser.nit:5130 */
15712 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15713 if (UNTAG_Bool(REGB0)) {
15714 } else {
15715 nit_abort("Assert failed", NULL, LOCATE_parser, 5130);
15716 }
15717 /* parser/parser.nit:5132 */
15718 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15719 if (UNTAG_Bool(REGB0)) {
15720 } else {
15721 nit_abort("Assert failed", NULL, LOCATE_parser, 5132);
15722 }
15723 /* parser/parser.nit:5134 */
15724 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15725 if (UNTAG_Bool(REGB0)) {
15726 } else {
15727 nit_abort("Assert failed", NULL, LOCATE_parser, 5134);
15728 }
15729 /* parser/parser.nit:5136 */
15730 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
15731 if (UNTAG_Bool(REGB0)) {
15732 } else {
15733 nit_abort("Assert failed", NULL, LOCATE_parser, 5136);
15734 }
15735 /* parser/parser.nit:5137 */
15736 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[6], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL);
15737 /* parser/parser.nit:5149 */
15738 fra.me.REG[2] = fra.me.REG[3];
15739 /* parser/parser.nit:5150 */
15740 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15741 if (UNTAG_Bool(REGB0)) {
15742 } else {
15743 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5150);
15744 }
15745 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15746 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15747 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15748 stack_frame_head = fra.me.prev;
15749 return;
15750 }
15751 void parser___ReduceAction119___action(val_t p0, val_t p1){
15752 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
15753 val_t REGB0;
15754 val_t tmp;
15755 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15756 fra.me.file = LOCATE_parser;
15757 fra.me.line = 5155;
15758 fra.me.meth = LOCATE_parser___ReduceAction119___action;
15759 fra.me.has_broke = 0;
15760 fra.me.REG_size = 8;
15761 fra.me.nitni_local_ref_head = NULL;
15762 fra.me.REG[0] = NIT_NULL;
15763 fra.me.REG[1] = NIT_NULL;
15764 fra.me.REG[2] = NIT_NULL;
15765 fra.me.REG[3] = NIT_NULL;
15766 fra.me.REG[4] = NIT_NULL;
15767 fra.me.REG[5] = NIT_NULL;
15768 fra.me.REG[6] = NIT_NULL;
15769 fra.me.REG[7] = NIT_NULL;
15770 fra.me.REG[0] = p0;
15771 fra.me.REG[1] = p1;
15772 /* parser/parser.nit:5157 */
15773 fra.me.REG[2] = NIT_NULL;
15774 /* parser/parser.nit:5158 */
15775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15776 /* parser/parser.nit:5159 */
15777 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15778 /* parser/parser.nit:5160 */
15779 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15780 /* parser/parser.nit:5161 */
15781 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15782 /* parser/parser.nit:5162 */
15783 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15784 /* parser/parser.nit:5164 */
15785 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15786 if (UNTAG_Bool(REGB0)) {
15787 } else {
15788 nit_abort("Assert failed", NULL, LOCATE_parser, 5164);
15789 }
15790 /* parser/parser.nit:5166 */
15791 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
15792 if (UNTAG_Bool(REGB0)) {
15793 } else {
15794 nit_abort("Assert failed", NULL, LOCATE_parser, 5166);
15795 }
15796 /* parser/parser.nit:5168 */
15797 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15798 if (UNTAG_Bool(REGB0)) {
15799 } else {
15800 nit_abort("Assert failed", NULL, LOCATE_parser, 5168);
15801 }
15802 /* parser/parser.nit:5170 */
15803 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15804 if (UNTAG_Bool(REGB0)) {
15805 } else {
15806 nit_abort("Assert failed", NULL, LOCATE_parser, 5170);
15807 }
15808 /* parser/parser.nit:5172 */
15809 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
15810 if (UNTAG_Bool(REGB0)) {
15811 } else {
15812 nit_abort("Assert failed", NULL, LOCATE_parser, 5172);
15813 }
15814 /* parser/parser.nit:5173 */
15815 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL);
15816 /* parser/parser.nit:5185 */
15817 fra.me.REG[2] = fra.me.REG[3];
15818 /* parser/parser.nit:5186 */
15819 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15820 if (UNTAG_Bool(REGB0)) {
15821 } else {
15822 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5186);
15823 }
15824 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15825 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15826 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15827 stack_frame_head = fra.me.prev;
15828 return;
15829 }
15830 void parser___ReduceAction120___action(val_t p0, val_t p1){
15831 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
15832 val_t REGB0;
15833 val_t tmp;
15834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15835 fra.me.file = LOCATE_parser;
15836 fra.me.line = 5191;
15837 fra.me.meth = LOCATE_parser___ReduceAction120___action;
15838 fra.me.has_broke = 0;
15839 fra.me.REG_size = 8;
15840 fra.me.nitni_local_ref_head = NULL;
15841 fra.me.REG[0] = NIT_NULL;
15842 fra.me.REG[1] = NIT_NULL;
15843 fra.me.REG[2] = NIT_NULL;
15844 fra.me.REG[3] = NIT_NULL;
15845 fra.me.REG[4] = NIT_NULL;
15846 fra.me.REG[5] = NIT_NULL;
15847 fra.me.REG[6] = NIT_NULL;
15848 fra.me.REG[7] = NIT_NULL;
15849 fra.me.REG[0] = p0;
15850 fra.me.REG[1] = p1;
15851 /* parser/parser.nit:5193 */
15852 fra.me.REG[2] = NIT_NULL;
15853 /* parser/parser.nit:5194 */
15854 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15855 /* parser/parser.nit:5195 */
15856 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15857 /* parser/parser.nit:5196 */
15858 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15859 /* parser/parser.nit:5197 */
15860 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15861 /* parser/parser.nit:5198 */
15862 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15863 /* parser/parser.nit:5200 */
15864 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15865 if (UNTAG_Bool(REGB0)) {
15866 } else {
15867 nit_abort("Assert failed", NULL, LOCATE_parser, 5200);
15868 }
15869 /* parser/parser.nit:5202 */
15870 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15871 if (UNTAG_Bool(REGB0)) {
15872 } else {
15873 nit_abort("Assert failed", NULL, LOCATE_parser, 5202);
15874 }
15875 /* parser/parser.nit:5204 */
15876 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15877 if (UNTAG_Bool(REGB0)) {
15878 } else {
15879 nit_abort("Assert failed", NULL, LOCATE_parser, 5204);
15880 }
15881 /* parser/parser.nit:5206 */
15882 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
15883 if (UNTAG_Bool(REGB0)) {
15884 } else {
15885 nit_abort("Assert failed", NULL, LOCATE_parser, 5206);
15886 }
15887 /* parser/parser.nit:5208 */
15888 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15889 if (UNTAG_Bool(REGB0)) {
15890 } else {
15891 nit_abort("Assert failed", NULL, LOCATE_parser, 5208);
15892 }
15893 /* parser/parser.nit:5209 */
15894 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL);
15895 /* parser/parser.nit:5221 */
15896 fra.me.REG[2] = fra.me.REG[3];
15897 /* parser/parser.nit:5222 */
15898 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15899 if (UNTAG_Bool(REGB0)) {
15900 } else {
15901 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5222);
15902 }
15903 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15904 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15905 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15906 stack_frame_head = fra.me.prev;
15907 return;
15908 }
15909 void parser___ReduceAction121___action(val_t p0, val_t p1){
15910 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
15911 val_t REGB0;
15912 val_t tmp;
15913 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15914 fra.me.file = LOCATE_parser;
15915 fra.me.line = 5227;
15916 fra.me.meth = LOCATE_parser___ReduceAction121___action;
15917 fra.me.has_broke = 0;
15918 fra.me.REG_size = 9;
15919 fra.me.nitni_local_ref_head = NULL;
15920 fra.me.REG[0] = NIT_NULL;
15921 fra.me.REG[1] = NIT_NULL;
15922 fra.me.REG[2] = NIT_NULL;
15923 fra.me.REG[3] = NIT_NULL;
15924 fra.me.REG[4] = NIT_NULL;
15925 fra.me.REG[5] = NIT_NULL;
15926 fra.me.REG[6] = NIT_NULL;
15927 fra.me.REG[7] = NIT_NULL;
15928 fra.me.REG[8] = NIT_NULL;
15929 fra.me.REG[0] = p0;
15930 fra.me.REG[1] = p1;
15931 /* parser/parser.nit:5229 */
15932 fra.me.REG[2] = NIT_NULL;
15933 /* parser/parser.nit:5230 */
15934 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15935 /* parser/parser.nit:5231 */
15936 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15937 /* parser/parser.nit:5232 */
15938 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15939 /* parser/parser.nit:5233 */
15940 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15941 /* parser/parser.nit:5234 */
15942 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15943 /* parser/parser.nit:5235 */
15944 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15945 /* parser/parser.nit:5237 */
15946 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
15947 if (UNTAG_Bool(REGB0)) {
15948 } else {
15949 nit_abort("Assert failed", NULL, LOCATE_parser, 5237);
15950 }
15951 /* parser/parser.nit:5239 */
15952 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
15953 if (UNTAG_Bool(REGB0)) {
15954 } else {
15955 nit_abort("Assert failed", NULL, LOCATE_parser, 5239);
15956 }
15957 /* parser/parser.nit:5241 */
15958 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15959 if (UNTAG_Bool(REGB0)) {
15960 } else {
15961 nit_abort("Assert failed", NULL, LOCATE_parser, 5241);
15962 }
15963 /* parser/parser.nit:5243 */
15964 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
15965 if (UNTAG_Bool(REGB0)) {
15966 } else {
15967 nit_abort("Assert failed", NULL, LOCATE_parser, 5243);
15968 }
15969 /* parser/parser.nit:5245 */
15970 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
15971 if (UNTAG_Bool(REGB0)) {
15972 } else {
15973 nit_abort("Assert failed", NULL, LOCATE_parser, 5245);
15974 }
15975 /* parser/parser.nit:5247 */
15976 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
15977 if (UNTAG_Bool(REGB0)) {
15978 } else {
15979 nit_abort("Assert failed", NULL, LOCATE_parser, 5247);
15980 }
15981 /* parser/parser.nit:5248 */
15982 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL);
15983 /* parser/parser.nit:5260 */
15984 fra.me.REG[2] = fra.me.REG[3];
15985 /* parser/parser.nit:5261 */
15986 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15987 if (UNTAG_Bool(REGB0)) {
15988 } else {
15989 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5261);
15990 }
15991 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15992 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15993 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15994 stack_frame_head = fra.me.prev;
15995 return;
15996 }
15997 void parser___ReduceAction122___action(val_t p0, val_t p1){
15998 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
15999 val_t REGB0;
16000 val_t tmp;
16001 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16002 fra.me.file = LOCATE_parser;
16003 fra.me.line = 5266;
16004 fra.me.meth = LOCATE_parser___ReduceAction122___action;
16005 fra.me.has_broke = 0;
16006 fra.me.REG_size = 8;
16007 fra.me.nitni_local_ref_head = NULL;
16008 fra.me.REG[0] = NIT_NULL;
16009 fra.me.REG[1] = NIT_NULL;
16010 fra.me.REG[2] = NIT_NULL;
16011 fra.me.REG[3] = NIT_NULL;
16012 fra.me.REG[4] = NIT_NULL;
16013 fra.me.REG[5] = NIT_NULL;
16014 fra.me.REG[6] = NIT_NULL;
16015 fra.me.REG[7] = NIT_NULL;
16016 fra.me.REG[0] = p0;
16017 fra.me.REG[1] = p1;
16018 /* parser/parser.nit:5268 */
16019 fra.me.REG[2] = NIT_NULL;
16020 /* parser/parser.nit:5269 */
16021 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16022 /* parser/parser.nit:5270 */
16023 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16024 /* parser/parser.nit:5271 */
16025 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16026 /* parser/parser.nit:5272 */
16027 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16028 /* parser/parser.nit:5273 */
16029 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16030 /* parser/parser.nit:5275 */
16031 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16032 if (UNTAG_Bool(REGB0)) {
16033 } else {
16034 nit_abort("Assert failed", NULL, LOCATE_parser, 5275);
16035 }
16036 /* parser/parser.nit:5277 */
16037 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
16038 if (UNTAG_Bool(REGB0)) {
16039 } else {
16040 nit_abort("Assert failed", NULL, LOCATE_parser, 5277);
16041 }
16042 /* parser/parser.nit:5279 */
16043 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16044 if (UNTAG_Bool(REGB0)) {
16045 } else {
16046 nit_abort("Assert failed", NULL, LOCATE_parser, 5279);
16047 }
16048 /* parser/parser.nit:5281 */
16049 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16050 if (UNTAG_Bool(REGB0)) {
16051 } else {
16052 nit_abort("Assert failed", NULL, LOCATE_parser, 5281);
16053 }
16054 /* parser/parser.nit:5283 */
16055 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16056 if (UNTAG_Bool(REGB0)) {
16057 } else {
16058 nit_abort("Assert failed", NULL, LOCATE_parser, 5283);
16059 }
16060 /* parser/parser.nit:5284 */
16061 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[3], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL);
16062 /* parser/parser.nit:5296 */
16063 fra.me.REG[2] = fra.me.REG[4];
16064 /* parser/parser.nit:5297 */
16065 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16066 if (UNTAG_Bool(REGB0)) {
16067 } else {
16068 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5297);
16069 }
16070 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16071 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16072 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16073 stack_frame_head = fra.me.prev;
16074 return;
16075 }
16076 void parser___ReduceAction123___action(val_t p0, val_t p1){
16077 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16078 val_t REGB0;
16079 val_t tmp;
16080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16081 fra.me.file = LOCATE_parser;
16082 fra.me.line = 5302;
16083 fra.me.meth = LOCATE_parser___ReduceAction123___action;
16084 fra.me.has_broke = 0;
16085 fra.me.REG_size = 9;
16086 fra.me.nitni_local_ref_head = NULL;
16087 fra.me.REG[0] = NIT_NULL;
16088 fra.me.REG[1] = NIT_NULL;
16089 fra.me.REG[2] = NIT_NULL;
16090 fra.me.REG[3] = NIT_NULL;
16091 fra.me.REG[4] = NIT_NULL;
16092 fra.me.REG[5] = NIT_NULL;
16093 fra.me.REG[6] = NIT_NULL;
16094 fra.me.REG[7] = NIT_NULL;
16095 fra.me.REG[8] = NIT_NULL;
16096 fra.me.REG[0] = p0;
16097 fra.me.REG[1] = p1;
16098 /* parser/parser.nit:5304 */
16099 fra.me.REG[2] = NIT_NULL;
16100 /* parser/parser.nit:5305 */
16101 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16102 /* parser/parser.nit:5306 */
16103 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16104 /* parser/parser.nit:5307 */
16105 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16106 /* parser/parser.nit:5308 */
16107 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16108 /* parser/parser.nit:5309 */
16109 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16110 /* parser/parser.nit:5310 */
16111 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16112 /* parser/parser.nit:5312 */
16113 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16114 if (UNTAG_Bool(REGB0)) {
16115 } else {
16116 nit_abort("Assert failed", NULL, LOCATE_parser, 5312);
16117 }
16118 /* parser/parser.nit:5314 */
16119 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
16120 if (UNTAG_Bool(REGB0)) {
16121 } else {
16122 nit_abort("Assert failed", NULL, LOCATE_parser, 5314);
16123 }
16124 /* parser/parser.nit:5316 */
16125 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
16126 if (UNTAG_Bool(REGB0)) {
16127 } else {
16128 nit_abort("Assert failed", NULL, LOCATE_parser, 5316);
16129 }
16130 /* parser/parser.nit:5318 */
16131 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16132 if (UNTAG_Bool(REGB0)) {
16133 } else {
16134 nit_abort("Assert failed", NULL, LOCATE_parser, 5318);
16135 }
16136 /* parser/parser.nit:5320 */
16137 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16138 if (UNTAG_Bool(REGB0)) {
16139 } else {
16140 nit_abort("Assert failed", NULL, LOCATE_parser, 5320);
16141 }
16142 /* parser/parser.nit:5322 */
16143 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16144 if (UNTAG_Bool(REGB0)) {
16145 } else {
16146 nit_abort("Assert failed", NULL, LOCATE_parser, 5322);
16147 }
16148 /* parser/parser.nit:5323 */
16149 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[3], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL);
16150 /* parser/parser.nit:5335 */
16151 fra.me.REG[2] = fra.me.REG[4];
16152 /* parser/parser.nit:5336 */
16153 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16154 if (UNTAG_Bool(REGB0)) {
16155 } else {
16156 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5336);
16157 }
16158 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16159 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16160 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16161 stack_frame_head = fra.me.prev;
16162 return;
16163 }
16164 void parser___ReduceAction124___action(val_t p0, val_t p1){
16165 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16166 val_t REGB0;
16167 val_t tmp;
16168 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16169 fra.me.file = LOCATE_parser;
16170 fra.me.line = 5341;
16171 fra.me.meth = LOCATE_parser___ReduceAction124___action;
16172 fra.me.has_broke = 0;
16173 fra.me.REG_size = 9;
16174 fra.me.nitni_local_ref_head = NULL;
16175 fra.me.REG[0] = NIT_NULL;
16176 fra.me.REG[1] = NIT_NULL;
16177 fra.me.REG[2] = NIT_NULL;
16178 fra.me.REG[3] = NIT_NULL;
16179 fra.me.REG[4] = NIT_NULL;
16180 fra.me.REG[5] = NIT_NULL;
16181 fra.me.REG[6] = NIT_NULL;
16182 fra.me.REG[7] = NIT_NULL;
16183 fra.me.REG[8] = NIT_NULL;
16184 fra.me.REG[0] = p0;
16185 fra.me.REG[1] = p1;
16186 /* parser/parser.nit:5343 */
16187 fra.me.REG[2] = NIT_NULL;
16188 /* parser/parser.nit:5344 */
16189 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16190 /* parser/parser.nit:5345 */
16191 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16192 /* parser/parser.nit:5346 */
16193 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16194 /* parser/parser.nit:5347 */
16195 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16196 /* parser/parser.nit:5348 */
16197 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16198 /* parser/parser.nit:5349 */
16199 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16200 /* parser/parser.nit:5351 */
16201 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16202 if (UNTAG_Bool(REGB0)) {
16203 } else {
16204 nit_abort("Assert failed", NULL, LOCATE_parser, 5351);
16205 }
16206 /* parser/parser.nit:5353 */
16207 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
16208 if (UNTAG_Bool(REGB0)) {
16209 } else {
16210 nit_abort("Assert failed", NULL, LOCATE_parser, 5353);
16211 }
16212 /* parser/parser.nit:5355 */
16213 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16214 if (UNTAG_Bool(REGB0)) {
16215 } else {
16216 nit_abort("Assert failed", NULL, LOCATE_parser, 5355);
16217 }
16218 /* parser/parser.nit:5357 */
16219 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16220 if (UNTAG_Bool(REGB0)) {
16221 } else {
16222 nit_abort("Assert failed", NULL, LOCATE_parser, 5357);
16223 }
16224 /* parser/parser.nit:5359 */
16225 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16226 if (UNTAG_Bool(REGB0)) {
16227 } else {
16228 nit_abort("Assert failed", NULL, LOCATE_parser, 5359);
16229 }
16230 /* parser/parser.nit:5361 */
16231 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
16232 if (UNTAG_Bool(REGB0)) {
16233 } else {
16234 nit_abort("Assert failed", NULL, LOCATE_parser, 5361);
16235 }
16236 /* parser/parser.nit:5362 */
16237 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[3], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL);
16238 /* parser/parser.nit:5374 */
16239 fra.me.REG[2] = fra.me.REG[4];
16240 /* parser/parser.nit:5375 */
16241 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16242 if (UNTAG_Bool(REGB0)) {
16243 } else {
16244 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5375);
16245 }
16246 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16247 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16248 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16249 stack_frame_head = fra.me.prev;
16250 return;
16251 }
16252 void parser___ReduceAction125___action(val_t p0, val_t p1){
16253 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
16254 val_t REGB0;
16255 val_t tmp;
16256 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16257 fra.me.file = LOCATE_parser;
16258 fra.me.line = 5380;
16259 fra.me.meth = LOCATE_parser___ReduceAction125___action;
16260 fra.me.has_broke = 0;
16261 fra.me.REG_size = 10;
16262 fra.me.nitni_local_ref_head = NULL;
16263 fra.me.REG[0] = NIT_NULL;
16264 fra.me.REG[1] = NIT_NULL;
16265 fra.me.REG[2] = NIT_NULL;
16266 fra.me.REG[3] = NIT_NULL;
16267 fra.me.REG[4] = NIT_NULL;
16268 fra.me.REG[5] = NIT_NULL;
16269 fra.me.REG[6] = NIT_NULL;
16270 fra.me.REG[7] = NIT_NULL;
16271 fra.me.REG[8] = NIT_NULL;
16272 fra.me.REG[9] = NIT_NULL;
16273 fra.me.REG[0] = p0;
16274 fra.me.REG[1] = p1;
16275 /* parser/parser.nit:5382 */
16276 fra.me.REG[2] = NIT_NULL;
16277 /* parser/parser.nit:5383 */
16278 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16279 /* parser/parser.nit:5384 */
16280 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16281 /* parser/parser.nit:5385 */
16282 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16283 /* parser/parser.nit:5386 */
16284 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16285 /* parser/parser.nit:5387 */
16286 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16287 /* parser/parser.nit:5388 */
16288 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16289 /* parser/parser.nit:5389 */
16290 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16291 /* parser/parser.nit:5391 */
16292 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16293 if (UNTAG_Bool(REGB0)) {
16294 } else {
16295 nit_abort("Assert failed", NULL, LOCATE_parser, 5391);
16296 }
16297 /* parser/parser.nit:5393 */
16298 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
16299 if (UNTAG_Bool(REGB0)) {
16300 } else {
16301 nit_abort("Assert failed", NULL, LOCATE_parser, 5393);
16302 }
16303 /* parser/parser.nit:5395 */
16304 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
16305 if (UNTAG_Bool(REGB0)) {
16306 } else {
16307 nit_abort("Assert failed", NULL, LOCATE_parser, 5395);
16308 }
16309 /* parser/parser.nit:5397 */
16310 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16311 if (UNTAG_Bool(REGB0)) {
16312 } else {
16313 nit_abort("Assert failed", NULL, LOCATE_parser, 5397);
16314 }
16315 /* parser/parser.nit:5399 */
16316 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16317 if (UNTAG_Bool(REGB0)) {
16318 } else {
16319 nit_abort("Assert failed", NULL, LOCATE_parser, 5399);
16320 }
16321 /* parser/parser.nit:5401 */
16322 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16323 if (UNTAG_Bool(REGB0)) {
16324 } else {
16325 nit_abort("Assert failed", NULL, LOCATE_parser, 5401);
16326 }
16327 /* parser/parser.nit:5403 */
16328 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
16329 if (UNTAG_Bool(REGB0)) {
16330 } else {
16331 nit_abort("Assert failed", NULL, LOCATE_parser, 5403);
16332 }
16333 /* parser/parser.nit:5404 */
16334 fra.me.REG[4] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[3], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL);
16335 /* parser/parser.nit:5416 */
16336 fra.me.REG[2] = fra.me.REG[4];
16337 /* parser/parser.nit:5417 */
16338 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16339 if (UNTAG_Bool(REGB0)) {
16340 } else {
16341 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5417);
16342 }
16343 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16344 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16345 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16346 stack_frame_head = fra.me.prev;
16347 return;
16348 }
16349 void parser___ReduceAction126___action(val_t p0, val_t p1){
16350 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16351 val_t REGB0;
16352 val_t tmp;
16353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16354 fra.me.file = LOCATE_parser;
16355 fra.me.line = 5422;
16356 fra.me.meth = LOCATE_parser___ReduceAction126___action;
16357 fra.me.has_broke = 0;
16358 fra.me.REG_size = 8;
16359 fra.me.nitni_local_ref_head = NULL;
16360 fra.me.REG[0] = NIT_NULL;
16361 fra.me.REG[1] = NIT_NULL;
16362 fra.me.REG[2] = NIT_NULL;
16363 fra.me.REG[3] = NIT_NULL;
16364 fra.me.REG[4] = NIT_NULL;
16365 fra.me.REG[5] = NIT_NULL;
16366 fra.me.REG[6] = NIT_NULL;
16367 fra.me.REG[7] = NIT_NULL;
16368 fra.me.REG[0] = p0;
16369 fra.me.REG[1] = p1;
16370 /* parser/parser.nit:5424 */
16371 fra.me.REG[2] = NIT_NULL;
16372 /* parser/parser.nit:5425 */
16373 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16374 /* parser/parser.nit:5426 */
16375 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16376 /* parser/parser.nit:5427 */
16377 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16378 /* parser/parser.nit:5428 */
16379 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16380 /* parser/parser.nit:5429 */
16381 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16382 /* parser/parser.nit:5430 */
16383 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16384 /* parser/parser.nit:5431 */
16385 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16386 /* parser/parser.nit:5433 */
16387 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16388 if (UNTAG_Bool(REGB0)) {
16389 } else {
16390 nit_abort("Assert failed", NULL, LOCATE_parser, 5433);
16391 }
16392 /* parser/parser.nit:5435 */
16393 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16394 if (UNTAG_Bool(REGB0)) {
16395 } else {
16396 nit_abort("Assert failed", NULL, LOCATE_parser, 5435);
16397 }
16398 /* parser/parser.nit:5437 */
16399 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16400 if (UNTAG_Bool(REGB0)) {
16401 } else {
16402 nit_abort("Assert failed", NULL, LOCATE_parser, 5437);
16403 }
16404 /* parser/parser.nit:5439 */
16405 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16406 if (UNTAG_Bool(REGB0)) {
16407 } else {
16408 nit_abort("Assert failed", NULL, LOCATE_parser, 5439);
16409 }
16410 /* parser/parser.nit:5441 */
16411 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
16412 if (UNTAG_Bool(REGB0)) {
16413 } else {
16414 nit_abort("Assert failed", NULL, LOCATE_parser, 5441);
16415 }
16416 /* parser/parser.nit:5442 */
16417 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[7], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
16418 /* parser/parser.nit:5454 */
16419 fra.me.REG[2] = fra.me.REG[3];
16420 /* parser/parser.nit:5455 */
16421 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16422 if (UNTAG_Bool(REGB0)) {
16423 } else {
16424 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5455);
16425 }
16426 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16427 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16428 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16429 stack_frame_head = fra.me.prev;
16430 return;
16431 }
16432 void parser___ReduceAction127___action(val_t p0, val_t p1){
16433 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16434 val_t REGB0;
16435 val_t tmp;
16436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16437 fra.me.file = LOCATE_parser;
16438 fra.me.line = 5460;
16439 fra.me.meth = LOCATE_parser___ReduceAction127___action;
16440 fra.me.has_broke = 0;
16441 fra.me.REG_size = 9;
16442 fra.me.nitni_local_ref_head = NULL;
16443 fra.me.REG[0] = NIT_NULL;
16444 fra.me.REG[1] = NIT_NULL;
16445 fra.me.REG[2] = NIT_NULL;
16446 fra.me.REG[3] = NIT_NULL;
16447 fra.me.REG[4] = NIT_NULL;
16448 fra.me.REG[5] = NIT_NULL;
16449 fra.me.REG[6] = NIT_NULL;
16450 fra.me.REG[7] = NIT_NULL;
16451 fra.me.REG[8] = NIT_NULL;
16452 fra.me.REG[0] = p0;
16453 fra.me.REG[1] = p1;
16454 /* parser/parser.nit:5462 */
16455 fra.me.REG[2] = NIT_NULL;
16456 /* parser/parser.nit:5463 */
16457 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16458 /* parser/parser.nit:5464 */
16459 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16460 /* parser/parser.nit:5465 */
16461 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16462 /* parser/parser.nit:5466 */
16463 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16464 /* parser/parser.nit:5467 */
16465 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16466 /* parser/parser.nit:5468 */
16467 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16468 /* parser/parser.nit:5469 */
16469 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16470 /* parser/parser.nit:5470 */
16471 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16472 /* parser/parser.nit:5472 */
16473 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16474 if (UNTAG_Bool(REGB0)) {
16475 } else {
16476 nit_abort("Assert failed", NULL, LOCATE_parser, 5472);
16477 }
16478 /* parser/parser.nit:5474 */
16479 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
16480 if (UNTAG_Bool(REGB0)) {
16481 } else {
16482 nit_abort("Assert failed", NULL, LOCATE_parser, 5474);
16483 }
16484 /* parser/parser.nit:5476 */
16485 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16486 if (UNTAG_Bool(REGB0)) {
16487 } else {
16488 nit_abort("Assert failed", NULL, LOCATE_parser, 5476);
16489 }
16490 /* parser/parser.nit:5478 */
16491 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16492 if (UNTAG_Bool(REGB0)) {
16493 } else {
16494 nit_abort("Assert failed", NULL, LOCATE_parser, 5478);
16495 }
16496 /* parser/parser.nit:5480 */
16497 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16498 if (UNTAG_Bool(REGB0)) {
16499 } else {
16500 nit_abort("Assert failed", NULL, LOCATE_parser, 5480);
16501 }
16502 /* parser/parser.nit:5482 */
16503 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
16504 if (UNTAG_Bool(REGB0)) {
16505 } else {
16506 nit_abort("Assert failed", NULL, LOCATE_parser, 5482);
16507 }
16508 /* parser/parser.nit:5483 */
16509 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
16510 /* parser/parser.nit:5495 */
16511 fra.me.REG[2] = fra.me.REG[3];
16512 /* parser/parser.nit:5496 */
16513 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16514 if (UNTAG_Bool(REGB0)) {
16515 } else {
16516 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5496);
16517 }
16518 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16519 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16520 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16521 stack_frame_head = fra.me.prev;
16522 return;
16523 }
16524 void parser___ReduceAction128___action(val_t p0, val_t p1){
16525 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16526 val_t REGB0;
16527 val_t tmp;
16528 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16529 fra.me.file = LOCATE_parser;
16530 fra.me.line = 5501;
16531 fra.me.meth = LOCATE_parser___ReduceAction128___action;
16532 fra.me.has_broke = 0;
16533 fra.me.REG_size = 9;
16534 fra.me.nitni_local_ref_head = NULL;
16535 fra.me.REG[0] = NIT_NULL;
16536 fra.me.REG[1] = NIT_NULL;
16537 fra.me.REG[2] = NIT_NULL;
16538 fra.me.REG[3] = NIT_NULL;
16539 fra.me.REG[4] = NIT_NULL;
16540 fra.me.REG[5] = NIT_NULL;
16541 fra.me.REG[6] = NIT_NULL;
16542 fra.me.REG[7] = NIT_NULL;
16543 fra.me.REG[8] = NIT_NULL;
16544 fra.me.REG[0] = p0;
16545 fra.me.REG[1] = p1;
16546 /* parser/parser.nit:5503 */
16547 fra.me.REG[2] = NIT_NULL;
16548 /* parser/parser.nit:5504 */
16549 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16550 /* parser/parser.nit:5505 */
16551 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16552 /* parser/parser.nit:5506 */
16553 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16554 /* parser/parser.nit:5507 */
16555 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16556 /* parser/parser.nit:5508 */
16557 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16558 /* parser/parser.nit:5509 */
16559 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16560 /* parser/parser.nit:5510 */
16561 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16562 /* parser/parser.nit:5511 */
16563 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16564 /* parser/parser.nit:5513 */
16565 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16566 if (UNTAG_Bool(REGB0)) {
16567 } else {
16568 nit_abort("Assert failed", NULL, LOCATE_parser, 5513);
16569 }
16570 /* parser/parser.nit:5515 */
16571 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16572 if (UNTAG_Bool(REGB0)) {
16573 } else {
16574 nit_abort("Assert failed", NULL, LOCATE_parser, 5515);
16575 }
16576 /* parser/parser.nit:5517 */
16577 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16578 if (UNTAG_Bool(REGB0)) {
16579 } else {
16580 nit_abort("Assert failed", NULL, LOCATE_parser, 5517);
16581 }
16582 /* parser/parser.nit:5519 */
16583 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16584 if (UNTAG_Bool(REGB0)) {
16585 } else {
16586 nit_abort("Assert failed", NULL, LOCATE_parser, 5519);
16587 }
16588 /* parser/parser.nit:5521 */
16589 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
16590 if (UNTAG_Bool(REGB0)) {
16591 } else {
16592 nit_abort("Assert failed", NULL, LOCATE_parser, 5521);
16593 }
16594 /* parser/parser.nit:5523 */
16595 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
16596 if (UNTAG_Bool(REGB0)) {
16597 } else {
16598 nit_abort("Assert failed", NULL, LOCATE_parser, 5523);
16599 }
16600 /* parser/parser.nit:5524 */
16601 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, NIT_NULL, NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
16602 /* parser/parser.nit:5536 */
16603 fra.me.REG[2] = fra.me.REG[3];
16604 /* parser/parser.nit:5537 */
16605 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16606 if (UNTAG_Bool(REGB0)) {
16607 } else {
16608 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5537);
16609 }
16610 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16611 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16612 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16613 stack_frame_head = fra.me.prev;
16614 return;
16615 }
16616 void parser___ReduceAction129___action(val_t p0, val_t p1){
16617 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
16618 val_t REGB0;
16619 val_t tmp;
16620 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16621 fra.me.file = LOCATE_parser;
16622 fra.me.line = 5542;
16623 fra.me.meth = LOCATE_parser___ReduceAction129___action;
16624 fra.me.has_broke = 0;
16625 fra.me.REG_size = 10;
16626 fra.me.nitni_local_ref_head = NULL;
16627 fra.me.REG[0] = NIT_NULL;
16628 fra.me.REG[1] = NIT_NULL;
16629 fra.me.REG[2] = NIT_NULL;
16630 fra.me.REG[3] = NIT_NULL;
16631 fra.me.REG[4] = NIT_NULL;
16632 fra.me.REG[5] = NIT_NULL;
16633 fra.me.REG[6] = NIT_NULL;
16634 fra.me.REG[7] = NIT_NULL;
16635 fra.me.REG[8] = NIT_NULL;
16636 fra.me.REG[9] = NIT_NULL;
16637 fra.me.REG[0] = p0;
16638 fra.me.REG[1] = p1;
16639 /* parser/parser.nit:5544 */
16640 fra.me.REG[2] = NIT_NULL;
16641 /* parser/parser.nit:5545 */
16642 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16643 /* parser/parser.nit:5546 */
16644 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16645 /* parser/parser.nit:5547 */
16646 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16647 /* parser/parser.nit:5548 */
16648 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16649 /* parser/parser.nit:5549 */
16650 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16651 /* parser/parser.nit:5550 */
16652 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16653 /* parser/parser.nit:5551 */
16654 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16655 /* parser/parser.nit:5552 */
16656 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16657 /* parser/parser.nit:5553 */
16658 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16659 /* parser/parser.nit:5555 */
16660 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16661 if (UNTAG_Bool(REGB0)) {
16662 } else {
16663 nit_abort("Assert failed", NULL, LOCATE_parser, 5555);
16664 }
16665 /* parser/parser.nit:5557 */
16666 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
16667 if (UNTAG_Bool(REGB0)) {
16668 } else {
16669 nit_abort("Assert failed", NULL, LOCATE_parser, 5557);
16670 }
16671 /* parser/parser.nit:5559 */
16672 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16673 if (UNTAG_Bool(REGB0)) {
16674 } else {
16675 nit_abort("Assert failed", NULL, LOCATE_parser, 5559);
16676 }
16677 /* parser/parser.nit:5561 */
16678 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16679 if (UNTAG_Bool(REGB0)) {
16680 } else {
16681 nit_abort("Assert failed", NULL, LOCATE_parser, 5561);
16682 }
16683 /* parser/parser.nit:5563 */
16684 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16685 if (UNTAG_Bool(REGB0)) {
16686 } else {
16687 nit_abort("Assert failed", NULL, LOCATE_parser, 5563);
16688 }
16689 /* parser/parser.nit:5565 */
16690 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
16691 if (UNTAG_Bool(REGB0)) {
16692 } else {
16693 nit_abort("Assert failed", NULL, LOCATE_parser, 5565);
16694 }
16695 /* parser/parser.nit:5567 */
16696 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
16697 if (UNTAG_Bool(REGB0)) {
16698 } else {
16699 nit_abort("Assert failed", NULL, LOCATE_parser, 5567);
16700 }
16701 /* parser/parser.nit:5568 */
16702 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
16703 /* parser/parser.nit:5580 */
16704 fra.me.REG[2] = fra.me.REG[3];
16705 /* parser/parser.nit:5581 */
16706 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16707 if (UNTAG_Bool(REGB0)) {
16708 } else {
16709 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5581);
16710 }
16711 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16712 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16713 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16714 stack_frame_head = fra.me.prev;
16715 return;
16716 }
16717 void parser___ReduceAction130___action(val_t p0, val_t p1){
16718 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16719 val_t REGB0;
16720 val_t tmp;
16721 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16722 fra.me.file = LOCATE_parser;
16723 fra.me.line = 5586;
16724 fra.me.meth = LOCATE_parser___ReduceAction130___action;
16725 fra.me.has_broke = 0;
16726 fra.me.REG_size = 9;
16727 fra.me.nitni_local_ref_head = NULL;
16728 fra.me.REG[0] = NIT_NULL;
16729 fra.me.REG[1] = NIT_NULL;
16730 fra.me.REG[2] = NIT_NULL;
16731 fra.me.REG[3] = NIT_NULL;
16732 fra.me.REG[4] = NIT_NULL;
16733 fra.me.REG[5] = NIT_NULL;
16734 fra.me.REG[6] = NIT_NULL;
16735 fra.me.REG[7] = NIT_NULL;
16736 fra.me.REG[8] = NIT_NULL;
16737 fra.me.REG[0] = p0;
16738 fra.me.REG[1] = p1;
16739 /* parser/parser.nit:5588 */
16740 fra.me.REG[2] = NIT_NULL;
16741 /* parser/parser.nit:5589 */
16742 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16743 /* parser/parser.nit:5590 */
16744 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16745 /* parser/parser.nit:5591 */
16746 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16747 /* parser/parser.nit:5592 */
16748 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16749 /* parser/parser.nit:5593 */
16750 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16751 /* parser/parser.nit:5594 */
16752 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16753 /* parser/parser.nit:5595 */
16754 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16755 /* parser/parser.nit:5596 */
16756 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16757 /* parser/parser.nit:5598 */
16758 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16759 if (UNTAG_Bool(REGB0)) {
16760 } else {
16761 nit_abort("Assert failed", NULL, LOCATE_parser, 5598);
16762 }
16763 /* parser/parser.nit:5600 */
16764 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
16765 if (UNTAG_Bool(REGB0)) {
16766 } else {
16767 nit_abort("Assert failed", NULL, LOCATE_parser, 5600);
16768 }
16769 /* parser/parser.nit:5602 */
16770 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16771 if (UNTAG_Bool(REGB0)) {
16772 } else {
16773 nit_abort("Assert failed", NULL, LOCATE_parser, 5602);
16774 }
16775 /* parser/parser.nit:5604 */
16776 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16777 if (UNTAG_Bool(REGB0)) {
16778 } else {
16779 nit_abort("Assert failed", NULL, LOCATE_parser, 5604);
16780 }
16781 /* parser/parser.nit:5606 */
16782 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16783 if (UNTAG_Bool(REGB0)) {
16784 } else {
16785 nit_abort("Assert failed", NULL, LOCATE_parser, 5606);
16786 }
16787 /* parser/parser.nit:5608 */
16788 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
16789 if (UNTAG_Bool(REGB0)) {
16790 } else {
16791 nit_abort("Assert failed", NULL, LOCATE_parser, 5608);
16792 }
16793 /* parser/parser.nit:5609 */
16794 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[3]);
16795 /* parser/parser.nit:5621 */
16796 fra.me.REG[2] = fra.me.REG[3];
16797 /* parser/parser.nit:5622 */
16798 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16799 if (UNTAG_Bool(REGB0)) {
16800 } else {
16801 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5622);
16802 }
16803 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16804 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16805 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16806 stack_frame_head = fra.me.prev;
16807 return;
16808 }
16809 void parser___ReduceAction131___action(val_t p0, val_t p1){
16810 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
16811 val_t REGB0;
16812 val_t tmp;
16813 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16814 fra.me.file = LOCATE_parser;
16815 fra.me.line = 5627;
16816 fra.me.meth = LOCATE_parser___ReduceAction131___action;
16817 fra.me.has_broke = 0;
16818 fra.me.REG_size = 10;
16819 fra.me.nitni_local_ref_head = NULL;
16820 fra.me.REG[0] = NIT_NULL;
16821 fra.me.REG[1] = NIT_NULL;
16822 fra.me.REG[2] = NIT_NULL;
16823 fra.me.REG[3] = NIT_NULL;
16824 fra.me.REG[4] = NIT_NULL;
16825 fra.me.REG[5] = NIT_NULL;
16826 fra.me.REG[6] = NIT_NULL;
16827 fra.me.REG[7] = NIT_NULL;
16828 fra.me.REG[8] = NIT_NULL;
16829 fra.me.REG[9] = NIT_NULL;
16830 fra.me.REG[0] = p0;
16831 fra.me.REG[1] = p1;
16832 /* parser/parser.nit:5629 */
16833 fra.me.REG[2] = NIT_NULL;
16834 /* parser/parser.nit:5630 */
16835 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16836 /* parser/parser.nit:5631 */
16837 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16838 /* parser/parser.nit:5632 */
16839 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16840 /* parser/parser.nit:5633 */
16841 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16842 /* parser/parser.nit:5634 */
16843 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16844 /* parser/parser.nit:5635 */
16845 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16846 /* parser/parser.nit:5636 */
16847 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16848 /* parser/parser.nit:5637 */
16849 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16850 /* parser/parser.nit:5638 */
16851 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16852 /* parser/parser.nit:5640 */
16853 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16854 if (UNTAG_Bool(REGB0)) {
16855 } else {
16856 nit_abort("Assert failed", NULL, LOCATE_parser, 5640);
16857 }
16858 /* parser/parser.nit:5642 */
16859 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
16860 if (UNTAG_Bool(REGB0)) {
16861 } else {
16862 nit_abort("Assert failed", NULL, LOCATE_parser, 5642);
16863 }
16864 /* parser/parser.nit:5644 */
16865 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
16866 if (UNTAG_Bool(REGB0)) {
16867 } else {
16868 nit_abort("Assert failed", NULL, LOCATE_parser, 5644);
16869 }
16870 /* parser/parser.nit:5646 */
16871 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16872 if (UNTAG_Bool(REGB0)) {
16873 } else {
16874 nit_abort("Assert failed", NULL, LOCATE_parser, 5646);
16875 }
16876 /* parser/parser.nit:5648 */
16877 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16878 if (UNTAG_Bool(REGB0)) {
16879 } else {
16880 nit_abort("Assert failed", NULL, LOCATE_parser, 5648);
16881 }
16882 /* parser/parser.nit:5650 */
16883 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16884 if (UNTAG_Bool(REGB0)) {
16885 } else {
16886 nit_abort("Assert failed", NULL, LOCATE_parser, 5650);
16887 }
16888 /* parser/parser.nit:5652 */
16889 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
16890 if (UNTAG_Bool(REGB0)) {
16891 } else {
16892 nit_abort("Assert failed", NULL, LOCATE_parser, 5652);
16893 }
16894 /* parser/parser.nit:5653 */
16895 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[4], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[3]);
16896 /* parser/parser.nit:5665 */
16897 fra.me.REG[2] = fra.me.REG[3];
16898 /* parser/parser.nit:5666 */
16899 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16900 if (UNTAG_Bool(REGB0)) {
16901 } else {
16902 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5666);
16903 }
16904 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16905 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16906 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16907 stack_frame_head = fra.me.prev;
16908 return;
16909 }
16910 void parser___ReduceAction132___action(val_t p0, val_t p1){
16911 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
16912 val_t REGB0;
16913 val_t tmp;
16914 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16915 fra.me.file = LOCATE_parser;
16916 fra.me.line = 5671;
16917 fra.me.meth = LOCATE_parser___ReduceAction132___action;
16918 fra.me.has_broke = 0;
16919 fra.me.REG_size = 10;
16920 fra.me.nitni_local_ref_head = NULL;
16921 fra.me.REG[0] = NIT_NULL;
16922 fra.me.REG[1] = NIT_NULL;
16923 fra.me.REG[2] = NIT_NULL;
16924 fra.me.REG[3] = NIT_NULL;
16925 fra.me.REG[4] = NIT_NULL;
16926 fra.me.REG[5] = NIT_NULL;
16927 fra.me.REG[6] = NIT_NULL;
16928 fra.me.REG[7] = NIT_NULL;
16929 fra.me.REG[8] = NIT_NULL;
16930 fra.me.REG[9] = NIT_NULL;
16931 fra.me.REG[0] = p0;
16932 fra.me.REG[1] = p1;
16933 /* parser/parser.nit:5673 */
16934 fra.me.REG[2] = NIT_NULL;
16935 /* parser/parser.nit:5674 */
16936 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16937 /* parser/parser.nit:5675 */
16938 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16939 /* parser/parser.nit:5676 */
16940 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16941 /* parser/parser.nit:5677 */
16942 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16943 /* parser/parser.nit:5678 */
16944 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16945 /* parser/parser.nit:5679 */
16946 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16947 /* parser/parser.nit:5680 */
16948 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16949 /* parser/parser.nit:5681 */
16950 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16951 /* parser/parser.nit:5682 */
16952 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16953 /* parser/parser.nit:5684 */
16954 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16955 if (UNTAG_Bool(REGB0)) {
16956 } else {
16957 nit_abort("Assert failed", NULL, LOCATE_parser, 5684);
16958 }
16959 /* parser/parser.nit:5686 */
16960 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
16961 if (UNTAG_Bool(REGB0)) {
16962 } else {
16963 nit_abort("Assert failed", NULL, LOCATE_parser, 5686);
16964 }
16965 /* parser/parser.nit:5688 */
16966 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16967 if (UNTAG_Bool(REGB0)) {
16968 } else {
16969 nit_abort("Assert failed", NULL, LOCATE_parser, 5688);
16970 }
16971 /* parser/parser.nit:5690 */
16972 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
16973 if (UNTAG_Bool(REGB0)) {
16974 } else {
16975 nit_abort("Assert failed", NULL, LOCATE_parser, 5690);
16976 }
16977 /* parser/parser.nit:5692 */
16978 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
16979 if (UNTAG_Bool(REGB0)) {
16980 } else {
16981 nit_abort("Assert failed", NULL, LOCATE_parser, 5692);
16982 }
16983 /* parser/parser.nit:5694 */
16984 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
16985 if (UNTAG_Bool(REGB0)) {
16986 } else {
16987 nit_abort("Assert failed", NULL, LOCATE_parser, 5694);
16988 }
16989 /* parser/parser.nit:5696 */
16990 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
16991 if (UNTAG_Bool(REGB0)) {
16992 } else {
16993 nit_abort("Assert failed", NULL, LOCATE_parser, 5696);
16994 }
16995 /* parser/parser.nit:5697 */
16996 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3]);
16997 /* parser/parser.nit:5709 */
16998 fra.me.REG[2] = fra.me.REG[3];
16999 /* parser/parser.nit:5710 */
17000 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17001 if (UNTAG_Bool(REGB0)) {
17002 } else {
17003 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5710);
17004 }
17005 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17006 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17007 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17008 stack_frame_head = fra.me.prev;
17009 return;
17010 }
17011 void parser___ReduceAction133___action(val_t p0, val_t p1){
17012 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
17013 val_t REGB0;
17014 val_t tmp;
17015 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17016 fra.me.file = LOCATE_parser;
17017 fra.me.line = 5715;
17018 fra.me.meth = LOCATE_parser___ReduceAction133___action;
17019 fra.me.has_broke = 0;
17020 fra.me.REG_size = 11;
17021 fra.me.nitni_local_ref_head = NULL;
17022 fra.me.REG[0] = NIT_NULL;
17023 fra.me.REG[1] = NIT_NULL;
17024 fra.me.REG[2] = NIT_NULL;
17025 fra.me.REG[3] = NIT_NULL;
17026 fra.me.REG[4] = NIT_NULL;
17027 fra.me.REG[5] = NIT_NULL;
17028 fra.me.REG[6] = NIT_NULL;
17029 fra.me.REG[7] = NIT_NULL;
17030 fra.me.REG[8] = NIT_NULL;
17031 fra.me.REG[9] = NIT_NULL;
17032 fra.me.REG[10] = NIT_NULL;
17033 fra.me.REG[0] = p0;
17034 fra.me.REG[1] = p1;
17035 /* parser/parser.nit:5717 */
17036 fra.me.REG[2] = NIT_NULL;
17037 /* parser/parser.nit:5718 */
17038 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17039 /* parser/parser.nit:5719 */
17040 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17041 /* parser/parser.nit:5720 */
17042 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17043 /* parser/parser.nit:5721 */
17044 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17045 /* parser/parser.nit:5722 */
17046 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17047 /* parser/parser.nit:5723 */
17048 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17049 /* parser/parser.nit:5724 */
17050 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17051 /* parser/parser.nit:5725 */
17052 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17053 /* parser/parser.nit:5726 */
17054 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17055 /* parser/parser.nit:5727 */
17056 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17057 /* parser/parser.nit:5729 */
17058 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17059 if (UNTAG_Bool(REGB0)) {
17060 } else {
17061 nit_abort("Assert failed", NULL, LOCATE_parser, 5729);
17062 }
17063 /* parser/parser.nit:5731 */
17064 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAble, ID_parser___parser_nodes___AAble)) /*cast nullable AAble*/;
17065 if (UNTAG_Bool(REGB0)) {
17066 } else {
17067 nit_abort("Assert failed", NULL, LOCATE_parser, 5731);
17068 }
17069 /* parser/parser.nit:5733 */
17070 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
17071 if (UNTAG_Bool(REGB0)) {
17072 } else {
17073 nit_abort("Assert failed", NULL, LOCATE_parser, 5733);
17074 }
17075 /* parser/parser.nit:5735 */
17076 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17077 if (UNTAG_Bool(REGB0)) {
17078 } else {
17079 nit_abort("Assert failed", NULL, LOCATE_parser, 5735);
17080 }
17081 /* parser/parser.nit:5737 */
17082 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
17083 if (UNTAG_Bool(REGB0)) {
17084 } else {
17085 nit_abort("Assert failed", NULL, LOCATE_parser, 5737);
17086 }
17087 /* parser/parser.nit:5739 */
17088 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
17089 if (UNTAG_Bool(REGB0)) {
17090 } else {
17091 nit_abort("Assert failed", NULL, LOCATE_parser, 5739);
17092 }
17093 /* parser/parser.nit:5741 */
17094 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
17095 if (UNTAG_Bool(REGB0)) {
17096 } else {
17097 nit_abort("Assert failed", NULL, LOCATE_parser, 5741);
17098 }
17099 /* parser/parser.nit:5743 */
17100 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17101 if (UNTAG_Bool(REGB0)) {
17102 } else {
17103 nit_abort("Assert failed", NULL, LOCATE_parser, 5743);
17104 }
17105 /* parser/parser.nit:5744 */
17106 fra.me.REG[3] = NEW_AAttrPropdef_parser___parser_prod___AAttrPropdef___init_aattrpropdef(fra.me.REG[10], NIT_NULL, fra.me.REG[4], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[3]);
17107 /* parser/parser.nit:5756 */
17108 fra.me.REG[2] = fra.me.REG[3];
17109 /* parser/parser.nit:5757 */
17110 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17111 if (UNTAG_Bool(REGB0)) {
17112 } else {
17113 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5757);
17114 }
17115 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17116 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17117 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17118 stack_frame_head = fra.me.prev;
17119 return;
17120 }
17121 void parser___ReduceAction134___action(val_t p0, val_t p1){
17122 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17123 val_t REGB0;
17124 val_t tmp;
17125 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17126 fra.me.file = LOCATE_parser;
17127 fra.me.line = 5762;
17128 fra.me.meth = LOCATE_parser___ReduceAction134___action;
17129 fra.me.has_broke = 0;
17130 fra.me.REG_size = 8;
17131 fra.me.nitni_local_ref_head = NULL;
17132 fra.me.REG[0] = NIT_NULL;
17133 fra.me.REG[1] = NIT_NULL;
17134 fra.me.REG[2] = NIT_NULL;
17135 fra.me.REG[3] = NIT_NULL;
17136 fra.me.REG[4] = NIT_NULL;
17137 fra.me.REG[5] = NIT_NULL;
17138 fra.me.REG[6] = NIT_NULL;
17139 fra.me.REG[7] = NIT_NULL;
17140 fra.me.REG[0] = p0;
17141 fra.me.REG[1] = p1;
17142 /* parser/parser.nit:5764 */
17143 fra.me.REG[2] = NIT_NULL;
17144 /* parser/parser.nit:5765 */
17145 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17146 /* parser/parser.nit:5766 */
17147 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17148 /* parser/parser.nit:5767 */
17149 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17150 /* parser/parser.nit:5768 */
17151 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17152 /* parser/parser.nit:5769 */
17153 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17154 /* parser/parser.nit:5770 */
17155 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17156 /* parser/parser.nit:5772 */
17157 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17158 if (UNTAG_Bool(REGB0)) {
17159 } else {
17160 nit_abort("Assert failed", NULL, LOCATE_parser, 5772);
17161 }
17162 /* parser/parser.nit:5774 */
17163 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17164 if (UNTAG_Bool(REGB0)) {
17165 } else {
17166 nit_abort("Assert failed", NULL, LOCATE_parser, 5774);
17167 }
17168 /* parser/parser.nit:5776 */
17169 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
17170 if (UNTAG_Bool(REGB0)) {
17171 } else {
17172 nit_abort("Assert failed", NULL, LOCATE_parser, 5776);
17173 }
17174 /* parser/parser.nit:5778 */
17175 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
17176 if (UNTAG_Bool(REGB0)) {
17177 } else {
17178 nit_abort("Assert failed", NULL, LOCATE_parser, 5778);
17179 }
17180 /* parser/parser.nit:5780 */
17181 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17182 if (UNTAG_Bool(REGB0)) {
17183 } else {
17184 nit_abort("Assert failed", NULL, LOCATE_parser, 5780);
17185 }
17186 /* parser/parser.nit:5781 */
17187 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
17188 /* parser/parser.nit:5790 */
17189 fra.me.REG[2] = fra.me.REG[3];
17190 /* parser/parser.nit:5791 */
17191 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17192 if (UNTAG_Bool(REGB0)) {
17193 } else {
17194 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5791);
17195 }
17196 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17197 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17198 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17199 stack_frame_head = fra.me.prev;
17200 return;
17201 }
17202 void parser___ReduceAction135___action(val_t p0, val_t p1){
17203 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17204 val_t REGB0;
17205 val_t tmp;
17206 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17207 fra.me.file = LOCATE_parser;
17208 fra.me.line = 5796;
17209 fra.me.meth = LOCATE_parser___ReduceAction135___action;
17210 fra.me.has_broke = 0;
17211 fra.me.REG_size = 9;
17212 fra.me.nitni_local_ref_head = NULL;
17213 fra.me.REG[0] = NIT_NULL;
17214 fra.me.REG[1] = NIT_NULL;
17215 fra.me.REG[2] = NIT_NULL;
17216 fra.me.REG[3] = NIT_NULL;
17217 fra.me.REG[4] = NIT_NULL;
17218 fra.me.REG[5] = NIT_NULL;
17219 fra.me.REG[6] = NIT_NULL;
17220 fra.me.REG[7] = NIT_NULL;
17221 fra.me.REG[8] = NIT_NULL;
17222 fra.me.REG[0] = p0;
17223 fra.me.REG[1] = p1;
17224 /* parser/parser.nit:5798 */
17225 fra.me.REG[2] = NIT_NULL;
17226 /* parser/parser.nit:5799 */
17227 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17228 /* parser/parser.nit:5800 */
17229 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17230 /* parser/parser.nit:5801 */
17231 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17232 /* parser/parser.nit:5802 */
17233 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17234 /* parser/parser.nit:5803 */
17235 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17236 /* parser/parser.nit:5804 */
17237 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17238 /* parser/parser.nit:5805 */
17239 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17240 /* parser/parser.nit:5807 */
17241 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17242 if (UNTAG_Bool(REGB0)) {
17243 } else {
17244 nit_abort("Assert failed", NULL, LOCATE_parser, 5807);
17245 }
17246 /* parser/parser.nit:5809 */
17247 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
17248 if (UNTAG_Bool(REGB0)) {
17249 } else {
17250 nit_abort("Assert failed", NULL, LOCATE_parser, 5809);
17251 }
17252 /* parser/parser.nit:5811 */
17253 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17254 if (UNTAG_Bool(REGB0)) {
17255 } else {
17256 nit_abort("Assert failed", NULL, LOCATE_parser, 5811);
17257 }
17258 /* parser/parser.nit:5813 */
17259 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
17260 if (UNTAG_Bool(REGB0)) {
17261 } else {
17262 nit_abort("Assert failed", NULL, LOCATE_parser, 5813);
17263 }
17264 /* parser/parser.nit:5815 */
17265 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
17266 if (UNTAG_Bool(REGB0)) {
17267 } else {
17268 nit_abort("Assert failed", NULL, LOCATE_parser, 5815);
17269 }
17270 /* parser/parser.nit:5817 */
17271 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17272 if (UNTAG_Bool(REGB0)) {
17273 } else {
17274 nit_abort("Assert failed", NULL, LOCATE_parser, 5817);
17275 }
17276 /* parser/parser.nit:5818 */
17277 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
17278 /* parser/parser.nit:5827 */
17279 fra.me.REG[2] = fra.me.REG[3];
17280 /* parser/parser.nit:5828 */
17281 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17282 if (UNTAG_Bool(REGB0)) {
17283 } else {
17284 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5828);
17285 }
17286 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17287 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17288 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17289 stack_frame_head = fra.me.prev;
17290 return;
17291 }
17292 void parser___ReduceAction136___action(val_t p0, val_t p1){
17293 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17294 val_t REGB0;
17295 val_t tmp;
17296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17297 fra.me.file = LOCATE_parser;
17298 fra.me.line = 5833;
17299 fra.me.meth = LOCATE_parser___ReduceAction136___action;
17300 fra.me.has_broke = 0;
17301 fra.me.REG_size = 9;
17302 fra.me.nitni_local_ref_head = NULL;
17303 fra.me.REG[0] = NIT_NULL;
17304 fra.me.REG[1] = NIT_NULL;
17305 fra.me.REG[2] = NIT_NULL;
17306 fra.me.REG[3] = NIT_NULL;
17307 fra.me.REG[4] = NIT_NULL;
17308 fra.me.REG[5] = NIT_NULL;
17309 fra.me.REG[6] = NIT_NULL;
17310 fra.me.REG[7] = NIT_NULL;
17311 fra.me.REG[8] = NIT_NULL;
17312 fra.me.REG[0] = p0;
17313 fra.me.REG[1] = p1;
17314 /* parser/parser.nit:5835 */
17315 fra.me.REG[2] = NIT_NULL;
17316 /* parser/parser.nit:5836 */
17317 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17318 /* parser/parser.nit:5837 */
17319 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17320 /* parser/parser.nit:5838 */
17321 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17322 /* parser/parser.nit:5839 */
17323 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17324 /* parser/parser.nit:5840 */
17325 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17326 /* parser/parser.nit:5841 */
17327 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17328 /* parser/parser.nit:5842 */
17329 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17330 /* parser/parser.nit:5844 */
17331 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17332 if (UNTAG_Bool(REGB0)) {
17333 } else {
17334 nit_abort("Assert failed", NULL, LOCATE_parser, 5844);
17335 }
17336 /* parser/parser.nit:5846 */
17337 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17338 if (UNTAG_Bool(REGB0)) {
17339 } else {
17340 nit_abort("Assert failed", NULL, LOCATE_parser, 5846);
17341 }
17342 /* parser/parser.nit:5848 */
17343 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
17344 if (UNTAG_Bool(REGB0)) {
17345 } else {
17346 nit_abort("Assert failed", NULL, LOCATE_parser, 5848);
17347 }
17348 /* parser/parser.nit:5850 */
17349 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
17350 if (UNTAG_Bool(REGB0)) {
17351 } else {
17352 nit_abort("Assert failed", NULL, LOCATE_parser, 5850);
17353 }
17354 /* parser/parser.nit:5852 */
17355 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
17356 if (UNTAG_Bool(REGB0)) {
17357 } else {
17358 nit_abort("Assert failed", NULL, LOCATE_parser, 5852);
17359 }
17360 /* parser/parser.nit:5854 */
17361 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17362 if (UNTAG_Bool(REGB0)) {
17363 } else {
17364 nit_abort("Assert failed", NULL, LOCATE_parser, 5854);
17365 }
17366 /* parser/parser.nit:5855 */
17367 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
17368 /* parser/parser.nit:5864 */
17369 fra.me.REG[2] = fra.me.REG[3];
17370 /* parser/parser.nit:5865 */
17371 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17372 if (UNTAG_Bool(REGB0)) {
17373 } else {
17374 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5865);
17375 }
17376 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17377 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17378 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17379 stack_frame_head = fra.me.prev;
17380 return;
17381 }
17382 void parser___ReduceAction137___action(val_t p0, val_t p1){
17383 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
17384 val_t REGB0;
17385 val_t tmp;
17386 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17387 fra.me.file = LOCATE_parser;
17388 fra.me.line = 5870;
17389 fra.me.meth = LOCATE_parser___ReduceAction137___action;
17390 fra.me.has_broke = 0;
17391 fra.me.REG_size = 10;
17392 fra.me.nitni_local_ref_head = NULL;
17393 fra.me.REG[0] = NIT_NULL;
17394 fra.me.REG[1] = NIT_NULL;
17395 fra.me.REG[2] = NIT_NULL;
17396 fra.me.REG[3] = NIT_NULL;
17397 fra.me.REG[4] = NIT_NULL;
17398 fra.me.REG[5] = NIT_NULL;
17399 fra.me.REG[6] = NIT_NULL;
17400 fra.me.REG[7] = NIT_NULL;
17401 fra.me.REG[8] = NIT_NULL;
17402 fra.me.REG[9] = NIT_NULL;
17403 fra.me.REG[0] = p0;
17404 fra.me.REG[1] = p1;
17405 /* parser/parser.nit:5872 */
17406 fra.me.REG[2] = NIT_NULL;
17407 /* parser/parser.nit:5873 */
17408 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17409 /* parser/parser.nit:5874 */
17410 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17411 /* parser/parser.nit:5875 */
17412 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17413 /* parser/parser.nit:5876 */
17414 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17415 /* parser/parser.nit:5877 */
17416 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17417 /* parser/parser.nit:5878 */
17418 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17419 /* parser/parser.nit:5879 */
17420 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17421 /* parser/parser.nit:5880 */
17422 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17423 /* parser/parser.nit:5882 */
17424 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17425 if (UNTAG_Bool(REGB0)) {
17426 } else {
17427 nit_abort("Assert failed", NULL, LOCATE_parser, 5882);
17428 }
17429 /* parser/parser.nit:5884 */
17430 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
17431 if (UNTAG_Bool(REGB0)) {
17432 } else {
17433 nit_abort("Assert failed", NULL, LOCATE_parser, 5884);
17434 }
17435 /* parser/parser.nit:5886 */
17436 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17437 if (UNTAG_Bool(REGB0)) {
17438 } else {
17439 nit_abort("Assert failed", NULL, LOCATE_parser, 5886);
17440 }
17441 /* parser/parser.nit:5888 */
17442 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
17443 if (UNTAG_Bool(REGB0)) {
17444 } else {
17445 nit_abort("Assert failed", NULL, LOCATE_parser, 5888);
17446 }
17447 /* parser/parser.nit:5890 */
17448 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
17449 if (UNTAG_Bool(REGB0)) {
17450 } else {
17451 nit_abort("Assert failed", NULL, LOCATE_parser, 5890);
17452 }
17453 /* parser/parser.nit:5892 */
17454 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
17455 if (UNTAG_Bool(REGB0)) {
17456 } else {
17457 nit_abort("Assert failed", NULL, LOCATE_parser, 5892);
17458 }
17459 /* parser/parser.nit:5894 */
17460 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17461 if (UNTAG_Bool(REGB0)) {
17462 } else {
17463 nit_abort("Assert failed", NULL, LOCATE_parser, 5894);
17464 }
17465 /* parser/parser.nit:5895 */
17466 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
17467 /* parser/parser.nit:5904 */
17468 fra.me.REG[2] = fra.me.REG[3];
17469 /* parser/parser.nit:5905 */
17470 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17471 if (UNTAG_Bool(REGB0)) {
17472 } else {
17473 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5905);
17474 }
17475 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17476 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17477 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17478 stack_frame_head = fra.me.prev;
17479 return;
17480 }
17481 void parser___ReduceAction138___action(val_t p0, val_t p1){
17482 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17483 val_t REGB0;
17484 val_t tmp;
17485 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17486 fra.me.file = LOCATE_parser;
17487 fra.me.line = 5910;
17488 fra.me.meth = LOCATE_parser___ReduceAction138___action;
17489 fra.me.has_broke = 0;
17490 fra.me.REG_size = 8;
17491 fra.me.nitni_local_ref_head = NULL;
17492 fra.me.REG[0] = NIT_NULL;
17493 fra.me.REG[1] = NIT_NULL;
17494 fra.me.REG[2] = NIT_NULL;
17495 fra.me.REG[3] = NIT_NULL;
17496 fra.me.REG[4] = NIT_NULL;
17497 fra.me.REG[5] = NIT_NULL;
17498 fra.me.REG[6] = NIT_NULL;
17499 fra.me.REG[7] = NIT_NULL;
17500 fra.me.REG[0] = p0;
17501 fra.me.REG[1] = p1;
17502 /* parser/parser.nit:5912 */
17503 fra.me.REG[2] = NIT_NULL;
17504 /* parser/parser.nit:5913 */
17505 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17506 /* parser/parser.nit:5914 */
17507 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17508 /* parser/parser.nit:5915 */
17509 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17510 /* parser/parser.nit:5916 */
17511 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17512 /* parser/parser.nit:5917 */
17513 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17514 /* parser/parser.nit:5918 */
17515 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17516 /* parser/parser.nit:5919 */
17517 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17518 /* parser/parser.nit:5921 */
17519 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17520 if (UNTAG_Bool(REGB0)) {
17521 } else {
17522 nit_abort("Assert failed", NULL, LOCATE_parser, 5921);
17523 }
17524 /* parser/parser.nit:5923 */
17525 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17526 if (UNTAG_Bool(REGB0)) {
17527 } else {
17528 nit_abort("Assert failed", NULL, LOCATE_parser, 5923);
17529 }
17530 /* parser/parser.nit:5925 */
17531 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
17532 if (UNTAG_Bool(REGB0)) {
17533 } else {
17534 nit_abort("Assert failed", NULL, LOCATE_parser, 5925);
17535 }
17536 /* parser/parser.nit:5927 */
17537 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
17538 if (UNTAG_Bool(REGB0)) {
17539 } else {
17540 nit_abort("Assert failed", NULL, LOCATE_parser, 5927);
17541 }
17542 /* parser/parser.nit:5929 */
17543 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17544 if (UNTAG_Bool(REGB0)) {
17545 } else {
17546 nit_abort("Assert failed", NULL, LOCATE_parser, 5929);
17547 }
17548 /* parser/parser.nit:5930 */
17549 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
17550 /* parser/parser.nit:5939 */
17551 fra.me.REG[2] = fra.me.REG[3];
17552 /* parser/parser.nit:5940 */
17553 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17554 if (UNTAG_Bool(REGB0)) {
17555 } else {
17556 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5940);
17557 }
17558 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17559 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17560 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17561 stack_frame_head = fra.me.prev;
17562 return;
17563 }
17564 void parser___ReduceAction139___action(val_t p0, val_t p1){
17565 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17566 val_t REGB0;
17567 val_t tmp;
17568 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17569 fra.me.file = LOCATE_parser;
17570 fra.me.line = 5945;
17571 fra.me.meth = LOCATE_parser___ReduceAction139___action;
17572 fra.me.has_broke = 0;
17573 fra.me.REG_size = 9;
17574 fra.me.nitni_local_ref_head = NULL;
17575 fra.me.REG[0] = NIT_NULL;
17576 fra.me.REG[1] = NIT_NULL;
17577 fra.me.REG[2] = NIT_NULL;
17578 fra.me.REG[3] = NIT_NULL;
17579 fra.me.REG[4] = NIT_NULL;
17580 fra.me.REG[5] = NIT_NULL;
17581 fra.me.REG[6] = NIT_NULL;
17582 fra.me.REG[7] = NIT_NULL;
17583 fra.me.REG[8] = NIT_NULL;
17584 fra.me.REG[0] = p0;
17585 fra.me.REG[1] = p1;
17586 /* parser/parser.nit:5947 */
17587 fra.me.REG[2] = NIT_NULL;
17588 /* parser/parser.nit:5948 */
17589 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17590 /* parser/parser.nit:5949 */
17591 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17592 /* parser/parser.nit:5950 */
17593 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17594 /* parser/parser.nit:5951 */
17595 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17596 /* parser/parser.nit:5952 */
17597 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17598 /* parser/parser.nit:5953 */
17599 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17600 /* parser/parser.nit:5954 */
17601 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17602 /* parser/parser.nit:5955 */
17603 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17604 /* parser/parser.nit:5957 */
17605 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17606 if (UNTAG_Bool(REGB0)) {
17607 } else {
17608 nit_abort("Assert failed", NULL, LOCATE_parser, 5957);
17609 }
17610 /* parser/parser.nit:5959 */
17611 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
17612 if (UNTAG_Bool(REGB0)) {
17613 } else {
17614 nit_abort("Assert failed", NULL, LOCATE_parser, 5959);
17615 }
17616 /* parser/parser.nit:5961 */
17617 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17618 if (UNTAG_Bool(REGB0)) {
17619 } else {
17620 nit_abort("Assert failed", NULL, LOCATE_parser, 5961);
17621 }
17622 /* parser/parser.nit:5963 */
17623 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
17624 if (UNTAG_Bool(REGB0)) {
17625 } else {
17626 nit_abort("Assert failed", NULL, LOCATE_parser, 5963);
17627 }
17628 /* parser/parser.nit:5965 */
17629 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
17630 if (UNTAG_Bool(REGB0)) {
17631 } else {
17632 nit_abort("Assert failed", NULL, LOCATE_parser, 5965);
17633 }
17634 /* parser/parser.nit:5967 */
17635 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17636 if (UNTAG_Bool(REGB0)) {
17637 } else {
17638 nit_abort("Assert failed", NULL, LOCATE_parser, 5967);
17639 }
17640 /* parser/parser.nit:5968 */
17641 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
17642 /* parser/parser.nit:5977 */
17643 fra.me.REG[2] = fra.me.REG[3];
17644 /* parser/parser.nit:5978 */
17645 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17646 if (UNTAG_Bool(REGB0)) {
17647 } else {
17648 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5978);
17649 }
17650 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17651 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17652 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17653 stack_frame_head = fra.me.prev;
17654 return;
17655 }
17656 void parser___ReduceAction140___action(val_t p0, val_t p1){
17657 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17658 val_t REGB0;
17659 val_t tmp;
17660 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17661 fra.me.file = LOCATE_parser;
17662 fra.me.line = 5983;
17663 fra.me.meth = LOCATE_parser___ReduceAction140___action;
17664 fra.me.has_broke = 0;
17665 fra.me.REG_size = 9;
17666 fra.me.nitni_local_ref_head = NULL;
17667 fra.me.REG[0] = NIT_NULL;
17668 fra.me.REG[1] = NIT_NULL;
17669 fra.me.REG[2] = NIT_NULL;
17670 fra.me.REG[3] = NIT_NULL;
17671 fra.me.REG[4] = NIT_NULL;
17672 fra.me.REG[5] = NIT_NULL;
17673 fra.me.REG[6] = NIT_NULL;
17674 fra.me.REG[7] = NIT_NULL;
17675 fra.me.REG[8] = NIT_NULL;
17676 fra.me.REG[0] = p0;
17677 fra.me.REG[1] = p1;
17678 /* parser/parser.nit:5985 */
17679 fra.me.REG[2] = NIT_NULL;
17680 /* parser/parser.nit:5986 */
17681 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17682 /* parser/parser.nit:5987 */
17683 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17684 /* parser/parser.nit:5988 */
17685 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17686 /* parser/parser.nit:5989 */
17687 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17688 /* parser/parser.nit:5990 */
17689 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17690 /* parser/parser.nit:5991 */
17691 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17692 /* parser/parser.nit:5992 */
17693 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17694 /* parser/parser.nit:5993 */
17695 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17696 /* parser/parser.nit:5995 */
17697 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17698 if (UNTAG_Bool(REGB0)) {
17699 } else {
17700 nit_abort("Assert failed", NULL, LOCATE_parser, 5995);
17701 }
17702 /* parser/parser.nit:5997 */
17703 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17704 if (UNTAG_Bool(REGB0)) {
17705 } else {
17706 nit_abort("Assert failed", NULL, LOCATE_parser, 5997);
17707 }
17708 /* parser/parser.nit:5999 */
17709 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
17710 if (UNTAG_Bool(REGB0)) {
17711 } else {
17712 nit_abort("Assert failed", NULL, LOCATE_parser, 5999);
17713 }
17714 /* parser/parser.nit:6001 */
17715 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
17716 if (UNTAG_Bool(REGB0)) {
17717 } else {
17718 nit_abort("Assert failed", NULL, LOCATE_parser, 6001);
17719 }
17720 /* parser/parser.nit:6003 */
17721 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
17722 if (UNTAG_Bool(REGB0)) {
17723 } else {
17724 nit_abort("Assert failed", NULL, LOCATE_parser, 6003);
17725 }
17726 /* parser/parser.nit:6005 */
17727 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17728 if (UNTAG_Bool(REGB0)) {
17729 } else {
17730 nit_abort("Assert failed", NULL, LOCATE_parser, 6005);
17731 }
17732 /* parser/parser.nit:6006 */
17733 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
17734 /* parser/parser.nit:6015 */
17735 fra.me.REG[2] = fra.me.REG[3];
17736 /* parser/parser.nit:6016 */
17737 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17738 if (UNTAG_Bool(REGB0)) {
17739 } else {
17740 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6016);
17741 }
17742 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17743 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17744 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17745 stack_frame_head = fra.me.prev;
17746 return;
17747 }
17748 void parser___ReduceAction141___action(val_t p0, val_t p1){
17749 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
17750 val_t REGB0;
17751 val_t tmp;
17752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17753 fra.me.file = LOCATE_parser;
17754 fra.me.line = 6021;
17755 fra.me.meth = LOCATE_parser___ReduceAction141___action;
17756 fra.me.has_broke = 0;
17757 fra.me.REG_size = 10;
17758 fra.me.nitni_local_ref_head = NULL;
17759 fra.me.REG[0] = NIT_NULL;
17760 fra.me.REG[1] = NIT_NULL;
17761 fra.me.REG[2] = NIT_NULL;
17762 fra.me.REG[3] = NIT_NULL;
17763 fra.me.REG[4] = NIT_NULL;
17764 fra.me.REG[5] = NIT_NULL;
17765 fra.me.REG[6] = NIT_NULL;
17766 fra.me.REG[7] = NIT_NULL;
17767 fra.me.REG[8] = NIT_NULL;
17768 fra.me.REG[9] = NIT_NULL;
17769 fra.me.REG[0] = p0;
17770 fra.me.REG[1] = p1;
17771 /* parser/parser.nit:6023 */
17772 fra.me.REG[2] = NIT_NULL;
17773 /* parser/parser.nit:6024 */
17774 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17775 /* parser/parser.nit:6025 */
17776 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17777 /* parser/parser.nit:6026 */
17778 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17779 /* parser/parser.nit:6027 */
17780 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17781 /* parser/parser.nit:6028 */
17782 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17783 /* parser/parser.nit:6029 */
17784 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17785 /* parser/parser.nit:6030 */
17786 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17787 /* parser/parser.nit:6031 */
17788 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17789 /* parser/parser.nit:6032 */
17790 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17791 /* parser/parser.nit:6034 */
17792 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17793 if (UNTAG_Bool(REGB0)) {
17794 } else {
17795 nit_abort("Assert failed", NULL, LOCATE_parser, 6034);
17796 }
17797 /* parser/parser.nit:6036 */
17798 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
17799 if (UNTAG_Bool(REGB0)) {
17800 } else {
17801 nit_abort("Assert failed", NULL, LOCATE_parser, 6036);
17802 }
17803 /* parser/parser.nit:6038 */
17804 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17805 if (UNTAG_Bool(REGB0)) {
17806 } else {
17807 nit_abort("Assert failed", NULL, LOCATE_parser, 6038);
17808 }
17809 /* parser/parser.nit:6040 */
17810 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
17811 if (UNTAG_Bool(REGB0)) {
17812 } else {
17813 nit_abort("Assert failed", NULL, LOCATE_parser, 6040);
17814 }
17815 /* parser/parser.nit:6042 */
17816 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
17817 if (UNTAG_Bool(REGB0)) {
17818 } else {
17819 nit_abort("Assert failed", NULL, LOCATE_parser, 6042);
17820 }
17821 /* parser/parser.nit:6044 */
17822 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
17823 if (UNTAG_Bool(REGB0)) {
17824 } else {
17825 nit_abort("Assert failed", NULL, LOCATE_parser, 6044);
17826 }
17827 /* parser/parser.nit:6046 */
17828 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
17829 if (UNTAG_Bool(REGB0)) {
17830 } else {
17831 nit_abort("Assert failed", NULL, LOCATE_parser, 6046);
17832 }
17833 /* parser/parser.nit:6047 */
17834 fra.me.REG[3] = NEW_AConcreteInitPropdef_parser___parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
17835 /* parser/parser.nit:6056 */
17836 fra.me.REG[2] = fra.me.REG[3];
17837 /* parser/parser.nit:6057 */
17838 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17839 if (UNTAG_Bool(REGB0)) {
17840 } else {
17841 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6057);
17842 }
17843 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17844 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17845 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17846 stack_frame_head = fra.me.prev;
17847 return;
17848 }
17849 void parser___ReduceAction142___action(val_t p0, val_t p1){
17850 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17851 val_t REGB0;
17852 val_t tmp;
17853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17854 fra.me.file = LOCATE_parser;
17855 fra.me.line = 6062;
17856 fra.me.meth = LOCATE_parser___ReduceAction142___action;
17857 fra.me.has_broke = 0;
17858 fra.me.REG_size = 8;
17859 fra.me.nitni_local_ref_head = NULL;
17860 fra.me.REG[0] = NIT_NULL;
17861 fra.me.REG[1] = NIT_NULL;
17862 fra.me.REG[2] = NIT_NULL;
17863 fra.me.REG[3] = NIT_NULL;
17864 fra.me.REG[4] = NIT_NULL;
17865 fra.me.REG[5] = NIT_NULL;
17866 fra.me.REG[6] = NIT_NULL;
17867 fra.me.REG[7] = NIT_NULL;
17868 fra.me.REG[0] = p0;
17869 fra.me.REG[1] = p1;
17870 /* parser/parser.nit:6064 */
17871 fra.me.REG[2] = NIT_NULL;
17872 /* parser/parser.nit:6065 */
17873 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17874 /* parser/parser.nit:6066 */
17875 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17876 /* parser/parser.nit:6067 */
17877 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17878 /* parser/parser.nit:6068 */
17879 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17880 /* parser/parser.nit:6069 */
17881 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17882 /* parser/parser.nit:6071 */
17883 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17884 if (UNTAG_Bool(REGB0)) {
17885 } else {
17886 nit_abort("Assert failed", NULL, LOCATE_parser, 6071);
17887 }
17888 /* parser/parser.nit:6073 */
17889 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17890 if (UNTAG_Bool(REGB0)) {
17891 } else {
17892 nit_abort("Assert failed", NULL, LOCATE_parser, 6073);
17893 }
17894 /* parser/parser.nit:6075 */
17895 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwtype, ID_parser___parser_nodes___TKwtype)) /*cast nullable TKwtype*/;
17896 if (UNTAG_Bool(REGB0)) {
17897 } else {
17898 nit_abort("Assert failed", NULL, LOCATE_parser, 6075);
17899 }
17900 /* parser/parser.nit:6077 */
17901 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
17902 if (UNTAG_Bool(REGB0)) {
17903 } else {
17904 nit_abort("Assert failed", NULL, LOCATE_parser, 6077);
17905 }
17906 /* parser/parser.nit:6079 */
17907 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
17908 if (UNTAG_Bool(REGB0)) {
17909 } else {
17910 nit_abort("Assert failed", NULL, LOCATE_parser, 6079);
17911 }
17912 /* parser/parser.nit:6080 */
17913 fra.me.REG[3] = NEW_ATypePropdef_parser___parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
17914 /* parser/parser.nit:6088 */
17915 fra.me.REG[2] = fra.me.REG[3];
17916 /* parser/parser.nit:6089 */
17917 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17918 if (UNTAG_Bool(REGB0)) {
17919 } else {
17920 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6089);
17921 }
17922 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17923 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17924 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17925 stack_frame_head = fra.me.prev;
17926 return;
17927 }
17928 void parser___ReduceAction143___action(val_t p0, val_t p1){
17929 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17930 val_t REGB0;
17931 val_t tmp;
17932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17933 fra.me.file = LOCATE_parser;
17934 fra.me.line = 6094;
17935 fra.me.meth = LOCATE_parser___ReduceAction143___action;
17936 fra.me.has_broke = 0;
17937 fra.me.REG_size = 9;
17938 fra.me.nitni_local_ref_head = NULL;
17939 fra.me.REG[0] = NIT_NULL;
17940 fra.me.REG[1] = NIT_NULL;
17941 fra.me.REG[2] = NIT_NULL;
17942 fra.me.REG[3] = NIT_NULL;
17943 fra.me.REG[4] = NIT_NULL;
17944 fra.me.REG[5] = NIT_NULL;
17945 fra.me.REG[6] = NIT_NULL;
17946 fra.me.REG[7] = NIT_NULL;
17947 fra.me.REG[8] = NIT_NULL;
17948 fra.me.REG[0] = p0;
17949 fra.me.REG[1] = p1;
17950 /* parser/parser.nit:6096 */
17951 fra.me.REG[2] = NIT_NULL;
17952 /* parser/parser.nit:6097 */
17953 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17954 /* parser/parser.nit:6098 */
17955 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17956 /* parser/parser.nit:6099 */
17957 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17958 /* parser/parser.nit:6100 */
17959 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17960 /* parser/parser.nit:6101 */
17961 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17962 /* parser/parser.nit:6102 */
17963 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17964 /* parser/parser.nit:6104 */
17965 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
17966 if (UNTAG_Bool(REGB0)) {
17967 } else {
17968 nit_abort("Assert failed", NULL, LOCATE_parser, 6104);
17969 }
17970 /* parser/parser.nit:6106 */
17971 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
17972 if (UNTAG_Bool(REGB0)) {
17973 } else {
17974 nit_abort("Assert failed", NULL, LOCATE_parser, 6106);
17975 }
17976 /* parser/parser.nit:6108 */
17977 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
17978 if (UNTAG_Bool(REGB0)) {
17979 } else {
17980 nit_abort("Assert failed", NULL, LOCATE_parser, 6108);
17981 }
17982 /* parser/parser.nit:6110 */
17983 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwtype, ID_parser___parser_nodes___TKwtype)) /*cast nullable TKwtype*/;
17984 if (UNTAG_Bool(REGB0)) {
17985 } else {
17986 nit_abort("Assert failed", NULL, LOCATE_parser, 6110);
17987 }
17988 /* parser/parser.nit:6112 */
17989 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
17990 if (UNTAG_Bool(REGB0)) {
17991 } else {
17992 nit_abort("Assert failed", NULL, LOCATE_parser, 6112);
17993 }
17994 /* parser/parser.nit:6114 */
17995 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
17996 if (UNTAG_Bool(REGB0)) {
17997 } else {
17998 nit_abort("Assert failed", NULL, LOCATE_parser, 6114);
17999 }
18000 /* parser/parser.nit:6115 */
18001 fra.me.REG[3] = NEW_ATypePropdef_parser___parser_prod___ATypePropdef___init_atypepropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
18002 /* parser/parser.nit:6123 */
18003 fra.me.REG[2] = fra.me.REG[3];
18004 /* parser/parser.nit:6124 */
18005 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18006 if (UNTAG_Bool(REGB0)) {
18007 } else {
18008 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6124);
18009 }
18010 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18011 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18012 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18013 stack_frame_head = fra.me.prev;
18014 return;
18015 }
18016 void parser___ReduceAction144___action(val_t p0, val_t p1){
18017 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
18018 val_t REGB0;
18019 val_t tmp;
18020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18021 fra.me.file = LOCATE_parser;
18022 fra.me.line = 6129;
18023 fra.me.meth = LOCATE_parser___ReduceAction144___action;
18024 fra.me.has_broke = 0;
18025 fra.me.REG_size = 7;
18026 fra.me.nitni_local_ref_head = NULL;
18027 fra.me.REG[0] = NIT_NULL;
18028 fra.me.REG[1] = NIT_NULL;
18029 fra.me.REG[2] = NIT_NULL;
18030 fra.me.REG[3] = NIT_NULL;
18031 fra.me.REG[4] = NIT_NULL;
18032 fra.me.REG[5] = NIT_NULL;
18033 fra.me.REG[6] = NIT_NULL;
18034 fra.me.REG[0] = p0;
18035 fra.me.REG[1] = p1;
18036 /* parser/parser.nit:6131 */
18037 fra.me.REG[2] = NIT_NULL;
18038 /* parser/parser.nit:6132 */
18039 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18040 /* parser/parser.nit:6133 */
18041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18042 /* parser/parser.nit:6134 */
18043 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18044 /* parser/parser.nit:6135 */
18045 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18046 /* parser/parser.nit:6136 */
18047 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18048 /* parser/parser.nit:6137 */
18049 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18050 /* parser/parser.nit:6139 */
18051 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18052 if (UNTAG_Bool(REGB0)) {
18053 } else {
18054 nit_abort("Assert failed", NULL, LOCATE_parser, 6139);
18055 }
18056 /* parser/parser.nit:6141 */
18057 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18058 if (UNTAG_Bool(REGB0)) {
18059 } else {
18060 nit_abort("Assert failed", NULL, LOCATE_parser, 6141);
18061 }
18062 /* parser/parser.nit:6143 */
18063 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18064 if (UNTAG_Bool(REGB0)) {
18065 } else {
18066 nit_abort("Assert failed", NULL, LOCATE_parser, 6143);
18067 }
18068 /* parser/parser.nit:6145 */
18069 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18070 if (UNTAG_Bool(REGB0)) {
18071 } else {
18072 nit_abort("Assert failed", NULL, LOCATE_parser, 6145);
18073 }
18074 /* parser/parser.nit:6146 */
18075 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL);
18076 /* parser/parser.nit:6156 */
18077 fra.me.REG[2] = fra.me.REG[3];
18078 /* parser/parser.nit:6157 */
18079 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18080 if (UNTAG_Bool(REGB0)) {
18081 } else {
18082 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6157);
18083 }
18084 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18085 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18086 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18087 stack_frame_head = fra.me.prev;
18088 return;
18089 }
18090 void parser___ReduceAction145___action(val_t p0, val_t p1){
18091 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
18092 val_t REGB0;
18093 val_t tmp;
18094 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18095 fra.me.file = LOCATE_parser;
18096 fra.me.line = 6162;
18097 fra.me.meth = LOCATE_parser___ReduceAction145___action;
18098 fra.me.has_broke = 0;
18099 fra.me.REG_size = 8;
18100 fra.me.nitni_local_ref_head = NULL;
18101 fra.me.REG[0] = NIT_NULL;
18102 fra.me.REG[1] = NIT_NULL;
18103 fra.me.REG[2] = NIT_NULL;
18104 fra.me.REG[3] = NIT_NULL;
18105 fra.me.REG[4] = NIT_NULL;
18106 fra.me.REG[5] = NIT_NULL;
18107 fra.me.REG[6] = NIT_NULL;
18108 fra.me.REG[7] = NIT_NULL;
18109 fra.me.REG[0] = p0;
18110 fra.me.REG[1] = p1;
18111 /* parser/parser.nit:6164 */
18112 fra.me.REG[2] = NIT_NULL;
18113 /* parser/parser.nit:6165 */
18114 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18115 /* parser/parser.nit:6166 */
18116 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18117 /* parser/parser.nit:6167 */
18118 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18119 /* parser/parser.nit:6168 */
18120 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18121 /* parser/parser.nit:6169 */
18122 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18123 /* parser/parser.nit:6170 */
18124 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18125 /* parser/parser.nit:6171 */
18126 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18127 /* parser/parser.nit:6173 */
18128 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18129 if (UNTAG_Bool(REGB0)) {
18130 } else {
18131 nit_abort("Assert failed", NULL, LOCATE_parser, 6173);
18132 }
18133 /* parser/parser.nit:6175 */
18134 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
18135 if (UNTAG_Bool(REGB0)) {
18136 } else {
18137 nit_abort("Assert failed", NULL, LOCATE_parser, 6175);
18138 }
18139 /* parser/parser.nit:6177 */
18140 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18141 if (UNTAG_Bool(REGB0)) {
18142 } else {
18143 nit_abort("Assert failed", NULL, LOCATE_parser, 6177);
18144 }
18145 /* parser/parser.nit:6179 */
18146 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18147 if (UNTAG_Bool(REGB0)) {
18148 } else {
18149 nit_abort("Assert failed", NULL, LOCATE_parser, 6179);
18150 }
18151 /* parser/parser.nit:6181 */
18152 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18153 if (UNTAG_Bool(REGB0)) {
18154 } else {
18155 nit_abort("Assert failed", NULL, LOCATE_parser, 6181);
18156 }
18157 /* parser/parser.nit:6182 */
18158 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL);
18159 /* parser/parser.nit:6192 */
18160 fra.me.REG[2] = fra.me.REG[3];
18161 /* parser/parser.nit:6193 */
18162 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18163 if (UNTAG_Bool(REGB0)) {
18164 } else {
18165 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6193);
18166 }
18167 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18168 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18169 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18170 stack_frame_head = fra.me.prev;
18171 return;
18172 }
18173 void parser___ReduceAction146___action(val_t p0, val_t p1){
18174 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
18175 val_t REGB0;
18176 val_t tmp;
18177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18178 fra.me.file = LOCATE_parser;
18179 fra.me.line = 6198;
18180 fra.me.meth = LOCATE_parser___ReduceAction146___action;
18181 fra.me.has_broke = 0;
18182 fra.me.REG_size = 8;
18183 fra.me.nitni_local_ref_head = NULL;
18184 fra.me.REG[0] = NIT_NULL;
18185 fra.me.REG[1] = NIT_NULL;
18186 fra.me.REG[2] = NIT_NULL;
18187 fra.me.REG[3] = NIT_NULL;
18188 fra.me.REG[4] = NIT_NULL;
18189 fra.me.REG[5] = NIT_NULL;
18190 fra.me.REG[6] = NIT_NULL;
18191 fra.me.REG[7] = NIT_NULL;
18192 fra.me.REG[0] = p0;
18193 fra.me.REG[1] = p1;
18194 /* parser/parser.nit:6200 */
18195 fra.me.REG[2] = NIT_NULL;
18196 /* parser/parser.nit:6201 */
18197 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18198 /* parser/parser.nit:6202 */
18199 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18200 /* parser/parser.nit:6203 */
18201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18202 /* parser/parser.nit:6204 */
18203 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18204 /* parser/parser.nit:6205 */
18205 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18206 /* parser/parser.nit:6206 */
18207 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18208 /* parser/parser.nit:6207 */
18209 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18210 /* parser/parser.nit:6209 */
18211 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18212 if (UNTAG_Bool(REGB0)) {
18213 } else {
18214 nit_abort("Assert failed", NULL, LOCATE_parser, 6209);
18215 }
18216 /* parser/parser.nit:6211 */
18217 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18218 if (UNTAG_Bool(REGB0)) {
18219 } else {
18220 nit_abort("Assert failed", NULL, LOCATE_parser, 6211);
18221 }
18222 /* parser/parser.nit:6213 */
18223 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18224 if (UNTAG_Bool(REGB0)) {
18225 } else {
18226 nit_abort("Assert failed", NULL, LOCATE_parser, 6213);
18227 }
18228 /* parser/parser.nit:6215 */
18229 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
18230 if (UNTAG_Bool(REGB0)) {
18231 } else {
18232 nit_abort("Assert failed", NULL, LOCATE_parser, 6215);
18233 }
18234 /* parser/parser.nit:6217 */
18235 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18236 if (UNTAG_Bool(REGB0)) {
18237 } else {
18238 nit_abort("Assert failed", NULL, LOCATE_parser, 6217);
18239 }
18240 /* parser/parser.nit:6218 */
18241 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
18242 /* parser/parser.nit:6228 */
18243 fra.me.REG[2] = fra.me.REG[3];
18244 /* parser/parser.nit:6229 */
18245 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18246 if (UNTAG_Bool(REGB0)) {
18247 } else {
18248 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6229);
18249 }
18250 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18251 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18252 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18253 stack_frame_head = fra.me.prev;
18254 return;
18255 }
18256 void parser___ReduceAction147___action(val_t p0, val_t p1){
18257 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18258 val_t REGB0;
18259 val_t tmp;
18260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18261 fra.me.file = LOCATE_parser;
18262 fra.me.line = 6234;
18263 fra.me.meth = LOCATE_parser___ReduceAction147___action;
18264 fra.me.has_broke = 0;
18265 fra.me.REG_size = 9;
18266 fra.me.nitni_local_ref_head = NULL;
18267 fra.me.REG[0] = NIT_NULL;
18268 fra.me.REG[1] = NIT_NULL;
18269 fra.me.REG[2] = NIT_NULL;
18270 fra.me.REG[3] = NIT_NULL;
18271 fra.me.REG[4] = NIT_NULL;
18272 fra.me.REG[5] = NIT_NULL;
18273 fra.me.REG[6] = NIT_NULL;
18274 fra.me.REG[7] = NIT_NULL;
18275 fra.me.REG[8] = NIT_NULL;
18276 fra.me.REG[0] = p0;
18277 fra.me.REG[1] = p1;
18278 /* parser/parser.nit:6236 */
18279 fra.me.REG[2] = NIT_NULL;
18280 /* parser/parser.nit:6237 */
18281 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18282 /* parser/parser.nit:6238 */
18283 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18284 /* parser/parser.nit:6239 */
18285 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18286 /* parser/parser.nit:6240 */
18287 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18288 /* parser/parser.nit:6241 */
18289 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18290 /* parser/parser.nit:6242 */
18291 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18292 /* parser/parser.nit:6243 */
18293 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18294 /* parser/parser.nit:6244 */
18295 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18296 /* parser/parser.nit:6246 */
18297 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18298 if (UNTAG_Bool(REGB0)) {
18299 } else {
18300 nit_abort("Assert failed", NULL, LOCATE_parser, 6246);
18301 }
18302 /* parser/parser.nit:6248 */
18303 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
18304 if (UNTAG_Bool(REGB0)) {
18305 } else {
18306 nit_abort("Assert failed", NULL, LOCATE_parser, 6248);
18307 }
18308 /* parser/parser.nit:6250 */
18309 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18310 if (UNTAG_Bool(REGB0)) {
18311 } else {
18312 nit_abort("Assert failed", NULL, LOCATE_parser, 6250);
18313 }
18314 /* parser/parser.nit:6252 */
18315 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18316 if (UNTAG_Bool(REGB0)) {
18317 } else {
18318 nit_abort("Assert failed", NULL, LOCATE_parser, 6252);
18319 }
18320 /* parser/parser.nit:6254 */
18321 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
18322 if (UNTAG_Bool(REGB0)) {
18323 } else {
18324 nit_abort("Assert failed", NULL, LOCATE_parser, 6254);
18325 }
18326 /* parser/parser.nit:6256 */
18327 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18328 if (UNTAG_Bool(REGB0)) {
18329 } else {
18330 nit_abort("Assert failed", NULL, LOCATE_parser, 6256);
18331 }
18332 /* parser/parser.nit:6257 */
18333 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
18334 /* parser/parser.nit:6267 */
18335 fra.me.REG[2] = fra.me.REG[3];
18336 /* parser/parser.nit:6268 */
18337 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18338 if (UNTAG_Bool(REGB0)) {
18339 } else {
18340 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6268);
18341 }
18342 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18343 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18344 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18345 stack_frame_head = fra.me.prev;
18346 return;
18347 }
18348 void parser___ReduceAction148___action(val_t p0, val_t p1){
18349 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
18350 val_t REGB0;
18351 val_t tmp;
18352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18353 fra.me.file = LOCATE_parser;
18354 fra.me.line = 6273;
18355 fra.me.meth = LOCATE_parser___ReduceAction148___action;
18356 fra.me.has_broke = 0;
18357 fra.me.REG_size = 8;
18358 fra.me.nitni_local_ref_head = NULL;
18359 fra.me.REG[0] = NIT_NULL;
18360 fra.me.REG[1] = NIT_NULL;
18361 fra.me.REG[2] = NIT_NULL;
18362 fra.me.REG[3] = NIT_NULL;
18363 fra.me.REG[4] = NIT_NULL;
18364 fra.me.REG[5] = NIT_NULL;
18365 fra.me.REG[6] = NIT_NULL;
18366 fra.me.REG[7] = NIT_NULL;
18367 fra.me.REG[0] = p0;
18368 fra.me.REG[1] = p1;
18369 /* parser/parser.nit:6275 */
18370 fra.me.REG[2] = NIT_NULL;
18371 /* parser/parser.nit:6276 */
18372 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18373 /* parser/parser.nit:6277 */
18374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18375 /* parser/parser.nit:6278 */
18376 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18377 /* parser/parser.nit:6279 */
18378 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18379 /* parser/parser.nit:6280 */
18380 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18381 /* parser/parser.nit:6281 */
18382 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18383 /* parser/parser.nit:6282 */
18384 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18385 /* parser/parser.nit:6284 */
18386 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18387 if (UNTAG_Bool(REGB0)) {
18388 } else {
18389 nit_abort("Assert failed", NULL, LOCATE_parser, 6284);
18390 }
18391 /* parser/parser.nit:6286 */
18392 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18393 if (UNTAG_Bool(REGB0)) {
18394 } else {
18395 nit_abort("Assert failed", NULL, LOCATE_parser, 6286);
18396 }
18397 /* parser/parser.nit:6288 */
18398 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18399 if (UNTAG_Bool(REGB0)) {
18400 } else {
18401 nit_abort("Assert failed", NULL, LOCATE_parser, 6288);
18402 }
18403 /* parser/parser.nit:6290 */
18404 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18405 if (UNTAG_Bool(REGB0)) {
18406 } else {
18407 nit_abort("Assert failed", NULL, LOCATE_parser, 6290);
18408 }
18409 /* parser/parser.nit:6292 */
18410 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
18411 if (UNTAG_Bool(REGB0)) {
18412 } else {
18413 nit_abort("Assert failed", NULL, LOCATE_parser, 6292);
18414 }
18415 /* parser/parser.nit:6293 */
18416 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL);
18417 /* parser/parser.nit:6303 */
18418 fra.me.REG[2] = fra.me.REG[3];
18419 /* parser/parser.nit:6304 */
18420 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18421 if (UNTAG_Bool(REGB0)) {
18422 } else {
18423 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6304);
18424 }
18425 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18426 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18427 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18428 stack_frame_head = fra.me.prev;
18429 return;
18430 }
18431 void parser___ReduceAction149___action(val_t p0, val_t p1){
18432 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18433 val_t REGB0;
18434 val_t tmp;
18435 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18436 fra.me.file = LOCATE_parser;
18437 fra.me.line = 6309;
18438 fra.me.meth = LOCATE_parser___ReduceAction149___action;
18439 fra.me.has_broke = 0;
18440 fra.me.REG_size = 9;
18441 fra.me.nitni_local_ref_head = NULL;
18442 fra.me.REG[0] = NIT_NULL;
18443 fra.me.REG[1] = NIT_NULL;
18444 fra.me.REG[2] = NIT_NULL;
18445 fra.me.REG[3] = NIT_NULL;
18446 fra.me.REG[4] = NIT_NULL;
18447 fra.me.REG[5] = NIT_NULL;
18448 fra.me.REG[6] = NIT_NULL;
18449 fra.me.REG[7] = NIT_NULL;
18450 fra.me.REG[8] = NIT_NULL;
18451 fra.me.REG[0] = p0;
18452 fra.me.REG[1] = p1;
18453 /* parser/parser.nit:6311 */
18454 fra.me.REG[2] = NIT_NULL;
18455 /* parser/parser.nit:6312 */
18456 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18457 /* parser/parser.nit:6313 */
18458 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18459 /* parser/parser.nit:6314 */
18460 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18461 /* parser/parser.nit:6315 */
18462 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18463 /* parser/parser.nit:6316 */
18464 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18465 /* parser/parser.nit:6317 */
18466 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18467 /* parser/parser.nit:6318 */
18468 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18469 /* parser/parser.nit:6319 */
18470 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18471 /* parser/parser.nit:6321 */
18472 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18473 if (UNTAG_Bool(REGB0)) {
18474 } else {
18475 nit_abort("Assert failed", NULL, LOCATE_parser, 6321);
18476 }
18477 /* parser/parser.nit:6323 */
18478 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
18479 if (UNTAG_Bool(REGB0)) {
18480 } else {
18481 nit_abort("Assert failed", NULL, LOCATE_parser, 6323);
18482 }
18483 /* parser/parser.nit:6325 */
18484 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18485 if (UNTAG_Bool(REGB0)) {
18486 } else {
18487 nit_abort("Assert failed", NULL, LOCATE_parser, 6325);
18488 }
18489 /* parser/parser.nit:6327 */
18490 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18491 if (UNTAG_Bool(REGB0)) {
18492 } else {
18493 nit_abort("Assert failed", NULL, LOCATE_parser, 6327);
18494 }
18495 /* parser/parser.nit:6329 */
18496 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18497 if (UNTAG_Bool(REGB0)) {
18498 } else {
18499 nit_abort("Assert failed", NULL, LOCATE_parser, 6329);
18500 }
18501 /* parser/parser.nit:6331 */
18502 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
18503 if (UNTAG_Bool(REGB0)) {
18504 } else {
18505 nit_abort("Assert failed", NULL, LOCATE_parser, 6331);
18506 }
18507 /* parser/parser.nit:6332 */
18508 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL);
18509 /* parser/parser.nit:6342 */
18510 fra.me.REG[2] = fra.me.REG[3];
18511 /* parser/parser.nit:6343 */
18512 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18513 if (UNTAG_Bool(REGB0)) {
18514 } else {
18515 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6343);
18516 }
18517 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18518 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18519 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18520 stack_frame_head = fra.me.prev;
18521 return;
18522 }
18523 void parser___ReduceAction150___action(val_t p0, val_t p1){
18524 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18525 val_t REGB0;
18526 val_t tmp;
18527 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18528 fra.me.file = LOCATE_parser;
18529 fra.me.line = 6348;
18530 fra.me.meth = LOCATE_parser___ReduceAction150___action;
18531 fra.me.has_broke = 0;
18532 fra.me.REG_size = 9;
18533 fra.me.nitni_local_ref_head = NULL;
18534 fra.me.REG[0] = NIT_NULL;
18535 fra.me.REG[1] = NIT_NULL;
18536 fra.me.REG[2] = NIT_NULL;
18537 fra.me.REG[3] = NIT_NULL;
18538 fra.me.REG[4] = NIT_NULL;
18539 fra.me.REG[5] = NIT_NULL;
18540 fra.me.REG[6] = NIT_NULL;
18541 fra.me.REG[7] = NIT_NULL;
18542 fra.me.REG[8] = NIT_NULL;
18543 fra.me.REG[0] = p0;
18544 fra.me.REG[1] = p1;
18545 /* parser/parser.nit:6350 */
18546 fra.me.REG[2] = NIT_NULL;
18547 /* parser/parser.nit:6351 */
18548 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18549 /* parser/parser.nit:6352 */
18550 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18551 /* parser/parser.nit:6353 */
18552 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18553 /* parser/parser.nit:6354 */
18554 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18555 /* parser/parser.nit:6355 */
18556 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18557 /* parser/parser.nit:6356 */
18558 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18559 /* parser/parser.nit:6357 */
18560 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18561 /* parser/parser.nit:6358 */
18562 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18563 /* parser/parser.nit:6360 */
18564 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18565 if (UNTAG_Bool(REGB0)) {
18566 } else {
18567 nit_abort("Assert failed", NULL, LOCATE_parser, 6360);
18568 }
18569 /* parser/parser.nit:6362 */
18570 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18571 if (UNTAG_Bool(REGB0)) {
18572 } else {
18573 nit_abort("Assert failed", NULL, LOCATE_parser, 6362);
18574 }
18575 /* parser/parser.nit:6364 */
18576 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18577 if (UNTAG_Bool(REGB0)) {
18578 } else {
18579 nit_abort("Assert failed", NULL, LOCATE_parser, 6364);
18580 }
18581 /* parser/parser.nit:6366 */
18582 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
18583 if (UNTAG_Bool(REGB0)) {
18584 } else {
18585 nit_abort("Assert failed", NULL, LOCATE_parser, 6366);
18586 }
18587 /* parser/parser.nit:6368 */
18588 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18589 if (UNTAG_Bool(REGB0)) {
18590 } else {
18591 nit_abort("Assert failed", NULL, LOCATE_parser, 6368);
18592 }
18593 /* parser/parser.nit:6370 */
18594 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
18595 if (UNTAG_Bool(REGB0)) {
18596 } else {
18597 nit_abort("Assert failed", NULL, LOCATE_parser, 6370);
18598 }
18599 /* parser/parser.nit:6371 */
18600 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
18601 /* parser/parser.nit:6381 */
18602 fra.me.REG[2] = fra.me.REG[3];
18603 /* parser/parser.nit:6382 */
18604 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18605 if (UNTAG_Bool(REGB0)) {
18606 } else {
18607 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6382);
18608 }
18609 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18610 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18611 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18612 stack_frame_head = fra.me.prev;
18613 return;
18614 }
18615 void parser___ReduceAction151___action(val_t p0, val_t p1){
18616 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
18617 val_t REGB0;
18618 val_t tmp;
18619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18620 fra.me.file = LOCATE_parser;
18621 fra.me.line = 6387;
18622 fra.me.meth = LOCATE_parser___ReduceAction151___action;
18623 fra.me.has_broke = 0;
18624 fra.me.REG_size = 10;
18625 fra.me.nitni_local_ref_head = NULL;
18626 fra.me.REG[0] = NIT_NULL;
18627 fra.me.REG[1] = NIT_NULL;
18628 fra.me.REG[2] = NIT_NULL;
18629 fra.me.REG[3] = NIT_NULL;
18630 fra.me.REG[4] = NIT_NULL;
18631 fra.me.REG[5] = NIT_NULL;
18632 fra.me.REG[6] = NIT_NULL;
18633 fra.me.REG[7] = NIT_NULL;
18634 fra.me.REG[8] = NIT_NULL;
18635 fra.me.REG[9] = NIT_NULL;
18636 fra.me.REG[0] = p0;
18637 fra.me.REG[1] = p1;
18638 /* parser/parser.nit:6389 */
18639 fra.me.REG[2] = NIT_NULL;
18640 /* parser/parser.nit:6390 */
18641 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18642 /* parser/parser.nit:6391 */
18643 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18644 /* parser/parser.nit:6392 */
18645 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18646 /* parser/parser.nit:6393 */
18647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18648 /* parser/parser.nit:6394 */
18649 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18650 /* parser/parser.nit:6395 */
18651 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18652 /* parser/parser.nit:6396 */
18653 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18654 /* parser/parser.nit:6397 */
18655 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18656 /* parser/parser.nit:6398 */
18657 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18658 /* parser/parser.nit:6400 */
18659 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18660 if (UNTAG_Bool(REGB0)) {
18661 } else {
18662 nit_abort("Assert failed", NULL, LOCATE_parser, 6400);
18663 }
18664 /* parser/parser.nit:6402 */
18665 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
18666 if (UNTAG_Bool(REGB0)) {
18667 } else {
18668 nit_abort("Assert failed", NULL, LOCATE_parser, 6402);
18669 }
18670 /* parser/parser.nit:6404 */
18671 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18672 if (UNTAG_Bool(REGB0)) {
18673 } else {
18674 nit_abort("Assert failed", NULL, LOCATE_parser, 6404);
18675 }
18676 /* parser/parser.nit:6406 */
18677 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18678 if (UNTAG_Bool(REGB0)) {
18679 } else {
18680 nit_abort("Assert failed", NULL, LOCATE_parser, 6406);
18681 }
18682 /* parser/parser.nit:6408 */
18683 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
18684 if (UNTAG_Bool(REGB0)) {
18685 } else {
18686 nit_abort("Assert failed", NULL, LOCATE_parser, 6408);
18687 }
18688 /* parser/parser.nit:6410 */
18689 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18690 if (UNTAG_Bool(REGB0)) {
18691 } else {
18692 nit_abort("Assert failed", NULL, LOCATE_parser, 6410);
18693 }
18694 /* parser/parser.nit:6412 */
18695 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
18696 if (UNTAG_Bool(REGB0)) {
18697 } else {
18698 nit_abort("Assert failed", NULL, LOCATE_parser, 6412);
18699 }
18700 /* parser/parser.nit:6413 */
18701 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
18702 /* parser/parser.nit:6423 */
18703 fra.me.REG[2] = fra.me.REG[3];
18704 /* parser/parser.nit:6424 */
18705 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18706 if (UNTAG_Bool(REGB0)) {
18707 } else {
18708 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6424);
18709 }
18710 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18711 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18712 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18713 stack_frame_head = fra.me.prev;
18714 return;
18715 }
18716 void parser___ReduceAction152___action(val_t p0, val_t p1){
18717 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
18718 val_t REGB0;
18719 val_t tmp;
18720 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18721 fra.me.file = LOCATE_parser;
18722 fra.me.line = 6429;
18723 fra.me.meth = LOCATE_parser___ReduceAction152___action;
18724 fra.me.has_broke = 0;
18725 fra.me.REG_size = 8;
18726 fra.me.nitni_local_ref_head = NULL;
18727 fra.me.REG[0] = NIT_NULL;
18728 fra.me.REG[1] = NIT_NULL;
18729 fra.me.REG[2] = NIT_NULL;
18730 fra.me.REG[3] = NIT_NULL;
18731 fra.me.REG[4] = NIT_NULL;
18732 fra.me.REG[5] = NIT_NULL;
18733 fra.me.REG[6] = NIT_NULL;
18734 fra.me.REG[7] = NIT_NULL;
18735 fra.me.REG[0] = p0;
18736 fra.me.REG[1] = p1;
18737 /* parser/parser.nit:6431 */
18738 fra.me.REG[2] = NIT_NULL;
18739 /* parser/parser.nit:6432 */
18740 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18741 /* parser/parser.nit:6433 */
18742 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18743 /* parser/parser.nit:6434 */
18744 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18745 /* parser/parser.nit:6435 */
18746 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18747 /* parser/parser.nit:6436 */
18748 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18749 /* parser/parser.nit:6437 */
18750 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18751 /* parser/parser.nit:6438 */
18752 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18753 /* parser/parser.nit:6440 */
18754 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18755 if (UNTAG_Bool(REGB0)) {
18756 } else {
18757 nit_abort("Assert failed", NULL, LOCATE_parser, 6440);
18758 }
18759 /* parser/parser.nit:6442 */
18760 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18761 if (UNTAG_Bool(REGB0)) {
18762 } else {
18763 nit_abort("Assert failed", NULL, LOCATE_parser, 6442);
18764 }
18765 /* parser/parser.nit:6444 */
18766 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18767 if (UNTAG_Bool(REGB0)) {
18768 } else {
18769 nit_abort("Assert failed", NULL, LOCATE_parser, 6444);
18770 }
18771 /* parser/parser.nit:6446 */
18772 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18773 if (UNTAG_Bool(REGB0)) {
18774 } else {
18775 nit_abort("Assert failed", NULL, LOCATE_parser, 6446);
18776 }
18777 /* parser/parser.nit:6448 */
18778 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
18779 if (UNTAG_Bool(REGB0)) {
18780 } else {
18781 nit_abort("Assert failed", NULL, LOCATE_parser, 6448);
18782 }
18783 /* parser/parser.nit:6449 */
18784 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
18785 /* parser/parser.nit:6459 */
18786 fra.me.REG[2] = fra.me.REG[3];
18787 /* parser/parser.nit:6460 */
18788 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18789 if (UNTAG_Bool(REGB0)) {
18790 } else {
18791 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6460);
18792 }
18793 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18794 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18795 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18796 stack_frame_head = fra.me.prev;
18797 return;
18798 }
18799 void parser___ReduceAction153___action(val_t p0, val_t p1){
18800 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18801 val_t REGB0;
18802 val_t tmp;
18803 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18804 fra.me.file = LOCATE_parser;
18805 fra.me.line = 6465;
18806 fra.me.meth = LOCATE_parser___ReduceAction153___action;
18807 fra.me.has_broke = 0;
18808 fra.me.REG_size = 9;
18809 fra.me.nitni_local_ref_head = NULL;
18810 fra.me.REG[0] = NIT_NULL;
18811 fra.me.REG[1] = NIT_NULL;
18812 fra.me.REG[2] = NIT_NULL;
18813 fra.me.REG[3] = NIT_NULL;
18814 fra.me.REG[4] = NIT_NULL;
18815 fra.me.REG[5] = NIT_NULL;
18816 fra.me.REG[6] = NIT_NULL;
18817 fra.me.REG[7] = NIT_NULL;
18818 fra.me.REG[8] = NIT_NULL;
18819 fra.me.REG[0] = p0;
18820 fra.me.REG[1] = p1;
18821 /* parser/parser.nit:6467 */
18822 fra.me.REG[2] = NIT_NULL;
18823 /* parser/parser.nit:6468 */
18824 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18825 /* parser/parser.nit:6469 */
18826 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18827 /* parser/parser.nit:6470 */
18828 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18829 /* parser/parser.nit:6471 */
18830 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18831 /* parser/parser.nit:6472 */
18832 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18833 /* parser/parser.nit:6473 */
18834 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18835 /* parser/parser.nit:6474 */
18836 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18837 /* parser/parser.nit:6475 */
18838 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18839 /* parser/parser.nit:6477 */
18840 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18841 if (UNTAG_Bool(REGB0)) {
18842 } else {
18843 nit_abort("Assert failed", NULL, LOCATE_parser, 6477);
18844 }
18845 /* parser/parser.nit:6479 */
18846 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
18847 if (UNTAG_Bool(REGB0)) {
18848 } else {
18849 nit_abort("Assert failed", NULL, LOCATE_parser, 6479);
18850 }
18851 /* parser/parser.nit:6481 */
18852 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18853 if (UNTAG_Bool(REGB0)) {
18854 } else {
18855 nit_abort("Assert failed", NULL, LOCATE_parser, 6481);
18856 }
18857 /* parser/parser.nit:6483 */
18858 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18859 if (UNTAG_Bool(REGB0)) {
18860 } else {
18861 nit_abort("Assert failed", NULL, LOCATE_parser, 6483);
18862 }
18863 /* parser/parser.nit:6485 */
18864 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18865 if (UNTAG_Bool(REGB0)) {
18866 } else {
18867 nit_abort("Assert failed", NULL, LOCATE_parser, 6485);
18868 }
18869 /* parser/parser.nit:6487 */
18870 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
18871 if (UNTAG_Bool(REGB0)) {
18872 } else {
18873 nit_abort("Assert failed", NULL, LOCATE_parser, 6487);
18874 }
18875 /* parser/parser.nit:6488 */
18876 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
18877 /* parser/parser.nit:6498 */
18878 fra.me.REG[2] = fra.me.REG[3];
18879 /* parser/parser.nit:6499 */
18880 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18881 if (UNTAG_Bool(REGB0)) {
18882 } else {
18883 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6499);
18884 }
18885 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18886 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18887 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18888 stack_frame_head = fra.me.prev;
18889 return;
18890 }
18891 void parser___ReduceAction154___action(val_t p0, val_t p1){
18892 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18893 val_t REGB0;
18894 val_t tmp;
18895 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18896 fra.me.file = LOCATE_parser;
18897 fra.me.line = 6504;
18898 fra.me.meth = LOCATE_parser___ReduceAction154___action;
18899 fra.me.has_broke = 0;
18900 fra.me.REG_size = 9;
18901 fra.me.nitni_local_ref_head = NULL;
18902 fra.me.REG[0] = NIT_NULL;
18903 fra.me.REG[1] = NIT_NULL;
18904 fra.me.REG[2] = NIT_NULL;
18905 fra.me.REG[3] = NIT_NULL;
18906 fra.me.REG[4] = NIT_NULL;
18907 fra.me.REG[5] = NIT_NULL;
18908 fra.me.REG[6] = NIT_NULL;
18909 fra.me.REG[7] = NIT_NULL;
18910 fra.me.REG[8] = NIT_NULL;
18911 fra.me.REG[0] = p0;
18912 fra.me.REG[1] = p1;
18913 /* parser/parser.nit:6506 */
18914 fra.me.REG[2] = NIT_NULL;
18915 /* parser/parser.nit:6507 */
18916 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18917 /* parser/parser.nit:6508 */
18918 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18919 /* parser/parser.nit:6509 */
18920 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18921 /* parser/parser.nit:6510 */
18922 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18923 /* parser/parser.nit:6511 */
18924 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18925 /* parser/parser.nit:6512 */
18926 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18927 /* parser/parser.nit:6513 */
18928 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18929 /* parser/parser.nit:6514 */
18930 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18931 /* parser/parser.nit:6516 */
18932 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
18933 if (UNTAG_Bool(REGB0)) {
18934 } else {
18935 nit_abort("Assert failed", NULL, LOCATE_parser, 6516);
18936 }
18937 /* parser/parser.nit:6518 */
18938 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
18939 if (UNTAG_Bool(REGB0)) {
18940 } else {
18941 nit_abort("Assert failed", NULL, LOCATE_parser, 6518);
18942 }
18943 /* parser/parser.nit:6520 */
18944 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
18945 if (UNTAG_Bool(REGB0)) {
18946 } else {
18947 nit_abort("Assert failed", NULL, LOCATE_parser, 6520);
18948 }
18949 /* parser/parser.nit:6522 */
18950 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
18951 if (UNTAG_Bool(REGB0)) {
18952 } else {
18953 nit_abort("Assert failed", NULL, LOCATE_parser, 6522);
18954 }
18955 /* parser/parser.nit:6524 */
18956 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18957 if (UNTAG_Bool(REGB0)) {
18958 } else {
18959 nit_abort("Assert failed", NULL, LOCATE_parser, 6524);
18960 }
18961 /* parser/parser.nit:6526 */
18962 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
18963 if (UNTAG_Bool(REGB0)) {
18964 } else {
18965 nit_abort("Assert failed", NULL, LOCATE_parser, 6526);
18966 }
18967 /* parser/parser.nit:6527 */
18968 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
18969 /* parser/parser.nit:6537 */
18970 fra.me.REG[2] = fra.me.REG[3];
18971 /* parser/parser.nit:6538 */
18972 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18973 if (UNTAG_Bool(REGB0)) {
18974 } else {
18975 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6538);
18976 }
18977 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18978 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18979 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18980 stack_frame_head = fra.me.prev;
18981 return;
18982 }
18983 void parser___ReduceAction155___action(val_t p0, val_t p1){
18984 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
18985 val_t REGB0;
18986 val_t tmp;
18987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18988 fra.me.file = LOCATE_parser;
18989 fra.me.line = 6543;
18990 fra.me.meth = LOCATE_parser___ReduceAction155___action;
18991 fra.me.has_broke = 0;
18992 fra.me.REG_size = 10;
18993 fra.me.nitni_local_ref_head = NULL;
18994 fra.me.REG[0] = NIT_NULL;
18995 fra.me.REG[1] = NIT_NULL;
18996 fra.me.REG[2] = NIT_NULL;
18997 fra.me.REG[3] = NIT_NULL;
18998 fra.me.REG[4] = NIT_NULL;
18999 fra.me.REG[5] = NIT_NULL;
19000 fra.me.REG[6] = NIT_NULL;
19001 fra.me.REG[7] = NIT_NULL;
19002 fra.me.REG[8] = NIT_NULL;
19003 fra.me.REG[9] = NIT_NULL;
19004 fra.me.REG[0] = p0;
19005 fra.me.REG[1] = p1;
19006 /* parser/parser.nit:6545 */
19007 fra.me.REG[2] = NIT_NULL;
19008 /* parser/parser.nit:6546 */
19009 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19010 /* parser/parser.nit:6547 */
19011 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19012 /* parser/parser.nit:6548 */
19013 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19014 /* parser/parser.nit:6549 */
19015 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19016 /* parser/parser.nit:6550 */
19017 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19018 /* parser/parser.nit:6551 */
19019 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19020 /* parser/parser.nit:6552 */
19021 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19022 /* parser/parser.nit:6553 */
19023 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19024 /* parser/parser.nit:6554 */
19025 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19026 /* parser/parser.nit:6556 */
19027 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
19028 if (UNTAG_Bool(REGB0)) {
19029 } else {
19030 nit_abort("Assert failed", NULL, LOCATE_parser, 6556);
19031 }
19032 /* parser/parser.nit:6558 */
19033 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
19034 if (UNTAG_Bool(REGB0)) {
19035 } else {
19036 nit_abort("Assert failed", NULL, LOCATE_parser, 6558);
19037 }
19038 /* parser/parser.nit:6560 */
19039 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19040 if (UNTAG_Bool(REGB0)) {
19041 } else {
19042 nit_abort("Assert failed", NULL, LOCATE_parser, 6560);
19043 }
19044 /* parser/parser.nit:6562 */
19045 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
19046 if (UNTAG_Bool(REGB0)) {
19047 } else {
19048 nit_abort("Assert failed", NULL, LOCATE_parser, 6562);
19049 }
19050 /* parser/parser.nit:6564 */
19051 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19052 if (UNTAG_Bool(REGB0)) {
19053 } else {
19054 nit_abort("Assert failed", NULL, LOCATE_parser, 6564);
19055 }
19056 /* parser/parser.nit:6566 */
19057 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19058 if (UNTAG_Bool(REGB0)) {
19059 } else {
19060 nit_abort("Assert failed", NULL, LOCATE_parser, 6566);
19061 }
19062 /* parser/parser.nit:6568 */
19063 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19064 if (UNTAG_Bool(REGB0)) {
19065 } else {
19066 nit_abort("Assert failed", NULL, LOCATE_parser, 6568);
19067 }
19068 /* parser/parser.nit:6569 */
19069 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
19070 /* parser/parser.nit:6579 */
19071 fra.me.REG[2] = fra.me.REG[3];
19072 /* parser/parser.nit:6580 */
19073 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19074 if (UNTAG_Bool(REGB0)) {
19075 } else {
19076 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6580);
19077 }
19078 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19079 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19080 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19081 stack_frame_head = fra.me.prev;
19082 return;
19083 }
19084 void parser___ReduceAction156___action(val_t p0, val_t p1){
19085 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
19086 val_t REGB0;
19087 val_t tmp;
19088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19089 fra.me.file = LOCATE_parser;
19090 fra.me.line = 6585;
19091 fra.me.meth = LOCATE_parser___ReduceAction156___action;
19092 fra.me.has_broke = 0;
19093 fra.me.REG_size = 9;
19094 fra.me.nitni_local_ref_head = NULL;
19095 fra.me.REG[0] = NIT_NULL;
19096 fra.me.REG[1] = NIT_NULL;
19097 fra.me.REG[2] = NIT_NULL;
19098 fra.me.REG[3] = NIT_NULL;
19099 fra.me.REG[4] = NIT_NULL;
19100 fra.me.REG[5] = NIT_NULL;
19101 fra.me.REG[6] = NIT_NULL;
19102 fra.me.REG[7] = NIT_NULL;
19103 fra.me.REG[8] = NIT_NULL;
19104 fra.me.REG[0] = p0;
19105 fra.me.REG[1] = p1;
19106 /* parser/parser.nit:6587 */
19107 fra.me.REG[2] = NIT_NULL;
19108 /* parser/parser.nit:6588 */
19109 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19110 /* parser/parser.nit:6589 */
19111 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19112 /* parser/parser.nit:6590 */
19113 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19114 /* parser/parser.nit:6591 */
19115 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19116 /* parser/parser.nit:6592 */
19117 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19118 /* parser/parser.nit:6593 */
19119 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19120 /* parser/parser.nit:6594 */
19121 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19122 /* parser/parser.nit:6595 */
19123 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19124 /* parser/parser.nit:6597 */
19125 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
19126 if (UNTAG_Bool(REGB0)) {
19127 } else {
19128 nit_abort("Assert failed", NULL, LOCATE_parser, 6597);
19129 }
19130 /* parser/parser.nit:6599 */
19131 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19132 if (UNTAG_Bool(REGB0)) {
19133 } else {
19134 nit_abort("Assert failed", NULL, LOCATE_parser, 6599);
19135 }
19136 /* parser/parser.nit:6601 */
19137 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
19138 if (UNTAG_Bool(REGB0)) {
19139 } else {
19140 nit_abort("Assert failed", NULL, LOCATE_parser, 6601);
19141 }
19142 /* parser/parser.nit:6603 */
19143 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19144 if (UNTAG_Bool(REGB0)) {
19145 } else {
19146 nit_abort("Assert failed", NULL, LOCATE_parser, 6603);
19147 }
19148 /* parser/parser.nit:6605 */
19149 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
19150 if (UNTAG_Bool(REGB0)) {
19151 } else {
19152 nit_abort("Assert failed", NULL, LOCATE_parser, 6605);
19153 }
19154 /* parser/parser.nit:6607 */
19155 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19156 if (UNTAG_Bool(REGB0)) {
19157 } else {
19158 nit_abort("Assert failed", NULL, LOCATE_parser, 6607);
19159 }
19160 /* parser/parser.nit:6608 */
19161 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
19162 /* parser/parser.nit:6618 */
19163 fra.me.REG[2] = fra.me.REG[3];
19164 /* parser/parser.nit:6619 */
19165 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19166 if (UNTAG_Bool(REGB0)) {
19167 } else {
19168 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6619);
19169 }
19170 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19171 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19172 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19173 stack_frame_head = fra.me.prev;
19174 return;
19175 }
19176 void parser___ReduceAction157___action(val_t p0, val_t p1){
19177 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
19178 val_t REGB0;
19179 val_t tmp;
19180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19181 fra.me.file = LOCATE_parser;
19182 fra.me.line = 6624;
19183 fra.me.meth = LOCATE_parser___ReduceAction157___action;
19184 fra.me.has_broke = 0;
19185 fra.me.REG_size = 10;
19186 fra.me.nitni_local_ref_head = NULL;
19187 fra.me.REG[0] = NIT_NULL;
19188 fra.me.REG[1] = NIT_NULL;
19189 fra.me.REG[2] = NIT_NULL;
19190 fra.me.REG[3] = NIT_NULL;
19191 fra.me.REG[4] = NIT_NULL;
19192 fra.me.REG[5] = NIT_NULL;
19193 fra.me.REG[6] = NIT_NULL;
19194 fra.me.REG[7] = NIT_NULL;
19195 fra.me.REG[8] = NIT_NULL;
19196 fra.me.REG[9] = NIT_NULL;
19197 fra.me.REG[0] = p0;
19198 fra.me.REG[1] = p1;
19199 /* parser/parser.nit:6626 */
19200 fra.me.REG[2] = NIT_NULL;
19201 /* parser/parser.nit:6627 */
19202 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19203 /* parser/parser.nit:6628 */
19204 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19205 /* parser/parser.nit:6629 */
19206 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19207 /* parser/parser.nit:6630 */
19208 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19209 /* parser/parser.nit:6631 */
19210 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19211 /* parser/parser.nit:6632 */
19212 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19213 /* parser/parser.nit:6633 */
19214 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19215 /* parser/parser.nit:6634 */
19216 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19217 /* parser/parser.nit:6635 */
19218 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19219 /* parser/parser.nit:6637 */
19220 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
19221 if (UNTAG_Bool(REGB0)) {
19222 } else {
19223 nit_abort("Assert failed", NULL, LOCATE_parser, 6637);
19224 }
19225 /* parser/parser.nit:6639 */
19226 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
19227 if (UNTAG_Bool(REGB0)) {
19228 } else {
19229 nit_abort("Assert failed", NULL, LOCATE_parser, 6639);
19230 }
19231 /* parser/parser.nit:6641 */
19232 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19233 if (UNTAG_Bool(REGB0)) {
19234 } else {
19235 nit_abort("Assert failed", NULL, LOCATE_parser, 6641);
19236 }
19237 /* parser/parser.nit:6643 */
19238 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
19239 if (UNTAG_Bool(REGB0)) {
19240 } else {
19241 nit_abort("Assert failed", NULL, LOCATE_parser, 6643);
19242 }
19243 /* parser/parser.nit:6645 */
19244 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19245 if (UNTAG_Bool(REGB0)) {
19246 } else {
19247 nit_abort("Assert failed", NULL, LOCATE_parser, 6645);
19248 }
19249 /* parser/parser.nit:6647 */
19250 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
19251 if (UNTAG_Bool(REGB0)) {
19252 } else {
19253 nit_abort("Assert failed", NULL, LOCATE_parser, 6647);
19254 }
19255 /* parser/parser.nit:6649 */
19256 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19257 if (UNTAG_Bool(REGB0)) {
19258 } else {
19259 nit_abort("Assert failed", NULL, LOCATE_parser, 6649);
19260 }
19261 /* parser/parser.nit:6650 */
19262 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
19263 /* parser/parser.nit:6660 */
19264 fra.me.REG[2] = fra.me.REG[3];
19265 /* parser/parser.nit:6661 */
19266 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19267 if (UNTAG_Bool(REGB0)) {
19268 } else {
19269 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6661);
19270 }
19271 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19272 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19273 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19274 stack_frame_head = fra.me.prev;
19275 return;
19276 }
19277 void parser___ReduceAction158___action(val_t p0, val_t p1){
19278 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
19279 val_t REGB0;
19280 val_t tmp;
19281 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19282 fra.me.file = LOCATE_parser;
19283 fra.me.line = 6666;
19284 fra.me.meth = LOCATE_parser___ReduceAction158___action;
19285 fra.me.has_broke = 0;
19286 fra.me.REG_size = 10;
19287 fra.me.nitni_local_ref_head = NULL;
19288 fra.me.REG[0] = NIT_NULL;
19289 fra.me.REG[1] = NIT_NULL;
19290 fra.me.REG[2] = NIT_NULL;
19291 fra.me.REG[3] = NIT_NULL;
19292 fra.me.REG[4] = NIT_NULL;
19293 fra.me.REG[5] = NIT_NULL;
19294 fra.me.REG[6] = NIT_NULL;
19295 fra.me.REG[7] = NIT_NULL;
19296 fra.me.REG[8] = NIT_NULL;
19297 fra.me.REG[9] = NIT_NULL;
19298 fra.me.REG[0] = p0;
19299 fra.me.REG[1] = p1;
19300 /* parser/parser.nit:6668 */
19301 fra.me.REG[2] = NIT_NULL;
19302 /* parser/parser.nit:6669 */
19303 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19304 /* parser/parser.nit:6670 */
19305 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19306 /* parser/parser.nit:6671 */
19307 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19308 /* parser/parser.nit:6672 */
19309 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19310 /* parser/parser.nit:6673 */
19311 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19312 /* parser/parser.nit:6674 */
19313 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19314 /* parser/parser.nit:6675 */
19315 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19316 /* parser/parser.nit:6676 */
19317 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19318 /* parser/parser.nit:6677 */
19319 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19320 /* parser/parser.nit:6679 */
19321 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
19322 if (UNTAG_Bool(REGB0)) {
19323 } else {
19324 nit_abort("Assert failed", NULL, LOCATE_parser, 6679);
19325 }
19326 /* parser/parser.nit:6681 */
19327 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19328 if (UNTAG_Bool(REGB0)) {
19329 } else {
19330 nit_abort("Assert failed", NULL, LOCATE_parser, 6681);
19331 }
19332 /* parser/parser.nit:6683 */
19333 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
19334 if (UNTAG_Bool(REGB0)) {
19335 } else {
19336 nit_abort("Assert failed", NULL, LOCATE_parser, 6683);
19337 }
19338 /* parser/parser.nit:6685 */
19339 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19340 if (UNTAG_Bool(REGB0)) {
19341 } else {
19342 nit_abort("Assert failed", NULL, LOCATE_parser, 6685);
19343 }
19344 /* parser/parser.nit:6687 */
19345 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19346 if (UNTAG_Bool(REGB0)) {
19347 } else {
19348 nit_abort("Assert failed", NULL, LOCATE_parser, 6687);
19349 }
19350 /* parser/parser.nit:6689 */
19351 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
19352 if (UNTAG_Bool(REGB0)) {
19353 } else {
19354 nit_abort("Assert failed", NULL, LOCATE_parser, 6689);
19355 }
19356 /* parser/parser.nit:6691 */
19357 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19358 if (UNTAG_Bool(REGB0)) {
19359 } else {
19360 nit_abort("Assert failed", NULL, LOCATE_parser, 6691);
19361 }
19362 /* parser/parser.nit:6692 */
19363 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
19364 /* parser/parser.nit:6702 */
19365 fra.me.REG[2] = fra.me.REG[3];
19366 /* parser/parser.nit:6703 */
19367 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19368 if (UNTAG_Bool(REGB0)) {
19369 } else {
19370 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6703);
19371 }
19372 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19373 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19374 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19375 stack_frame_head = fra.me.prev;
19376 return;
19377 }
19378 void parser___ReduceAction159___action(val_t p0, val_t p1){
19379 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
19380 val_t REGB0;
19381 val_t tmp;
19382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19383 fra.me.file = LOCATE_parser;
19384 fra.me.line = 6708;
19385 fra.me.meth = LOCATE_parser___ReduceAction159___action;
19386 fra.me.has_broke = 0;
19387 fra.me.REG_size = 11;
19388 fra.me.nitni_local_ref_head = NULL;
19389 fra.me.REG[0] = NIT_NULL;
19390 fra.me.REG[1] = NIT_NULL;
19391 fra.me.REG[2] = NIT_NULL;
19392 fra.me.REG[3] = NIT_NULL;
19393 fra.me.REG[4] = NIT_NULL;
19394 fra.me.REG[5] = NIT_NULL;
19395 fra.me.REG[6] = NIT_NULL;
19396 fra.me.REG[7] = NIT_NULL;
19397 fra.me.REG[8] = NIT_NULL;
19398 fra.me.REG[9] = NIT_NULL;
19399 fra.me.REG[10] = NIT_NULL;
19400 fra.me.REG[0] = p0;
19401 fra.me.REG[1] = p1;
19402 /* parser/parser.nit:6710 */
19403 fra.me.REG[2] = NIT_NULL;
19404 /* parser/parser.nit:6711 */
19405 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19406 /* parser/parser.nit:6712 */
19407 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19408 /* parser/parser.nit:6713 */
19409 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19410 /* parser/parser.nit:6714 */
19411 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19412 /* parser/parser.nit:6715 */
19413 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19414 /* parser/parser.nit:6716 */
19415 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19416 /* parser/parser.nit:6717 */
19417 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19418 /* parser/parser.nit:6718 */
19419 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19420 /* parser/parser.nit:6719 */
19421 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19422 /* parser/parser.nit:6720 */
19423 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19424 /* parser/parser.nit:6722 */
19425 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
19426 if (UNTAG_Bool(REGB0)) {
19427 } else {
19428 nit_abort("Assert failed", NULL, LOCATE_parser, 6722);
19429 }
19430 /* parser/parser.nit:6724 */
19431 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
19432 if (UNTAG_Bool(REGB0)) {
19433 } else {
19434 nit_abort("Assert failed", NULL, LOCATE_parser, 6724);
19435 }
19436 /* parser/parser.nit:6726 */
19437 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19438 if (UNTAG_Bool(REGB0)) {
19439 } else {
19440 nit_abort("Assert failed", NULL, LOCATE_parser, 6726);
19441 }
19442 /* parser/parser.nit:6728 */
19443 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
19444 if (UNTAG_Bool(REGB0)) {
19445 } else {
19446 nit_abort("Assert failed", NULL, LOCATE_parser, 6728);
19447 }
19448 /* parser/parser.nit:6730 */
19449 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19450 if (UNTAG_Bool(REGB0)) {
19451 } else {
19452 nit_abort("Assert failed", NULL, LOCATE_parser, 6730);
19453 }
19454 /* parser/parser.nit:6732 */
19455 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19456 if (UNTAG_Bool(REGB0)) {
19457 } else {
19458 nit_abort("Assert failed", NULL, LOCATE_parser, 6732);
19459 }
19460 /* parser/parser.nit:6734 */
19461 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
19462 if (UNTAG_Bool(REGB0)) {
19463 } else {
19464 nit_abort("Assert failed", NULL, LOCATE_parser, 6734);
19465 }
19466 /* parser/parser.nit:6736 */
19467 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19468 if (UNTAG_Bool(REGB0)) {
19469 } else {
19470 nit_abort("Assert failed", NULL, LOCATE_parser, 6736);
19471 }
19472 /* parser/parser.nit:6737 */
19473 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
19474 /* parser/parser.nit:6747 */
19475 fra.me.REG[2] = fra.me.REG[3];
19476 /* parser/parser.nit:6748 */
19477 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19478 if (UNTAG_Bool(REGB0)) {
19479 } else {
19480 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6748);
19481 }
19482 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19483 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19484 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19485 stack_frame_head = fra.me.prev;
19486 return;
19487 }
19488 void parser___ReduceAction160___action(val_t p0, val_t p1){
19489 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19490 val_t REGB0;
19491 val_t tmp;
19492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19493 fra.me.file = LOCATE_parser;
19494 fra.me.line = 6753;
19495 fra.me.meth = LOCATE_parser___ReduceAction160___action;
19496 fra.me.has_broke = 0;
19497 fra.me.REG_size = 4;
19498 fra.me.nitni_local_ref_head = NULL;
19499 fra.me.REG[0] = NIT_NULL;
19500 fra.me.REG[1] = NIT_NULL;
19501 fra.me.REG[2] = NIT_NULL;
19502 fra.me.REG[3] = NIT_NULL;
19503 fra.me.REG[0] = p0;
19504 fra.me.REG[1] = p1;
19505 /* parser/parser.nit:6755 */
19506 fra.me.REG[2] = NIT_NULL;
19507 /* parser/parser.nit:6756 */
19508 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19509 /* parser/parser.nit:6758 */
19510 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwreadable, ID_parser___parser_nodes___TKwreadable)) /*cast nullable TKwreadable*/;
19511 if (UNTAG_Bool(REGB0)) {
19512 } else {
19513 nit_abort("Assert failed", NULL, LOCATE_parser, 6758);
19514 }
19515 /* parser/parser.nit:6759 */
19516 fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[3]);
19517 /* parser/parser.nit:6763 */
19518 fra.me.REG[2] = fra.me.REG[3];
19519 /* parser/parser.nit:6764 */
19520 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19521 if (UNTAG_Bool(REGB0)) {
19522 } else {
19523 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6764);
19524 }
19525 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19526 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19527 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19528 stack_frame_head = fra.me.prev;
19529 return;
19530 }
19531 void parser___ReduceAction161___action(val_t p0, val_t p1){
19532 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
19533 val_t REGB0;
19534 val_t tmp;
19535 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19536 fra.me.file = LOCATE_parser;
19537 fra.me.line = 6769;
19538 fra.me.meth = LOCATE_parser___ReduceAction161___action;
19539 fra.me.has_broke = 0;
19540 fra.me.REG_size = 5;
19541 fra.me.nitni_local_ref_head = NULL;
19542 fra.me.REG[0] = NIT_NULL;
19543 fra.me.REG[1] = NIT_NULL;
19544 fra.me.REG[2] = NIT_NULL;
19545 fra.me.REG[3] = NIT_NULL;
19546 fra.me.REG[4] = NIT_NULL;
19547 fra.me.REG[0] = p0;
19548 fra.me.REG[1] = p1;
19549 /* parser/parser.nit:6771 */
19550 fra.me.REG[2] = NIT_NULL;
19551 /* parser/parser.nit:6772 */
19552 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19553 /* parser/parser.nit:6773 */
19554 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19555 /* parser/parser.nit:6775 */
19556 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
19557 if (UNTAG_Bool(REGB0)) {
19558 } else {
19559 nit_abort("Assert failed", NULL, LOCATE_parser, 6775);
19560 }
19561 /* parser/parser.nit:6777 */
19562 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwreadable, ID_parser___parser_nodes___TKwreadable)) /*cast nullable TKwreadable*/;
19563 if (UNTAG_Bool(REGB0)) {
19564 } else {
19565 nit_abort("Assert failed", NULL, LOCATE_parser, 6777);
19566 }
19567 /* parser/parser.nit:6778 */
19568 fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(fra.me.REG[4], fra.me.REG[3]);
19569 /* parser/parser.nit:6782 */
19570 fra.me.REG[2] = fra.me.REG[3];
19571 /* parser/parser.nit:6783 */
19572 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19573 if (UNTAG_Bool(REGB0)) {
19574 } else {
19575 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6783);
19576 }
19577 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19578 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19579 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19580 stack_frame_head = fra.me.prev;
19581 return;
19582 }
19583 void parser___ReduceAction162___action(val_t p0, val_t p1){
19584 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19585 val_t REGB0;
19586 val_t tmp;
19587 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19588 fra.me.file = LOCATE_parser;
19589 fra.me.line = 6788;
19590 fra.me.meth = LOCATE_parser___ReduceAction162___action;
19591 fra.me.has_broke = 0;
19592 fra.me.REG_size = 4;
19593 fra.me.nitni_local_ref_head = NULL;
19594 fra.me.REG[0] = NIT_NULL;
19595 fra.me.REG[1] = NIT_NULL;
19596 fra.me.REG[2] = NIT_NULL;
19597 fra.me.REG[3] = NIT_NULL;
19598 fra.me.REG[0] = p0;
19599 fra.me.REG[1] = p1;
19600 /* parser/parser.nit:6790 */
19601 fra.me.REG[2] = NIT_NULL;
19602 /* parser/parser.nit:6791 */
19603 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19604 /* parser/parser.nit:6793 */
19605 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwwritable, ID_parser___parser_nodes___TKwwritable)) /*cast nullable TKwwritable*/;
19606 if (UNTAG_Bool(REGB0)) {
19607 } else {
19608 nit_abort("Assert failed", NULL, LOCATE_parser, 6793);
19609 }
19610 /* parser/parser.nit:6794 */
19611 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, NIT_NULL, fra.me.REG[3]);
19612 /* parser/parser.nit:6799 */
19613 fra.me.REG[2] = fra.me.REG[3];
19614 /* parser/parser.nit:6800 */
19615 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19616 if (UNTAG_Bool(REGB0)) {
19617 } else {
19618 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6800);
19619 }
19620 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19622 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19623 stack_frame_head = fra.me.prev;
19624 return;
19625 }
19626 void parser___ReduceAction163___action(val_t p0, val_t p1){
19627 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
19628 val_t REGB0;
19629 val_t tmp;
19630 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19631 fra.me.file = LOCATE_parser;
19632 fra.me.line = 6805;
19633 fra.me.meth = LOCATE_parser___ReduceAction163___action;
19634 fra.me.has_broke = 0;
19635 fra.me.REG_size = 5;
19636 fra.me.nitni_local_ref_head = NULL;
19637 fra.me.REG[0] = NIT_NULL;
19638 fra.me.REG[1] = NIT_NULL;
19639 fra.me.REG[2] = NIT_NULL;
19640 fra.me.REG[3] = NIT_NULL;
19641 fra.me.REG[4] = NIT_NULL;
19642 fra.me.REG[0] = p0;
19643 fra.me.REG[1] = p1;
19644 /* parser/parser.nit:6807 */
19645 fra.me.REG[2] = NIT_NULL;
19646 /* parser/parser.nit:6808 */
19647 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19648 /* parser/parser.nit:6809 */
19649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19650 /* parser/parser.nit:6811 */
19651 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
19652 if (UNTAG_Bool(REGB0)) {
19653 } else {
19654 nit_abort("Assert failed", NULL, LOCATE_parser, 6811);
19655 }
19656 /* parser/parser.nit:6813 */
19657 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwwritable, ID_parser___parser_nodes___TKwwritable)) /*cast nullable TKwwritable*/;
19658 if (UNTAG_Bool(REGB0)) {
19659 } else {
19660 nit_abort("Assert failed", NULL, LOCATE_parser, 6813);
19661 }
19662 /* parser/parser.nit:6814 */
19663 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
19664 /* parser/parser.nit:6819 */
19665 fra.me.REG[2] = fra.me.REG[3];
19666 /* parser/parser.nit:6820 */
19667 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19668 if (UNTAG_Bool(REGB0)) {
19669 } else {
19670 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6820);
19671 }
19672 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19673 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19674 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19675 stack_frame_head = fra.me.prev;
19676 return;
19677 }
19678 void parser___ReduceAction164___action(val_t p0, val_t p1){
19679 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
19680 val_t REGB0;
19681 val_t tmp;
19682 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19683 fra.me.file = LOCATE_parser;
19684 fra.me.line = 6825;
19685 fra.me.meth = LOCATE_parser___ReduceAction164___action;
19686 fra.me.has_broke = 0;
19687 fra.me.REG_size = 5;
19688 fra.me.nitni_local_ref_head = NULL;
19689 fra.me.REG[0] = NIT_NULL;
19690 fra.me.REG[1] = NIT_NULL;
19691 fra.me.REG[2] = NIT_NULL;
19692 fra.me.REG[3] = NIT_NULL;
19693 fra.me.REG[4] = NIT_NULL;
19694 fra.me.REG[0] = p0;
19695 fra.me.REG[1] = p1;
19696 /* parser/parser.nit:6827 */
19697 fra.me.REG[2] = NIT_NULL;
19698 /* parser/parser.nit:6828 */
19699 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19700 /* parser/parser.nit:6829 */
19701 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19702 /* parser/parser.nit:6831 */
19703 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19704 if (UNTAG_Bool(REGB0)) {
19705 } else {
19706 nit_abort("Assert failed", NULL, LOCATE_parser, 6831);
19707 }
19708 /* parser/parser.nit:6833 */
19709 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwwritable, ID_parser___parser_nodes___TKwwritable)) /*cast nullable TKwwritable*/;
19710 if (UNTAG_Bool(REGB0)) {
19711 } else {
19712 nit_abort("Assert failed", NULL, LOCATE_parser, 6833);
19713 }
19714 /* parser/parser.nit:6834 */
19715 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
19716 /* parser/parser.nit:6839 */
19717 fra.me.REG[2] = fra.me.REG[3];
19718 /* parser/parser.nit:6840 */
19719 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19720 if (UNTAG_Bool(REGB0)) {
19721 } else {
19722 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6840);
19723 }
19724 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19725 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19726 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19727 stack_frame_head = fra.me.prev;
19728 return;
19729 }
19730 void parser___ReduceAction165___action(val_t p0, val_t p1){
19731 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
19732 val_t REGB0;
19733 val_t tmp;
19734 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19735 fra.me.file = LOCATE_parser;
19736 fra.me.line = 6845;
19737 fra.me.meth = LOCATE_parser___ReduceAction165___action;
19738 fra.me.has_broke = 0;
19739 fra.me.REG_size = 6;
19740 fra.me.nitni_local_ref_head = NULL;
19741 fra.me.REG[0] = NIT_NULL;
19742 fra.me.REG[1] = NIT_NULL;
19743 fra.me.REG[2] = NIT_NULL;
19744 fra.me.REG[3] = NIT_NULL;
19745 fra.me.REG[4] = NIT_NULL;
19746 fra.me.REG[5] = NIT_NULL;
19747 fra.me.REG[0] = p0;
19748 fra.me.REG[1] = p1;
19749 /* parser/parser.nit:6847 */
19750 fra.me.REG[2] = NIT_NULL;
19751 /* parser/parser.nit:6848 */
19752 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19753 /* parser/parser.nit:6849 */
19754 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19755 /* parser/parser.nit:6850 */
19756 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19757 /* parser/parser.nit:6852 */
19758 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
19759 if (UNTAG_Bool(REGB0)) {
19760 } else {
19761 nit_abort("Assert failed", NULL, LOCATE_parser, 6852);
19762 }
19763 /* parser/parser.nit:6854 */
19764 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19765 if (UNTAG_Bool(REGB0)) {
19766 } else {
19767 nit_abort("Assert failed", NULL, LOCATE_parser, 6854);
19768 }
19769 /* parser/parser.nit:6856 */
19770 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwwritable, ID_parser___parser_nodes___TKwwritable)) /*cast nullable TKwwritable*/;
19771 if (UNTAG_Bool(REGB0)) {
19772 } else {
19773 nit_abort("Assert failed", NULL, LOCATE_parser, 6856);
19774 }
19775 /* parser/parser.nit:6857 */
19776 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
19777 /* parser/parser.nit:6862 */
19778 fra.me.REG[2] = fra.me.REG[3];
19779 /* parser/parser.nit:6863 */
19780 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19781 if (UNTAG_Bool(REGB0)) {
19782 } else {
19783 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6863);
19784 }
19785 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19786 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19787 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19788 stack_frame_head = fra.me.prev;
19789 return;
19790 }
19791 void parser___ReduceAction166___action(val_t p0, val_t p1){
19792 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19793 val_t REGB0;
19794 val_t tmp;
19795 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19796 fra.me.file = LOCATE_parser;
19797 fra.me.line = 6868;
19798 fra.me.meth = LOCATE_parser___ReduceAction166___action;
19799 fra.me.has_broke = 0;
19800 fra.me.REG_size = 4;
19801 fra.me.nitni_local_ref_head = NULL;
19802 fra.me.REG[0] = NIT_NULL;
19803 fra.me.REG[1] = NIT_NULL;
19804 fra.me.REG[2] = NIT_NULL;
19805 fra.me.REG[3] = NIT_NULL;
19806 fra.me.REG[0] = p0;
19807 fra.me.REG[1] = p1;
19808 /* parser/parser.nit:6870 */
19809 fra.me.REG[2] = NIT_NULL;
19810 /* parser/parser.nit:6871 */
19811 fra.me.REG[3] = NEW_APublicVisibility_parser___parser_prod___APublicVisibility___init_apublicvisibility();
19812 /* parser/parser.nit:6872 */
19813 fra.me.REG[2] = fra.me.REG[3];
19814 /* parser/parser.nit:6873 */
19815 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19816 if (UNTAG_Bool(REGB0)) {
19817 } else {
19818 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6873);
19819 }
19820 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19821 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19822 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19823 stack_frame_head = fra.me.prev;
19824 return;
19825 }
19826 void parser___ReduceAction167___action(val_t p0, val_t p1){
19827 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19828 val_t REGB0;
19829 val_t tmp;
19830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19831 fra.me.file = LOCATE_parser;
19832 fra.me.line = 6878;
19833 fra.me.meth = LOCATE_parser___ReduceAction167___action;
19834 fra.me.has_broke = 0;
19835 fra.me.REG_size = 4;
19836 fra.me.nitni_local_ref_head = NULL;
19837 fra.me.REG[0] = NIT_NULL;
19838 fra.me.REG[1] = NIT_NULL;
19839 fra.me.REG[2] = NIT_NULL;
19840 fra.me.REG[3] = NIT_NULL;
19841 fra.me.REG[0] = p0;
19842 fra.me.REG[1] = p1;
19843 /* parser/parser.nit:6880 */
19844 fra.me.REG[2] = NIT_NULL;
19845 /* parser/parser.nit:6881 */
19846 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19847 /* parser/parser.nit:6882 */
19848 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19849 /* parser/parser.nit:6884 */
19850 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwprivate, ID_parser___parser_nodes___TKwprivate)) /*cast nullable TKwprivate*/;
19851 if (UNTAG_Bool(REGB0)) {
19852 } else {
19853 nit_abort("Assert failed", NULL, LOCATE_parser, 6884);
19854 }
19855 /* parser/parser.nit:6885 */
19856 fra.me.REG[3] = NEW_APrivateVisibility_parser___parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[3]);
19857 /* parser/parser.nit:6888 */
19858 fra.me.REG[2] = fra.me.REG[3];
19859 /* parser/parser.nit:6889 */
19860 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19861 if (UNTAG_Bool(REGB0)) {
19862 } else {
19863 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6889);
19864 }
19865 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19866 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19867 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19868 stack_frame_head = fra.me.prev;
19869 return;
19870 }
19871 void parser___ReduceAction168___action(val_t p0, val_t p1){
19872 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19873 val_t REGB0;
19874 val_t tmp;
19875 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19876 fra.me.file = LOCATE_parser;
19877 fra.me.line = 6894;
19878 fra.me.meth = LOCATE_parser___ReduceAction168___action;
19879 fra.me.has_broke = 0;
19880 fra.me.REG_size = 4;
19881 fra.me.nitni_local_ref_head = NULL;
19882 fra.me.REG[0] = NIT_NULL;
19883 fra.me.REG[1] = NIT_NULL;
19884 fra.me.REG[2] = NIT_NULL;
19885 fra.me.REG[3] = NIT_NULL;
19886 fra.me.REG[0] = p0;
19887 fra.me.REG[1] = p1;
19888 /* parser/parser.nit:6896 */
19889 fra.me.REG[2] = NIT_NULL;
19890 /* parser/parser.nit:6897 */
19891 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19892 /* parser/parser.nit:6898 */
19893 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19894 /* parser/parser.nit:6900 */
19895 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwprotected, ID_parser___parser_nodes___TKwprotected)) /*cast nullable TKwprotected*/;
19896 if (UNTAG_Bool(REGB0)) {
19897 } else {
19898 nit_abort("Assert failed", NULL, LOCATE_parser, 6900);
19899 }
19900 /* parser/parser.nit:6901 */
19901 fra.me.REG[3] = NEW_AProtectedVisibility_parser___parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[3]);
19902 /* parser/parser.nit:6904 */
19903 fra.me.REG[2] = fra.me.REG[3];
19904 /* parser/parser.nit:6905 */
19905 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19906 if (UNTAG_Bool(REGB0)) {
19907 } else {
19908 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6905);
19909 }
19910 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19911 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19912 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19913 stack_frame_head = fra.me.prev;
19914 return;
19915 }
19916 void parser___ReduceAction169___action(val_t p0, val_t p1){
19917 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19918 val_t REGB0;
19919 val_t tmp;
19920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19921 fra.me.file = LOCATE_parser;
19922 fra.me.line = 6910;
19923 fra.me.meth = LOCATE_parser___ReduceAction169___action;
19924 fra.me.has_broke = 0;
19925 fra.me.REG_size = 4;
19926 fra.me.nitni_local_ref_head = NULL;
19927 fra.me.REG[0] = NIT_NULL;
19928 fra.me.REG[1] = NIT_NULL;
19929 fra.me.REG[2] = NIT_NULL;
19930 fra.me.REG[3] = NIT_NULL;
19931 fra.me.REG[0] = p0;
19932 fra.me.REG[1] = p1;
19933 /* parser/parser.nit:6912 */
19934 fra.me.REG[2] = NIT_NULL;
19935 /* parser/parser.nit:6913 */
19936 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19937 /* parser/parser.nit:6914 */
19938 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19939 /* parser/parser.nit:6916 */
19940 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwintrude, ID_parser___parser_nodes___TKwintrude)) /*cast nullable TKwintrude*/;
19941 if (UNTAG_Bool(REGB0)) {
19942 } else {
19943 nit_abort("Assert failed", NULL, LOCATE_parser, 6916);
19944 }
19945 /* parser/parser.nit:6917 */
19946 fra.me.REG[3] = NEW_AIntrudeVisibility_parser___parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[3]);
19947 /* parser/parser.nit:6920 */
19948 fra.me.REG[2] = fra.me.REG[3];
19949 /* parser/parser.nit:6921 */
19950 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19951 if (UNTAG_Bool(REGB0)) {
19952 } else {
19953 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6921);
19954 }
19955 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19956 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19957 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19958 stack_frame_head = fra.me.prev;
19959 return;
19960 }
19961 void parser___ReduceAction170___action(val_t p0, val_t p1){
19962 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19963 val_t REGB0;
19964 val_t tmp;
19965 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19966 fra.me.file = LOCATE_parser;
19967 fra.me.line = 6926;
19968 fra.me.meth = LOCATE_parser___ReduceAction170___action;
19969 fra.me.has_broke = 0;
19970 fra.me.REG_size = 4;
19971 fra.me.nitni_local_ref_head = NULL;
19972 fra.me.REG[0] = NIT_NULL;
19973 fra.me.REG[1] = NIT_NULL;
19974 fra.me.REG[2] = NIT_NULL;
19975 fra.me.REG[3] = NIT_NULL;
19976 fra.me.REG[0] = p0;
19977 fra.me.REG[1] = p1;
19978 /* parser/parser.nit:6928 */
19979 fra.me.REG[2] = NIT_NULL;
19980 /* parser/parser.nit:6929 */
19981 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19982 /* parser/parser.nit:6931 */
19983 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
19984 if (UNTAG_Bool(REGB0)) {
19985 } else {
19986 nit_abort("Assert failed", NULL, LOCATE_parser, 6931);
19987 }
19988 /* parser/parser.nit:6932 */
19989 fra.me.REG[3] = NEW_AIdMethid_parser___parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
19990 /* parser/parser.nit:6935 */
19991 fra.me.REG[2] = fra.me.REG[3];
19992 /* parser/parser.nit:6936 */
19993 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19994 if (UNTAG_Bool(REGB0)) {
19995 } else {
19996 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6936);
19997 }
19998 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19999 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20000 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20001 stack_frame_head = fra.me.prev;
20002 return;
20003 }
20004 void parser___ReduceAction171___action(val_t p0, val_t p1){
20005 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20006 val_t REGB0;
20007 val_t tmp;
20008 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20009 fra.me.file = LOCATE_parser;
20010 fra.me.line = 6941;
20011 fra.me.meth = LOCATE_parser___ReduceAction171___action;
20012 fra.me.has_broke = 0;
20013 fra.me.REG_size = 4;
20014 fra.me.nitni_local_ref_head = NULL;
20015 fra.me.REG[0] = NIT_NULL;
20016 fra.me.REG[1] = NIT_NULL;
20017 fra.me.REG[2] = NIT_NULL;
20018 fra.me.REG[3] = NIT_NULL;
20019 fra.me.REG[0] = p0;
20020 fra.me.REG[1] = p1;
20021 /* parser/parser.nit:6943 */
20022 fra.me.REG[2] = NIT_NULL;
20023 /* parser/parser.nit:6944 */
20024 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20025 /* parser/parser.nit:6946 */
20026 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TPlus, ID_parser___parser_nodes___TPlus)) /*cast nullable TPlus*/;
20027 if (UNTAG_Bool(REGB0)) {
20028 } else {
20029 nit_abort("Assert failed", NULL, LOCATE_parser, 6946);
20030 }
20031 /* parser/parser.nit:6947 */
20032 fra.me.REG[3] = NEW_APlusMethid_parser___parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
20033 /* parser/parser.nit:6950 */
20034 fra.me.REG[2] = fra.me.REG[3];
20035 /* parser/parser.nit:6951 */
20036 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20037 if (UNTAG_Bool(REGB0)) {
20038 } else {
20039 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6951);
20040 }
20041 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20042 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20043 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20044 stack_frame_head = fra.me.prev;
20045 return;
20046 }
20047 void parser___ReduceAction172___action(val_t p0, val_t p1){
20048 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20049 val_t REGB0;
20050 val_t tmp;
20051 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20052 fra.me.file = LOCATE_parser;
20053 fra.me.line = 6956;
20054 fra.me.meth = LOCATE_parser___ReduceAction172___action;
20055 fra.me.has_broke = 0;
20056 fra.me.REG_size = 4;
20057 fra.me.nitni_local_ref_head = NULL;
20058 fra.me.REG[0] = NIT_NULL;
20059 fra.me.REG[1] = NIT_NULL;
20060 fra.me.REG[2] = NIT_NULL;
20061 fra.me.REG[3] = NIT_NULL;
20062 fra.me.REG[0] = p0;
20063 fra.me.REG[1] = p1;
20064 /* parser/parser.nit:6958 */
20065 fra.me.REG[2] = NIT_NULL;
20066 /* parser/parser.nit:6959 */
20067 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20068 /* parser/parser.nit:6961 */
20069 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TMinus, ID_parser___parser_nodes___TMinus)) /*cast nullable TMinus*/;
20070 if (UNTAG_Bool(REGB0)) {
20071 } else {
20072 nit_abort("Assert failed", NULL, LOCATE_parser, 6961);
20073 }
20074 /* parser/parser.nit:6962 */
20075 fra.me.REG[3] = NEW_AMinusMethid_parser___parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
20076 /* parser/parser.nit:6965 */
20077 fra.me.REG[2] = fra.me.REG[3];
20078 /* parser/parser.nit:6966 */
20079 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20080 if (UNTAG_Bool(REGB0)) {
20081 } else {
20082 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6966);
20083 }
20084 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20085 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20086 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20087 stack_frame_head = fra.me.prev;
20088 return;
20089 }
20090 void parser___ReduceAction173___action(val_t p0, val_t p1){
20091 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20092 val_t REGB0;
20093 val_t tmp;
20094 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20095 fra.me.file = LOCATE_parser;
20096 fra.me.line = 6971;
20097 fra.me.meth = LOCATE_parser___ReduceAction173___action;
20098 fra.me.has_broke = 0;
20099 fra.me.REG_size = 4;
20100 fra.me.nitni_local_ref_head = NULL;
20101 fra.me.REG[0] = NIT_NULL;
20102 fra.me.REG[1] = NIT_NULL;
20103 fra.me.REG[2] = NIT_NULL;
20104 fra.me.REG[3] = NIT_NULL;
20105 fra.me.REG[0] = p0;
20106 fra.me.REG[1] = p1;
20107 /* parser/parser.nit:6973 */
20108 fra.me.REG[2] = NIT_NULL;
20109 /* parser/parser.nit:6974 */
20110 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20111 /* parser/parser.nit:6976 */
20112 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TStar, ID_parser___parser_nodes___TStar)) /*cast nullable TStar*/;
20113 if (UNTAG_Bool(REGB0)) {
20114 } else {
20115 nit_abort("Assert failed", NULL, LOCATE_parser, 6976);
20116 }
20117 /* parser/parser.nit:6977 */
20118 fra.me.REG[3] = NEW_AStarMethid_parser___parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
20119 /* parser/parser.nit:6980 */
20120 fra.me.REG[2] = fra.me.REG[3];
20121 /* parser/parser.nit:6981 */
20122 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20123 if (UNTAG_Bool(REGB0)) {
20124 } else {
20125 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6981);
20126 }
20127 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20128 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20129 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20130 stack_frame_head = fra.me.prev;
20131 return;
20132 }
20133 void parser___ReduceAction174___action(val_t p0, val_t p1){
20134 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20135 val_t REGB0;
20136 val_t tmp;
20137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20138 fra.me.file = LOCATE_parser;
20139 fra.me.line = 6986;
20140 fra.me.meth = LOCATE_parser___ReduceAction174___action;
20141 fra.me.has_broke = 0;
20142 fra.me.REG_size = 4;
20143 fra.me.nitni_local_ref_head = NULL;
20144 fra.me.REG[0] = NIT_NULL;
20145 fra.me.REG[1] = NIT_NULL;
20146 fra.me.REG[2] = NIT_NULL;
20147 fra.me.REG[3] = NIT_NULL;
20148 fra.me.REG[0] = p0;
20149 fra.me.REG[1] = p1;
20150 /* parser/parser.nit:6988 */
20151 fra.me.REG[2] = NIT_NULL;
20152 /* parser/parser.nit:6989 */
20153 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20154 /* parser/parser.nit:6991 */
20155 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TSlash, ID_parser___parser_nodes___TSlash)) /*cast nullable TSlash*/;
20156 if (UNTAG_Bool(REGB0)) {
20157 } else {
20158 nit_abort("Assert failed", NULL, LOCATE_parser, 6991);
20159 }
20160 /* parser/parser.nit:6992 */
20161 fra.me.REG[3] = NEW_ASlashMethid_parser___parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
20162 /* parser/parser.nit:6995 */
20163 fra.me.REG[2] = fra.me.REG[3];
20164 /* parser/parser.nit:6996 */
20165 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20166 if (UNTAG_Bool(REGB0)) {
20167 } else {
20168 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6996);
20169 }
20170 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20171 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20172 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20173 stack_frame_head = fra.me.prev;
20174 return;
20175 }
20176 void parser___ReduceAction175___action(val_t p0, val_t p1){
20177 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20178 val_t REGB0;
20179 val_t tmp;
20180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20181 fra.me.file = LOCATE_parser;
20182 fra.me.line = 7001;
20183 fra.me.meth = LOCATE_parser___ReduceAction175___action;
20184 fra.me.has_broke = 0;
20185 fra.me.REG_size = 4;
20186 fra.me.nitni_local_ref_head = NULL;
20187 fra.me.REG[0] = NIT_NULL;
20188 fra.me.REG[1] = NIT_NULL;
20189 fra.me.REG[2] = NIT_NULL;
20190 fra.me.REG[3] = NIT_NULL;
20191 fra.me.REG[0] = p0;
20192 fra.me.REG[1] = p1;
20193 /* parser/parser.nit:7003 */
20194 fra.me.REG[2] = NIT_NULL;
20195 /* parser/parser.nit:7004 */
20196 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20197 /* parser/parser.nit:7006 */
20198 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TPercent, ID_parser___parser_nodes___TPercent)) /*cast nullable TPercent*/;
20199 if (UNTAG_Bool(REGB0)) {
20200 } else {
20201 nit_abort("Assert failed", NULL, LOCATE_parser, 7006);
20202 }
20203 /* parser/parser.nit:7007 */
20204 fra.me.REG[3] = NEW_APercentMethid_parser___parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
20205 /* parser/parser.nit:7010 */
20206 fra.me.REG[2] = fra.me.REG[3];
20207 /* parser/parser.nit:7011 */
20208 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20209 if (UNTAG_Bool(REGB0)) {
20210 } else {
20211 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7011);
20212 }
20213 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20214 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20215 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20216 stack_frame_head = fra.me.prev;
20217 return;
20218 }
20219 void parser___ReduceAction176___action(val_t p0, val_t p1){
20220 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20221 val_t REGB0;
20222 val_t tmp;
20223 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20224 fra.me.file = LOCATE_parser;
20225 fra.me.line = 7016;
20226 fra.me.meth = LOCATE_parser___ReduceAction176___action;
20227 fra.me.has_broke = 0;
20228 fra.me.REG_size = 4;
20229 fra.me.nitni_local_ref_head = NULL;
20230 fra.me.REG[0] = NIT_NULL;
20231 fra.me.REG[1] = NIT_NULL;
20232 fra.me.REG[2] = NIT_NULL;
20233 fra.me.REG[3] = NIT_NULL;
20234 fra.me.REG[0] = p0;
20235 fra.me.REG[1] = p1;
20236 /* parser/parser.nit:7018 */
20237 fra.me.REG[2] = NIT_NULL;
20238 /* parser/parser.nit:7019 */
20239 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20240 /* parser/parser.nit:7021 */
20241 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TEq, ID_parser___parser_nodes___TEq)) /*cast nullable TEq*/;
20242 if (UNTAG_Bool(REGB0)) {
20243 } else {
20244 nit_abort("Assert failed", NULL, LOCATE_parser, 7021);
20245 }
20246 /* parser/parser.nit:7022 */
20247 fra.me.REG[3] = NEW_AEqMethid_parser___parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
20248 /* parser/parser.nit:7025 */
20249 fra.me.REG[2] = fra.me.REG[3];
20250 /* parser/parser.nit:7026 */
20251 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20252 if (UNTAG_Bool(REGB0)) {
20253 } else {
20254 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7026);
20255 }
20256 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20258 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20259 stack_frame_head = fra.me.prev;
20260 return;
20261 }
20262 void parser___ReduceAction177___action(val_t p0, val_t p1){
20263 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20264 val_t REGB0;
20265 val_t tmp;
20266 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20267 fra.me.file = LOCATE_parser;
20268 fra.me.line = 7031;
20269 fra.me.meth = LOCATE_parser___ReduceAction177___action;
20270 fra.me.has_broke = 0;
20271 fra.me.REG_size = 4;
20272 fra.me.nitni_local_ref_head = NULL;
20273 fra.me.REG[0] = NIT_NULL;
20274 fra.me.REG[1] = NIT_NULL;
20275 fra.me.REG[2] = NIT_NULL;
20276 fra.me.REG[3] = NIT_NULL;
20277 fra.me.REG[0] = p0;
20278 fra.me.REG[1] = p1;
20279 /* parser/parser.nit:7033 */
20280 fra.me.REG[2] = NIT_NULL;
20281 /* parser/parser.nit:7034 */
20282 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20283 /* parser/parser.nit:7036 */
20284 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TNe, ID_parser___parser_nodes___TNe)) /*cast nullable TNe*/;
20285 if (UNTAG_Bool(REGB0)) {
20286 } else {
20287 nit_abort("Assert failed", NULL, LOCATE_parser, 7036);
20288 }
20289 /* parser/parser.nit:7037 */
20290 fra.me.REG[3] = NEW_ANeMethid_parser___parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
20291 /* parser/parser.nit:7040 */
20292 fra.me.REG[2] = fra.me.REG[3];
20293 /* parser/parser.nit:7041 */
20294 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20295 if (UNTAG_Bool(REGB0)) {
20296 } else {
20297 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7041);
20298 }
20299 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20300 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20301 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20302 stack_frame_head = fra.me.prev;
20303 return;
20304 }
20305 void parser___ReduceAction178___action(val_t p0, val_t p1){
20306 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20307 val_t REGB0;
20308 val_t tmp;
20309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20310 fra.me.file = LOCATE_parser;
20311 fra.me.line = 7046;
20312 fra.me.meth = LOCATE_parser___ReduceAction178___action;
20313 fra.me.has_broke = 0;
20314 fra.me.REG_size = 4;
20315 fra.me.nitni_local_ref_head = NULL;
20316 fra.me.REG[0] = NIT_NULL;
20317 fra.me.REG[1] = NIT_NULL;
20318 fra.me.REG[2] = NIT_NULL;
20319 fra.me.REG[3] = NIT_NULL;
20320 fra.me.REG[0] = p0;
20321 fra.me.REG[1] = p1;
20322 /* parser/parser.nit:7048 */
20323 fra.me.REG[2] = NIT_NULL;
20324 /* parser/parser.nit:7049 */
20325 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20326 /* parser/parser.nit:7051 */
20327 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TLe, ID_parser___parser_nodes___TLe)) /*cast nullable TLe*/;
20328 if (UNTAG_Bool(REGB0)) {
20329 } else {
20330 nit_abort("Assert failed", NULL, LOCATE_parser, 7051);
20331 }
20332 /* parser/parser.nit:7052 */
20333 fra.me.REG[3] = NEW_ALeMethid_parser___parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
20334 /* parser/parser.nit:7055 */
20335 fra.me.REG[2] = fra.me.REG[3];
20336 /* parser/parser.nit:7056 */
20337 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20338 if (UNTAG_Bool(REGB0)) {
20339 } else {
20340 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7056);
20341 }
20342 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20343 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20344 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20345 stack_frame_head = fra.me.prev;
20346 return;
20347 }
20348 void parser___ReduceAction179___action(val_t p0, val_t p1){
20349 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20350 val_t REGB0;
20351 val_t tmp;
20352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20353 fra.me.file = LOCATE_parser;
20354 fra.me.line = 7061;
20355 fra.me.meth = LOCATE_parser___ReduceAction179___action;
20356 fra.me.has_broke = 0;
20357 fra.me.REG_size = 4;
20358 fra.me.nitni_local_ref_head = NULL;
20359 fra.me.REG[0] = NIT_NULL;
20360 fra.me.REG[1] = NIT_NULL;
20361 fra.me.REG[2] = NIT_NULL;
20362 fra.me.REG[3] = NIT_NULL;
20363 fra.me.REG[0] = p0;
20364 fra.me.REG[1] = p1;
20365 /* parser/parser.nit:7063 */
20366 fra.me.REG[2] = NIT_NULL;
20367 /* parser/parser.nit:7064 */
20368 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20369 /* parser/parser.nit:7066 */
20370 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TGe, ID_parser___parser_nodes___TGe)) /*cast nullable TGe*/;
20371 if (UNTAG_Bool(REGB0)) {
20372 } else {
20373 nit_abort("Assert failed", NULL, LOCATE_parser, 7066);
20374 }
20375 /* parser/parser.nit:7067 */
20376 fra.me.REG[3] = NEW_AGeMethid_parser___parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
20377 /* parser/parser.nit:7070 */
20378 fra.me.REG[2] = fra.me.REG[3];
20379 /* parser/parser.nit:7071 */
20380 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20381 if (UNTAG_Bool(REGB0)) {
20382 } else {
20383 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7071);
20384 }
20385 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20386 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20387 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20388 stack_frame_head = fra.me.prev;
20389 return;
20390 }
20391 void parser___ReduceAction180___action(val_t p0, val_t p1){
20392 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20393 val_t REGB0;
20394 val_t tmp;
20395 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20396 fra.me.file = LOCATE_parser;
20397 fra.me.line = 7076;
20398 fra.me.meth = LOCATE_parser___ReduceAction180___action;
20399 fra.me.has_broke = 0;
20400 fra.me.REG_size = 4;
20401 fra.me.nitni_local_ref_head = NULL;
20402 fra.me.REG[0] = NIT_NULL;
20403 fra.me.REG[1] = NIT_NULL;
20404 fra.me.REG[2] = NIT_NULL;
20405 fra.me.REG[3] = NIT_NULL;
20406 fra.me.REG[0] = p0;
20407 fra.me.REG[1] = p1;
20408 /* parser/parser.nit:7078 */
20409 fra.me.REG[2] = NIT_NULL;
20410 /* parser/parser.nit:7079 */
20411 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20412 /* parser/parser.nit:7081 */
20413 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TLt, ID_parser___parser_nodes___TLt)) /*cast nullable TLt*/;
20414 if (UNTAG_Bool(REGB0)) {
20415 } else {
20416 nit_abort("Assert failed", NULL, LOCATE_parser, 7081);
20417 }
20418 /* parser/parser.nit:7082 */
20419 fra.me.REG[3] = NEW_ALtMethid_parser___parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
20420 /* parser/parser.nit:7085 */
20421 fra.me.REG[2] = fra.me.REG[3];
20422 /* parser/parser.nit:7086 */
20423 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20424 if (UNTAG_Bool(REGB0)) {
20425 } else {
20426 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7086);
20427 }
20428 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20429 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20430 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20431 stack_frame_head = fra.me.prev;
20432 return;
20433 }
20434 void parser___ReduceAction181___action(val_t p0, val_t p1){
20435 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20436 val_t REGB0;
20437 val_t tmp;
20438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20439 fra.me.file = LOCATE_parser;
20440 fra.me.line = 7091;
20441 fra.me.meth = LOCATE_parser___ReduceAction181___action;
20442 fra.me.has_broke = 0;
20443 fra.me.REG_size = 4;
20444 fra.me.nitni_local_ref_head = NULL;
20445 fra.me.REG[0] = NIT_NULL;
20446 fra.me.REG[1] = NIT_NULL;
20447 fra.me.REG[2] = NIT_NULL;
20448 fra.me.REG[3] = NIT_NULL;
20449 fra.me.REG[0] = p0;
20450 fra.me.REG[1] = p1;
20451 /* parser/parser.nit:7093 */
20452 fra.me.REG[2] = NIT_NULL;
20453 /* parser/parser.nit:7094 */
20454 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20455 /* parser/parser.nit:7096 */
20456 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TGt, ID_parser___parser_nodes___TGt)) /*cast nullable TGt*/;
20457 if (UNTAG_Bool(REGB0)) {
20458 } else {
20459 nit_abort("Assert failed", NULL, LOCATE_parser, 7096);
20460 }
20461 /* parser/parser.nit:7097 */
20462 fra.me.REG[3] = NEW_AGtMethid_parser___parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
20463 /* parser/parser.nit:7100 */
20464 fra.me.REG[2] = fra.me.REG[3];
20465 /* parser/parser.nit:7101 */
20466 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20467 if (UNTAG_Bool(REGB0)) {
20468 } else {
20469 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7101);
20470 }
20471 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20472 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20473 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20474 stack_frame_head = fra.me.prev;
20475 return;
20476 }
20477 void parser___ReduceAction182___action(val_t p0, val_t p1){
20478 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20479 val_t REGB0;
20480 val_t tmp;
20481 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20482 fra.me.file = LOCATE_parser;
20483 fra.me.line = 7106;
20484 fra.me.meth = LOCATE_parser___ReduceAction182___action;
20485 fra.me.has_broke = 0;
20486 fra.me.REG_size = 4;
20487 fra.me.nitni_local_ref_head = NULL;
20488 fra.me.REG[0] = NIT_NULL;
20489 fra.me.REG[1] = NIT_NULL;
20490 fra.me.REG[2] = NIT_NULL;
20491 fra.me.REG[3] = NIT_NULL;
20492 fra.me.REG[0] = p0;
20493 fra.me.REG[1] = p1;
20494 /* parser/parser.nit:7108 */
20495 fra.me.REG[2] = NIT_NULL;
20496 /* parser/parser.nit:7109 */
20497 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20498 /* parser/parser.nit:7111 */
20499 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TLl, ID_parser___parser_nodes___TLl)) /*cast nullable TLl*/;
20500 if (UNTAG_Bool(REGB0)) {
20501 } else {
20502 nit_abort("Assert failed", NULL, LOCATE_parser, 7111);
20503 }
20504 /* parser/parser.nit:7112 */
20505 fra.me.REG[3] = NEW_ALlMethid_parser___parser_prod___ALlMethid___init_allmethid(fra.me.REG[3]);
20506 /* parser/parser.nit:7115 */
20507 fra.me.REG[2] = fra.me.REG[3];
20508 /* parser/parser.nit:7116 */
20509 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20510 if (UNTAG_Bool(REGB0)) {
20511 } else {
20512 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7116);
20513 }
20514 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20515 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20516 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20517 stack_frame_head = fra.me.prev;
20518 return;
20519 }
20520 void parser___ReduceAction183___action(val_t p0, val_t p1){
20521 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20522 val_t REGB0;
20523 val_t tmp;
20524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20525 fra.me.file = LOCATE_parser;
20526 fra.me.line = 7121;
20527 fra.me.meth = LOCATE_parser___ReduceAction183___action;
20528 fra.me.has_broke = 0;
20529 fra.me.REG_size = 4;
20530 fra.me.nitni_local_ref_head = NULL;
20531 fra.me.REG[0] = NIT_NULL;
20532 fra.me.REG[1] = NIT_NULL;
20533 fra.me.REG[2] = NIT_NULL;
20534 fra.me.REG[3] = NIT_NULL;
20535 fra.me.REG[0] = p0;
20536 fra.me.REG[1] = p1;
20537 /* parser/parser.nit:7123 */
20538 fra.me.REG[2] = NIT_NULL;
20539 /* parser/parser.nit:7124 */
20540 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20541 /* parser/parser.nit:7126 */
20542 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TGg, ID_parser___parser_nodes___TGg)) /*cast nullable TGg*/;
20543 if (UNTAG_Bool(REGB0)) {
20544 } else {
20545 nit_abort("Assert failed", NULL, LOCATE_parser, 7126);
20546 }
20547 /* parser/parser.nit:7127 */
20548 fra.me.REG[3] = NEW_AGgMethid_parser___parser_prod___AGgMethid___init_aggmethid(fra.me.REG[3]);
20549 /* parser/parser.nit:7130 */
20550 fra.me.REG[2] = fra.me.REG[3];
20551 /* parser/parser.nit:7131 */
20552 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20553 if (UNTAG_Bool(REGB0)) {
20554 } else {
20555 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7131);
20556 }
20557 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20558 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20559 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20560 stack_frame_head = fra.me.prev;
20561 return;
20562 }
20563 void parser___ReduceAction184___action(val_t p0, val_t p1){
20564 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20565 val_t REGB0;
20566 val_t tmp;
20567 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20568 fra.me.file = LOCATE_parser;
20569 fra.me.line = 7136;
20570 fra.me.meth = LOCATE_parser___ReduceAction184___action;
20571 fra.me.has_broke = 0;
20572 fra.me.REG_size = 5;
20573 fra.me.nitni_local_ref_head = NULL;
20574 fra.me.REG[0] = NIT_NULL;
20575 fra.me.REG[1] = NIT_NULL;
20576 fra.me.REG[2] = NIT_NULL;
20577 fra.me.REG[3] = NIT_NULL;
20578 fra.me.REG[4] = NIT_NULL;
20579 fra.me.REG[0] = p0;
20580 fra.me.REG[1] = p1;
20581 /* parser/parser.nit:7138 */
20582 fra.me.REG[2] = NIT_NULL;
20583 /* parser/parser.nit:7139 */
20584 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20585 /* parser/parser.nit:7140 */
20586 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20587 /* parser/parser.nit:7142 */
20588 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
20589 if (UNTAG_Bool(REGB0)) {
20590 } else {
20591 nit_abort("Assert failed", NULL, LOCATE_parser, 7142);
20592 }
20593 /* parser/parser.nit:7144 */
20594 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCbra, ID_parser___parser_nodes___TCbra)) /*cast nullable TCbra*/;
20595 if (UNTAG_Bool(REGB0)) {
20596 } else {
20597 nit_abort("Assert failed", NULL, LOCATE_parser, 7144);
20598 }
20599 /* parser/parser.nit:7145 */
20600 fra.me.REG[3] = NEW_ABraMethid_parser___parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
20601 /* parser/parser.nit:7149 */
20602 fra.me.REG[2] = fra.me.REG[3];
20603 /* parser/parser.nit:7150 */
20604 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20605 if (UNTAG_Bool(REGB0)) {
20606 } else {
20607 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7150);
20608 }
20609 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20610 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20611 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20612 stack_frame_head = fra.me.prev;
20613 return;
20614 }
20615 void parser___ReduceAction185___action(val_t p0, val_t p1){
20616 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20617 val_t REGB0;
20618 val_t tmp;
20619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20620 fra.me.file = LOCATE_parser;
20621 fra.me.line = 7155;
20622 fra.me.meth = LOCATE_parser___ReduceAction185___action;
20623 fra.me.has_broke = 0;
20624 fra.me.REG_size = 4;
20625 fra.me.nitni_local_ref_head = NULL;
20626 fra.me.REG[0] = NIT_NULL;
20627 fra.me.REG[1] = NIT_NULL;
20628 fra.me.REG[2] = NIT_NULL;
20629 fra.me.REG[3] = NIT_NULL;
20630 fra.me.REG[0] = p0;
20631 fra.me.REG[1] = p1;
20632 /* parser/parser.nit:7157 */
20633 fra.me.REG[2] = NIT_NULL;
20634 /* parser/parser.nit:7158 */
20635 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20636 /* parser/parser.nit:7160 */
20637 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TStarship, ID_parser___parser_nodes___TStarship)) /*cast nullable TStarship*/;
20638 if (UNTAG_Bool(REGB0)) {
20639 } else {
20640 nit_abort("Assert failed", NULL, LOCATE_parser, 7160);
20641 }
20642 /* parser/parser.nit:7161 */
20643 fra.me.REG[3] = NEW_AStarshipMethid_parser___parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
20644 /* parser/parser.nit:7164 */
20645 fra.me.REG[2] = fra.me.REG[3];
20646 /* parser/parser.nit:7165 */
20647 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20648 if (UNTAG_Bool(REGB0)) {
20649 } else {
20650 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7165);
20651 }
20652 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20653 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20654 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20655 stack_frame_head = fra.me.prev;
20656 return;
20657 }
20658 void parser___ReduceAction186___action(val_t p0, val_t p1){
20659 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20660 val_t REGB0;
20661 val_t tmp;
20662 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20663 fra.me.file = LOCATE_parser;
20664 fra.me.line = 7170;
20665 fra.me.meth = LOCATE_parser___ReduceAction186___action;
20666 fra.me.has_broke = 0;
20667 fra.me.REG_size = 5;
20668 fra.me.nitni_local_ref_head = NULL;
20669 fra.me.REG[0] = NIT_NULL;
20670 fra.me.REG[1] = NIT_NULL;
20671 fra.me.REG[2] = NIT_NULL;
20672 fra.me.REG[3] = NIT_NULL;
20673 fra.me.REG[4] = NIT_NULL;
20674 fra.me.REG[0] = p0;
20675 fra.me.REG[1] = p1;
20676 /* parser/parser.nit:7172 */
20677 fra.me.REG[2] = NIT_NULL;
20678 /* parser/parser.nit:7173 */
20679 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20680 /* parser/parser.nit:7174 */
20681 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20682 /* parser/parser.nit:7176 */
20683 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
20684 if (UNTAG_Bool(REGB0)) {
20685 } else {
20686 nit_abort("Assert failed", NULL, LOCATE_parser, 7176);
20687 }
20688 /* parser/parser.nit:7178 */
20689 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
20690 if (UNTAG_Bool(REGB0)) {
20691 } else {
20692 nit_abort("Assert failed", NULL, LOCATE_parser, 7178);
20693 }
20694 /* parser/parser.nit:7179 */
20695 fra.me.REG[3] = NEW_AAssignMethid_parser___parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
20696 /* parser/parser.nit:7183 */
20697 fra.me.REG[2] = fra.me.REG[3];
20698 /* parser/parser.nit:7184 */
20699 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20700 if (UNTAG_Bool(REGB0)) {
20701 } else {
20702 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7184);
20703 }
20704 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20705 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20706 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20707 stack_frame_head = fra.me.prev;
20708 return;
20709 }
20710 void parser___ReduceAction187___action(val_t p0, val_t p1){
20711 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
20712 val_t REGB0;
20713 val_t tmp;
20714 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20715 fra.me.file = LOCATE_parser;
20716 fra.me.line = 7189;
20717 fra.me.meth = LOCATE_parser___ReduceAction187___action;
20718 fra.me.has_broke = 0;
20719 fra.me.REG_size = 6;
20720 fra.me.nitni_local_ref_head = NULL;
20721 fra.me.REG[0] = NIT_NULL;
20722 fra.me.REG[1] = NIT_NULL;
20723 fra.me.REG[2] = NIT_NULL;
20724 fra.me.REG[3] = NIT_NULL;
20725 fra.me.REG[4] = NIT_NULL;
20726 fra.me.REG[5] = NIT_NULL;
20727 fra.me.REG[0] = p0;
20728 fra.me.REG[1] = p1;
20729 /* parser/parser.nit:7191 */
20730 fra.me.REG[2] = NIT_NULL;
20731 /* parser/parser.nit:7192 */
20732 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20733 /* parser/parser.nit:7193 */
20734 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20735 /* parser/parser.nit:7194 */
20736 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20737 /* parser/parser.nit:7196 */
20738 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
20739 if (UNTAG_Bool(REGB0)) {
20740 } else {
20741 nit_abort("Assert failed", NULL, LOCATE_parser, 7196);
20742 }
20743 /* parser/parser.nit:7198 */
20744 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCbra, ID_parser___parser_nodes___TCbra)) /*cast nullable TCbra*/;
20745 if (UNTAG_Bool(REGB0)) {
20746 } else {
20747 nit_abort("Assert failed", NULL, LOCATE_parser, 7198);
20748 }
20749 /* parser/parser.nit:7200 */
20750 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
20751 if (UNTAG_Bool(REGB0)) {
20752 } else {
20753 nit_abort("Assert failed", NULL, LOCATE_parser, 7200);
20754 }
20755 /* parser/parser.nit:7201 */
20756 fra.me.REG[3] = NEW_ABraassignMethid_parser___parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
20757 /* parser/parser.nit:7206 */
20758 fra.me.REG[2] = fra.me.REG[3];
20759 /* parser/parser.nit:7207 */
20760 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20761 if (UNTAG_Bool(REGB0)) {
20762 } else {
20763 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7207);
20764 }
20765 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20766 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20767 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20768 stack_frame_head = fra.me.prev;
20769 return;
20770 }
20771 void parser___ReduceAction188___action(val_t p0, val_t p1){
20772 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20773 val_t REGB0;
20774 val_t tmp;
20775 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20776 fra.me.file = LOCATE_parser;
20777 fra.me.line = 7212;
20778 fra.me.meth = LOCATE_parser___ReduceAction188___action;
20779 fra.me.has_broke = 0;
20780 fra.me.REG_size = 8;
20781 fra.me.nitni_local_ref_head = NULL;
20782 fra.me.REG[0] = NIT_NULL;
20783 fra.me.REG[1] = NIT_NULL;
20784 fra.me.REG[2] = NIT_NULL;
20785 fra.me.REG[3] = NIT_NULL;
20786 fra.me.REG[4] = NIT_NULL;
20787 fra.me.REG[5] = NIT_NULL;
20788 fra.me.REG[6] = NIT_NULL;
20789 fra.me.REG[7] = NIT_NULL;
20790 fra.me.REG[0] = p0;
20791 fra.me.REG[1] = p1;
20792 /* parser/parser.nit:7214 */
20793 fra.me.REG[2] = NIT_NULL;
20794 /* parser/parser.nit:7215 */
20795 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20796 /* parser/parser.nit:7216 */
20797 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20798 /* parser/parser.nit:7217 */
20799 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20800 /* parser/parser.nit:7218 */
20801 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20802 /* parser/parser.nit:7219 */
20803 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20804 /* parser/parser.nit:7220 */
20805 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
20806 /* parser/parser.nit:7221 */
20807 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
20808 /* parser/parser.nit:7223 */
20809 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
20810 if (UNTAG_Bool(REGB0)) {
20811 } else {
20812 nit_abort("Assert failed", NULL, LOCATE_parser, 7223);
20813 }
20814 /* parser/parser.nit:7225 */
20815 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
20816 if (UNTAG_Bool(REGB0)) {
20817 } else {
20818 nit_abort("Assert failed", NULL, LOCATE_parser, 7225);
20819 }
20820 /* parser/parser.nit:7227 */
20821 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
20822 if (UNTAG_Bool(REGB0)) {
20823 } else {
20824 nit_abort("Assert failed", NULL, LOCATE_parser, 7227);
20825 }
20826 /* parser/parser.nit:7228 */
20827 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7]);
20828 /* parser/parser.nit:7235 */
20829 fra.me.REG[2] = fra.me.REG[7];
20830 /* parser/parser.nit:7236 */
20831 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20832 if (UNTAG_Bool(REGB0)) {
20833 } else {
20834 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7236);
20835 }
20836 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20837 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20838 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20839 stack_frame_head = fra.me.prev;
20840 return;
20841 }
20842 void parser___ReduceAction189___action(val_t p0, val_t p1){
20843 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
20844 val_t REGB0;
20845 val_t tmp;
20846 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20847 fra.me.file = LOCATE_parser;
20848 fra.me.line = 7241;
20849 fra.me.meth = LOCATE_parser___ReduceAction189___action;
20850 fra.me.has_broke = 0;
20851 fra.me.REG_size = 9;
20852 fra.me.nitni_local_ref_head = NULL;
20853 fra.me.REG[0] = NIT_NULL;
20854 fra.me.REG[1] = NIT_NULL;
20855 fra.me.REG[2] = NIT_NULL;
20856 fra.me.REG[3] = NIT_NULL;
20857 fra.me.REG[4] = NIT_NULL;
20858 fra.me.REG[5] = NIT_NULL;
20859 fra.me.REG[6] = NIT_NULL;
20860 fra.me.REG[7] = NIT_NULL;
20861 fra.me.REG[8] = NIT_NULL;
20862 fra.me.REG[0] = p0;
20863 fra.me.REG[1] = p1;
20864 /* parser/parser.nit:7243 */
20865 fra.me.REG[2] = NIT_NULL;
20866 /* parser/parser.nit:7244 */
20867 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20868 /* parser/parser.nit:7245 */
20869 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20870 /* parser/parser.nit:7246 */
20871 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20872 /* parser/parser.nit:7247 */
20873 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20874 /* parser/parser.nit:7248 */
20875 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20876 /* parser/parser.nit:7249 */
20877 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20878 /* parser/parser.nit:7250 */
20879 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
20880 /* parser/parser.nit:7251 */
20881 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
20882 /* parser/parser.nit:7253 */
20883 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
20884 if (UNTAG_Bool(REGB0)) {
20885 } else {
20886 nit_abort("Assert failed", NULL, LOCATE_parser, 7253);
20887 }
20888 /* parser/parser.nit:7255 */
20889 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
20890 if (UNTAG_Bool(REGB0)) {
20891 } else {
20892 nit_abort("Assert failed", NULL, LOCATE_parser, 7255);
20893 }
20894 /* parser/parser.nit:7256 */
20895 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
20896 fra.me.REG[7] = fra.me.REG[5];
20897 /* parser/parser.nit:7258 */
20898 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
20899 if (UNTAG_Bool(REGB0)) {
20900 } else {
20901 nit_abort("Assert failed", NULL, LOCATE_parser, 7258);
20902 }
20903 /* parser/parser.nit:7260 */
20904 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
20905 if (UNTAG_Bool(REGB0)) {
20906 } else {
20907 nit_abort("Assert failed", NULL, LOCATE_parser, 7260);
20908 }
20909 /* parser/parser.nit:7261 */
20910 fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8]);
20911 /* parser/parser.nit:7268 */
20912 fra.me.REG[2] = fra.me.REG[8];
20913 /* parser/parser.nit:7269 */
20914 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20915 if (UNTAG_Bool(REGB0)) {
20916 } else {
20917 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7269);
20918 }
20919 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20920 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20921 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20922 stack_frame_head = fra.me.prev;
20923 return;
20924 }
20925 void parser___ReduceAction190___action(val_t p0, val_t p1){
20926 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
20927 val_t REGB0;
20928 val_t tmp;
20929 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20930 fra.me.file = LOCATE_parser;
20931 fra.me.line = 7274;
20932 fra.me.meth = LOCATE_parser___ReduceAction190___action;
20933 fra.me.has_broke = 0;
20934 fra.me.REG_size = 9;
20935 fra.me.nitni_local_ref_head = NULL;
20936 fra.me.REG[0] = NIT_NULL;
20937 fra.me.REG[1] = NIT_NULL;
20938 fra.me.REG[2] = NIT_NULL;
20939 fra.me.REG[3] = NIT_NULL;
20940 fra.me.REG[4] = NIT_NULL;
20941 fra.me.REG[5] = NIT_NULL;
20942 fra.me.REG[6] = NIT_NULL;
20943 fra.me.REG[7] = NIT_NULL;
20944 fra.me.REG[8] = NIT_NULL;
20945 fra.me.REG[0] = p0;
20946 fra.me.REG[1] = p1;
20947 /* parser/parser.nit:7276 */
20948 fra.me.REG[2] = NIT_NULL;
20949 /* parser/parser.nit:7277 */
20950 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20951 /* parser/parser.nit:7278 */
20952 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20953 /* parser/parser.nit:7279 */
20954 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20955 /* parser/parser.nit:7280 */
20956 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20957 /* parser/parser.nit:7281 */
20958 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20959 /* parser/parser.nit:7282 */
20960 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20961 /* parser/parser.nit:7283 */
20962 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
20963 /* parser/parser.nit:7284 */
20964 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
20965 /* parser/parser.nit:7286 */
20966 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
20967 if (UNTAG_Bool(REGB0)) {
20968 } else {
20969 nit_abort("Assert failed", NULL, LOCATE_parser, 7286);
20970 }
20971 /* parser/parser.nit:7288 */
20972 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
20973 if (UNTAG_Bool(REGB0)) {
20974 } else {
20975 nit_abort("Assert failed", NULL, LOCATE_parser, 7288);
20976 }
20977 /* parser/parser.nit:7290 */
20978 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
20979 if (UNTAG_Bool(REGB0)) {
20980 } else {
20981 nit_abort("Assert failed", NULL, LOCATE_parser, 7290);
20982 }
20983 /* parser/parser.nit:7292 */
20984 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
20985 if (UNTAG_Bool(REGB0)) {
20986 } else {
20987 nit_abort("Assert failed", NULL, LOCATE_parser, 7292);
20988 }
20989 /* parser/parser.nit:7293 */
20990 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
20991 fra.me.REG[8] = fra.me.REG[3];
20992 /* parser/parser.nit:7294 */
20993 fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8]);
20994 /* parser/parser.nit:7301 */
20995 fra.me.REG[2] = fra.me.REG[8];
20996 /* parser/parser.nit:7302 */
20997 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20998 if (UNTAG_Bool(REGB0)) {
20999 } else {
21000 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7302);
21001 }
21002 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21003 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21004 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21005 stack_frame_head = fra.me.prev;
21006 return;
21007 }
21008 void parser___ReduceAction191___action(val_t p0, val_t p1){
21009 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
21010 val_t REGB0;
21011 val_t tmp;
21012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21013 fra.me.file = LOCATE_parser;
21014 fra.me.line = 7307;
21015 fra.me.meth = LOCATE_parser___ReduceAction191___action;
21016 fra.me.has_broke = 0;
21017 fra.me.REG_size = 10;
21018 fra.me.nitni_local_ref_head = NULL;
21019 fra.me.REG[0] = NIT_NULL;
21020 fra.me.REG[1] = NIT_NULL;
21021 fra.me.REG[2] = NIT_NULL;
21022 fra.me.REG[3] = NIT_NULL;
21023 fra.me.REG[4] = NIT_NULL;
21024 fra.me.REG[5] = NIT_NULL;
21025 fra.me.REG[6] = NIT_NULL;
21026 fra.me.REG[7] = NIT_NULL;
21027 fra.me.REG[8] = NIT_NULL;
21028 fra.me.REG[9] = NIT_NULL;
21029 fra.me.REG[0] = p0;
21030 fra.me.REG[1] = p1;
21031 /* parser/parser.nit:7309 */
21032 fra.me.REG[2] = NIT_NULL;
21033 /* parser/parser.nit:7310 */
21034 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21035 /* parser/parser.nit:7311 */
21036 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21037 /* parser/parser.nit:7312 */
21038 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21039 /* parser/parser.nit:7313 */
21040 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21041 /* parser/parser.nit:7314 */
21042 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21043 /* parser/parser.nit:7315 */
21044 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21045 /* parser/parser.nit:7316 */
21046 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21047 /* parser/parser.nit:7317 */
21048 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
21049 /* parser/parser.nit:7318 */
21050 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
21051 /* parser/parser.nit:7320 */
21052 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21053 if (UNTAG_Bool(REGB0)) {
21054 } else {
21055 nit_abort("Assert failed", NULL, LOCATE_parser, 7320);
21056 }
21057 /* parser/parser.nit:7322 */
21058 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21059 if (UNTAG_Bool(REGB0)) {
21060 } else {
21061 nit_abort("Assert failed", NULL, LOCATE_parser, 7322);
21062 }
21063 /* parser/parser.nit:7323 */
21064 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
21065 fra.me.REG[8] = fra.me.REG[6];
21066 /* parser/parser.nit:7325 */
21067 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21068 if (UNTAG_Bool(REGB0)) {
21069 } else {
21070 nit_abort("Assert failed", NULL, LOCATE_parser, 7325);
21071 }
21072 /* parser/parser.nit:7327 */
21073 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
21074 if (UNTAG_Bool(REGB0)) {
21075 } else {
21076 nit_abort("Assert failed", NULL, LOCATE_parser, 7327);
21077 }
21078 /* parser/parser.nit:7329 */
21079 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21080 if (UNTAG_Bool(REGB0)) {
21081 } else {
21082 nit_abort("Assert failed", NULL, LOCATE_parser, 7329);
21083 }
21084 /* parser/parser.nit:7330 */
21085 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
21086 fra.me.REG[9] = fra.me.REG[3];
21087 /* parser/parser.nit:7331 */
21088 fra.me.REG[9] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[7], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9]);
21089 /* parser/parser.nit:7338 */
21090 fra.me.REG[2] = fra.me.REG[9];
21091 /* parser/parser.nit:7339 */
21092 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21093 if (UNTAG_Bool(REGB0)) {
21094 } else {
21095 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7339);
21096 }
21097 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21098 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21099 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21100 stack_frame_head = fra.me.prev;
21101 return;
21102 }
21103 void parser___ReduceAction192___action(val_t p0, val_t p1){
21104 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
21105 val_t REGB0;
21106 val_t tmp;
21107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21108 fra.me.file = LOCATE_parser;
21109 fra.me.line = 7344;
21110 fra.me.meth = LOCATE_parser___ReduceAction192___action;
21111 fra.me.has_broke = 0;
21112 fra.me.REG_size = 7;
21113 fra.me.nitni_local_ref_head = NULL;
21114 fra.me.REG[0] = NIT_NULL;
21115 fra.me.REG[1] = NIT_NULL;
21116 fra.me.REG[2] = NIT_NULL;
21117 fra.me.REG[3] = NIT_NULL;
21118 fra.me.REG[4] = NIT_NULL;
21119 fra.me.REG[5] = NIT_NULL;
21120 fra.me.REG[6] = NIT_NULL;
21121 fra.me.REG[0] = p0;
21122 fra.me.REG[1] = p1;
21123 /* parser/parser.nit:7346 */
21124 fra.me.REG[2] = NIT_NULL;
21125 /* parser/parser.nit:7347 */
21126 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21127 /* parser/parser.nit:7348 */
21128 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21129 /* parser/parser.nit:7349 */
21130 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21131 /* parser/parser.nit:7350 */
21132 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21133 /* parser/parser.nit:7351 */
21134 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21135 /* parser/parser.nit:7352 */
21136 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21137 /* parser/parser.nit:7354 */
21138 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21139 if (UNTAG_Bool(REGB0)) {
21140 } else {
21141 nit_abort("Assert failed", NULL, LOCATE_parser, 7354);
21142 }
21143 /* parser/parser.nit:7356 */
21144 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21145 if (UNTAG_Bool(REGB0)) {
21146 } else {
21147 nit_abort("Assert failed", NULL, LOCATE_parser, 7356);
21148 }
21149 /* parser/parser.nit:7357 */
21150 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3], NIT_NULL, fra.me.REG[6]);
21151 /* parser/parser.nit:7364 */
21152 fra.me.REG[2] = fra.me.REG[6];
21153 /* parser/parser.nit:7365 */
21154 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21155 if (UNTAG_Bool(REGB0)) {
21156 } else {
21157 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7365);
21158 }
21159 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21160 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21161 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21162 stack_frame_head = fra.me.prev;
21163 return;
21164 }
21165 void parser___ReduceAction193___action(val_t p0, val_t p1){
21166 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
21167 val_t REGB0;
21168 val_t tmp;
21169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21170 fra.me.file = LOCATE_parser;
21171 fra.me.line = 7370;
21172 fra.me.meth = LOCATE_parser___ReduceAction193___action;
21173 fra.me.has_broke = 0;
21174 fra.me.REG_size = 8;
21175 fra.me.nitni_local_ref_head = NULL;
21176 fra.me.REG[0] = NIT_NULL;
21177 fra.me.REG[1] = NIT_NULL;
21178 fra.me.REG[2] = NIT_NULL;
21179 fra.me.REG[3] = NIT_NULL;
21180 fra.me.REG[4] = NIT_NULL;
21181 fra.me.REG[5] = NIT_NULL;
21182 fra.me.REG[6] = NIT_NULL;
21183 fra.me.REG[7] = NIT_NULL;
21184 fra.me.REG[0] = p0;
21185 fra.me.REG[1] = p1;
21186 /* parser/parser.nit:7372 */
21187 fra.me.REG[2] = NIT_NULL;
21188 /* parser/parser.nit:7373 */
21189 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21190 /* parser/parser.nit:7374 */
21191 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21192 /* parser/parser.nit:7375 */
21193 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21194 /* parser/parser.nit:7376 */
21195 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21196 /* parser/parser.nit:7377 */
21197 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21198 /* parser/parser.nit:7378 */
21199 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21200 /* parser/parser.nit:7379 */
21201 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21202 /* parser/parser.nit:7381 */
21203 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21204 if (UNTAG_Bool(REGB0)) {
21205 } else {
21206 nit_abort("Assert failed", NULL, LOCATE_parser, 7381);
21207 }
21208 /* parser/parser.nit:7383 */
21209 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21210 if (UNTAG_Bool(REGB0)) {
21211 } else {
21212 nit_abort("Assert failed", NULL, LOCATE_parser, 7383);
21213 }
21214 /* parser/parser.nit:7384 */
21215 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
21216 fra.me.REG[6] = fra.me.REG[4];
21217 /* parser/parser.nit:7386 */
21218 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21219 if (UNTAG_Bool(REGB0)) {
21220 } else {
21221 nit_abort("Assert failed", NULL, LOCATE_parser, 7386);
21222 }
21223 /* parser/parser.nit:7387 */
21224 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], NIT_NULL, fra.me.REG[7]);
21225 /* parser/parser.nit:7394 */
21226 fra.me.REG[2] = fra.me.REG[7];
21227 /* parser/parser.nit:7395 */
21228 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21229 if (UNTAG_Bool(REGB0)) {
21230 } else {
21231 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7395);
21232 }
21233 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21234 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21235 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21236 stack_frame_head = fra.me.prev;
21237 return;
21238 }
21239 void parser___ReduceAction194___action(val_t p0, val_t p1){
21240 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
21241 val_t REGB0;
21242 val_t tmp;
21243 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21244 fra.me.file = LOCATE_parser;
21245 fra.me.line = 7400;
21246 fra.me.meth = LOCATE_parser___ReduceAction194___action;
21247 fra.me.has_broke = 0;
21248 fra.me.REG_size = 8;
21249 fra.me.nitni_local_ref_head = NULL;
21250 fra.me.REG[0] = NIT_NULL;
21251 fra.me.REG[1] = NIT_NULL;
21252 fra.me.REG[2] = NIT_NULL;
21253 fra.me.REG[3] = NIT_NULL;
21254 fra.me.REG[4] = NIT_NULL;
21255 fra.me.REG[5] = NIT_NULL;
21256 fra.me.REG[6] = NIT_NULL;
21257 fra.me.REG[7] = NIT_NULL;
21258 fra.me.REG[0] = p0;
21259 fra.me.REG[1] = p1;
21260 /* parser/parser.nit:7402 */
21261 fra.me.REG[2] = NIT_NULL;
21262 /* parser/parser.nit:7403 */
21263 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21264 /* parser/parser.nit:7404 */
21265 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21266 /* parser/parser.nit:7405 */
21267 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21268 /* parser/parser.nit:7406 */
21269 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21270 /* parser/parser.nit:7407 */
21271 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21272 /* parser/parser.nit:7408 */
21273 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21274 /* parser/parser.nit:7409 */
21275 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21276 /* parser/parser.nit:7411 */
21277 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21278 if (UNTAG_Bool(REGB0)) {
21279 } else {
21280 nit_abort("Assert failed", NULL, LOCATE_parser, 7411);
21281 }
21282 /* parser/parser.nit:7413 */
21283 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21284 if (UNTAG_Bool(REGB0)) {
21285 } else {
21286 nit_abort("Assert failed", NULL, LOCATE_parser, 7413);
21287 }
21288 /* parser/parser.nit:7415 */
21289 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21290 if (UNTAG_Bool(REGB0)) {
21291 } else {
21292 nit_abort("Assert failed", NULL, LOCATE_parser, 7415);
21293 }
21294 /* parser/parser.nit:7416 */
21295 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
21296 fra.me.REG[7] = fra.me.REG[3];
21297 /* parser/parser.nit:7417 */
21298 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], NIT_NULL, fra.me.REG[7]);
21299 /* parser/parser.nit:7424 */
21300 fra.me.REG[2] = fra.me.REG[7];
21301 /* parser/parser.nit:7425 */
21302 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21303 if (UNTAG_Bool(REGB0)) {
21304 } else {
21305 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7425);
21306 }
21307 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21308 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21309 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21310 stack_frame_head = fra.me.prev;
21311 return;
21312 }
21313 void parser___ReduceAction195___action(val_t p0, val_t p1){
21314 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21315 val_t REGB0;
21316 val_t tmp;
21317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21318 fra.me.file = LOCATE_parser;
21319 fra.me.line = 7430;
21320 fra.me.meth = LOCATE_parser___ReduceAction195___action;
21321 fra.me.has_broke = 0;
21322 fra.me.REG_size = 9;
21323 fra.me.nitni_local_ref_head = NULL;
21324 fra.me.REG[0] = NIT_NULL;
21325 fra.me.REG[1] = NIT_NULL;
21326 fra.me.REG[2] = NIT_NULL;
21327 fra.me.REG[3] = NIT_NULL;
21328 fra.me.REG[4] = NIT_NULL;
21329 fra.me.REG[5] = NIT_NULL;
21330 fra.me.REG[6] = NIT_NULL;
21331 fra.me.REG[7] = NIT_NULL;
21332 fra.me.REG[8] = NIT_NULL;
21333 fra.me.REG[0] = p0;
21334 fra.me.REG[1] = p1;
21335 /* parser/parser.nit:7432 */
21336 fra.me.REG[2] = NIT_NULL;
21337 /* parser/parser.nit:7433 */
21338 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21339 /* parser/parser.nit:7434 */
21340 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21341 /* parser/parser.nit:7435 */
21342 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21343 /* parser/parser.nit:7436 */
21344 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21345 /* parser/parser.nit:7437 */
21346 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21347 /* parser/parser.nit:7438 */
21348 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21349 /* parser/parser.nit:7439 */
21350 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21351 /* parser/parser.nit:7440 */
21352 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
21353 /* parser/parser.nit:7442 */
21354 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21355 if (UNTAG_Bool(REGB0)) {
21356 } else {
21357 nit_abort("Assert failed", NULL, LOCATE_parser, 7442);
21358 }
21359 /* parser/parser.nit:7444 */
21360 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21361 if (UNTAG_Bool(REGB0)) {
21362 } else {
21363 nit_abort("Assert failed", NULL, LOCATE_parser, 7444);
21364 }
21365 /* parser/parser.nit:7445 */
21366 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
21367 fra.me.REG[7] = fra.me.REG[5];
21368 /* parser/parser.nit:7447 */
21369 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21370 if (UNTAG_Bool(REGB0)) {
21371 } else {
21372 nit_abort("Assert failed", NULL, LOCATE_parser, 7447);
21373 }
21374 /* parser/parser.nit:7449 */
21375 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21376 if (UNTAG_Bool(REGB0)) {
21377 } else {
21378 nit_abort("Assert failed", NULL, LOCATE_parser, 7449);
21379 }
21380 /* parser/parser.nit:7450 */
21381 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
21382 fra.me.REG[8] = fra.me.REG[3];
21383 /* parser/parser.nit:7451 */
21384 fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], NIT_NULL, fra.me.REG[8]);
21385 /* parser/parser.nit:7458 */
21386 fra.me.REG[2] = fra.me.REG[8];
21387 /* parser/parser.nit:7459 */
21388 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21389 if (UNTAG_Bool(REGB0)) {
21390 } else {
21391 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7459);
21392 }
21393 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21394 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21395 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21396 stack_frame_head = fra.me.prev;
21397 return;
21398 }
21399 void parser___ReduceAction196___action(val_t p0, val_t p1){
21400 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
21401 val_t REGB0;
21402 val_t tmp;
21403 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21404 fra.me.file = LOCATE_parser;
21405 fra.me.line = 7464;
21406 fra.me.meth = LOCATE_parser___ReduceAction196___action;
21407 fra.me.has_broke = 0;
21408 fra.me.REG_size = 6;
21409 fra.me.nitni_local_ref_head = NULL;
21410 fra.me.REG[0] = NIT_NULL;
21411 fra.me.REG[1] = NIT_NULL;
21412 fra.me.REG[2] = NIT_NULL;
21413 fra.me.REG[3] = NIT_NULL;
21414 fra.me.REG[4] = NIT_NULL;
21415 fra.me.REG[5] = NIT_NULL;
21416 fra.me.REG[0] = p0;
21417 fra.me.REG[1] = p1;
21418 /* parser/parser.nit:7466 */
21419 fra.me.REG[2] = NIT_NULL;
21420 /* parser/parser.nit:7467 */
21421 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21422 /* parser/parser.nit:7468 */
21423 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21424 /* parser/parser.nit:7469 */
21425 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
21426 /* parser/parser.nit:7470 */
21427 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21428 /* parser/parser.nit:7472 */
21429 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
21430 if (UNTAG_Bool(REGB0)) {
21431 } else {
21432 nit_abort("Assert failed", NULL, LOCATE_parser, 7472);
21433 }
21434 /* parser/parser.nit:7473 */
21435 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[5]);
21436 /* parser/parser.nit:7480 */
21437 fra.me.REG[2] = fra.me.REG[5];
21438 /* parser/parser.nit:7481 */
21439 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21440 if (UNTAG_Bool(REGB0)) {
21441 } else {
21442 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7481);
21443 }
21444 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21445 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21446 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21447 stack_frame_head = fra.me.prev;
21448 return;
21449 }
21450 void parser___ReduceAction197___action(val_t p0, val_t p1){
21451 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
21452 val_t REGB0;
21453 val_t tmp;
21454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21455 fra.me.file = LOCATE_parser;
21456 fra.me.line = 7486;
21457 fra.me.meth = LOCATE_parser___ReduceAction197___action;
21458 fra.me.has_broke = 0;
21459 fra.me.REG_size = 7;
21460 fra.me.nitni_local_ref_head = NULL;
21461 fra.me.REG[0] = NIT_NULL;
21462 fra.me.REG[1] = NIT_NULL;
21463 fra.me.REG[2] = NIT_NULL;
21464 fra.me.REG[3] = NIT_NULL;
21465 fra.me.REG[4] = NIT_NULL;
21466 fra.me.REG[5] = NIT_NULL;
21467 fra.me.REG[6] = NIT_NULL;
21468 fra.me.REG[0] = p0;
21469 fra.me.REG[1] = p1;
21470 /* parser/parser.nit:7488 */
21471 fra.me.REG[2] = NIT_NULL;
21472 /* parser/parser.nit:7489 */
21473 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21474 /* parser/parser.nit:7490 */
21475 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21476 /* parser/parser.nit:7491 */
21477 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21478 /* parser/parser.nit:7492 */
21479 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21480 /* parser/parser.nit:7493 */
21481 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21482 /* parser/parser.nit:7495 */
21483 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
21484 if (UNTAG_Bool(REGB0)) {
21485 } else {
21486 nit_abort("Assert failed", NULL, LOCATE_parser, 7495);
21487 }
21488 /* parser/parser.nit:7497 */
21489 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21490 if (UNTAG_Bool(REGB0)) {
21491 } else {
21492 nit_abort("Assert failed", NULL, LOCATE_parser, 7497);
21493 }
21494 /* parser/parser.nit:7498 */
21495 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
21496 fra.me.REG[6] = fra.me.REG[3];
21497 /* parser/parser.nit:7499 */
21498 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[6]);
21499 /* parser/parser.nit:7506 */
21500 fra.me.REG[2] = fra.me.REG[6];
21501 /* parser/parser.nit:7507 */
21502 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21503 if (UNTAG_Bool(REGB0)) {
21504 } else {
21505 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7507);
21506 }
21507 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21508 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21509 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21510 stack_frame_head = fra.me.prev;
21511 return;
21512 }
21513 void parser___ReduceAction198___action(val_t p0, val_t p1){
21514 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
21515 val_t REGB0;
21516 val_t tmp;
21517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21518 fra.me.file = LOCATE_parser;
21519 fra.me.line = 7512;
21520 fra.me.meth = LOCATE_parser___ReduceAction198___action;
21521 fra.me.has_broke = 0;
21522 fra.me.REG_size = 5;
21523 fra.me.nitni_local_ref_head = NULL;
21524 fra.me.REG[0] = NIT_NULL;
21525 fra.me.REG[1] = NIT_NULL;
21526 fra.me.REG[2] = NIT_NULL;
21527 fra.me.REG[3] = NIT_NULL;
21528 fra.me.REG[4] = NIT_NULL;
21529 fra.me.REG[0] = p0;
21530 fra.me.REG[1] = p1;
21531 /* parser/parser.nit:7514 */
21532 fra.me.REG[2] = NIT_NULL;
21533 /* parser/parser.nit:7515 */
21534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21535 /* parser/parser.nit:7516 */
21536 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
21537 /* parser/parser.nit:7517 */
21538 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
21539 /* parser/parser.nit:7518 */
21540 fra.me.REG[4] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, fra.me.REG[4]);
21541 /* parser/parser.nit:7525 */
21542 fra.me.REG[2] = fra.me.REG[4];
21543 /* parser/parser.nit:7526 */
21544 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21545 if (UNTAG_Bool(REGB0)) {
21546 } else {
21547 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7526);
21548 }
21549 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21550 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21551 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21552 stack_frame_head = fra.me.prev;
21553 return;
21554 }
21555 void parser___ReduceAction199___action(val_t p0, val_t p1){
21556 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
21557 val_t REGB0;
21558 val_t tmp;
21559 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21560 fra.me.file = LOCATE_parser;
21561 fra.me.line = 7531;
21562 fra.me.meth = LOCATE_parser___ReduceAction199___action;
21563 fra.me.has_broke = 0;
21564 fra.me.REG_size = 6;
21565 fra.me.nitni_local_ref_head = NULL;
21566 fra.me.REG[0] = NIT_NULL;
21567 fra.me.REG[1] = NIT_NULL;
21568 fra.me.REG[2] = NIT_NULL;
21569 fra.me.REG[3] = NIT_NULL;
21570 fra.me.REG[4] = NIT_NULL;
21571 fra.me.REG[5] = NIT_NULL;
21572 fra.me.REG[0] = p0;
21573 fra.me.REG[1] = p1;
21574 /* parser/parser.nit:7533 */
21575 fra.me.REG[2] = NIT_NULL;
21576 /* parser/parser.nit:7534 */
21577 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21578 /* parser/parser.nit:7535 */
21579 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21580 /* parser/parser.nit:7536 */
21581 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
21582 /* parser/parser.nit:7537 */
21583 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21584 /* parser/parser.nit:7539 */
21585 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21586 if (UNTAG_Bool(REGB0)) {
21587 } else {
21588 nit_abort("Assert failed", NULL, LOCATE_parser, 7539);
21589 }
21590 /* parser/parser.nit:7540 */
21591 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
21592 fra.me.REG[5] = fra.me.REG[3];
21593 /* parser/parser.nit:7541 */
21594 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[5]);
21595 /* parser/parser.nit:7548 */
21596 fra.me.REG[2] = fra.me.REG[5];
21597 /* parser/parser.nit:7549 */
21598 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21599 if (UNTAG_Bool(REGB0)) {
21600 } else {
21601 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7549);
21602 }
21603 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21604 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21605 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21606 stack_frame_head = fra.me.prev;
21607 return;
21608 }
21609 void parser___ReduceAction200___action(val_t p0, val_t p1){
21610 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
21611 val_t REGB0;
21612 val_t tmp;
21613 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21614 fra.me.file = LOCATE_parser;
21615 fra.me.line = 7554;
21616 fra.me.meth = LOCATE_parser___ReduceAction200___action;
21617 fra.me.has_broke = 0;
21618 fra.me.REG_size = 7;
21619 fra.me.nitni_local_ref_head = NULL;
21620 fra.me.REG[0] = NIT_NULL;
21621 fra.me.REG[1] = NIT_NULL;
21622 fra.me.REG[2] = NIT_NULL;
21623 fra.me.REG[3] = NIT_NULL;
21624 fra.me.REG[4] = NIT_NULL;
21625 fra.me.REG[5] = NIT_NULL;
21626 fra.me.REG[6] = NIT_NULL;
21627 fra.me.REG[0] = p0;
21628 fra.me.REG[1] = p1;
21629 /* parser/parser.nit:7556 */
21630 fra.me.REG[2] = NIT_NULL;
21631 /* parser/parser.nit:7557 */
21632 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21633 /* parser/parser.nit:7558 */
21634 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21635 /* parser/parser.nit:7559 */
21636 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21637 /* parser/parser.nit:7560 */
21638 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21639 /* parser/parser.nit:7561 */
21640 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21641 /* parser/parser.nit:7563 */
21642 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21643 if (UNTAG_Bool(REGB0)) {
21644 } else {
21645 nit_abort("Assert failed", NULL, LOCATE_parser, 7563);
21646 }
21647 /* parser/parser.nit:7565 */
21648 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21649 if (UNTAG_Bool(REGB0)) {
21650 } else {
21651 nit_abort("Assert failed", NULL, LOCATE_parser, 7565);
21652 }
21653 /* parser/parser.nit:7566 */
21654 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3], NIT_NULL, fra.me.REG[6]);
21655 /* parser/parser.nit:7573 */
21656 fra.me.REG[2] = fra.me.REG[6];
21657 /* parser/parser.nit:7574 */
21658 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21659 if (UNTAG_Bool(REGB0)) {
21660 } else {
21661 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7574);
21662 }
21663 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21664 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21665 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21666 stack_frame_head = fra.me.prev;
21667 return;
21668 }
21669 void parser___ReduceAction201___action(val_t p0, val_t p1){
21670 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
21671 val_t REGB0;
21672 val_t tmp;
21673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21674 fra.me.file = LOCATE_parser;
21675 fra.me.line = 7579;
21676 fra.me.meth = LOCATE_parser___ReduceAction201___action;
21677 fra.me.has_broke = 0;
21678 fra.me.REG_size = 8;
21679 fra.me.nitni_local_ref_head = NULL;
21680 fra.me.REG[0] = NIT_NULL;
21681 fra.me.REG[1] = NIT_NULL;
21682 fra.me.REG[2] = NIT_NULL;
21683 fra.me.REG[3] = NIT_NULL;
21684 fra.me.REG[4] = NIT_NULL;
21685 fra.me.REG[5] = NIT_NULL;
21686 fra.me.REG[6] = NIT_NULL;
21687 fra.me.REG[7] = NIT_NULL;
21688 fra.me.REG[0] = p0;
21689 fra.me.REG[1] = p1;
21690 /* parser/parser.nit:7581 */
21691 fra.me.REG[2] = NIT_NULL;
21692 /* parser/parser.nit:7582 */
21693 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21694 /* parser/parser.nit:7583 */
21695 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21696 /* parser/parser.nit:7584 */
21697 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21698 /* parser/parser.nit:7585 */
21699 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21700 /* parser/parser.nit:7586 */
21701 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21702 /* parser/parser.nit:7587 */
21703 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21704 /* parser/parser.nit:7589 */
21705 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21706 if (UNTAG_Bool(REGB0)) {
21707 } else {
21708 nit_abort("Assert failed", NULL, LOCATE_parser, 7589);
21709 }
21710 /* parser/parser.nit:7591 */
21711 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21712 if (UNTAG_Bool(REGB0)) {
21713 } else {
21714 nit_abort("Assert failed", NULL, LOCATE_parser, 7591);
21715 }
21716 /* parser/parser.nit:7592 */
21717 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
21718 fra.me.REG[6] = fra.me.REG[4];
21719 /* parser/parser.nit:7594 */
21720 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21721 if (UNTAG_Bool(REGB0)) {
21722 } else {
21723 nit_abort("Assert failed", NULL, LOCATE_parser, 7594);
21724 }
21725 /* parser/parser.nit:7595 */
21726 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], NIT_NULL, fra.me.REG[7]);
21727 /* parser/parser.nit:7602 */
21728 fra.me.REG[2] = fra.me.REG[7];
21729 /* parser/parser.nit:7603 */
21730 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21731 if (UNTAG_Bool(REGB0)) {
21732 } else {
21733 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7603);
21734 }
21735 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21736 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21737 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21738 stack_frame_head = fra.me.prev;
21739 return;
21740 }
21741 void parser___ReduceAction202___action(val_t p0, val_t p1){
21742 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
21743 val_t REGB0;
21744 val_t tmp;
21745 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21746 fra.me.file = LOCATE_parser;
21747 fra.me.line = 7608;
21748 fra.me.meth = LOCATE_parser___ReduceAction202___action;
21749 fra.me.has_broke = 0;
21750 fra.me.REG_size = 8;
21751 fra.me.nitni_local_ref_head = NULL;
21752 fra.me.REG[0] = NIT_NULL;
21753 fra.me.REG[1] = NIT_NULL;
21754 fra.me.REG[2] = NIT_NULL;
21755 fra.me.REG[3] = NIT_NULL;
21756 fra.me.REG[4] = NIT_NULL;
21757 fra.me.REG[5] = NIT_NULL;
21758 fra.me.REG[6] = NIT_NULL;
21759 fra.me.REG[7] = NIT_NULL;
21760 fra.me.REG[0] = p0;
21761 fra.me.REG[1] = p1;
21762 /* parser/parser.nit:7610 */
21763 fra.me.REG[2] = NIT_NULL;
21764 /* parser/parser.nit:7611 */
21765 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21766 /* parser/parser.nit:7612 */
21767 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21768 /* parser/parser.nit:7613 */
21769 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21770 /* parser/parser.nit:7614 */
21771 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21772 /* parser/parser.nit:7615 */
21773 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21774 /* parser/parser.nit:7616 */
21775 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21776 /* parser/parser.nit:7618 */
21777 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21778 if (UNTAG_Bool(REGB0)) {
21779 } else {
21780 nit_abort("Assert failed", NULL, LOCATE_parser, 7618);
21781 }
21782 /* parser/parser.nit:7620 */
21783 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21784 if (UNTAG_Bool(REGB0)) {
21785 } else {
21786 nit_abort("Assert failed", NULL, LOCATE_parser, 7620);
21787 }
21788 /* parser/parser.nit:7622 */
21789 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
21790 if (UNTAG_Bool(REGB0)) {
21791 } else {
21792 nit_abort("Assert failed", NULL, LOCATE_parser, 7622);
21793 }
21794 /* parser/parser.nit:7623 */
21795 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7]);
21796 /* parser/parser.nit:7630 */
21797 fra.me.REG[2] = fra.me.REG[7];
21798 /* parser/parser.nit:7631 */
21799 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21800 if (UNTAG_Bool(REGB0)) {
21801 } else {
21802 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7631);
21803 }
21804 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21805 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21806 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21807 stack_frame_head = fra.me.prev;
21808 return;
21809 }
21810 void parser___ReduceAction203___action(val_t p0, val_t p1){
21811 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21812 val_t REGB0;
21813 val_t tmp;
21814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21815 fra.me.file = LOCATE_parser;
21816 fra.me.line = 7636;
21817 fra.me.meth = LOCATE_parser___ReduceAction203___action;
21818 fra.me.has_broke = 0;
21819 fra.me.REG_size = 9;
21820 fra.me.nitni_local_ref_head = NULL;
21821 fra.me.REG[0] = NIT_NULL;
21822 fra.me.REG[1] = NIT_NULL;
21823 fra.me.REG[2] = NIT_NULL;
21824 fra.me.REG[3] = NIT_NULL;
21825 fra.me.REG[4] = NIT_NULL;
21826 fra.me.REG[5] = NIT_NULL;
21827 fra.me.REG[6] = NIT_NULL;
21828 fra.me.REG[7] = NIT_NULL;
21829 fra.me.REG[8] = NIT_NULL;
21830 fra.me.REG[0] = p0;
21831 fra.me.REG[1] = p1;
21832 /* parser/parser.nit:7638 */
21833 fra.me.REG[2] = NIT_NULL;
21834 /* parser/parser.nit:7639 */
21835 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21836 /* parser/parser.nit:7640 */
21837 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21838 /* parser/parser.nit:7641 */
21839 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21840 /* parser/parser.nit:7642 */
21841 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21842 /* parser/parser.nit:7643 */
21843 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21844 /* parser/parser.nit:7644 */
21845 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21846 /* parser/parser.nit:7645 */
21847 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
21848 /* parser/parser.nit:7647 */
21849 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
21850 if (UNTAG_Bool(REGB0)) {
21851 } else {
21852 nit_abort("Assert failed", NULL, LOCATE_parser, 7647);
21853 }
21854 /* parser/parser.nit:7649 */
21855 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
21856 if (UNTAG_Bool(REGB0)) {
21857 } else {
21858 nit_abort("Assert failed", NULL, LOCATE_parser, 7649);
21859 }
21860 /* parser/parser.nit:7650 */
21861 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
21862 fra.me.REG[7] = fra.me.REG[5];
21863 /* parser/parser.nit:7652 */
21864 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
21865 if (UNTAG_Bool(REGB0)) {
21866 } else {
21867 nit_abort("Assert failed", NULL, LOCATE_parser, 7652);
21868 }
21869 /* parser/parser.nit:7654 */
21870 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
21871 if (UNTAG_Bool(REGB0)) {
21872 } else {
21873 nit_abort("Assert failed", NULL, LOCATE_parser, 7654);
21874 }
21875 /* parser/parser.nit:7655 */
21876 fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8]);
21877 /* parser/parser.nit:7662 */
21878 fra.me.REG[2] = fra.me.REG[8];
21879 /* parser/parser.nit:7663 */
21880 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21881 if (UNTAG_Bool(REGB0)) {
21882 } else {
21883 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7663);
21884 }
21885 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21886 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21887 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21888 stack_frame_head = fra.me.prev;
21889 return;
21890 }
21891 void parser___ReduceAction204___action(val_t p0, val_t p1){
21892 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
21893 val_t REGB0;
21894 val_t tmp;
21895 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21896 fra.me.file = LOCATE_parser;
21897 fra.me.line = 7668;
21898 fra.me.meth = LOCATE_parser___ReduceAction204___action;
21899 fra.me.has_broke = 0;
21900 fra.me.REG_size = 5;
21901 fra.me.nitni_local_ref_head = NULL;
21902 fra.me.REG[0] = NIT_NULL;
21903 fra.me.REG[1] = NIT_NULL;
21904 fra.me.REG[2] = NIT_NULL;
21905 fra.me.REG[3] = NIT_NULL;
21906 fra.me.REG[4] = NIT_NULL;
21907 fra.me.REG[0] = p0;
21908 fra.me.REG[1] = p1;
21909 /* parser/parser.nit:7670 */
21910 fra.me.REG[2] = NIT_NULL;
21911 /* parser/parser.nit:7671 */
21912 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
21913 /* parser/parser.nit:7672 */
21914 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
21915 /* parser/parser.nit:7673 */
21916 fra.me.REG[4] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, fra.me.REG[4]);
21917 /* parser/parser.nit:7680 */
21918 fra.me.REG[2] = fra.me.REG[4];
21919 /* parser/parser.nit:7681 */
21920 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21921 if (UNTAG_Bool(REGB0)) {
21922 } else {
21923 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7681);
21924 }
21925 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21926 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21927 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21928 stack_frame_head = fra.me.prev;
21929 return;
21930 }
21931 void parser___ReduceAction205___action(val_t p0, val_t p1){
21932 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
21933 val_t REGB0;
21934 val_t tmp;
21935 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21936 fra.me.file = LOCATE_parser;
21937 fra.me.line = 7686;
21938 fra.me.meth = LOCATE_parser___ReduceAction205___action;
21939 fra.me.has_broke = 0;
21940 fra.me.REG_size = 6;
21941 fra.me.nitni_local_ref_head = NULL;
21942 fra.me.REG[0] = NIT_NULL;
21943 fra.me.REG[1] = NIT_NULL;
21944 fra.me.REG[2] = NIT_NULL;
21945 fra.me.REG[3] = NIT_NULL;
21946 fra.me.REG[4] = NIT_NULL;
21947 fra.me.REG[5] = NIT_NULL;
21948 fra.me.REG[0] = p0;
21949 fra.me.REG[1] = p1;
21950 /* parser/parser.nit:7688 */
21951 fra.me.REG[2] = NIT_NULL;
21952 /* parser/parser.nit:7689 */
21953 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21954 /* parser/parser.nit:7690 */
21955 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
21956 /* parser/parser.nit:7691 */
21957 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21958 /* parser/parser.nit:7693 */
21959 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
21960 if (UNTAG_Bool(REGB0)) {
21961 } else {
21962 nit_abort("Assert failed", NULL, LOCATE_parser, 7693);
21963 }
21964 /* parser/parser.nit:7694 */
21965 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[5]);
21966 /* parser/parser.nit:7701 */
21967 fra.me.REG[2] = fra.me.REG[5];
21968 /* parser/parser.nit:7702 */
21969 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21970 if (UNTAG_Bool(REGB0)) {
21971 } else {
21972 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7702);
21973 }
21974 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21977 stack_frame_head = fra.me.prev;
21978 return;
21979 }
21980 void parser___ReduceAction206___action(val_t p0, val_t p1){
21981 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
21982 val_t REGB0;
21983 val_t REGB1;
21984 val_t tmp;
21985 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21986 fra.me.file = LOCATE_parser;
21987 fra.me.line = 7707;
21988 fra.me.meth = LOCATE_parser___ReduceAction206___action;
21989 fra.me.has_broke = 0;
21990 fra.me.REG_size = 5;
21991 fra.me.nitni_local_ref_head = NULL;
21992 fra.me.REG[0] = NIT_NULL;
21993 fra.me.REG[1] = NIT_NULL;
21994 fra.me.REG[2] = NIT_NULL;
21995 fra.me.REG[3] = NIT_NULL;
21996 fra.me.REG[4] = NIT_NULL;
21997 fra.me.REG[0] = p0;
21998 fra.me.REG[1] = p1;
21999 /* parser/parser.nit:7709 */
22000 fra.me.REG[2] = NIT_NULL;
22001 /* parser/parser.nit:7710 */
22002 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22003 /* parser/parser.nit:7711 */
22004 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22005 /* parser/parser.nit:7712 */
22006 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
22007 /* parser/parser.nit:7714 */
22008 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
22009 if (UNTAG_Bool(REGB0)) {
22010 } else {
22011 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
22012 if (UNTAG_Bool(REGB1)) {
22013 REGB1 = TAG_Bool(false);
22014 REGB0 = REGB1;
22015 } else {
22016 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
22017 REGB0 = REGB1;
22018 }
22019 }
22020 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22021 if (UNTAG_Bool(REGB0)) {
22022 /* parser/parser.nit:7715 */
22023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
22024 }
22025 /* parser/parser.nit:7717 */
22026 fra.me.REG[2] = fra.me.REG[4];
22027 /* parser/parser.nit:7718 */
22028 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22029 if (UNTAG_Bool(REGB0)) {
22030 } else {
22031 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7718);
22032 }
22033 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22034 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22035 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22036 stack_frame_head = fra.me.prev;
22037 return;
22038 }
22039 void parser___ReduceAction207___action(val_t p0, val_t p1){
22040 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
22041 val_t REGB0;
22042 val_t REGB1;
22043 val_t tmp;
22044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22045 fra.me.file = LOCATE_parser;
22046 fra.me.line = 7723;
22047 fra.me.meth = LOCATE_parser___ReduceAction207___action;
22048 fra.me.has_broke = 0;
22049 fra.me.REG_size = 6;
22050 fra.me.nitni_local_ref_head = NULL;
22051 fra.me.REG[0] = NIT_NULL;
22052 fra.me.REG[1] = NIT_NULL;
22053 fra.me.REG[2] = NIT_NULL;
22054 fra.me.REG[3] = NIT_NULL;
22055 fra.me.REG[4] = NIT_NULL;
22056 fra.me.REG[5] = NIT_NULL;
22057 fra.me.REG[0] = p0;
22058 fra.me.REG[1] = p1;
22059 /* parser/parser.nit:7725 */
22060 fra.me.REG[2] = NIT_NULL;
22061 /* parser/parser.nit:7726 */
22062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22063 /* parser/parser.nit:7727 */
22064 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22065 /* parser/parser.nit:7728 */
22066 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22067 /* parser/parser.nit:7729 */
22068 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
22069 /* parser/parser.nit:7732 */
22070 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
22071 if (UNTAG_Bool(REGB0)) {
22072 } else {
22073 nit_abort("Assert failed", NULL, LOCATE_parser, 7732);
22074 }
22075 /* parser/parser.nit:7733 */
22076 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
22077 if (UNTAG_Bool(REGB0)) {
22078 } else {
22079 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
22080 if (UNTAG_Bool(REGB1)) {
22081 REGB1 = TAG_Bool(false);
22082 REGB0 = REGB1;
22083 } else {
22084 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
22085 REGB0 = REGB1;
22086 }
22087 }
22088 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22089 if (UNTAG_Bool(REGB0)) {
22090 /* parser/parser.nit:7734 */
22091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
22092 }
22093 /* parser/parser.nit:7736 */
22094 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
22095 fra.me.REG[5] = fra.me.REG[3];
22096 /* parser/parser.nit:7737 */
22097 fra.me.REG[2] = fra.me.REG[5];
22098 /* parser/parser.nit:7738 */
22099 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22100 if (UNTAG_Bool(REGB0)) {
22101 } else {
22102 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7738);
22103 }
22104 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22105 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22106 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22107 stack_frame_head = fra.me.prev;
22108 return;
22109 }
22110 void parser___ReduceAction208___action(val_t p0, val_t p1){
22111 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
22112 val_t REGB0;
22113 val_t tmp;
22114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22115 fra.me.file = LOCATE_parser;
22116 fra.me.line = 7743;
22117 fra.me.meth = LOCATE_parser___ReduceAction208___action;
22118 fra.me.has_broke = 0;
22119 fra.me.REG_size = 5;
22120 fra.me.nitni_local_ref_head = NULL;
22121 fra.me.REG[0] = NIT_NULL;
22122 fra.me.REG[1] = NIT_NULL;
22123 fra.me.REG[2] = NIT_NULL;
22124 fra.me.REG[3] = NIT_NULL;
22125 fra.me.REG[4] = NIT_NULL;
22126 fra.me.REG[0] = p0;
22127 fra.me.REG[1] = p1;
22128 /* parser/parser.nit:7745 */
22129 fra.me.REG[2] = NIT_NULL;
22130 /* parser/parser.nit:7746 */
22131 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22132 /* parser/parser.nit:7747 */
22133 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22134 /* parser/parser.nit:7748 */
22135 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22136 /* parser/parser.nit:7750 */
22137 fra.me.REG[2] = fra.me.REG[3];
22138 /* parser/parser.nit:7751 */
22139 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22140 if (UNTAG_Bool(REGB0)) {
22141 } else {
22142 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7751);
22143 }
22144 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22145 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22146 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22147 stack_frame_head = fra.me.prev;
22148 return;
22149 }
22150 void parser___ReduceAction209___action(val_t p0, val_t p1){
22151 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
22152 val_t REGB0;
22153 val_t tmp;
22154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22155 fra.me.file = LOCATE_parser;
22156 fra.me.line = 7756;
22157 fra.me.meth = LOCATE_parser___ReduceAction209___action;
22158 fra.me.has_broke = 0;
22159 fra.me.REG_size = 4;
22160 fra.me.nitni_local_ref_head = NULL;
22161 fra.me.REG[0] = NIT_NULL;
22162 fra.me.REG[1] = NIT_NULL;
22163 fra.me.REG[2] = NIT_NULL;
22164 fra.me.REG[3] = NIT_NULL;
22165 fra.me.REG[0] = p0;
22166 fra.me.REG[1] = p1;
22167 /* parser/parser.nit:7758 */
22168 fra.me.REG[2] = NIT_NULL;
22169 /* parser/parser.nit:7759 */
22170 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22171 /* parser/parser.nit:7761 */
22172 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22173 if (UNTAG_Bool(REGB0)) {
22174 } else {
22175 nit_abort("Assert failed", NULL, LOCATE_parser, 7761);
22176 }
22177 /* parser/parser.nit:7762 */
22178 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[3], NIT_NULL, NIT_NULL);
22179 /* parser/parser.nit:7767 */
22180 fra.me.REG[2] = fra.me.REG[3];
22181 /* parser/parser.nit:7768 */
22182 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22183 if (UNTAG_Bool(REGB0)) {
22184 } else {
22185 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7768);
22186 }
22187 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22188 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22189 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22190 stack_frame_head = fra.me.prev;
22191 return;
22192 }
22193 void parser___ReduceAction210___action(val_t p0, val_t p1){
22194 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
22195 val_t REGB0;
22196 val_t tmp;
22197 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22198 fra.me.file = LOCATE_parser;
22199 fra.me.line = 7773;
22200 fra.me.meth = LOCATE_parser___ReduceAction210___action;
22201 fra.me.has_broke = 0;
22202 fra.me.REG_size = 5;
22203 fra.me.nitni_local_ref_head = NULL;
22204 fra.me.REG[0] = NIT_NULL;
22205 fra.me.REG[1] = NIT_NULL;
22206 fra.me.REG[2] = NIT_NULL;
22207 fra.me.REG[3] = NIT_NULL;
22208 fra.me.REG[4] = NIT_NULL;
22209 fra.me.REG[0] = p0;
22210 fra.me.REG[1] = p1;
22211 /* parser/parser.nit:7775 */
22212 fra.me.REG[2] = NIT_NULL;
22213 /* parser/parser.nit:7776 */
22214 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22215 /* parser/parser.nit:7777 */
22216 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22217 /* parser/parser.nit:7779 */
22218 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22219 if (UNTAG_Bool(REGB0)) {
22220 } else {
22221 nit_abort("Assert failed", NULL, LOCATE_parser, 7779);
22222 }
22223 /* parser/parser.nit:7781 */
22224 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
22225 if (UNTAG_Bool(REGB0)) {
22226 } else {
22227 nit_abort("Assert failed", NULL, LOCATE_parser, 7781);
22228 }
22229 /* parser/parser.nit:7782 */
22230 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
22231 /* parser/parser.nit:7787 */
22232 fra.me.REG[2] = fra.me.REG[3];
22233 /* parser/parser.nit:7788 */
22234 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22235 if (UNTAG_Bool(REGB0)) {
22236 } else {
22237 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7788);
22238 }
22239 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22240 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22241 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22242 stack_frame_head = fra.me.prev;
22243 return;
22244 }
22245 void parser___ReduceAction211___action(val_t p0, val_t p1){
22246 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
22247 val_t REGB0;
22248 val_t tmp;
22249 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22250 fra.me.file = LOCATE_parser;
22251 fra.me.line = 7793;
22252 fra.me.meth = LOCATE_parser___ReduceAction211___action;
22253 fra.me.has_broke = 0;
22254 fra.me.REG_size = 6;
22255 fra.me.nitni_local_ref_head = NULL;
22256 fra.me.REG[0] = NIT_NULL;
22257 fra.me.REG[1] = NIT_NULL;
22258 fra.me.REG[2] = NIT_NULL;
22259 fra.me.REG[3] = NIT_NULL;
22260 fra.me.REG[4] = NIT_NULL;
22261 fra.me.REG[5] = NIT_NULL;
22262 fra.me.REG[0] = p0;
22263 fra.me.REG[1] = p1;
22264 /* parser/parser.nit:7795 */
22265 fra.me.REG[2] = NIT_NULL;
22266 /* parser/parser.nit:7796 */
22267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22268 /* parser/parser.nit:7797 */
22269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22270 /* parser/parser.nit:7798 */
22271 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22272 /* parser/parser.nit:7800 */
22273 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22274 if (UNTAG_Bool(REGB0)) {
22275 } else {
22276 nit_abort("Assert failed", NULL, LOCATE_parser, 7800);
22277 }
22278 /* parser/parser.nit:7802 */
22279 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
22280 if (UNTAG_Bool(REGB0)) {
22281 } else {
22282 nit_abort("Assert failed", NULL, LOCATE_parser, 7802);
22283 }
22284 /* parser/parser.nit:7804 */
22285 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TDotdotdot, ID_parser___parser_nodes___TDotdotdot)) /*cast nullable TDotdotdot*/;
22286 if (UNTAG_Bool(REGB0)) {
22287 } else {
22288 nit_abort("Assert failed", NULL, LOCATE_parser, 7804);
22289 }
22290 /* parser/parser.nit:7805 */
22291 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
22292 /* parser/parser.nit:7810 */
22293 fra.me.REG[2] = fra.me.REG[3];
22294 /* parser/parser.nit:7811 */
22295 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22296 if (UNTAG_Bool(REGB0)) {
22297 } else {
22298 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7811);
22299 }
22300 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22301 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22302 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22303 stack_frame_head = fra.me.prev;
22304 return;
22305 }
22306 void parser___ReduceAction212___action(val_t p0, val_t p1){
22307 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
22308 val_t REGB0;
22309 val_t tmp;
22310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22311 fra.me.file = LOCATE_parser;
22312 fra.me.line = 7816;
22313 fra.me.meth = LOCATE_parser___ReduceAction212___action;
22314 fra.me.has_broke = 0;
22315 fra.me.REG_size = 5;
22316 fra.me.nitni_local_ref_head = NULL;
22317 fra.me.REG[0] = NIT_NULL;
22318 fra.me.REG[1] = NIT_NULL;
22319 fra.me.REG[2] = NIT_NULL;
22320 fra.me.REG[3] = NIT_NULL;
22321 fra.me.REG[4] = NIT_NULL;
22322 fra.me.REG[0] = p0;
22323 fra.me.REG[1] = p1;
22324 /* parser/parser.nit:7818 */
22325 fra.me.REG[2] = NIT_NULL;
22326 /* parser/parser.nit:7819 */
22327 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22328 /* parser/parser.nit:7820 */
22329 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
22330 /* parser/parser.nit:7822 */
22331 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
22332 if (UNTAG_Bool(REGB0)) {
22333 } else {
22334 nit_abort("Assert failed", NULL, LOCATE_parser, 7822);
22335 }
22336 /* parser/parser.nit:7823 */
22337 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
22338 fra.me.REG[4] = fra.me.REG[3];
22339 /* parser/parser.nit:7824 */
22340 fra.me.REG[2] = fra.me.REG[4];
22341 /* parser/parser.nit:7825 */
22342 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22343 if (UNTAG_Bool(REGB0)) {
22344 } else {
22345 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7825);
22346 }
22347 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22348 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22349 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22350 stack_frame_head = fra.me.prev;
22351 return;
22352 }
22353 void parser___ReduceAction213___action(val_t p0, val_t p1){
22354 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
22355 val_t REGB0;
22356 val_t tmp;
22357 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22358 fra.me.file = LOCATE_parser;
22359 fra.me.line = 7830;
22360 fra.me.meth = LOCATE_parser___ReduceAction213___action;
22361 fra.me.has_broke = 0;
22362 fra.me.REG_size = 6;
22363 fra.me.nitni_local_ref_head = NULL;
22364 fra.me.REG[0] = NIT_NULL;
22365 fra.me.REG[1] = NIT_NULL;
22366 fra.me.REG[2] = NIT_NULL;
22367 fra.me.REG[3] = NIT_NULL;
22368 fra.me.REG[4] = NIT_NULL;
22369 fra.me.REG[5] = NIT_NULL;
22370 fra.me.REG[0] = p0;
22371 fra.me.REG[1] = p1;
22372 /* parser/parser.nit:7832 */
22373 fra.me.REG[2] = NIT_NULL;
22374 /* parser/parser.nit:7833 */
22375 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22376 /* parser/parser.nit:7834 */
22377 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22378 /* parser/parser.nit:7835 */
22379 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22380 /* parser/parser.nit:7836 */
22381 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22382 /* parser/parser.nit:7838 */
22383 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
22384 if (UNTAG_Bool(REGB0)) {
22385 } else {
22386 nit_abort("Assert failed", NULL, LOCATE_parser, 7838);
22387 }
22388 /* parser/parser.nit:7840 */
22389 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22390 if (UNTAG_Bool(REGB0)) {
22391 } else {
22392 nit_abort("Assert failed", NULL, LOCATE_parser, 7840);
22393 }
22394 /* parser/parser.nit:7842 */
22395 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
22396 if (UNTAG_Bool(REGB0)) {
22397 } else {
22398 nit_abort("Assert failed", NULL, LOCATE_parser, 7842);
22399 }
22400 /* parser/parser.nit:7843 */
22401 fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
22402 /* parser/parser.nit:7850 */
22403 fra.me.REG[2] = fra.me.REG[3];
22404 /* parser/parser.nit:7851 */
22405 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22406 if (UNTAG_Bool(REGB0)) {
22407 } else {
22408 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7851);
22409 }
22410 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22411 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22412 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22413 stack_frame_head = fra.me.prev;
22414 return;
22415 }
22416 void parser___ReduceAction214___action(val_t p0, val_t p1){
22417 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
22418 val_t REGB0;
22419 val_t tmp;
22420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22421 fra.me.file = LOCATE_parser;
22422 fra.me.line = 7856;
22423 fra.me.meth = LOCATE_parser___ReduceAction214___action;
22424 fra.me.has_broke = 0;
22425 fra.me.REG_size = 7;
22426 fra.me.nitni_local_ref_head = NULL;
22427 fra.me.REG[0] = NIT_NULL;
22428 fra.me.REG[1] = NIT_NULL;
22429 fra.me.REG[2] = NIT_NULL;
22430 fra.me.REG[3] = NIT_NULL;
22431 fra.me.REG[4] = NIT_NULL;
22432 fra.me.REG[5] = NIT_NULL;
22433 fra.me.REG[6] = NIT_NULL;
22434 fra.me.REG[0] = p0;
22435 fra.me.REG[1] = p1;
22436 /* parser/parser.nit:7858 */
22437 fra.me.REG[2] = NIT_NULL;
22438 /* parser/parser.nit:7859 */
22439 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22440 /* parser/parser.nit:7860 */
22441 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22442 /* parser/parser.nit:7861 */
22443 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22444 /* parser/parser.nit:7862 */
22445 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22446 /* parser/parser.nit:7863 */
22447 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22448 /* parser/parser.nit:7865 */
22449 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
22450 if (UNTAG_Bool(REGB0)) {
22451 } else {
22452 nit_abort("Assert failed", NULL, LOCATE_parser, 7865);
22453 }
22454 /* parser/parser.nit:7867 */
22455 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
22456 if (UNTAG_Bool(REGB0)) {
22457 } else {
22458 nit_abort("Assert failed", NULL, LOCATE_parser, 7867);
22459 }
22460 /* parser/parser.nit:7869 */
22461 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22462 if (UNTAG_Bool(REGB0)) {
22463 } else {
22464 nit_abort("Assert failed", NULL, LOCATE_parser, 7869);
22465 }
22466 /* parser/parser.nit:7871 */
22467 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
22468 if (UNTAG_Bool(REGB0)) {
22469 } else {
22470 nit_abort("Assert failed", NULL, LOCATE_parser, 7871);
22471 }
22472 /* parser/parser.nit:7872 */
22473 fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
22474 /* parser/parser.nit:7879 */
22475 fra.me.REG[2] = fra.me.REG[3];
22476 /* parser/parser.nit:7880 */
22477 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22478 if (UNTAG_Bool(REGB0)) {
22479 } else {
22480 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7880);
22481 }
22482 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22483 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22484 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22485 stack_frame_head = fra.me.prev;
22486 return;
22487 }
22488 void parser___ReduceAction215___action(val_t p0, val_t p1){
22489 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
22490 val_t REGB0;
22491 val_t tmp;
22492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22493 fra.me.file = LOCATE_parser;
22494 fra.me.line = 7885;
22495 fra.me.meth = LOCATE_parser___ReduceAction215___action;
22496 fra.me.has_broke = 0;
22497 fra.me.REG_size = 7;
22498 fra.me.nitni_local_ref_head = NULL;
22499 fra.me.REG[0] = NIT_NULL;
22500 fra.me.REG[1] = NIT_NULL;
22501 fra.me.REG[2] = NIT_NULL;
22502 fra.me.REG[3] = NIT_NULL;
22503 fra.me.REG[4] = NIT_NULL;
22504 fra.me.REG[5] = NIT_NULL;
22505 fra.me.REG[6] = NIT_NULL;
22506 fra.me.REG[0] = p0;
22507 fra.me.REG[1] = p1;
22508 /* parser/parser.nit:7887 */
22509 fra.me.REG[2] = NIT_NULL;
22510 /* parser/parser.nit:7888 */
22511 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22512 /* parser/parser.nit:7889 */
22513 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22514 /* parser/parser.nit:7890 */
22515 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22516 /* parser/parser.nit:7891 */
22517 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22518 /* parser/parser.nit:7892 */
22519 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22520 /* parser/parser.nit:7893 */
22521 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22522 /* parser/parser.nit:7895 */
22523 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
22524 if (UNTAG_Bool(REGB0)) {
22525 } else {
22526 nit_abort("Assert failed", NULL, LOCATE_parser, 7895);
22527 }
22528 /* parser/parser.nit:7897 */
22529 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22530 if (UNTAG_Bool(REGB0)) {
22531 } else {
22532 nit_abort("Assert failed", NULL, LOCATE_parser, 7897);
22533 }
22534 /* parser/parser.nit:7899 */
22535 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
22536 if (UNTAG_Bool(REGB0)) {
22537 } else {
22538 nit_abort("Assert failed", NULL, LOCATE_parser, 7899);
22539 }
22540 /* parser/parser.nit:7901 */
22541 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
22542 if (UNTAG_Bool(REGB0)) {
22543 } else {
22544 nit_abort("Assert failed", NULL, LOCATE_parser, 7901);
22545 }
22546 /* parser/parser.nit:7902 */
22547 fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
22548 /* parser/parser.nit:7909 */
22549 fra.me.REG[2] = fra.me.REG[3];
22550 /* parser/parser.nit:7910 */
22551 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22552 if (UNTAG_Bool(REGB0)) {
22553 } else {
22554 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7910);
22555 }
22556 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22557 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22558 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22559 stack_frame_head = fra.me.prev;
22560 return;
22561 }
22562 void parser___ReduceAction216___action(val_t p0, val_t p1){
22563 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
22564 val_t REGB0;
22565 val_t tmp;
22566 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22567 fra.me.file = LOCATE_parser;
22568 fra.me.line = 7915;
22569 fra.me.meth = LOCATE_parser___ReduceAction216___action;
22570 fra.me.has_broke = 0;
22571 fra.me.REG_size = 8;
22572 fra.me.nitni_local_ref_head = NULL;
22573 fra.me.REG[0] = NIT_NULL;
22574 fra.me.REG[1] = NIT_NULL;
22575 fra.me.REG[2] = NIT_NULL;
22576 fra.me.REG[3] = NIT_NULL;
22577 fra.me.REG[4] = NIT_NULL;
22578 fra.me.REG[5] = NIT_NULL;
22579 fra.me.REG[6] = NIT_NULL;
22580 fra.me.REG[7] = NIT_NULL;
22581 fra.me.REG[0] = p0;
22582 fra.me.REG[1] = p1;
22583 /* parser/parser.nit:7917 */
22584 fra.me.REG[2] = NIT_NULL;
22585 /* parser/parser.nit:7918 */
22586 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22587 /* parser/parser.nit:7919 */
22588 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22589 /* parser/parser.nit:7920 */
22590 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22591 /* parser/parser.nit:7921 */
22592 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22593 /* parser/parser.nit:7922 */
22594 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22595 /* parser/parser.nit:7923 */
22596 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22597 /* parser/parser.nit:7924 */
22598 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22599 /* parser/parser.nit:7926 */
22600 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
22601 if (UNTAG_Bool(REGB0)) {
22602 } else {
22603 nit_abort("Assert failed", NULL, LOCATE_parser, 7926);
22604 }
22605 /* parser/parser.nit:7928 */
22606 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
22607 if (UNTAG_Bool(REGB0)) {
22608 } else {
22609 nit_abort("Assert failed", NULL, LOCATE_parser, 7928);
22610 }
22611 /* parser/parser.nit:7930 */
22612 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22613 if (UNTAG_Bool(REGB0)) {
22614 } else {
22615 nit_abort("Assert failed", NULL, LOCATE_parser, 7930);
22616 }
22617 /* parser/parser.nit:7932 */
22618 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
22619 if (UNTAG_Bool(REGB0)) {
22620 } else {
22621 nit_abort("Assert failed", NULL, LOCATE_parser, 7932);
22622 }
22623 /* parser/parser.nit:7934 */
22624 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
22625 if (UNTAG_Bool(REGB0)) {
22626 } else {
22627 nit_abort("Assert failed", NULL, LOCATE_parser, 7934);
22628 }
22629 /* parser/parser.nit:7935 */
22630 fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
22631 /* parser/parser.nit:7942 */
22632 fra.me.REG[2] = fra.me.REG[3];
22633 /* parser/parser.nit:7943 */
22634 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22635 if (UNTAG_Bool(REGB0)) {
22636 } else {
22637 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7943);
22638 }
22639 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22640 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22641 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22642 stack_frame_head = fra.me.prev;
22643 return;
22644 }
22645 void parser___ReduceAction217___action(val_t p0, val_t p1){
22646 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
22647 val_t REGB0;
22648 val_t tmp;
22649 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22650 fra.me.file = LOCATE_parser;
22651 fra.me.line = 7948;
22652 fra.me.meth = LOCATE_parser___ReduceAction217___action;
22653 fra.me.has_broke = 0;
22654 fra.me.REG_size = 7;
22655 fra.me.nitni_local_ref_head = NULL;
22656 fra.me.REG[0] = NIT_NULL;
22657 fra.me.REG[1] = NIT_NULL;
22658 fra.me.REG[2] = NIT_NULL;
22659 fra.me.REG[3] = NIT_NULL;
22660 fra.me.REG[4] = NIT_NULL;
22661 fra.me.REG[5] = NIT_NULL;
22662 fra.me.REG[6] = NIT_NULL;
22663 fra.me.REG[0] = p0;
22664 fra.me.REG[1] = p1;
22665 /* parser/parser.nit:7950 */
22666 fra.me.REG[2] = NIT_NULL;
22667 /* parser/parser.nit:7951 */
22668 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22669 /* parser/parser.nit:7952 */
22670 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22671 /* parser/parser.nit:7953 */
22672 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22673 /* parser/parser.nit:7954 */
22674 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22675 /* parser/parser.nit:7955 */
22676 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22677 /* parser/parser.nit:7956 */
22678 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22679 /* parser/parser.nit:7957 */
22680 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22681 /* parser/parser.nit:7959 */
22682 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
22683 if (UNTAG_Bool(REGB0)) {
22684 } else {
22685 nit_abort("Assert failed", NULL, LOCATE_parser, 7959);
22686 }
22687 /* parser/parser.nit:7961 */
22688 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22689 if (UNTAG_Bool(REGB0)) {
22690 } else {
22691 nit_abort("Assert failed", NULL, LOCATE_parser, 7961);
22692 }
22693 /* parser/parser.nit:7963 */
22694 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
22695 if (UNTAG_Bool(REGB0)) {
22696 } else {
22697 nit_abort("Assert failed", NULL, LOCATE_parser, 7963);
22698 }
22699 /* parser/parser.nit:7965 */
22700 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
22701 if (UNTAG_Bool(REGB0)) {
22702 } else {
22703 nit_abort("Assert failed", NULL, LOCATE_parser, 7965);
22704 }
22705 /* parser/parser.nit:7966 */
22706 fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
22707 /* parser/parser.nit:7973 */
22708 fra.me.REG[2] = fra.me.REG[3];
22709 /* parser/parser.nit:7974 */
22710 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22711 if (UNTAG_Bool(REGB0)) {
22712 } else {
22713 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7974);
22714 }
22715 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22716 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22717 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22718 stack_frame_head = fra.me.prev;
22719 return;
22720 }
22721 void parser___ReduceAction218___action(val_t p0, val_t p1){
22722 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
22723 val_t REGB0;
22724 val_t tmp;
22725 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22726 fra.me.file = LOCATE_parser;
22727 fra.me.line = 7979;
22728 fra.me.meth = LOCATE_parser___ReduceAction218___action;
22729 fra.me.has_broke = 0;
22730 fra.me.REG_size = 8;
22731 fra.me.nitni_local_ref_head = NULL;
22732 fra.me.REG[0] = NIT_NULL;
22733 fra.me.REG[1] = NIT_NULL;
22734 fra.me.REG[2] = NIT_NULL;
22735 fra.me.REG[3] = NIT_NULL;
22736 fra.me.REG[4] = NIT_NULL;
22737 fra.me.REG[5] = NIT_NULL;
22738 fra.me.REG[6] = NIT_NULL;
22739 fra.me.REG[7] = NIT_NULL;
22740 fra.me.REG[0] = p0;
22741 fra.me.REG[1] = p1;
22742 /* parser/parser.nit:7981 */
22743 fra.me.REG[2] = NIT_NULL;
22744 /* parser/parser.nit:7982 */
22745 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22746 /* parser/parser.nit:7983 */
22747 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22748 /* parser/parser.nit:7984 */
22749 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22750 /* parser/parser.nit:7985 */
22751 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22752 /* parser/parser.nit:7986 */
22753 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22754 /* parser/parser.nit:7987 */
22755 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22756 /* parser/parser.nit:7988 */
22757 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22758 /* parser/parser.nit:7989 */
22759 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22760 /* parser/parser.nit:7991 */
22761 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
22762 if (UNTAG_Bool(REGB0)) {
22763 } else {
22764 nit_abort("Assert failed", NULL, LOCATE_parser, 7991);
22765 }
22766 /* parser/parser.nit:7993 */
22767 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
22768 if (UNTAG_Bool(REGB0)) {
22769 } else {
22770 nit_abort("Assert failed", NULL, LOCATE_parser, 7993);
22771 }
22772 /* parser/parser.nit:7995 */
22773 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
22774 if (UNTAG_Bool(REGB0)) {
22775 } else {
22776 nit_abort("Assert failed", NULL, LOCATE_parser, 7995);
22777 }
22778 /* parser/parser.nit:7997 */
22779 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
22780 if (UNTAG_Bool(REGB0)) {
22781 } else {
22782 nit_abort("Assert failed", NULL, LOCATE_parser, 7997);
22783 }
22784 /* parser/parser.nit:7999 */
22785 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
22786 if (UNTAG_Bool(REGB0)) {
22787 } else {
22788 nit_abort("Assert failed", NULL, LOCATE_parser, 7999);
22789 }
22790 /* parser/parser.nit:8000 */
22791 fra.me.REG[3] = NEW_AClosureDecl_parser___parser_prod___AClosureDecl___init_aclosuredecl(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
22792 /* parser/parser.nit:8007 */
22793 fra.me.REG[2] = fra.me.REG[3];
22794 /* parser/parser.nit:8008 */
22795 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22796 if (UNTAG_Bool(REGB0)) {
22797 } else {
22798 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8008);
22799 }
22800 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22801 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22802 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22803 stack_frame_head = fra.me.prev;
22804 return;
22805 }
22806 void parser___ReduceAction219___action(val_t p0, val_t p1){
22807 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
22808 val_t REGB0;
22809 val_t tmp;
22810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22811 fra.me.file = LOCATE_parser;
22812 fra.me.line = 8013;
22813 fra.me.meth = LOCATE_parser___ReduceAction219___action;
22814 fra.me.has_broke = 0;
22815 fra.me.REG_size = 4;
22816 fra.me.nitni_local_ref_head = NULL;
22817 fra.me.REG[0] = NIT_NULL;
22818 fra.me.REG[1] = NIT_NULL;
22819 fra.me.REG[2] = NIT_NULL;
22820 fra.me.REG[3] = NIT_NULL;
22821 fra.me.REG[0] = p0;
22822 fra.me.REG[1] = p1;
22823 /* parser/parser.nit:8015 */
22824 fra.me.REG[2] = NIT_NULL;
22825 /* parser/parser.nit:8016 */
22826 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22827 /* parser/parser.nit:8018 */
22828 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
22829 if (UNTAG_Bool(REGB0)) {
22830 } else {
22831 nit_abort("Assert failed", NULL, LOCATE_parser, 8018);
22832 }
22833 /* parser/parser.nit:8019 */
22834 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(NIT_NULL, fra.me.REG[3]);
22835 /* parser/parser.nit:8023 */
22836 fra.me.REG[2] = fra.me.REG[3];
22837 /* parser/parser.nit:8024 */
22838 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22839 if (UNTAG_Bool(REGB0)) {
22840 } else {
22841 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8024);
22842 }
22843 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22844 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22845 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22846 stack_frame_head = fra.me.prev;
22847 return;
22848 }
22849 void parser___ReduceAction220___action(val_t p0, val_t p1){
22850 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
22851 val_t REGB0;
22852 val_t REGB1;
22853 val_t tmp;
22854 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22855 fra.me.file = LOCATE_parser;
22856 fra.me.line = 8029;
22857 fra.me.meth = LOCATE_parser___ReduceAction220___action;
22858 fra.me.has_broke = 0;
22859 fra.me.REG_size = 6;
22860 fra.me.nitni_local_ref_head = NULL;
22861 fra.me.REG[0] = NIT_NULL;
22862 fra.me.REG[1] = NIT_NULL;
22863 fra.me.REG[2] = NIT_NULL;
22864 fra.me.REG[3] = NIT_NULL;
22865 fra.me.REG[4] = NIT_NULL;
22866 fra.me.REG[5] = NIT_NULL;
22867 fra.me.REG[0] = p0;
22868 fra.me.REG[1] = p1;
22869 /* parser/parser.nit:8031 */
22870 fra.me.REG[2] = NIT_NULL;
22871 /* parser/parser.nit:8032 */
22872 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22873 /* parser/parser.nit:8033 */
22874 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22875 /* parser/parser.nit:8034 */
22876 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22877 /* parser/parser.nit:8035 */
22878 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
22879 /* parser/parser.nit:8037 */
22880 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
22881 if (UNTAG_Bool(REGB0)) {
22882 } else {
22883 nit_abort("Assert failed", NULL, LOCATE_parser, 8037);
22884 }
22885 /* parser/parser.nit:8039 */
22886 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCall, ID_parser___parser_nodes___AExternCall)) /*cast nullable AExternCall*/;
22887 if (UNTAG_Bool(REGB0)) {
22888 } else {
22889 nit_abort("Assert failed", NULL, LOCATE_parser, 8039);
22890 }
22891 /* parser/parser.nit:8040 */
22892 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
22893 if (UNTAG_Bool(REGB0)) {
22894 } else {
22895 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
22896 if (UNTAG_Bool(REGB1)) {
22897 REGB1 = TAG_Bool(false);
22898 REGB0 = REGB1;
22899 } else {
22900 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
22901 REGB0 = REGB1;
22902 }
22903 }
22904 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22905 if (UNTAG_Bool(REGB0)) {
22906 /* parser/parser.nit:8041 */
22907 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
22908 }
22909 /* parser/parser.nit:8043 */
22910 fra.me.REG[5] = NEW_AExternCalls_parser___parser_prod___AExternCalls___init_aexterncalls(fra.me.REG[4], fra.me.REG[5]);
22911 /* parser/parser.nit:8047 */
22912 fra.me.REG[2] = fra.me.REG[5];
22913 /* parser/parser.nit:8048 */
22914 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22915 if (UNTAG_Bool(REGB0)) {
22916 } else {
22917 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8048);
22918 }
22919 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22920 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22921 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22922 stack_frame_head = fra.me.prev;
22923 return;
22924 }
22925 void parser___ReduceAction221___action(val_t p0, val_t p1){
22926 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
22927 val_t REGB0;
22928 val_t REGB1;
22929 val_t tmp;
22930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22931 fra.me.file = LOCATE_parser;
22932 fra.me.line = 8053;
22933 fra.me.meth = LOCATE_parser___ReduceAction221___action;
22934 fra.me.has_broke = 0;
22935 fra.me.REG_size = 7;
22936 fra.me.nitni_local_ref_head = NULL;
22937 fra.me.REG[0] = NIT_NULL;
22938 fra.me.REG[1] = NIT_NULL;
22939 fra.me.REG[2] = NIT_NULL;
22940 fra.me.REG[3] = NIT_NULL;
22941 fra.me.REG[4] = NIT_NULL;
22942 fra.me.REG[5] = NIT_NULL;
22943 fra.me.REG[6] = NIT_NULL;
22944 fra.me.REG[0] = p0;
22945 fra.me.REG[1] = p1;
22946 /* parser/parser.nit:8055 */
22947 fra.me.REG[2] = NIT_NULL;
22948 /* parser/parser.nit:8056 */
22949 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22950 /* parser/parser.nit:8057 */
22951 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22952 /* parser/parser.nit:8058 */
22953 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22954 /* parser/parser.nit:8059 */
22955 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22956 /* parser/parser.nit:8060 */
22957 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
22958 /* parser/parser.nit:8062 */
22959 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
22960 if (UNTAG_Bool(REGB0)) {
22961 } else {
22962 nit_abort("Assert failed", NULL, LOCATE_parser, 8062);
22963 }
22964 /* parser/parser.nit:8064 */
22965 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCall, ID_parser___parser_nodes___AExternCall)) /*cast nullable AExternCall*/;
22966 if (UNTAG_Bool(REGB0)) {
22967 } else {
22968 nit_abort("Assert failed", NULL, LOCATE_parser, 8064);
22969 }
22970 /* parser/parser.nit:8066 */
22971 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
22972 if (UNTAG_Bool(REGB0)) {
22973 } else {
22974 nit_abort("Assert failed", NULL, LOCATE_parser, 8066);
22975 }
22976 /* parser/parser.nit:8067 */
22977 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
22978 if (UNTAG_Bool(REGB0)) {
22979 } else {
22980 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
22981 if (UNTAG_Bool(REGB1)) {
22982 REGB1 = TAG_Bool(false);
22983 REGB0 = REGB1;
22984 } else {
22985 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
22986 REGB0 = REGB1;
22987 }
22988 }
22989 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22990 if (UNTAG_Bool(REGB0)) {
22991 /* parser/parser.nit:8068 */
22992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
22993 }
22994 /* parser/parser.nit:8070 */
22995 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
22996 fra.me.REG[6] = fra.me.REG[3];
22997 /* parser/parser.nit:8071 */
22998 fra.me.REG[6] = NEW_AExternCalls_parser___parser_prod___AExternCalls___init_aexterncalls(fra.me.REG[5], fra.me.REG[6]);
22999 /* parser/parser.nit:8075 */
23000 fra.me.REG[2] = fra.me.REG[6];
23001 /* parser/parser.nit:8076 */
23002 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23003 if (UNTAG_Bool(REGB0)) {
23004 } else {
23005 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8076);
23006 }
23007 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23008 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23009 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23010 stack_frame_head = fra.me.prev;
23011 return;
23012 }
23013 void parser___ReduceAction222___action(val_t p0, val_t p1){
23014 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23015 val_t REGB0;
23016 val_t tmp;
23017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23018 fra.me.file = LOCATE_parser;
23019 fra.me.line = 8081;
23020 fra.me.meth = LOCATE_parser___ReduceAction222___action;
23021 fra.me.has_broke = 0;
23022 fra.me.REG_size = 5;
23023 fra.me.nitni_local_ref_head = NULL;
23024 fra.me.REG[0] = NIT_NULL;
23025 fra.me.REG[1] = NIT_NULL;
23026 fra.me.REG[2] = NIT_NULL;
23027 fra.me.REG[3] = NIT_NULL;
23028 fra.me.REG[4] = NIT_NULL;
23029 fra.me.REG[0] = p0;
23030 fra.me.REG[1] = p1;
23031 /* parser/parser.nit:8083 */
23032 fra.me.REG[2] = NIT_NULL;
23033 /* parser/parser.nit:8084 */
23034 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23035 /* parser/parser.nit:8085 */
23036 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23037 /* parser/parser.nit:8086 */
23038 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23039 /* parser/parser.nit:8088 */
23040 fra.me.REG[2] = fra.me.REG[3];
23041 /* parser/parser.nit:8089 */
23042 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23043 if (UNTAG_Bool(REGB0)) {
23044 } else {
23045 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8089);
23046 }
23047 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23048 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23049 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23050 stack_frame_head = fra.me.prev;
23051 return;
23052 }
23053 void parser___ReduceAction223___action(val_t p0, val_t p1){
23054 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23055 val_t REGB0;
23056 val_t tmp;
23057 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23058 fra.me.file = LOCATE_parser;
23059 fra.me.line = 8094;
23060 fra.me.meth = LOCATE_parser___ReduceAction223___action;
23061 fra.me.has_broke = 0;
23062 fra.me.REG_size = 4;
23063 fra.me.nitni_local_ref_head = NULL;
23064 fra.me.REG[0] = NIT_NULL;
23065 fra.me.REG[1] = NIT_NULL;
23066 fra.me.REG[2] = NIT_NULL;
23067 fra.me.REG[3] = NIT_NULL;
23068 fra.me.REG[0] = p0;
23069 fra.me.REG[1] = p1;
23070 /* parser/parser.nit:8096 */
23071 fra.me.REG[2] = NIT_NULL;
23072 /* parser/parser.nit:8097 */
23073 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23074 /* parser/parser.nit:8099 */
23075 fra.me.REG[2] = fra.me.REG[3];
23076 /* parser/parser.nit:8100 */
23077 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23078 if (UNTAG_Bool(REGB0)) {
23079 } else {
23080 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8100);
23081 }
23082 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23083 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23084 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23085 stack_frame_head = fra.me.prev;
23086 return;
23087 }
23088 void parser___ReduceAction225___action(val_t p0, val_t p1){
23089 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23090 val_t REGB0;
23091 val_t tmp;
23092 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23093 fra.me.file = LOCATE_parser;
23094 fra.me.line = 8105;
23095 fra.me.meth = LOCATE_parser___ReduceAction225___action;
23096 fra.me.has_broke = 0;
23097 fra.me.REG_size = 4;
23098 fra.me.nitni_local_ref_head = NULL;
23099 fra.me.REG[0] = NIT_NULL;
23100 fra.me.REG[1] = NIT_NULL;
23101 fra.me.REG[2] = NIT_NULL;
23102 fra.me.REG[3] = NIT_NULL;
23103 fra.me.REG[0] = p0;
23104 fra.me.REG[1] = p1;
23105 /* parser/parser.nit:8107 */
23106 fra.me.REG[2] = NIT_NULL;
23107 /* parser/parser.nit:8108 */
23108 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23109 /* parser/parser.nit:8110 */
23110 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
23111 if (UNTAG_Bool(REGB0)) {
23112 } else {
23113 nit_abort("Assert failed", NULL, LOCATE_parser, 8110);
23114 }
23115 /* parser/parser.nit:8111 */
23116 fra.me.REG[3] = NEW_ASuperExternCall_parser___parser_prod___ASuperExternCall___init_asuperexterncall(fra.me.REG[3]);
23117 /* parser/parser.nit:8114 */
23118 fra.me.REG[2] = fra.me.REG[3];
23119 /* parser/parser.nit:8115 */
23120 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23121 if (UNTAG_Bool(REGB0)) {
23122 } else {
23123 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8115);
23124 }
23125 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23128 stack_frame_head = fra.me.prev;
23129 return;
23130 }
23131 void parser___ReduceAction226___action(val_t p0, val_t p1){
23132 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23133 val_t REGB0;
23134 val_t tmp;
23135 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23136 fra.me.file = LOCATE_parser;
23137 fra.me.line = 8120;
23138 fra.me.meth = LOCATE_parser___ReduceAction226___action;
23139 fra.me.has_broke = 0;
23140 fra.me.REG_size = 4;
23141 fra.me.nitni_local_ref_head = NULL;
23142 fra.me.REG[0] = NIT_NULL;
23143 fra.me.REG[1] = NIT_NULL;
23144 fra.me.REG[2] = NIT_NULL;
23145 fra.me.REG[3] = NIT_NULL;
23146 fra.me.REG[0] = p0;
23147 fra.me.REG[1] = p1;
23148 /* parser/parser.nit:8122 */
23149 fra.me.REG[2] = NIT_NULL;
23150 /* parser/parser.nit:8123 */
23151 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23152 /* parser/parser.nit:8125 */
23153 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
23154 if (UNTAG_Bool(REGB0)) {
23155 } else {
23156 nit_abort("Assert failed", NULL, LOCATE_parser, 8125);
23157 }
23158 /* parser/parser.nit:8126 */
23159 fra.me.REG[3] = NEW_ALocalPropExternCall_parser___parser_prod___ALocalPropExternCall___init_alocalpropexterncall(fra.me.REG[3]);
23160 /* parser/parser.nit:8129 */
23161 fra.me.REG[2] = fra.me.REG[3];
23162 /* parser/parser.nit:8130 */
23163 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23164 if (UNTAG_Bool(REGB0)) {
23165 } else {
23166 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8130);
23167 }
23168 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23169 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23170 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23171 stack_frame_head = fra.me.prev;
23172 return;
23173 }
23174 void parser___ReduceAction227___action(val_t p0, val_t p1){
23175 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23176 val_t REGB0;
23177 val_t tmp;
23178 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23179 fra.me.file = LOCATE_parser;
23180 fra.me.line = 8135;
23181 fra.me.meth = LOCATE_parser___ReduceAction227___action;
23182 fra.me.has_broke = 0;
23183 fra.me.REG_size = 6;
23184 fra.me.nitni_local_ref_head = NULL;
23185 fra.me.REG[0] = NIT_NULL;
23186 fra.me.REG[1] = NIT_NULL;
23187 fra.me.REG[2] = NIT_NULL;
23188 fra.me.REG[3] = NIT_NULL;
23189 fra.me.REG[4] = NIT_NULL;
23190 fra.me.REG[5] = NIT_NULL;
23191 fra.me.REG[0] = p0;
23192 fra.me.REG[1] = p1;
23193 /* parser/parser.nit:8137 */
23194 fra.me.REG[2] = NIT_NULL;
23195 /* parser/parser.nit:8138 */
23196 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23197 /* parser/parser.nit:8139 */
23198 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23199 /* parser/parser.nit:8140 */
23200 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23201 /* parser/parser.nit:8142 */
23202 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
23203 if (UNTAG_Bool(REGB0)) {
23204 } else {
23205 nit_abort("Assert failed", NULL, LOCATE_parser, 8142);
23206 }
23207 /* parser/parser.nit:8144 */
23208 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TQuad, ID_parser___parser_nodes___TQuad)) /*cast nullable TQuad*/;
23209 if (UNTAG_Bool(REGB0)) {
23210 } else {
23211 nit_abort("Assert failed", NULL, LOCATE_parser, 8144);
23212 }
23213 /* parser/parser.nit:8146 */
23214 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
23215 if (UNTAG_Bool(REGB0)) {
23216 } else {
23217 nit_abort("Assert failed", NULL, LOCATE_parser, 8146);
23218 }
23219 /* parser/parser.nit:8147 */
23220 fra.me.REG[3] = NEW_AFullPropExternCall_parser___parser_prod___AFullPropExternCall___init_afullpropexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
23221 /* parser/parser.nit:8152 */
23222 fra.me.REG[2] = fra.me.REG[3];
23223 /* parser/parser.nit:8153 */
23224 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23225 if (UNTAG_Bool(REGB0)) {
23226 } else {
23227 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8153);
23228 }
23229 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23230 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23231 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23232 stack_frame_head = fra.me.prev;
23233 return;
23234 }
23235 void parser___ReduceAction228___action(val_t p0, val_t p1){
23236 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23237 val_t REGB0;
23238 val_t tmp;
23239 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23240 fra.me.file = LOCATE_parser;
23241 fra.me.line = 8158;
23242 fra.me.meth = LOCATE_parser___ReduceAction228___action;
23243 fra.me.has_broke = 0;
23244 fra.me.REG_size = 4;
23245 fra.me.nitni_local_ref_head = NULL;
23246 fra.me.REG[0] = NIT_NULL;
23247 fra.me.REG[1] = NIT_NULL;
23248 fra.me.REG[2] = NIT_NULL;
23249 fra.me.REG[3] = NIT_NULL;
23250 fra.me.REG[0] = p0;
23251 fra.me.REG[1] = p1;
23252 /* parser/parser.nit:8160 */
23253 fra.me.REG[2] = NIT_NULL;
23254 /* parser/parser.nit:8161 */
23255 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23256 /* parser/parser.nit:8163 */
23257 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
23258 if (UNTAG_Bool(REGB0)) {
23259 } else {
23260 nit_abort("Assert failed", NULL, LOCATE_parser, 8163);
23261 }
23262 /* parser/parser.nit:8164 */
23263 fra.me.REG[3] = NEW_AInitPropExternCall_parser___parser_prod___AInitPropExternCall___init_ainitpropexterncall(fra.me.REG[3]);
23264 /* parser/parser.nit:8167 */
23265 fra.me.REG[2] = fra.me.REG[3];
23266 /* parser/parser.nit:8168 */
23267 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23268 if (UNTAG_Bool(REGB0)) {
23269 } else {
23270 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8168);
23271 }
23272 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23273 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23274 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23275 stack_frame_head = fra.me.prev;
23276 return;
23277 }
23278 void parser___ReduceAction229___action(val_t p0, val_t p1){
23279 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23280 val_t REGB0;
23281 val_t tmp;
23282 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23283 fra.me.file = LOCATE_parser;
23284 fra.me.line = 8173;
23285 fra.me.meth = LOCATE_parser___ReduceAction229___action;
23286 fra.me.has_broke = 0;
23287 fra.me.REG_size = 6;
23288 fra.me.nitni_local_ref_head = NULL;
23289 fra.me.REG[0] = NIT_NULL;
23290 fra.me.REG[1] = NIT_NULL;
23291 fra.me.REG[2] = NIT_NULL;
23292 fra.me.REG[3] = NIT_NULL;
23293 fra.me.REG[4] = NIT_NULL;
23294 fra.me.REG[5] = NIT_NULL;
23295 fra.me.REG[0] = p0;
23296 fra.me.REG[1] = p1;
23297 /* parser/parser.nit:8175 */
23298 fra.me.REG[2] = NIT_NULL;
23299 /* parser/parser.nit:8176 */
23300 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23301 /* parser/parser.nit:8177 */
23302 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23303 /* parser/parser.nit:8178 */
23304 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23305 /* parser/parser.nit:8179 */
23306 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23307 /* parser/parser.nit:8180 */
23308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23309 /* parser/parser.nit:8181 */
23310 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23311 /* parser/parser.nit:8182 */
23312 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23313 /* parser/parser.nit:8183 */
23314 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23315 /* parser/parser.nit:8185 */
23316 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
23317 if (UNTAG_Bool(REGB0)) {
23318 } else {
23319 nit_abort("Assert failed", NULL, LOCATE_parser, 8185);
23320 }
23321 /* parser/parser.nit:8187 */
23322 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
23323 if (UNTAG_Bool(REGB0)) {
23324 } else {
23325 nit_abort("Assert failed", NULL, LOCATE_parser, 8187);
23326 }
23327 /* parser/parser.nit:8189 */
23328 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
23329 if (UNTAG_Bool(REGB0)) {
23330 } else {
23331 nit_abort("Assert failed", NULL, LOCATE_parser, 8189);
23332 }
23333 /* parser/parser.nit:8190 */
23334 fra.me.REG[3] = NEW_ACastAsExternCall_parser___parser_prod___ACastAsExternCall___init_acastasexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
23335 /* parser/parser.nit:8195 */
23336 fra.me.REG[2] = fra.me.REG[3];
23337 /* parser/parser.nit:8196 */
23338 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23339 if (UNTAG_Bool(REGB0)) {
23340 } else {
23341 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8196);
23342 }
23343 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23344 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23345 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23346 stack_frame_head = fra.me.prev;
23347 return;
23348 }
23349 void parser___ReduceAction230___action(val_t p0, val_t p1){
23350 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23351 val_t REGB0;
23352 val_t tmp;
23353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23354 fra.me.file = LOCATE_parser;
23355 fra.me.line = 8201;
23356 fra.me.meth = LOCATE_parser___ReduceAction230___action;
23357 fra.me.has_broke = 0;
23358 fra.me.REG_size = 6;
23359 fra.me.nitni_local_ref_head = NULL;
23360 fra.me.REG[0] = NIT_NULL;
23361 fra.me.REG[1] = NIT_NULL;
23362 fra.me.REG[2] = NIT_NULL;
23363 fra.me.REG[3] = NIT_NULL;
23364 fra.me.REG[4] = NIT_NULL;
23365 fra.me.REG[5] = NIT_NULL;
23366 fra.me.REG[0] = p0;
23367 fra.me.REG[1] = p1;
23368 /* parser/parser.nit:8203 */
23369 fra.me.REG[2] = NIT_NULL;
23370 /* parser/parser.nit:8204 */
23371 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23372 /* parser/parser.nit:8205 */
23373 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23374 /* parser/parser.nit:8206 */
23375 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23376 /* parser/parser.nit:8207 */
23377 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23378 /* parser/parser.nit:8209 */
23379 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
23380 if (UNTAG_Bool(REGB0)) {
23381 } else {
23382 nit_abort("Assert failed", NULL, LOCATE_parser, 8209);
23383 }
23384 /* parser/parser.nit:8211 */
23385 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
23386 if (UNTAG_Bool(REGB0)) {
23387 } else {
23388 nit_abort("Assert failed", NULL, LOCATE_parser, 8211);
23389 }
23390 /* parser/parser.nit:8213 */
23391 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
23392 if (UNTAG_Bool(REGB0)) {
23393 } else {
23394 nit_abort("Assert failed", NULL, LOCATE_parser, 8213);
23395 }
23396 /* parser/parser.nit:8214 */
23397 fra.me.REG[3] = NEW_AAsNullableExternCall_parser___parser_prod___AAsNullableExternCall___init_aasnullableexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
23398 /* parser/parser.nit:8219 */
23399 fra.me.REG[2] = fra.me.REG[3];
23400 /* parser/parser.nit:8220 */
23401 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23402 if (UNTAG_Bool(REGB0)) {
23403 } else {
23404 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8220);
23405 }
23406 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23407 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23408 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23409 stack_frame_head = fra.me.prev;
23410 return;
23411 }
23412 void parser___ReduceAction231___action(val_t p0, val_t p1){
23413 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
23414 val_t REGB0;
23415 val_t tmp;
23416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23417 fra.me.file = LOCATE_parser;
23418 fra.me.line = 8225;
23419 fra.me.meth = LOCATE_parser___ReduceAction231___action;
23420 fra.me.has_broke = 0;
23421 fra.me.REG_size = 7;
23422 fra.me.nitni_local_ref_head = NULL;
23423 fra.me.REG[0] = NIT_NULL;
23424 fra.me.REG[1] = NIT_NULL;
23425 fra.me.REG[2] = NIT_NULL;
23426 fra.me.REG[3] = NIT_NULL;
23427 fra.me.REG[4] = NIT_NULL;
23428 fra.me.REG[5] = NIT_NULL;
23429 fra.me.REG[6] = NIT_NULL;
23430 fra.me.REG[0] = p0;
23431 fra.me.REG[1] = p1;
23432 /* parser/parser.nit:8227 */
23433 fra.me.REG[2] = NIT_NULL;
23434 /* parser/parser.nit:8228 */
23435 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23436 /* parser/parser.nit:8229 */
23437 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23438 /* parser/parser.nit:8230 */
23439 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23440 /* parser/parser.nit:8231 */
23441 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23442 /* parser/parser.nit:8232 */
23443 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23444 /* parser/parser.nit:8233 */
23445 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23446 /* parser/parser.nit:8235 */
23447 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
23448 if (UNTAG_Bool(REGB0)) {
23449 } else {
23450 nit_abort("Assert failed", NULL, LOCATE_parser, 8235);
23451 }
23452 /* parser/parser.nit:8237 */
23453 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
23454 if (UNTAG_Bool(REGB0)) {
23455 } else {
23456 nit_abort("Assert failed", NULL, LOCATE_parser, 8237);
23457 }
23458 /* parser/parser.nit:8239 */
23459 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnot, ID_parser___parser_nodes___TKwnot)) /*cast nullable TKwnot*/;
23460 if (UNTAG_Bool(REGB0)) {
23461 } else {
23462 nit_abort("Assert failed", NULL, LOCATE_parser, 8239);
23463 }
23464 /* parser/parser.nit:8241 */
23465 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
23466 if (UNTAG_Bool(REGB0)) {
23467 } else {
23468 nit_abort("Assert failed", NULL, LOCATE_parser, 8241);
23469 }
23470 /* parser/parser.nit:8242 */
23471 fra.me.REG[3] = NEW_AAsNotNullableExternCall_parser___parser_prod___AAsNotNullableExternCall___init_aasnotnullableexterncall(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
23472 /* parser/parser.nit:8248 */
23473 fra.me.REG[2] = fra.me.REG[3];
23474 /* parser/parser.nit:8249 */
23475 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23476 if (UNTAG_Bool(REGB0)) {
23477 } else {
23478 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8249);
23479 }
23480 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23481 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23483 stack_frame_head = fra.me.prev;
23484 return;
23485 }
23486 void parser___ReduceAction232___action(val_t p0, val_t p1){
23487 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23488 val_t REGB0;
23489 val_t tmp;
23490 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23491 fra.me.file = LOCATE_parser;
23492 fra.me.line = 8254;
23493 fra.me.meth = LOCATE_parser___ReduceAction232___action;
23494 fra.me.has_broke = 0;
23495 fra.me.REG_size = 5;
23496 fra.me.nitni_local_ref_head = NULL;
23497 fra.me.REG[0] = NIT_NULL;
23498 fra.me.REG[1] = NIT_NULL;
23499 fra.me.REG[2] = NIT_NULL;
23500 fra.me.REG[3] = NIT_NULL;
23501 fra.me.REG[4] = NIT_NULL;
23502 fra.me.REG[0] = p0;
23503 fra.me.REG[1] = p1;
23504 /* parser/parser.nit:8256 */
23505 fra.me.REG[2] = NIT_NULL;
23506 /* parser/parser.nit:8257 */
23507 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23508 /* parser/parser.nit:8258 */
23509 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
23510 /* parser/parser.nit:8260 */
23511 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
23512 if (UNTAG_Bool(REGB0)) {
23513 } else {
23514 nit_abort("Assert failed", NULL, LOCATE_parser, 8260);
23515 }
23516 /* parser/parser.nit:8261 */
23517 fra.me.REG[4] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
23518 /* parser/parser.nit:8266 */
23519 fra.me.REG[2] = fra.me.REG[4];
23520 /* parser/parser.nit:8267 */
23521 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23522 if (UNTAG_Bool(REGB0)) {
23523 } else {
23524 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8267);
23525 }
23526 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23527 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23528 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23529 stack_frame_head = fra.me.prev;
23530 return;
23531 }
23532 void parser___ReduceAction233___action(val_t p0, val_t p1){
23533 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23534 val_t REGB0;
23535 val_t tmp;
23536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23537 fra.me.file = LOCATE_parser;
23538 fra.me.line = 8272;
23539 fra.me.meth = LOCATE_parser___ReduceAction233___action;
23540 fra.me.has_broke = 0;
23541 fra.me.REG_size = 6;
23542 fra.me.nitni_local_ref_head = NULL;
23543 fra.me.REG[0] = NIT_NULL;
23544 fra.me.REG[1] = NIT_NULL;
23545 fra.me.REG[2] = NIT_NULL;
23546 fra.me.REG[3] = NIT_NULL;
23547 fra.me.REG[4] = NIT_NULL;
23548 fra.me.REG[5] = NIT_NULL;
23549 fra.me.REG[0] = p0;
23550 fra.me.REG[1] = p1;
23551 /* parser/parser.nit:8274 */
23552 fra.me.REG[2] = NIT_NULL;
23553 /* parser/parser.nit:8275 */
23554 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23555 /* parser/parser.nit:8276 */
23556 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23557 /* parser/parser.nit:8277 */
23558 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
23559 /* parser/parser.nit:8279 */
23560 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
23561 if (UNTAG_Bool(REGB0)) {
23562 } else {
23563 nit_abort("Assert failed", NULL, LOCATE_parser, 8279);
23564 }
23565 /* parser/parser.nit:8281 */
23566 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
23567 if (UNTAG_Bool(REGB0)) {
23568 } else {
23569 nit_abort("Assert failed", NULL, LOCATE_parser, 8281);
23570 }
23571 /* parser/parser.nit:8282 */
23572 fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
23573 /* parser/parser.nit:8287 */
23574 fra.me.REG[2] = fra.me.REG[5];
23575 /* parser/parser.nit:8288 */
23576 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23577 if (UNTAG_Bool(REGB0)) {
23578 } else {
23579 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8288);
23580 }
23581 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23582 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23583 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23584 stack_frame_head = fra.me.prev;
23585 return;
23586 }
23587 void parser___ReduceAction234___action(val_t p0, val_t p1){
23588 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23589 val_t REGB0;
23590 val_t tmp;
23591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23592 fra.me.file = LOCATE_parser;
23593 fra.me.line = 8293;
23594 fra.me.meth = LOCATE_parser___ReduceAction234___action;
23595 fra.me.has_broke = 0;
23596 fra.me.REG_size = 6;
23597 fra.me.nitni_local_ref_head = NULL;
23598 fra.me.REG[0] = NIT_NULL;
23599 fra.me.REG[1] = NIT_NULL;
23600 fra.me.REG[2] = NIT_NULL;
23601 fra.me.REG[3] = NIT_NULL;
23602 fra.me.REG[4] = NIT_NULL;
23603 fra.me.REG[5] = NIT_NULL;
23604 fra.me.REG[0] = p0;
23605 fra.me.REG[1] = p1;
23606 /* parser/parser.nit:8295 */
23607 fra.me.REG[2] = NIT_NULL;
23608 /* parser/parser.nit:8296 */
23609 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23610 /* parser/parser.nit:8297 */
23611 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23612 /* parser/parser.nit:8298 */
23613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23614 /* parser/parser.nit:8299 */
23615 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23616 /* parser/parser.nit:8300 */
23617 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23618 /* parser/parser.nit:8301 */
23619 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23620 /* parser/parser.nit:8302 */
23621 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
23622 /* parser/parser.nit:8304 */
23623 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
23624 if (UNTAG_Bool(REGB0)) {
23625 } else {
23626 nit_abort("Assert failed", NULL, LOCATE_parser, 8304);
23627 }
23628 /* parser/parser.nit:8306 */
23629 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
23630 if (UNTAG_Bool(REGB0)) {
23631 } else {
23632 nit_abort("Assert failed", NULL, LOCATE_parser, 8306);
23633 }
23634 /* parser/parser.nit:8307 */
23635 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
23636 fra.me.REG[5] = fra.me.REG[3];
23637 /* parser/parser.nit:8308 */
23638 fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
23639 /* parser/parser.nit:8313 */
23640 fra.me.REG[2] = fra.me.REG[5];
23641 /* parser/parser.nit:8314 */
23642 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23643 if (UNTAG_Bool(REGB0)) {
23644 } else {
23645 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8314);
23646 }
23647 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23648 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23649 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23650 stack_frame_head = fra.me.prev;
23651 return;
23652 }
23653 void parser___ReduceAction235___action(val_t p0, val_t p1){
23654 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
23655 val_t REGB0;
23656 val_t tmp;
23657 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23658 fra.me.file = LOCATE_parser;
23659 fra.me.line = 8319;
23660 fra.me.meth = LOCATE_parser___ReduceAction235___action;
23661 fra.me.has_broke = 0;
23662 fra.me.REG_size = 7;
23663 fra.me.nitni_local_ref_head = NULL;
23664 fra.me.REG[0] = NIT_NULL;
23665 fra.me.REG[1] = NIT_NULL;
23666 fra.me.REG[2] = NIT_NULL;
23667 fra.me.REG[3] = NIT_NULL;
23668 fra.me.REG[4] = NIT_NULL;
23669 fra.me.REG[5] = NIT_NULL;
23670 fra.me.REG[6] = NIT_NULL;
23671 fra.me.REG[0] = p0;
23672 fra.me.REG[1] = p1;
23673 /* parser/parser.nit:8321 */
23674 fra.me.REG[2] = NIT_NULL;
23675 /* parser/parser.nit:8322 */
23676 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23677 /* parser/parser.nit:8323 */
23678 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23679 /* parser/parser.nit:8324 */
23680 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23681 /* parser/parser.nit:8325 */
23682 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23683 /* parser/parser.nit:8326 */
23684 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23685 /* parser/parser.nit:8327 */
23686 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23687 /* parser/parser.nit:8328 */
23688 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23689 /* parser/parser.nit:8329 */
23690 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
23691 /* parser/parser.nit:8331 */
23692 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
23693 if (UNTAG_Bool(REGB0)) {
23694 } else {
23695 nit_abort("Assert failed", NULL, LOCATE_parser, 8331);
23696 }
23697 /* parser/parser.nit:8333 */
23698 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
23699 if (UNTAG_Bool(REGB0)) {
23700 } else {
23701 nit_abort("Assert failed", NULL, LOCATE_parser, 8333);
23702 }
23703 /* parser/parser.nit:8335 */
23704 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
23705 if (UNTAG_Bool(REGB0)) {
23706 } else {
23707 nit_abort("Assert failed", NULL, LOCATE_parser, 8335);
23708 }
23709 /* parser/parser.nit:8336 */
23710 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
23711 fra.me.REG[6] = fra.me.REG[3];
23712 /* parser/parser.nit:8337 */
23713 fra.me.REG[6] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
23714 /* parser/parser.nit:8342 */
23715 fra.me.REG[2] = fra.me.REG[6];
23716 /* parser/parser.nit:8343 */
23717 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23718 if (UNTAG_Bool(REGB0)) {
23719 } else {
23720 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8343);
23721 }
23722 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23723 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23724 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23725 stack_frame_head = fra.me.prev;
23726 return;
23727 }
23728 void parser___ReduceAction236___action(val_t p0, val_t p1){
23729 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23730 val_t REGB0;
23731 val_t REGB1;
23732 val_t tmp;
23733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23734 fra.me.file = LOCATE_parser;
23735 fra.me.line = 8348;
23736 fra.me.meth = LOCATE_parser___ReduceAction236___action;
23737 fra.me.has_broke = 0;
23738 fra.me.REG_size = 5;
23739 fra.me.nitni_local_ref_head = NULL;
23740 fra.me.REG[0] = NIT_NULL;
23741 fra.me.REG[1] = NIT_NULL;
23742 fra.me.REG[2] = NIT_NULL;
23743 fra.me.REG[3] = NIT_NULL;
23744 fra.me.REG[4] = NIT_NULL;
23745 fra.me.REG[0] = p0;
23746 fra.me.REG[1] = p1;
23747 /* parser/parser.nit:8350 */
23748 fra.me.REG[2] = NIT_NULL;
23749 /* parser/parser.nit:8351 */
23750 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23751 /* parser/parser.nit:8352 */
23752 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
23753 /* parser/parser.nit:8354 */
23754 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
23755 if (UNTAG_Bool(REGB0)) {
23756 } else {
23757 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
23758 if (UNTAG_Bool(REGB1)) {
23759 REGB1 = TAG_Bool(false);
23760 REGB0 = REGB1;
23761 } else {
23762 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
23763 REGB0 = REGB1;
23764 }
23765 }
23766 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23767 if (UNTAG_Bool(REGB0)) {
23768 /* parser/parser.nit:8355 */
23769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
23770 }
23771 /* parser/parser.nit:8357 */
23772 fra.me.REG[2] = fra.me.REG[4];
23773 /* parser/parser.nit:8358 */
23774 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23775 if (UNTAG_Bool(REGB0)) {
23776 } else {
23777 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8358);
23778 }
23779 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23780 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23781 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23782 stack_frame_head = fra.me.prev;
23783 return;
23784 }
23785 void parser___ReduceAction237___action(val_t p0, val_t p1){
23786 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23787 val_t REGB0;
23788 val_t REGB1;
23789 val_t tmp;
23790 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23791 fra.me.file = LOCATE_parser;
23792 fra.me.line = 8363;
23793 fra.me.meth = LOCATE_parser___ReduceAction237___action;
23794 fra.me.has_broke = 0;
23795 fra.me.REG_size = 6;
23796 fra.me.nitni_local_ref_head = NULL;
23797 fra.me.REG[0] = NIT_NULL;
23798 fra.me.REG[1] = NIT_NULL;
23799 fra.me.REG[2] = NIT_NULL;
23800 fra.me.REG[3] = NIT_NULL;
23801 fra.me.REG[4] = NIT_NULL;
23802 fra.me.REG[5] = NIT_NULL;
23803 fra.me.REG[0] = p0;
23804 fra.me.REG[1] = p1;
23805 /* parser/parser.nit:8365 */
23806 fra.me.REG[2] = NIT_NULL;
23807 /* parser/parser.nit:8366 */
23808 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23809 /* parser/parser.nit:8367 */
23810 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23811 /* parser/parser.nit:8368 */
23812 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
23813 /* parser/parser.nit:8371 */
23814 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
23815 if (UNTAG_Bool(REGB0)) {
23816 } else {
23817 nit_abort("Assert failed", NULL, LOCATE_parser, 8371);
23818 }
23819 /* parser/parser.nit:8372 */
23820 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
23821 if (UNTAG_Bool(REGB0)) {
23822 } else {
23823 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
23824 if (UNTAG_Bool(REGB1)) {
23825 REGB1 = TAG_Bool(false);
23826 REGB0 = REGB1;
23827 } else {
23828 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
23829 REGB0 = REGB1;
23830 }
23831 }
23832 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23833 if (UNTAG_Bool(REGB0)) {
23834 /* parser/parser.nit:8373 */
23835 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
23836 }
23837 /* parser/parser.nit:8375 */
23838 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
23839 fra.me.REG[5] = fra.me.REG[3];
23840 /* parser/parser.nit:8376 */
23841 fra.me.REG[2] = fra.me.REG[5];
23842 /* parser/parser.nit:8377 */
23843 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23844 if (UNTAG_Bool(REGB0)) {
23845 } else {
23846 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8377);
23847 }
23848 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23849 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23850 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23851 stack_frame_head = fra.me.prev;
23852 return;
23853 }
23854 void parser___ReduceAction238___action(val_t p0, val_t p1){
23855 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23856 val_t REGB0;
23857 val_t tmp;
23858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23859 fra.me.file = LOCATE_parser;
23860 fra.me.line = 8382;
23861 fra.me.meth = LOCATE_parser___ReduceAction238___action;
23862 fra.me.has_broke = 0;
23863 fra.me.REG_size = 5;
23864 fra.me.nitni_local_ref_head = NULL;
23865 fra.me.REG[0] = NIT_NULL;
23866 fra.me.REG[1] = NIT_NULL;
23867 fra.me.REG[2] = NIT_NULL;
23868 fra.me.REG[3] = NIT_NULL;
23869 fra.me.REG[4] = NIT_NULL;
23870 fra.me.REG[0] = p0;
23871 fra.me.REG[1] = p1;
23872 /* parser/parser.nit:8384 */
23873 fra.me.REG[2] = NIT_NULL;
23874 /* parser/parser.nit:8385 */
23875 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23876 /* parser/parser.nit:8386 */
23877 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23878 /* parser/parser.nit:8387 */
23879 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23880 /* parser/parser.nit:8389 */
23881 fra.me.REG[2] = fra.me.REG[3];
23882 /* parser/parser.nit:8390 */
23883 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23884 if (UNTAG_Bool(REGB0)) {
23885 } else {
23886 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8390);
23887 }
23888 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23889 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23890 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23891 stack_frame_head = fra.me.prev;
23892 return;
23893 }
23894 void parser___ReduceAction240___action(val_t p0, val_t p1){
23895 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23896 val_t REGB0;
23897 val_t tmp;
23898 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23899 fra.me.file = LOCATE_parser;
23900 fra.me.line = 8395;
23901 fra.me.meth = LOCATE_parser___ReduceAction240___action;
23902 fra.me.has_broke = 0;
23903 fra.me.REG_size = 5;
23904 fra.me.nitni_local_ref_head = NULL;
23905 fra.me.REG[0] = NIT_NULL;
23906 fra.me.REG[1] = NIT_NULL;
23907 fra.me.REG[2] = NIT_NULL;
23908 fra.me.REG[3] = NIT_NULL;
23909 fra.me.REG[4] = NIT_NULL;
23910 fra.me.REG[0] = p0;
23911 fra.me.REG[1] = p1;
23912 /* parser/parser.nit:8397 */
23913 fra.me.REG[2] = NIT_NULL;
23914 /* parser/parser.nit:8398 */
23915 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23916 /* parser/parser.nit:8399 */
23917 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23918 /* parser/parser.nit:8401 */
23919 fra.me.REG[2] = fra.me.REG[3];
23920 /* parser/parser.nit:8402 */
23921 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23922 if (UNTAG_Bool(REGB0)) {
23923 } else {
23924 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8402);
23925 }
23926 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23927 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23928 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23929 stack_frame_head = fra.me.prev;
23930 return;
23931 }
23932 void parser___ReduceAction241___action(val_t p0, val_t p1){
23933 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23934 val_t REGB0;
23935 val_t tmp;
23936 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23937 fra.me.file = LOCATE_parser;
23938 fra.me.line = 8407;
23939 fra.me.meth = LOCATE_parser___ReduceAction241___action;
23940 fra.me.has_broke = 0;
23941 fra.me.REG_size = 5;
23942 fra.me.nitni_local_ref_head = NULL;
23943 fra.me.REG[0] = NIT_NULL;
23944 fra.me.REG[1] = NIT_NULL;
23945 fra.me.REG[2] = NIT_NULL;
23946 fra.me.REG[3] = NIT_NULL;
23947 fra.me.REG[4] = NIT_NULL;
23948 fra.me.REG[0] = p0;
23949 fra.me.REG[1] = p1;
23950 /* parser/parser.nit:8409 */
23951 fra.me.REG[2] = NIT_NULL;
23952 /* parser/parser.nit:8410 */
23953 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23954 /* parser/parser.nit:8411 */
23955 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23956 /* parser/parser.nit:8412 */
23957 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
23958 /* parser/parser.nit:8414 */
23959 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
23960 if (UNTAG_Bool(REGB0)) {
23961 } else {
23962 nit_abort("Assert failed", NULL, LOCATE_parser, 8414);
23963 }
23964 /* parser/parser.nit:8415 */
23965 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], fra.me.REG[3]);
23966 /* parser/parser.nit:8419 */
23967 fra.me.REG[2] = fra.me.REG[3];
23968 /* parser/parser.nit:8420 */
23969 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23970 if (UNTAG_Bool(REGB0)) {
23971 } else {
23972 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8420);
23973 }
23974 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23977 stack_frame_head = fra.me.prev;
23978 return;
23979 }
23980 void parser___ReduceAction242___action(val_t p0, val_t p1){
23981 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23982 val_t REGB0;
23983 val_t tmp;
23984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23985 fra.me.file = LOCATE_parser;
23986 fra.me.line = 8425;
23987 fra.me.meth = LOCATE_parser___ReduceAction242___action;
23988 fra.me.has_broke = 0;
23989 fra.me.REG_size = 5;
23990 fra.me.nitni_local_ref_head = NULL;
23991 fra.me.REG[0] = NIT_NULL;
23992 fra.me.REG[1] = NIT_NULL;
23993 fra.me.REG[2] = NIT_NULL;
23994 fra.me.REG[3] = NIT_NULL;
23995 fra.me.REG[4] = NIT_NULL;
23996 fra.me.REG[0] = p0;
23997 fra.me.REG[1] = p1;
23998 /* parser/parser.nit:8427 */
23999 fra.me.REG[2] = NIT_NULL;
24000 /* parser/parser.nit:8428 */
24001 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24002 /* parser/parser.nit:8429 */
24003 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
24004 /* parser/parser.nit:8431 */
24005 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
24006 if (UNTAG_Bool(REGB0)) {
24007 } else {
24008 nit_abort("Assert failed", NULL, LOCATE_parser, 8431);
24009 }
24010 /* parser/parser.nit:8432 */
24011 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], fra.me.REG[3]);
24012 /* parser/parser.nit:8436 */
24013 fra.me.REG[2] = fra.me.REG[3];
24014 /* parser/parser.nit:8437 */
24015 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24016 if (UNTAG_Bool(REGB0)) {
24017 } else {
24018 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8437);
24019 }
24020 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24021 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24022 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24023 stack_frame_head = fra.me.prev;
24024 return;
24025 }
24026 void parser___ReduceAction243___action(val_t p0, val_t p1){
24027 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
24028 val_t REGB0;
24029 val_t tmp;
24030 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24031 fra.me.file = LOCATE_parser;
24032 fra.me.line = 8442;
24033 fra.me.meth = LOCATE_parser___ReduceAction243___action;
24034 fra.me.has_broke = 0;
24035 fra.me.REG_size = 4;
24036 fra.me.nitni_local_ref_head = NULL;
24037 fra.me.REG[0] = NIT_NULL;
24038 fra.me.REG[1] = NIT_NULL;
24039 fra.me.REG[2] = NIT_NULL;
24040 fra.me.REG[3] = NIT_NULL;
24041 fra.me.REG[0] = p0;
24042 fra.me.REG[1] = p1;
24043 /* parser/parser.nit:8444 */
24044 fra.me.REG[2] = NIT_NULL;
24045 /* parser/parser.nit:8445 */
24046 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24047 /* parser/parser.nit:8447 */
24048 fra.me.REG[2] = fra.me.REG[3];
24049 /* parser/parser.nit:8448 */
24050 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24051 if (UNTAG_Bool(REGB0)) {
24052 } else {
24053 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8448);
24054 }
24055 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24056 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24057 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24058 stack_frame_head = fra.me.prev;
24059 return;
24060 }
24061 void parser___ReduceAction244___action(val_t p0, val_t p1){
24062 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24063 val_t REGB0;
24064 val_t REGB1;
24065 val_t tmp;
24066 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24067 fra.me.file = LOCATE_parser;
24068 fra.me.line = 8453;
24069 fra.me.meth = LOCATE_parser___ReduceAction244___action;
24070 fra.me.has_broke = 0;
24071 fra.me.REG_size = 5;
24072 fra.me.nitni_local_ref_head = NULL;
24073 fra.me.REG[0] = NIT_NULL;
24074 fra.me.REG[1] = NIT_NULL;
24075 fra.me.REG[2] = NIT_NULL;
24076 fra.me.REG[3] = NIT_NULL;
24077 fra.me.REG[4] = NIT_NULL;
24078 fra.me.REG[0] = p0;
24079 fra.me.REG[1] = p1;
24080 /* parser/parser.nit:8455 */
24081 fra.me.REG[2] = NIT_NULL;
24082 /* parser/parser.nit:8456 */
24083 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24084 /* parser/parser.nit:8457 */
24085 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
24086 /* parser/parser.nit:8459 */
24087 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24088 if (UNTAG_Bool(REGB0)) {
24089 } else {
24090 nit_abort("Assert failed", NULL, LOCATE_parser, 8459);
24091 }
24092 /* parser/parser.nit:8460 */
24093 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24094 if (UNTAG_Bool(REGB0)) {
24095 } else {
24096 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24097 if (UNTAG_Bool(REGB1)) {
24098 REGB1 = TAG_Bool(false);
24099 REGB0 = REGB1;
24100 } else {
24101 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
24102 REGB0 = REGB1;
24103 }
24104 }
24105 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24106 if (UNTAG_Bool(REGB0)) {
24107 /* parser/parser.nit:8461 */
24108 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
24109 }
24110 /* parser/parser.nit:8463 */
24111 fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], NIT_NULL);
24112 /* parser/parser.nit:8467 */
24113 fra.me.REG[2] = fra.me.REG[4];
24114 /* parser/parser.nit:8468 */
24115 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24116 if (UNTAG_Bool(REGB0)) {
24117 } else {
24118 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8468);
24119 }
24120 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24121 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24122 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24123 stack_frame_head = fra.me.prev;
24124 return;
24125 }
24126 void parser___ReduceAction245___action(val_t p0, val_t p1){
24127 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24128 val_t REGB0;
24129 val_t REGB1;
24130 val_t tmp;
24131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24132 fra.me.file = LOCATE_parser;
24133 fra.me.line = 8473;
24134 fra.me.meth = LOCATE_parser___ReduceAction245___action;
24135 fra.me.has_broke = 0;
24136 fra.me.REG_size = 6;
24137 fra.me.nitni_local_ref_head = NULL;
24138 fra.me.REG[0] = NIT_NULL;
24139 fra.me.REG[1] = NIT_NULL;
24140 fra.me.REG[2] = NIT_NULL;
24141 fra.me.REG[3] = NIT_NULL;
24142 fra.me.REG[4] = NIT_NULL;
24143 fra.me.REG[5] = NIT_NULL;
24144 fra.me.REG[0] = p0;
24145 fra.me.REG[1] = p1;
24146 /* parser/parser.nit:8475 */
24147 fra.me.REG[2] = NIT_NULL;
24148 /* parser/parser.nit:8476 */
24149 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24150 /* parser/parser.nit:8477 */
24151 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24152 /* parser/parser.nit:8478 */
24153 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
24154 /* parser/parser.nit:8480 */
24155 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24156 if (UNTAG_Bool(REGB0)) {
24157 } else {
24158 nit_abort("Assert failed", NULL, LOCATE_parser, 8480);
24159 }
24160 /* parser/parser.nit:8482 */
24161 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
24162 if (UNTAG_Bool(REGB0)) {
24163 } else {
24164 nit_abort("Assert failed", NULL, LOCATE_parser, 8482);
24165 }
24166 /* parser/parser.nit:8483 */
24167 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24168 if (UNTAG_Bool(REGB0)) {
24169 } else {
24170 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24171 if (UNTAG_Bool(REGB1)) {
24172 REGB1 = TAG_Bool(false);
24173 REGB0 = REGB1;
24174 } else {
24175 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
24176 REGB0 = REGB1;
24177 }
24178 }
24179 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24180 if (UNTAG_Bool(REGB0)) {
24181 /* parser/parser.nit:8484 */
24182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
24183 }
24184 /* parser/parser.nit:8486 */
24185 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
24186 fra.me.REG[5] = fra.me.REG[3];
24187 /* parser/parser.nit:8487 */
24188 fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], NIT_NULL);
24189 /* parser/parser.nit:8491 */
24190 fra.me.REG[2] = fra.me.REG[5];
24191 /* parser/parser.nit:8492 */
24192 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24193 if (UNTAG_Bool(REGB0)) {
24194 } else {
24195 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8492);
24196 }
24197 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24198 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24199 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24200 stack_frame_head = fra.me.prev;
24201 return;
24202 }
24203 void parser___ReduceAction246___action(val_t p0, val_t p1){
24204 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24205 val_t REGB0;
24206 val_t REGB1;
24207 val_t tmp;
24208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24209 fra.me.file = LOCATE_parser;
24210 fra.me.line = 8497;
24211 fra.me.meth = LOCATE_parser___ReduceAction246___action;
24212 fra.me.has_broke = 0;
24213 fra.me.REG_size = 5;
24214 fra.me.nitni_local_ref_head = NULL;
24215 fra.me.REG[0] = NIT_NULL;
24216 fra.me.REG[1] = NIT_NULL;
24217 fra.me.REG[2] = NIT_NULL;
24218 fra.me.REG[3] = NIT_NULL;
24219 fra.me.REG[4] = NIT_NULL;
24220 fra.me.REG[0] = p0;
24221 fra.me.REG[1] = p1;
24222 /* parser/parser.nit:8499 */
24223 fra.me.REG[2] = NIT_NULL;
24224 /* parser/parser.nit:8500 */
24225 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24226 /* parser/parser.nit:8501 */
24227 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24228 /* parser/parser.nit:8502 */
24229 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
24230 /* parser/parser.nit:8504 */
24231 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24232 if (UNTAG_Bool(REGB0)) {
24233 } else {
24234 nit_abort("Assert failed", NULL, LOCATE_parser, 8504);
24235 }
24236 /* parser/parser.nit:8505 */
24237 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24238 if (UNTAG_Bool(REGB0)) {
24239 } else {
24240 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24241 if (UNTAG_Bool(REGB1)) {
24242 REGB1 = TAG_Bool(false);
24243 REGB0 = REGB1;
24244 } else {
24245 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
24246 REGB0 = REGB1;
24247 }
24248 }
24249 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24250 if (UNTAG_Bool(REGB0)) {
24251 /* parser/parser.nit:8506 */
24252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
24253 }
24254 /* parser/parser.nit:8508 */
24255 fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], NIT_NULL);
24256 /* parser/parser.nit:8512 */
24257 fra.me.REG[2] = fra.me.REG[4];
24258 /* parser/parser.nit:8513 */
24259 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24260 if (UNTAG_Bool(REGB0)) {
24261 } else {
24262 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8513);
24263 }
24264 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24265 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24266 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24267 stack_frame_head = fra.me.prev;
24268 return;
24269 }
24270 void parser___ReduceAction247___action(val_t p0, val_t p1){
24271 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24272 val_t REGB0;
24273 val_t REGB1;
24274 val_t tmp;
24275 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24276 fra.me.file = LOCATE_parser;
24277 fra.me.line = 8518;
24278 fra.me.meth = LOCATE_parser___ReduceAction247___action;
24279 fra.me.has_broke = 0;
24280 fra.me.REG_size = 6;
24281 fra.me.nitni_local_ref_head = NULL;
24282 fra.me.REG[0] = NIT_NULL;
24283 fra.me.REG[1] = NIT_NULL;
24284 fra.me.REG[2] = NIT_NULL;
24285 fra.me.REG[3] = NIT_NULL;
24286 fra.me.REG[4] = NIT_NULL;
24287 fra.me.REG[5] = NIT_NULL;
24288 fra.me.REG[0] = p0;
24289 fra.me.REG[1] = p1;
24290 /* parser/parser.nit:8520 */
24291 fra.me.REG[2] = NIT_NULL;
24292 /* parser/parser.nit:8521 */
24293 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24294 /* parser/parser.nit:8522 */
24295 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24296 /* parser/parser.nit:8523 */
24297 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24298 /* parser/parser.nit:8524 */
24299 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
24300 /* parser/parser.nit:8526 */
24301 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24302 if (UNTAG_Bool(REGB0)) {
24303 } else {
24304 nit_abort("Assert failed", NULL, LOCATE_parser, 8526);
24305 }
24306 /* parser/parser.nit:8528 */
24307 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
24308 if (UNTAG_Bool(REGB0)) {
24309 } else {
24310 nit_abort("Assert failed", NULL, LOCATE_parser, 8528);
24311 }
24312 /* parser/parser.nit:8529 */
24313 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24314 if (UNTAG_Bool(REGB0)) {
24315 } else {
24316 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24317 if (UNTAG_Bool(REGB1)) {
24318 REGB1 = TAG_Bool(false);
24319 REGB0 = REGB1;
24320 } else {
24321 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
24322 REGB0 = REGB1;
24323 }
24324 }
24325 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24326 if (UNTAG_Bool(REGB0)) {
24327 /* parser/parser.nit:8530 */
24328 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
24329 }
24330 /* parser/parser.nit:8532 */
24331 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
24332 fra.me.REG[5] = fra.me.REG[3];
24333 /* parser/parser.nit:8533 */
24334 fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], NIT_NULL);
24335 /* parser/parser.nit:8537 */
24336 fra.me.REG[2] = fra.me.REG[5];
24337 /* parser/parser.nit:8538 */
24338 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24339 if (UNTAG_Bool(REGB0)) {
24340 } else {
24341 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8538);
24342 }
24343 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24344 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24345 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24346 stack_frame_head = fra.me.prev;
24347 return;
24348 }
24349 void parser___ReduceAction248___action(val_t p0, val_t p1){
24350 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24351 val_t REGB0;
24352 val_t REGB1;
24353 val_t tmp;
24354 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24355 fra.me.file = LOCATE_parser;
24356 fra.me.line = 8543;
24357 fra.me.meth = LOCATE_parser___ReduceAction248___action;
24358 fra.me.has_broke = 0;
24359 fra.me.REG_size = 6;
24360 fra.me.nitni_local_ref_head = NULL;
24361 fra.me.REG[0] = NIT_NULL;
24362 fra.me.REG[1] = NIT_NULL;
24363 fra.me.REG[2] = NIT_NULL;
24364 fra.me.REG[3] = NIT_NULL;
24365 fra.me.REG[4] = NIT_NULL;
24366 fra.me.REG[5] = NIT_NULL;
24367 fra.me.REG[0] = p0;
24368 fra.me.REG[1] = p1;
24369 /* parser/parser.nit:8545 */
24370 fra.me.REG[2] = NIT_NULL;
24371 /* parser/parser.nit:8546 */
24372 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24373 /* parser/parser.nit:8547 */
24374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24375 /* parser/parser.nit:8548 */
24376 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24377 /* parser/parser.nit:8549 */
24378 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
24379 /* parser/parser.nit:8551 */
24380 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24381 if (UNTAG_Bool(REGB0)) {
24382 } else {
24383 nit_abort("Assert failed", NULL, LOCATE_parser, 8551);
24384 }
24385 /* parser/parser.nit:8552 */
24386 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24387 if (UNTAG_Bool(REGB0)) {
24388 } else {
24389 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24390 if (UNTAG_Bool(REGB1)) {
24391 REGB1 = TAG_Bool(false);
24392 REGB0 = REGB1;
24393 } else {
24394 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
24395 REGB0 = REGB1;
24396 }
24397 }
24398 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24399 if (UNTAG_Bool(REGB0)) {
24400 /* parser/parser.nit:8553 */
24401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
24402 }
24403 /* parser/parser.nit:8556 */
24404 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
24405 if (UNTAG_Bool(REGB0)) {
24406 } else {
24407 nit_abort("Assert failed", NULL, LOCATE_parser, 8556);
24408 }
24409 /* parser/parser.nit:8557 */
24410 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], fra.me.REG[3]);
24411 /* parser/parser.nit:8561 */
24412 fra.me.REG[2] = fra.me.REG[3];
24413 /* parser/parser.nit:8562 */
24414 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24415 if (UNTAG_Bool(REGB0)) {
24416 } else {
24417 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8562);
24418 }
24419 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24420 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24421 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24422 stack_frame_head = fra.me.prev;
24423 return;
24424 }
24425 void parser___ReduceAction249___action(val_t p0, val_t p1){
24426 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
24427 val_t REGB0;
24428 val_t REGB1;
24429 val_t tmp;
24430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24431 fra.me.file = LOCATE_parser;
24432 fra.me.line = 8567;
24433 fra.me.meth = LOCATE_parser___ReduceAction249___action;
24434 fra.me.has_broke = 0;
24435 fra.me.REG_size = 7;
24436 fra.me.nitni_local_ref_head = NULL;
24437 fra.me.REG[0] = NIT_NULL;
24438 fra.me.REG[1] = NIT_NULL;
24439 fra.me.REG[2] = NIT_NULL;
24440 fra.me.REG[3] = NIT_NULL;
24441 fra.me.REG[4] = NIT_NULL;
24442 fra.me.REG[5] = NIT_NULL;
24443 fra.me.REG[6] = NIT_NULL;
24444 fra.me.REG[0] = p0;
24445 fra.me.REG[1] = p1;
24446 /* parser/parser.nit:8569 */
24447 fra.me.REG[2] = NIT_NULL;
24448 /* parser/parser.nit:8570 */
24449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24450 /* parser/parser.nit:8571 */
24451 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24452 /* parser/parser.nit:8572 */
24453 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24454 /* parser/parser.nit:8573 */
24455 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24456 /* parser/parser.nit:8574 */
24457 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
24458 /* parser/parser.nit:8576 */
24459 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24460 if (UNTAG_Bool(REGB0)) {
24461 } else {
24462 nit_abort("Assert failed", NULL, LOCATE_parser, 8576);
24463 }
24464 /* parser/parser.nit:8578 */
24465 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
24466 if (UNTAG_Bool(REGB0)) {
24467 } else {
24468 nit_abort("Assert failed", NULL, LOCATE_parser, 8578);
24469 }
24470 /* parser/parser.nit:8579 */
24471 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
24472 if (UNTAG_Bool(REGB0)) {
24473 } else {
24474 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
24475 if (UNTAG_Bool(REGB1)) {
24476 REGB1 = TAG_Bool(false);
24477 REGB0 = REGB1;
24478 } else {
24479 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
24480 REGB0 = REGB1;
24481 }
24482 }
24483 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24484 if (UNTAG_Bool(REGB0)) {
24485 /* parser/parser.nit:8580 */
24486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
24487 }
24488 /* parser/parser.nit:8582 */
24489 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
24490 fra.me.REG[6] = fra.me.REG[4];
24491 /* parser/parser.nit:8584 */
24492 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwend, ID_parser___parser_nodes___TKwend)) /*cast nullable TKwend*/;
24493 if (UNTAG_Bool(REGB0)) {
24494 } else {
24495 nit_abort("Assert failed", NULL, LOCATE_parser, 8584);
24496 }
24497 /* parser/parser.nit:8585 */
24498 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6], fra.me.REG[3]);
24499 /* parser/parser.nit:8589 */
24500 fra.me.REG[2] = fra.me.REG[3];
24501 /* parser/parser.nit:8590 */
24502 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24503 if (UNTAG_Bool(REGB0)) {
24504 } else {
24505 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8590);
24506 }
24507 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24508 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24509 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24510 stack_frame_head = fra.me.prev;
24511 return;
24512 }
24513 void parser___ReduceAction253___action(val_t p0, val_t p1){
24514 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
24515 val_t REGB0;
24516 val_t tmp;
24517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24518 fra.me.file = LOCATE_parser;
24519 fra.me.line = 8595;
24520 fra.me.meth = LOCATE_parser___ReduceAction253___action;
24521 fra.me.has_broke = 0;
24522 fra.me.REG_size = 4;
24523 fra.me.nitni_local_ref_head = NULL;
24524 fra.me.REG[0] = NIT_NULL;
24525 fra.me.REG[1] = NIT_NULL;
24526 fra.me.REG[2] = NIT_NULL;
24527 fra.me.REG[3] = NIT_NULL;
24528 fra.me.REG[0] = p0;
24529 fra.me.REG[1] = p1;
24530 /* parser/parser.nit:8597 */
24531 fra.me.REG[2] = NIT_NULL;
24532 /* parser/parser.nit:8598 */
24533 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24534 /* parser/parser.nit:8600 */
24535 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwreturn, ID_parser___parser_nodes___TKwreturn)) /*cast nullable TKwreturn*/;
24536 if (UNTAG_Bool(REGB0)) {
24537 } else {
24538 nit_abort("Assert failed", NULL, LOCATE_parser, 8600);
24539 }
24540 /* parser/parser.nit:8601 */
24541 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], NIT_NULL);
24542 /* parser/parser.nit:8605 */
24543 fra.me.REG[2] = fra.me.REG[3];
24544 /* parser/parser.nit:8606 */
24545 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24546 if (UNTAG_Bool(REGB0)) {
24547 } else {
24548 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8606);
24549 }
24550 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24551 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24552 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24553 stack_frame_head = fra.me.prev;
24554 return;
24555 }
24556 void parser___ReduceAction254___action(val_t p0, val_t p1){
24557 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24558 val_t REGB0;
24559 val_t tmp;
24560 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24561 fra.me.file = LOCATE_parser;
24562 fra.me.line = 8611;
24563 fra.me.meth = LOCATE_parser___ReduceAction254___action;
24564 fra.me.has_broke = 0;
24565 fra.me.REG_size = 5;
24566 fra.me.nitni_local_ref_head = NULL;
24567 fra.me.REG[0] = NIT_NULL;
24568 fra.me.REG[1] = NIT_NULL;
24569 fra.me.REG[2] = NIT_NULL;
24570 fra.me.REG[3] = NIT_NULL;
24571 fra.me.REG[4] = NIT_NULL;
24572 fra.me.REG[0] = p0;
24573 fra.me.REG[1] = p1;
24574 /* parser/parser.nit:8613 */
24575 fra.me.REG[2] = NIT_NULL;
24576 /* parser/parser.nit:8614 */
24577 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24578 /* parser/parser.nit:8615 */
24579 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24580 /* parser/parser.nit:8617 */
24581 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwreturn, ID_parser___parser_nodes___TKwreturn)) /*cast nullable TKwreturn*/;
24582 if (UNTAG_Bool(REGB0)) {
24583 } else {
24584 nit_abort("Assert failed", NULL, LOCATE_parser, 8617);
24585 }
24586 /* parser/parser.nit:8619 */
24587 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24588 if (UNTAG_Bool(REGB0)) {
24589 } else {
24590 nit_abort("Assert failed", NULL, LOCATE_parser, 8619);
24591 }
24592 /* parser/parser.nit:8620 */
24593 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[4], fra.me.REG[3]);
24594 /* parser/parser.nit:8624 */
24595 fra.me.REG[2] = fra.me.REG[3];
24596 /* parser/parser.nit:8625 */
24597 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24598 if (UNTAG_Bool(REGB0)) {
24599 } else {
24600 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8625);
24601 }
24602 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24603 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24604 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24605 stack_frame_head = fra.me.prev;
24606 return;
24607 }
24608 void parser___ReduceAction255___action(val_t p0, val_t p1){
24609 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
24610 val_t REGB0;
24611 val_t tmp;
24612 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24613 fra.me.file = LOCATE_parser;
24614 fra.me.line = 8630;
24615 fra.me.meth = LOCATE_parser___ReduceAction255___action;
24616 fra.me.has_broke = 0;
24617 fra.me.REG_size = 4;
24618 fra.me.nitni_local_ref_head = NULL;
24619 fra.me.REG[0] = NIT_NULL;
24620 fra.me.REG[1] = NIT_NULL;
24621 fra.me.REG[2] = NIT_NULL;
24622 fra.me.REG[3] = NIT_NULL;
24623 fra.me.REG[0] = p0;
24624 fra.me.REG[1] = p1;
24625 /* parser/parser.nit:8632 */
24626 fra.me.REG[2] = NIT_NULL;
24627 /* parser/parser.nit:8633 */
24628 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24629 /* parser/parser.nit:8635 */
24630 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
24631 if (UNTAG_Bool(REGB0)) {
24632 } else {
24633 nit_abort("Assert failed", NULL, LOCATE_parser, 8635);
24634 }
24635 /* parser/parser.nit:8636 */
24636 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
24637 /* parser/parser.nit:8641 */
24638 fra.me.REG[2] = fra.me.REG[3];
24639 /* parser/parser.nit:8642 */
24640 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24641 if (UNTAG_Bool(REGB0)) {
24642 } else {
24643 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8642);
24644 }
24645 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24646 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24647 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24648 stack_frame_head = fra.me.prev;
24649 return;
24650 }
24651 void parser___ReduceAction256___action(val_t p0, val_t p1){
24652 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24653 val_t REGB0;
24654 val_t tmp;
24655 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24656 fra.me.file = LOCATE_parser;
24657 fra.me.line = 8647;
24658 fra.me.meth = LOCATE_parser___ReduceAction256___action;
24659 fra.me.has_broke = 0;
24660 fra.me.REG_size = 5;
24661 fra.me.nitni_local_ref_head = NULL;
24662 fra.me.REG[0] = NIT_NULL;
24663 fra.me.REG[1] = NIT_NULL;
24664 fra.me.REG[2] = NIT_NULL;
24665 fra.me.REG[3] = NIT_NULL;
24666 fra.me.REG[4] = NIT_NULL;
24667 fra.me.REG[0] = p0;
24668 fra.me.REG[1] = p1;
24669 /* parser/parser.nit:8649 */
24670 fra.me.REG[2] = NIT_NULL;
24671 /* parser/parser.nit:8650 */
24672 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24673 /* parser/parser.nit:8651 */
24674 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24675 /* parser/parser.nit:8653 */
24676 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
24677 if (UNTAG_Bool(REGB0)) {
24678 } else {
24679 nit_abort("Assert failed", NULL, LOCATE_parser, 8653);
24680 }
24681 /* parser/parser.nit:8655 */
24682 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
24683 if (UNTAG_Bool(REGB0)) {
24684 } else {
24685 nit_abort("Assert failed", NULL, LOCATE_parser, 8655);
24686 }
24687 /* parser/parser.nit:8656 */
24688 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
24689 /* parser/parser.nit:8661 */
24690 fra.me.REG[2] = fra.me.REG[3];
24691 /* parser/parser.nit:8662 */
24692 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24693 if (UNTAG_Bool(REGB0)) {
24694 } else {
24695 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8662);
24696 }
24697 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24698 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24699 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24700 stack_frame_head = fra.me.prev;
24701 return;
24702 }
24703 void parser___ReduceAction257___action(val_t p0, val_t p1){
24704 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24705 val_t REGB0;
24706 val_t tmp;
24707 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24708 fra.me.file = LOCATE_parser;
24709 fra.me.line = 8667;
24710 fra.me.meth = LOCATE_parser___ReduceAction257___action;
24711 fra.me.has_broke = 0;
24712 fra.me.REG_size = 5;
24713 fra.me.nitni_local_ref_head = NULL;
24714 fra.me.REG[0] = NIT_NULL;
24715 fra.me.REG[1] = NIT_NULL;
24716 fra.me.REG[2] = NIT_NULL;
24717 fra.me.REG[3] = NIT_NULL;
24718 fra.me.REG[4] = NIT_NULL;
24719 fra.me.REG[0] = p0;
24720 fra.me.REG[1] = p1;
24721 /* parser/parser.nit:8669 */
24722 fra.me.REG[2] = NIT_NULL;
24723 /* parser/parser.nit:8670 */
24724 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24725 /* parser/parser.nit:8671 */
24726 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24727 /* parser/parser.nit:8673 */
24728 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
24729 if (UNTAG_Bool(REGB0)) {
24730 } else {
24731 nit_abort("Assert failed", NULL, LOCATE_parser, 8673);
24732 }
24733 /* parser/parser.nit:8675 */
24734 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24735 if (UNTAG_Bool(REGB0)) {
24736 } else {
24737 nit_abort("Assert failed", NULL, LOCATE_parser, 8675);
24738 }
24739 /* parser/parser.nit:8676 */
24740 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
24741 /* parser/parser.nit:8681 */
24742 fra.me.REG[2] = fra.me.REG[3];
24743 /* parser/parser.nit:8682 */
24744 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24745 if (UNTAG_Bool(REGB0)) {
24746 } else {
24747 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8682);
24748 }
24749 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24751 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24752 stack_frame_head = fra.me.prev;
24753 return;
24754 }
24755 void parser___ReduceAction258___action(val_t p0, val_t p1){
24756 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24757 val_t REGB0;
24758 val_t tmp;
24759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24760 fra.me.file = LOCATE_parser;
24761 fra.me.line = 8687;
24762 fra.me.meth = LOCATE_parser___ReduceAction258___action;
24763 fra.me.has_broke = 0;
24764 fra.me.REG_size = 6;
24765 fra.me.nitni_local_ref_head = NULL;
24766 fra.me.REG[0] = NIT_NULL;
24767 fra.me.REG[1] = NIT_NULL;
24768 fra.me.REG[2] = NIT_NULL;
24769 fra.me.REG[3] = NIT_NULL;
24770 fra.me.REG[4] = NIT_NULL;
24771 fra.me.REG[5] = NIT_NULL;
24772 fra.me.REG[0] = p0;
24773 fra.me.REG[1] = p1;
24774 /* parser/parser.nit:8689 */
24775 fra.me.REG[2] = NIT_NULL;
24776 /* parser/parser.nit:8690 */
24777 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24778 /* parser/parser.nit:8691 */
24779 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24780 /* parser/parser.nit:8692 */
24781 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24782 /* parser/parser.nit:8694 */
24783 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
24784 if (UNTAG_Bool(REGB0)) {
24785 } else {
24786 nit_abort("Assert failed", NULL, LOCATE_parser, 8694);
24787 }
24788 /* parser/parser.nit:8696 */
24789 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
24790 if (UNTAG_Bool(REGB0)) {
24791 } else {
24792 nit_abort("Assert failed", NULL, LOCATE_parser, 8696);
24793 }
24794 /* parser/parser.nit:8698 */
24795 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24796 if (UNTAG_Bool(REGB0)) {
24797 } else {
24798 nit_abort("Assert failed", NULL, LOCATE_parser, 8698);
24799 }
24800 /* parser/parser.nit:8699 */
24801 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
24802 /* parser/parser.nit:8704 */
24803 fra.me.REG[2] = fra.me.REG[3];
24804 /* parser/parser.nit:8705 */
24805 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24806 if (UNTAG_Bool(REGB0)) {
24807 } else {
24808 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8705);
24809 }
24810 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24811 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24812 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24813 stack_frame_head = fra.me.prev;
24814 return;
24815 }
24816 void parser___ReduceAction259___action(val_t p0, val_t p1){
24817 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
24818 val_t REGB0;
24819 val_t tmp;
24820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24821 fra.me.file = LOCATE_parser;
24822 fra.me.line = 8710;
24823 fra.me.meth = LOCATE_parser___ReduceAction259___action;
24824 fra.me.has_broke = 0;
24825 fra.me.REG_size = 4;
24826 fra.me.nitni_local_ref_head = NULL;
24827 fra.me.REG[0] = NIT_NULL;
24828 fra.me.REG[1] = NIT_NULL;
24829 fra.me.REG[2] = NIT_NULL;
24830 fra.me.REG[3] = NIT_NULL;
24831 fra.me.REG[0] = p0;
24832 fra.me.REG[1] = p1;
24833 /* parser/parser.nit:8712 */
24834 fra.me.REG[2] = NIT_NULL;
24835 /* parser/parser.nit:8713 */
24836 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24837 /* parser/parser.nit:8715 */
24838 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwabort, ID_parser___parser_nodes___TKwabort)) /*cast nullable TKwabort*/;
24839 if (UNTAG_Bool(REGB0)) {
24840 } else {
24841 nit_abort("Assert failed", NULL, LOCATE_parser, 8715);
24842 }
24843 /* parser/parser.nit:8716 */
24844 fra.me.REG[3] = NEW_AAbortExpr_parser___parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[3]);
24845 /* parser/parser.nit:8719 */
24846 fra.me.REG[2] = fra.me.REG[3];
24847 /* parser/parser.nit:8720 */
24848 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24849 if (UNTAG_Bool(REGB0)) {
24850 } else {
24851 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8720);
24852 }
24853 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24854 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24855 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24856 stack_frame_head = fra.me.prev;
24857 return;
24858 }
24859 void parser___ReduceAction260___action(val_t p0, val_t p1){
24860 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
24861 val_t REGB0;
24862 val_t tmp;
24863 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24864 fra.me.file = LOCATE_parser;
24865 fra.me.line = 8725;
24866 fra.me.meth = LOCATE_parser___ReduceAction260___action;
24867 fra.me.has_broke = 0;
24868 fra.me.REG_size = 4;
24869 fra.me.nitni_local_ref_head = NULL;
24870 fra.me.REG[0] = NIT_NULL;
24871 fra.me.REG[1] = NIT_NULL;
24872 fra.me.REG[2] = NIT_NULL;
24873 fra.me.REG[3] = NIT_NULL;
24874 fra.me.REG[0] = p0;
24875 fra.me.REG[1] = p1;
24876 /* parser/parser.nit:8727 */
24877 fra.me.REG[2] = NIT_NULL;
24878 /* parser/parser.nit:8728 */
24879 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24880 /* parser/parser.nit:8730 */
24881 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwcontinue, ID_parser___parser_nodes___TKwcontinue)) /*cast nullable TKwcontinue*/;
24882 if (UNTAG_Bool(REGB0)) {
24883 } else {
24884 nit_abort("Assert failed", NULL, LOCATE_parser, 8730);
24885 }
24886 /* parser/parser.nit:8731 */
24887 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
24888 /* parser/parser.nit:8736 */
24889 fra.me.REG[2] = fra.me.REG[3];
24890 /* parser/parser.nit:8737 */
24891 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24892 if (UNTAG_Bool(REGB0)) {
24893 } else {
24894 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8737);
24895 }
24896 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24897 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24898 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24899 stack_frame_head = fra.me.prev;
24900 return;
24901 }
24902 void parser___ReduceAction261___action(val_t p0, val_t p1){
24903 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24904 val_t REGB0;
24905 val_t tmp;
24906 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24907 fra.me.file = LOCATE_parser;
24908 fra.me.line = 8742;
24909 fra.me.meth = LOCATE_parser___ReduceAction261___action;
24910 fra.me.has_broke = 0;
24911 fra.me.REG_size = 5;
24912 fra.me.nitni_local_ref_head = NULL;
24913 fra.me.REG[0] = NIT_NULL;
24914 fra.me.REG[1] = NIT_NULL;
24915 fra.me.REG[2] = NIT_NULL;
24916 fra.me.REG[3] = NIT_NULL;
24917 fra.me.REG[4] = NIT_NULL;
24918 fra.me.REG[0] = p0;
24919 fra.me.REG[1] = p1;
24920 /* parser/parser.nit:8744 */
24921 fra.me.REG[2] = NIT_NULL;
24922 /* parser/parser.nit:8745 */
24923 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24924 /* parser/parser.nit:8746 */
24925 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24926 /* parser/parser.nit:8748 */
24927 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwcontinue, ID_parser___parser_nodes___TKwcontinue)) /*cast nullable TKwcontinue*/;
24928 if (UNTAG_Bool(REGB0)) {
24929 } else {
24930 nit_abort("Assert failed", NULL, LOCATE_parser, 8748);
24931 }
24932 /* parser/parser.nit:8750 */
24933 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
24934 if (UNTAG_Bool(REGB0)) {
24935 } else {
24936 nit_abort("Assert failed", NULL, LOCATE_parser, 8750);
24937 }
24938 /* parser/parser.nit:8751 */
24939 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
24940 /* parser/parser.nit:8756 */
24941 fra.me.REG[2] = fra.me.REG[3];
24942 /* parser/parser.nit:8757 */
24943 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24944 if (UNTAG_Bool(REGB0)) {
24945 } else {
24946 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8757);
24947 }
24948 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24949 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24950 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24951 stack_frame_head = fra.me.prev;
24952 return;
24953 }
24954 void parser___ReduceAction262___action(val_t p0, val_t p1){
24955 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24956 val_t REGB0;
24957 val_t tmp;
24958 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24959 fra.me.file = LOCATE_parser;
24960 fra.me.line = 8762;
24961 fra.me.meth = LOCATE_parser___ReduceAction262___action;
24962 fra.me.has_broke = 0;
24963 fra.me.REG_size = 5;
24964 fra.me.nitni_local_ref_head = NULL;
24965 fra.me.REG[0] = NIT_NULL;
24966 fra.me.REG[1] = NIT_NULL;
24967 fra.me.REG[2] = NIT_NULL;
24968 fra.me.REG[3] = NIT_NULL;
24969 fra.me.REG[4] = NIT_NULL;
24970 fra.me.REG[0] = p0;
24971 fra.me.REG[1] = p1;
24972 /* parser/parser.nit:8764 */
24973 fra.me.REG[2] = NIT_NULL;
24974 /* parser/parser.nit:8765 */
24975 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24976 /* parser/parser.nit:8766 */
24977 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24978 /* parser/parser.nit:8768 */
24979 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwcontinue, ID_parser___parser_nodes___TKwcontinue)) /*cast nullable TKwcontinue*/;
24980 if (UNTAG_Bool(REGB0)) {
24981 } else {
24982 nit_abort("Assert failed", NULL, LOCATE_parser, 8768);
24983 }
24984 /* parser/parser.nit:8770 */
24985 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24986 if (UNTAG_Bool(REGB0)) {
24987 } else {
24988 nit_abort("Assert failed", NULL, LOCATE_parser, 8770);
24989 }
24990 /* parser/parser.nit:8771 */
24991 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
24992 /* parser/parser.nit:8776 */
24993 fra.me.REG[2] = fra.me.REG[3];
24994 /* parser/parser.nit:8777 */
24995 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24996 if (UNTAG_Bool(REGB0)) {
24997 } else {
24998 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8777);
24999 }
25000 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25001 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25002 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25003 stack_frame_head = fra.me.prev;
25004 return;
25005 }
25006 void parser___ReduceAction263___action(val_t p0, val_t p1){
25007 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
25008 val_t REGB0;
25009 val_t tmp;
25010 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25011 fra.me.file = LOCATE_parser;
25012 fra.me.line = 8782;
25013 fra.me.meth = LOCATE_parser___ReduceAction263___action;
25014 fra.me.has_broke = 0;
25015 fra.me.REG_size = 6;
25016 fra.me.nitni_local_ref_head = NULL;
25017 fra.me.REG[0] = NIT_NULL;
25018 fra.me.REG[1] = NIT_NULL;
25019 fra.me.REG[2] = NIT_NULL;
25020 fra.me.REG[3] = NIT_NULL;
25021 fra.me.REG[4] = NIT_NULL;
25022 fra.me.REG[5] = NIT_NULL;
25023 fra.me.REG[0] = p0;
25024 fra.me.REG[1] = p1;
25025 /* parser/parser.nit:8784 */
25026 fra.me.REG[2] = NIT_NULL;
25027 /* parser/parser.nit:8785 */
25028 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25029 /* parser/parser.nit:8786 */
25030 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25031 /* parser/parser.nit:8787 */
25032 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25033 /* parser/parser.nit:8789 */
25034 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwcontinue, ID_parser___parser_nodes___TKwcontinue)) /*cast nullable TKwcontinue*/;
25035 if (UNTAG_Bool(REGB0)) {
25036 } else {
25037 nit_abort("Assert failed", NULL, LOCATE_parser, 8789);
25038 }
25039 /* parser/parser.nit:8791 */
25040 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
25041 if (UNTAG_Bool(REGB0)) {
25042 } else {
25043 nit_abort("Assert failed", NULL, LOCATE_parser, 8791);
25044 }
25045 /* parser/parser.nit:8793 */
25046 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
25047 if (UNTAG_Bool(REGB0)) {
25048 } else {
25049 nit_abort("Assert failed", NULL, LOCATE_parser, 8793);
25050 }
25051 /* parser/parser.nit:8794 */
25052 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
25053 /* parser/parser.nit:8799 */
25054 fra.me.REG[2] = fra.me.REG[3];
25055 /* parser/parser.nit:8800 */
25056 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25057 if (UNTAG_Bool(REGB0)) {
25058 } else {
25059 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8800);
25060 }
25061 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25062 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25063 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25064 stack_frame_head = fra.me.prev;
25065 return;
25066 }
25067 void parser___ReduceAction270___action(val_t p0, val_t p1){
25068 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
25069 val_t REGB0;
25070 val_t tmp;
25071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25072 fra.me.file = LOCATE_parser;
25073 fra.me.line = 8805;
25074 fra.me.meth = LOCATE_parser___ReduceAction270___action;
25075 fra.me.has_broke = 0;
25076 fra.me.REG_size = 7;
25077 fra.me.nitni_local_ref_head = NULL;
25078 fra.me.REG[0] = NIT_NULL;
25079 fra.me.REG[1] = NIT_NULL;
25080 fra.me.REG[2] = NIT_NULL;
25081 fra.me.REG[3] = NIT_NULL;
25082 fra.me.REG[4] = NIT_NULL;
25083 fra.me.REG[5] = NIT_NULL;
25084 fra.me.REG[6] = NIT_NULL;
25085 fra.me.REG[0] = p0;
25086 fra.me.REG[1] = p1;
25087 /* parser/parser.nit:8807 */
25088 fra.me.REG[2] = NIT_NULL;
25089 /* parser/parser.nit:8808 */
25090 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25091 /* parser/parser.nit:8809 */
25092 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25093 /* parser/parser.nit:8810 */
25094 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25095 /* parser/parser.nit:8811 */
25096 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25097 /* parser/parser.nit:8812 */
25098 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25099 /* parser/parser.nit:8813 */
25100 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
25101 /* parser/parser.nit:8815 */
25102 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
25103 if (UNTAG_Bool(REGB0)) {
25104 } else {
25105 nit_abort("Assert failed", NULL, LOCATE_parser, 8815);
25106 }
25107 /* parser/parser.nit:8817 */
25108 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
25109 if (UNTAG_Bool(REGB0)) {
25110 } else {
25111 nit_abort("Assert failed", NULL, LOCATE_parser, 8817);
25112 }
25113 /* parser/parser.nit:8819 */
25114 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
25115 if (UNTAG_Bool(REGB0)) {
25116 } else {
25117 nit_abort("Assert failed", NULL, LOCATE_parser, 8819);
25118 }
25119 /* parser/parser.nit:8820 */
25120 fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
25121 /* parser/parser.nit:8826 */
25122 fra.me.REG[2] = fra.me.REG[6];
25123 /* parser/parser.nit:8827 */
25124 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25125 if (UNTAG_Bool(REGB0)) {
25126 } else {
25127 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8827);
25128 }
25129 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25130 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25131 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25132 stack_frame_head = fra.me.prev;
25133 return;
25134 }
25135 void parser___ReduceAction271___action(val_t p0, val_t p1){
25136 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
25137 val_t REGB0;
25138 val_t tmp;
25139 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25140 fra.me.file = LOCATE_parser;
25141 fra.me.line = 8832;
25142 fra.me.meth = LOCATE_parser___ReduceAction271___action;
25143 fra.me.has_broke = 0;
25144 fra.me.REG_size = 7;
25145 fra.me.nitni_local_ref_head = NULL;
25146 fra.me.REG[0] = NIT_NULL;
25147 fra.me.REG[1] = NIT_NULL;
25148 fra.me.REG[2] = NIT_NULL;
25149 fra.me.REG[3] = NIT_NULL;
25150 fra.me.REG[4] = NIT_NULL;
25151 fra.me.REG[5] = NIT_NULL;
25152 fra.me.REG[6] = NIT_NULL;
25153 fra.me.REG[0] = p0;
25154 fra.me.REG[1] = p1;
25155 /* parser/parser.nit:8834 */
25156 fra.me.REG[2] = NIT_NULL;
25157 /* parser/parser.nit:8835 */
25158 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25159 /* parser/parser.nit:8836 */
25160 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25161 /* parser/parser.nit:8837 */
25162 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
25163 /* parser/parser.nit:8838 */
25164 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
25165 /* parser/parser.nit:8840 */
25166 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
25167 if (UNTAG_Bool(REGB0)) {
25168 } else {
25169 nit_abort("Assert failed", NULL, LOCATE_parser, 8840);
25170 }
25171 /* parser/parser.nit:8842 */
25172 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
25173 if (UNTAG_Bool(REGB0)) {
25174 } else {
25175 nit_abort("Assert failed", NULL, LOCATE_parser, 8842);
25176 }
25177 /* parser/parser.nit:8843 */
25178 fra.me.REG[5] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
25179 /* parser/parser.nit:8849 */
25180 fra.me.REG[2] = fra.me.REG[5];
25181 /* parser/parser.nit:8850 */
25182 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25183 if (UNTAG_Bool(REGB0)) {
25184 } else {
25185 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8850);
25186 }
25187 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25188 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25189 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25190 stack_frame_head = fra.me.prev;
25191 return;
25192 }
25193 void parser___ReduceAction272___action(val_t p0, val_t p1){
25194 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25195 val_t REGB0;
25196 val_t tmp;
25197 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25198 fra.me.file = LOCATE_parser;
25199 fra.me.line = 8855;
25200 fra.me.meth = LOCATE_parser___ReduceAction272___action;
25201 fra.me.has_broke = 0;
25202 fra.me.REG_size = 8;
25203 fra.me.nitni_local_ref_head = NULL;
25204 fra.me.REG[0] = NIT_NULL;
25205 fra.me.REG[1] = NIT_NULL;
25206 fra.me.REG[2] = NIT_NULL;
25207 fra.me.REG[3] = NIT_NULL;
25208 fra.me.REG[4] = NIT_NULL;
25209 fra.me.REG[5] = NIT_NULL;
25210 fra.me.REG[6] = NIT_NULL;
25211 fra.me.REG[7] = NIT_NULL;
25212 fra.me.REG[0] = p0;
25213 fra.me.REG[1] = p1;
25214 /* parser/parser.nit:8857 */
25215 fra.me.REG[2] = NIT_NULL;
25216 /* parser/parser.nit:8858 */
25217 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25218 /* parser/parser.nit:8859 */
25219 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25220 /* parser/parser.nit:8860 */
25221 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25222 /* parser/parser.nit:8861 */
25223 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25224 /* parser/parser.nit:8862 */
25225 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25226 /* parser/parser.nit:8863 */
25227 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25228 /* parser/parser.nit:8864 */
25229 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
25230 /* parser/parser.nit:8866 */
25231 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
25232 if (UNTAG_Bool(REGB0)) {
25233 } else {
25234 nit_abort("Assert failed", NULL, LOCATE_parser, 8866);
25235 }
25236 /* parser/parser.nit:8868 */
25237 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
25238 if (UNTAG_Bool(REGB0)) {
25239 } else {
25240 nit_abort("Assert failed", NULL, LOCATE_parser, 8868);
25241 }
25242 /* parser/parser.nit:8870 */
25243 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
25244 if (UNTAG_Bool(REGB0)) {
25245 } else {
25246 nit_abort("Assert failed", NULL, LOCATE_parser, 8870);
25247 }
25248 /* parser/parser.nit:8872 */
25249 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
25250 if (UNTAG_Bool(REGB0)) {
25251 } else {
25252 nit_abort("Assert failed", NULL, LOCATE_parser, 8872);
25253 }
25254 /* parser/parser.nit:8873 */
25255 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
25256 fra.me.REG[7] = fra.me.REG[3];
25257 /* parser/parser.nit:8874 */
25258 fra.me.REG[7] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7]);
25259 /* parser/parser.nit:8880 */
25260 fra.me.REG[2] = fra.me.REG[7];
25261 /* parser/parser.nit:8881 */
25262 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25263 if (UNTAG_Bool(REGB0)) {
25264 } else {
25265 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8881);
25266 }
25267 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25268 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25269 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25270 stack_frame_head = fra.me.prev;
25271 return;
25272 }
25273 void parser___ReduceAction273___action(val_t p0, val_t p1){
25274 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25275 val_t REGB0;
25276 val_t tmp;
25277 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25278 fra.me.file = LOCATE_parser;
25279 fra.me.line = 8886;
25280 fra.me.meth = LOCATE_parser___ReduceAction273___action;
25281 fra.me.has_broke = 0;
25282 fra.me.REG_size = 8;
25283 fra.me.nitni_local_ref_head = NULL;
25284 fra.me.REG[0] = NIT_NULL;
25285 fra.me.REG[1] = NIT_NULL;
25286 fra.me.REG[2] = NIT_NULL;
25287 fra.me.REG[3] = NIT_NULL;
25288 fra.me.REG[4] = NIT_NULL;
25289 fra.me.REG[5] = NIT_NULL;
25290 fra.me.REG[6] = NIT_NULL;
25291 fra.me.REG[7] = NIT_NULL;
25292 fra.me.REG[0] = p0;
25293 fra.me.REG[1] = p1;
25294 /* parser/parser.nit:8888 */
25295 fra.me.REG[2] = NIT_NULL;
25296 /* parser/parser.nit:8889 */
25297 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25298 /* parser/parser.nit:8890 */
25299 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25300 /* parser/parser.nit:8891 */
25301 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25302 /* parser/parser.nit:8892 */
25303 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
25304 /* parser/parser.nit:8893 */
25305 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
25306 /* parser/parser.nit:8895 */
25307 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
25308 if (UNTAG_Bool(REGB0)) {
25309 } else {
25310 nit_abort("Assert failed", NULL, LOCATE_parser, 8895);
25311 }
25312 /* parser/parser.nit:8897 */
25313 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
25314 if (UNTAG_Bool(REGB0)) {
25315 } else {
25316 nit_abort("Assert failed", NULL, LOCATE_parser, 8897);
25317 }
25318 /* parser/parser.nit:8899 */
25319 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
25320 if (UNTAG_Bool(REGB0)) {
25321 } else {
25322 nit_abort("Assert failed", NULL, LOCATE_parser, 8899);
25323 }
25324 /* parser/parser.nit:8900 */
25325 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
25326 fra.me.REG[6] = fra.me.REG[3];
25327 /* parser/parser.nit:8901 */
25328 fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
25329 /* parser/parser.nit:8907 */
25330 fra.me.REG[2] = fra.me.REG[6];
25331 /* parser/parser.nit:8908 */
25332 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25333 if (UNTAG_Bool(REGB0)) {
25334 } else {
25335 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8908);
25336 }
25337 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25338 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25339 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25340 stack_frame_head = fra.me.prev;
25341 return;
25342 }
25343 void parser___ReduceAction274___action(val_t p0, val_t p1){
25344 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
25345 val_t REGB0;
25346 val_t tmp;
25347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25348 fra.me.file = LOCATE_parser;
25349 fra.me.line = 8913;
25350 fra.me.meth = LOCATE_parser___ReduceAction274___action;
25351 fra.me.has_broke = 0;
25352 fra.me.REG_size = 5;
25353 fra.me.nitni_local_ref_head = NULL;
25354 fra.me.REG[0] = NIT_NULL;
25355 fra.me.REG[1] = NIT_NULL;
25356 fra.me.REG[2] = NIT_NULL;
25357 fra.me.REG[3] = NIT_NULL;
25358 fra.me.REG[4] = NIT_NULL;
25359 fra.me.REG[0] = p0;
25360 fra.me.REG[1] = p1;
25361 /* parser/parser.nit:8915 */
25362 fra.me.REG[2] = NIT_NULL;
25363 /* parser/parser.nit:8916 */
25364 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25365 /* parser/parser.nit:8917 */
25366 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25367 /* parser/parser.nit:8919 */
25368 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
25369 if (UNTAG_Bool(REGB0)) {
25370 } else {
25371 nit_abort("Assert failed", NULL, LOCATE_parser, 8919);
25372 }
25373 /* parser/parser.nit:8921 */
25374 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
25375 if (UNTAG_Bool(REGB0)) {
25376 } else {
25377 nit_abort("Assert failed", NULL, LOCATE_parser, 8921);
25378 }
25379 /* parser/parser.nit:8922 */
25380 fra.me.REG[3] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
25381 /* parser/parser.nit:8927 */
25382 fra.me.REG[2] = fra.me.REG[3];
25383 /* parser/parser.nit:8928 */
25384 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25385 if (UNTAG_Bool(REGB0)) {
25386 } else {
25387 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8928);
25388 }
25389 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25390 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25391 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25392 stack_frame_head = fra.me.prev;
25393 return;
25394 }
25395 void parser___ReduceAction275___action(val_t p0, val_t p1){
25396 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
25397 val_t REGB0;
25398 val_t tmp;
25399 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25400 fra.me.file = LOCATE_parser;
25401 fra.me.line = 8933;
25402 fra.me.meth = LOCATE_parser___ReduceAction275___action;
25403 fra.me.has_broke = 0;
25404 fra.me.REG_size = 6;
25405 fra.me.nitni_local_ref_head = NULL;
25406 fra.me.REG[0] = NIT_NULL;
25407 fra.me.REG[1] = NIT_NULL;
25408 fra.me.REG[2] = NIT_NULL;
25409 fra.me.REG[3] = NIT_NULL;
25410 fra.me.REG[4] = NIT_NULL;
25411 fra.me.REG[5] = NIT_NULL;
25412 fra.me.REG[0] = p0;
25413 fra.me.REG[1] = p1;
25414 /* parser/parser.nit:8935 */
25415 fra.me.REG[2] = NIT_NULL;
25416 /* parser/parser.nit:8936 */
25417 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25418 /* parser/parser.nit:8937 */
25419 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25420 /* parser/parser.nit:8938 */
25421 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25422 /* parser/parser.nit:8940 */
25423 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AQualified, ID_parser___parser_nodes___AQualified)) /*cast nullable AQualified*/;
25424 if (UNTAG_Bool(REGB0)) {
25425 } else {
25426 nit_abort("Assert failed", NULL, LOCATE_parser, 8940);
25427 }
25428 /* parser/parser.nit:8942 */
25429 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
25430 if (UNTAG_Bool(REGB0)) {
25431 } else {
25432 nit_abort("Assert failed", NULL, LOCATE_parser, 8942);
25433 }
25434 /* parser/parser.nit:8944 */
25435 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
25436 if (UNTAG_Bool(REGB0)) {
25437 } else {
25438 nit_abort("Assert failed", NULL, LOCATE_parser, 8944);
25439 }
25440 /* parser/parser.nit:8945 */
25441 fra.me.REG[3] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
25442 /* parser/parser.nit:8950 */
25443 fra.me.REG[2] = fra.me.REG[3];
25444 /* parser/parser.nit:8951 */
25445 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25446 if (UNTAG_Bool(REGB0)) {
25447 } else {
25448 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8951);
25449 }
25450 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25451 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25452 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25453 stack_frame_head = fra.me.prev;
25454 return;
25455 }
25456 void parser___ReduceAction276___action(val_t p0, val_t p1){
25457 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
25458 val_t REGB0;
25459 val_t tmp;
25460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25461 fra.me.file = LOCATE_parser;
25462 fra.me.line = 8956;
25463 fra.me.meth = LOCATE_parser___ReduceAction276___action;
25464 fra.me.has_broke = 0;
25465 fra.me.REG_size = 6;
25466 fra.me.nitni_local_ref_head = NULL;
25467 fra.me.REG[0] = NIT_NULL;
25468 fra.me.REG[1] = NIT_NULL;
25469 fra.me.REG[2] = NIT_NULL;
25470 fra.me.REG[3] = NIT_NULL;
25471 fra.me.REG[4] = NIT_NULL;
25472 fra.me.REG[5] = NIT_NULL;
25473 fra.me.REG[0] = p0;
25474 fra.me.REG[1] = p1;
25475 /* parser/parser.nit:8958 */
25476 fra.me.REG[2] = NIT_NULL;
25477 /* parser/parser.nit:8959 */
25478 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25479 /* parser/parser.nit:8960 */
25480 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25481 /* parser/parser.nit:8961 */
25482 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25483 /* parser/parser.nit:8962 */
25484 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25485 /* parser/parser.nit:8963 */
25486 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25487 /* parser/parser.nit:8965 */
25488 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
25489 if (UNTAG_Bool(REGB0)) {
25490 } else {
25491 nit_abort("Assert failed", NULL, LOCATE_parser, 8965);
25492 }
25493 /* parser/parser.nit:8967 */
25494 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
25495 if (UNTAG_Bool(REGB0)) {
25496 } else {
25497 nit_abort("Assert failed", NULL, LOCATE_parser, 8967);
25498 }
25499 /* parser/parser.nit:8969 */
25500 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
25501 if (UNTAG_Bool(REGB0)) {
25502 } else {
25503 nit_abort("Assert failed", NULL, LOCATE_parser, 8969);
25504 }
25505 /* parser/parser.nit:8970 */
25506 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
25507 /* parser/parser.nit:8975 */
25508 fra.me.REG[2] = fra.me.REG[3];
25509 /* parser/parser.nit:8976 */
25510 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25511 if (UNTAG_Bool(REGB0)) {
25512 } else {
25513 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8976);
25514 }
25515 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25516 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25517 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25518 stack_frame_head = fra.me.prev;
25519 return;
25520 }
25521 void parser___ReduceAction277___action(val_t p0, val_t p1){
25522 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
25523 val_t REGB0;
25524 val_t tmp;
25525 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25526 fra.me.file = LOCATE_parser;
25527 fra.me.line = 8981;
25528 fra.me.meth = LOCATE_parser___ReduceAction277___action;
25529 fra.me.has_broke = 0;
25530 fra.me.REG_size = 6;
25531 fra.me.nitni_local_ref_head = NULL;
25532 fra.me.REG[0] = NIT_NULL;
25533 fra.me.REG[1] = NIT_NULL;
25534 fra.me.REG[2] = NIT_NULL;
25535 fra.me.REG[3] = NIT_NULL;
25536 fra.me.REG[4] = NIT_NULL;
25537 fra.me.REG[5] = NIT_NULL;
25538 fra.me.REG[0] = p0;
25539 fra.me.REG[1] = p1;
25540 /* parser/parser.nit:8983 */
25541 fra.me.REG[2] = NIT_NULL;
25542 /* parser/parser.nit:8984 */
25543 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25544 /* parser/parser.nit:8985 */
25545 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25546 /* parser/parser.nit:8986 */
25547 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
25548 /* parser/parser.nit:8988 */
25549 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
25550 if (UNTAG_Bool(REGB0)) {
25551 } else {
25552 nit_abort("Assert failed", NULL, LOCATE_parser, 8988);
25553 }
25554 /* parser/parser.nit:8990 */
25555 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
25556 if (UNTAG_Bool(REGB0)) {
25557 } else {
25558 nit_abort("Assert failed", NULL, LOCATE_parser, 8990);
25559 }
25560 /* parser/parser.nit:8991 */
25561 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
25562 /* parser/parser.nit:8996 */
25563 fra.me.REG[2] = fra.me.REG[3];
25564 /* parser/parser.nit:8997 */
25565 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25566 if (UNTAG_Bool(REGB0)) {
25567 } else {
25568 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8997);
25569 }
25570 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25571 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25572 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25573 stack_frame_head = fra.me.prev;
25574 return;
25575 }
25576 void parser___ReduceAction278___action(val_t p0, val_t p1){
25577 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
25578 val_t REGB0;
25579 val_t tmp;
25580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25581 fra.me.file = LOCATE_parser;
25582 fra.me.line = 9002;
25583 fra.me.meth = LOCATE_parser___ReduceAction278___action;
25584 fra.me.has_broke = 0;
25585 fra.me.REG_size = 7;
25586 fra.me.nitni_local_ref_head = NULL;
25587 fra.me.REG[0] = NIT_NULL;
25588 fra.me.REG[1] = NIT_NULL;
25589 fra.me.REG[2] = NIT_NULL;
25590 fra.me.REG[3] = NIT_NULL;
25591 fra.me.REG[4] = NIT_NULL;
25592 fra.me.REG[5] = NIT_NULL;
25593 fra.me.REG[6] = NIT_NULL;
25594 fra.me.REG[0] = p0;
25595 fra.me.REG[1] = p1;
25596 /* parser/parser.nit:9004 */
25597 fra.me.REG[2] = NIT_NULL;
25598 /* parser/parser.nit:9005 */
25599 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25600 /* parser/parser.nit:9006 */
25601 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25602 /* parser/parser.nit:9007 */
25603 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25604 /* parser/parser.nit:9008 */
25605 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25606 /* parser/parser.nit:9009 */
25607 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25608 /* parser/parser.nit:9011 */
25609 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwdebug, ID_parser___parser_nodes___TKwdebug)) /*cast nullable TKwdebug*/;
25610 if (UNTAG_Bool(REGB0)) {
25611 } else {
25612 nit_abort("Assert failed", NULL, LOCATE_parser, 9011);
25613 }
25614 /* parser/parser.nit:9013 */
25615 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwtype, ID_parser___parser_nodes___TKwtype)) /*cast nullable TKwtype*/;
25616 if (UNTAG_Bool(REGB0)) {
25617 } else {
25618 nit_abort("Assert failed", NULL, LOCATE_parser, 9013);
25619 }
25620 /* parser/parser.nit:9015 */
25621 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
25622 if (UNTAG_Bool(REGB0)) {
25623 } else {
25624 nit_abort("Assert failed", NULL, LOCATE_parser, 9015);
25625 }
25626 /* parser/parser.nit:9017 */
25627 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
25628 if (UNTAG_Bool(REGB0)) {
25629 } else {
25630 nit_abort("Assert failed", NULL, LOCATE_parser, 9017);
25631 }
25632 /* parser/parser.nit:9018 */
25633 fra.me.REG[4] = NEW_ADebugTypeExpr_parser___parser_prod___ADebugTypeExpr___init_adebugtypeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
25634 /* parser/parser.nit:9024 */
25635 fra.me.REG[2] = fra.me.REG[4];
25636 /* parser/parser.nit:9025 */
25637 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25638 if (UNTAG_Bool(REGB0)) {
25639 } else {
25640 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9025);
25641 }
25642 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25643 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25644 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25645 stack_frame_head = fra.me.prev;
25646 return;
25647 }
25648 void parser___ReduceAction279___action(val_t p0, val_t p1){
25649 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
25650 val_t REGB0;
25651 val_t tmp;
25652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25653 fra.me.file = LOCATE_parser;
25654 fra.me.line = 9030;
25655 fra.me.meth = LOCATE_parser___ReduceAction279___action;
25656 fra.me.has_broke = 0;
25657 fra.me.REG_size = 5;
25658 fra.me.nitni_local_ref_head = NULL;
25659 fra.me.REG[0] = NIT_NULL;
25660 fra.me.REG[1] = NIT_NULL;
25661 fra.me.REG[2] = NIT_NULL;
25662 fra.me.REG[3] = NIT_NULL;
25663 fra.me.REG[4] = NIT_NULL;
25664 fra.me.REG[0] = p0;
25665 fra.me.REG[1] = p1;
25666 /* parser/parser.nit:9032 */
25667 fra.me.REG[2] = NIT_NULL;
25668 /* parser/parser.nit:9033 */
25669 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25670 /* parser/parser.nit:9034 */
25671 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25672 /* parser/parser.nit:9036 */
25673 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwlabel, ID_parser___parser_nodes___TKwlabel)) /*cast nullable TKwlabel*/;
25674 if (UNTAG_Bool(REGB0)) {
25675 } else {
25676 nit_abort("Assert failed", NULL, LOCATE_parser, 9036);
25677 }
25678 /* parser/parser.nit:9038 */
25679 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
25680 if (UNTAG_Bool(REGB0)) {
25681 } else {
25682 nit_abort("Assert failed", NULL, LOCATE_parser, 9038);
25683 }
25684 /* parser/parser.nit:9039 */
25685 fra.me.REG[3] = NEW_ALabel_parser___parser_prod___ALabel___init_alabel(fra.me.REG[4], fra.me.REG[3]);
25686 /* parser/parser.nit:9043 */
25687 fra.me.REG[2] = fra.me.REG[3];
25688 /* parser/parser.nit:9044 */
25689 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25690 if (UNTAG_Bool(REGB0)) {
25691 } else {
25692 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9044);
25693 }
25694 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25695 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25696 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25697 stack_frame_head = fra.me.prev;
25698 return;
25699 }
25700 void parser___ReduceAction280___action(val_t p0, val_t p1){
25701 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
25702 val_t REGB0;
25703 val_t REGB1;
25704 val_t tmp;
25705 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25706 fra.me.file = LOCATE_parser;
25707 fra.me.line = 9049;
25708 fra.me.meth = LOCATE_parser___ReduceAction280___action;
25709 fra.me.has_broke = 0;
25710 fra.me.REG_size = 5;
25711 fra.me.nitni_local_ref_head = NULL;
25712 fra.me.REG[0] = NIT_NULL;
25713 fra.me.REG[1] = NIT_NULL;
25714 fra.me.REG[2] = NIT_NULL;
25715 fra.me.REG[3] = NIT_NULL;
25716 fra.me.REG[4] = NIT_NULL;
25717 fra.me.REG[0] = p0;
25718 fra.me.REG[1] = p1;
25719 /* parser/parser.nit:9051 */
25720 fra.me.REG[2] = NIT_NULL;
25721 /* parser/parser.nit:9052 */
25722 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25723 /* parser/parser.nit:9053 */
25724 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
25725 /* parser/parser.nit:9055 */
25726 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
25727 if (UNTAG_Bool(REGB0)) {
25728 } else {
25729 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
25730 if (UNTAG_Bool(REGB1)) {
25731 REGB1 = TAG_Bool(false);
25732 REGB0 = REGB1;
25733 } else {
25734 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
25735 REGB0 = REGB1;
25736 }
25737 }
25738 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25739 if (UNTAG_Bool(REGB0)) {
25740 /* parser/parser.nit:9056 */
25741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
25742 }
25743 /* parser/parser.nit:9058 */
25744 fra.me.REG[2] = fra.me.REG[4];
25745 /* parser/parser.nit:9059 */
25746 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25747 if (UNTAG_Bool(REGB0)) {
25748 } else {
25749 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9059);
25750 }
25751 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25752 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25753 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25754 stack_frame_head = fra.me.prev;
25755 return;
25756 }
25757 void parser___ReduceAction281___action(val_t p0, val_t p1){
25758 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
25759 val_t REGB0;
25760 val_t REGB1;
25761 val_t tmp;
25762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25763 fra.me.file = LOCATE_parser;
25764 fra.me.line = 9064;
25765 fra.me.meth = LOCATE_parser___ReduceAction281___action;
25766 fra.me.has_broke = 0;
25767 fra.me.REG_size = 6;
25768 fra.me.nitni_local_ref_head = NULL;
25769 fra.me.REG[0] = NIT_NULL;
25770 fra.me.REG[1] = NIT_NULL;
25771 fra.me.REG[2] = NIT_NULL;
25772 fra.me.REG[3] = NIT_NULL;
25773 fra.me.REG[4] = NIT_NULL;
25774 fra.me.REG[5] = NIT_NULL;
25775 fra.me.REG[0] = p0;
25776 fra.me.REG[1] = p1;
25777 /* parser/parser.nit:9066 */
25778 fra.me.REG[2] = NIT_NULL;
25779 /* parser/parser.nit:9067 */
25780 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25781 /* parser/parser.nit:9068 */
25782 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25783 /* parser/parser.nit:9069 */
25784 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
25785 /* parser/parser.nit:9072 */
25786 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
25787 if (UNTAG_Bool(REGB0)) {
25788 } else {
25789 nit_abort("Assert failed", NULL, LOCATE_parser, 9072);
25790 }
25791 /* parser/parser.nit:9073 */
25792 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
25793 if (UNTAG_Bool(REGB0)) {
25794 } else {
25795 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
25796 if (UNTAG_Bool(REGB1)) {
25797 REGB1 = TAG_Bool(false);
25798 REGB0 = REGB1;
25799 } else {
25800 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
25801 REGB0 = REGB1;
25802 }
25803 }
25804 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25805 if (UNTAG_Bool(REGB0)) {
25806 /* parser/parser.nit:9074 */
25807 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
25808 }
25809 /* parser/parser.nit:9076 */
25810 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
25811 fra.me.REG[5] = fra.me.REG[3];
25812 /* parser/parser.nit:9077 */
25813 fra.me.REG[2] = fra.me.REG[5];
25814 /* parser/parser.nit:9078 */
25815 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25816 if (UNTAG_Bool(REGB0)) {
25817 } else {
25818 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9078);
25819 }
25820 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25821 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25822 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25823 stack_frame_head = fra.me.prev;
25824 return;
25825 }
25826 void parser___ReduceAction282___action(val_t p0, val_t p1){
25827 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25828 val_t REGB0;
25829 val_t tmp;
25830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25831 fra.me.file = LOCATE_parser;
25832 fra.me.line = 9083;
25833 fra.me.meth = LOCATE_parser___ReduceAction282___action;
25834 fra.me.has_broke = 0;
25835 fra.me.REG_size = 9;
25836 fra.me.nitni_local_ref_head = NULL;
25837 fra.me.REG[0] = NIT_NULL;
25838 fra.me.REG[1] = NIT_NULL;
25839 fra.me.REG[2] = NIT_NULL;
25840 fra.me.REG[3] = NIT_NULL;
25841 fra.me.REG[4] = NIT_NULL;
25842 fra.me.REG[5] = NIT_NULL;
25843 fra.me.REG[6] = NIT_NULL;
25844 fra.me.REG[7] = NIT_NULL;
25845 fra.me.REG[8] = NIT_NULL;
25846 fra.me.REG[0] = p0;
25847 fra.me.REG[1] = p1;
25848 /* parser/parser.nit:9085 */
25849 fra.me.REG[2] = NIT_NULL;
25850 /* parser/parser.nit:9086 */
25851 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25852 /* parser/parser.nit:9087 */
25853 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25854 /* parser/parser.nit:9088 */
25855 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25856 /* parser/parser.nit:9089 */
25857 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25858 /* parser/parser.nit:9090 */
25859 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25860 /* parser/parser.nit:9091 */
25861 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
25862 /* parser/parser.nit:9093 */
25863 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
25864 if (UNTAG_Bool(REGB0)) {
25865 } else {
25866 nit_abort("Assert failed", NULL, LOCATE_parser, 9093);
25867 }
25868 /* parser/parser.nit:9095 */
25869 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
25870 if (UNTAG_Bool(REGB0)) {
25871 } else {
25872 nit_abort("Assert failed", NULL, LOCATE_parser, 9095);
25873 }
25874 /* parser/parser.nit:9097 */
25875 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
25876 if (UNTAG_Bool(REGB0)) {
25877 } else {
25878 nit_abort("Assert failed", NULL, LOCATE_parser, 9097);
25879 }
25880 /* parser/parser.nit:9099 */
25881 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
25882 if (UNTAG_Bool(REGB0)) {
25883 } else {
25884 nit_abort("Assert failed", NULL, LOCATE_parser, 9099);
25885 }
25886 /* parser/parser.nit:9101 */
25887 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
25888 if (UNTAG_Bool(REGB0)) {
25889 } else {
25890 nit_abort("Assert failed", NULL, LOCATE_parser, 9101);
25891 }
25892 /* parser/parser.nit:9102 */
25893 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
25894 /* parser/parser.nit:9110 */
25895 fra.me.REG[2] = fra.me.REG[3];
25896 /* parser/parser.nit:9111 */
25897 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25898 if (UNTAG_Bool(REGB0)) {
25899 } else {
25900 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9111);
25901 }
25902 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25903 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25904 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25905 stack_frame_head = fra.me.prev;
25906 return;
25907 }
25908 void parser___ReduceAction283___action(val_t p0, val_t p1){
25909 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
25910 val_t REGB0;
25911 val_t tmp;
25912 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25913 fra.me.file = LOCATE_parser;
25914 fra.me.line = 9116;
25915 fra.me.meth = LOCATE_parser___ReduceAction283___action;
25916 fra.me.has_broke = 0;
25917 fra.me.REG_size = 10;
25918 fra.me.nitni_local_ref_head = NULL;
25919 fra.me.REG[0] = NIT_NULL;
25920 fra.me.REG[1] = NIT_NULL;
25921 fra.me.REG[2] = NIT_NULL;
25922 fra.me.REG[3] = NIT_NULL;
25923 fra.me.REG[4] = NIT_NULL;
25924 fra.me.REG[5] = NIT_NULL;
25925 fra.me.REG[6] = NIT_NULL;
25926 fra.me.REG[7] = NIT_NULL;
25927 fra.me.REG[8] = NIT_NULL;
25928 fra.me.REG[9] = NIT_NULL;
25929 fra.me.REG[0] = p0;
25930 fra.me.REG[1] = p1;
25931 /* parser/parser.nit:9118 */
25932 fra.me.REG[2] = NIT_NULL;
25933 /* parser/parser.nit:9119 */
25934 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25935 /* parser/parser.nit:9120 */
25936 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25937 /* parser/parser.nit:9121 */
25938 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25939 /* parser/parser.nit:9122 */
25940 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25941 /* parser/parser.nit:9123 */
25942 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25943 /* parser/parser.nit:9124 */
25944 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25945 /* parser/parser.nit:9125 */
25946 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25947 /* parser/parser.nit:9126 */
25948 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25949 /* parser/parser.nit:9127 */
25950 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
25951 /* parser/parser.nit:9129 */
25952 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
25953 if (UNTAG_Bool(REGB0)) {
25954 } else {
25955 nit_abort("Assert failed", NULL, LOCATE_parser, 9129);
25956 }
25957 /* parser/parser.nit:9131 */
25958 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
25959 if (UNTAG_Bool(REGB0)) {
25960 } else {
25961 nit_abort("Assert failed", NULL, LOCATE_parser, 9131);
25962 }
25963 /* parser/parser.nit:9133 */
25964 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
25965 if (UNTAG_Bool(REGB0)) {
25966 } else {
25967 nit_abort("Assert failed", NULL, LOCATE_parser, 9133);
25968 }
25969 /* parser/parser.nit:9134 */
25970 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
25971 fra.me.REG[9] = fra.me.REG[6];
25972 /* parser/parser.nit:9136 */
25973 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
25974 if (UNTAG_Bool(REGB0)) {
25975 } else {
25976 nit_abort("Assert failed", NULL, LOCATE_parser, 9136);
25977 }
25978 /* parser/parser.nit:9138 */
25979 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
25980 if (UNTAG_Bool(REGB0)) {
25981 } else {
25982 nit_abort("Assert failed", NULL, LOCATE_parser, 9138);
25983 }
25984 /* parser/parser.nit:9140 */
25985 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
25986 if (UNTAG_Bool(REGB0)) {
25987 } else {
25988 nit_abort("Assert failed", NULL, LOCATE_parser, 9140);
25989 }
25990 /* parser/parser.nit:9141 */
25991 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[9], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
25992 /* parser/parser.nit:9149 */
25993 fra.me.REG[2] = fra.me.REG[3];
25994 /* parser/parser.nit:9150 */
25995 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25996 if (UNTAG_Bool(REGB0)) {
25997 } else {
25998 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9150);
25999 }
26000 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26001 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26002 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26003 stack_frame_head = fra.me.prev;
26004 return;
26005 }
26006 void parser___ReduceAction284___action(val_t p0, val_t p1){
26007 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26008 val_t REGB0;
26009 val_t tmp;
26010 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26011 fra.me.file = LOCATE_parser;
26012 fra.me.line = 9155;
26013 fra.me.meth = LOCATE_parser___ReduceAction284___action;
26014 fra.me.has_broke = 0;
26015 fra.me.REG_size = 10;
26016 fra.me.nitni_local_ref_head = NULL;
26017 fra.me.REG[0] = NIT_NULL;
26018 fra.me.REG[1] = NIT_NULL;
26019 fra.me.REG[2] = NIT_NULL;
26020 fra.me.REG[3] = NIT_NULL;
26021 fra.me.REG[4] = NIT_NULL;
26022 fra.me.REG[5] = NIT_NULL;
26023 fra.me.REG[6] = NIT_NULL;
26024 fra.me.REG[7] = NIT_NULL;
26025 fra.me.REG[8] = NIT_NULL;
26026 fra.me.REG[9] = NIT_NULL;
26027 fra.me.REG[0] = p0;
26028 fra.me.REG[1] = p1;
26029 /* parser/parser.nit:9157 */
26030 fra.me.REG[2] = NIT_NULL;
26031 /* parser/parser.nit:9158 */
26032 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26033 /* parser/parser.nit:9159 */
26034 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26035 /* parser/parser.nit:9160 */
26036 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26037 /* parser/parser.nit:9161 */
26038 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26039 /* parser/parser.nit:9162 */
26040 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26041 /* parser/parser.nit:9163 */
26042 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26043 /* parser/parser.nit:9164 */
26044 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
26045 /* parser/parser.nit:9166 */
26046 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26047 if (UNTAG_Bool(REGB0)) {
26048 } else {
26049 nit_abort("Assert failed", NULL, LOCATE_parser, 9166);
26050 }
26051 /* parser/parser.nit:9168 */
26052 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26053 if (UNTAG_Bool(REGB0)) {
26054 } else {
26055 nit_abort("Assert failed", NULL, LOCATE_parser, 9168);
26056 }
26057 /* parser/parser.nit:9170 */
26058 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
26059 if (UNTAG_Bool(REGB0)) {
26060 } else {
26061 nit_abort("Assert failed", NULL, LOCATE_parser, 9170);
26062 }
26063 /* parser/parser.nit:9171 */
26064 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
26065 fra.me.REG[9] = fra.me.REG[6];
26066 /* parser/parser.nit:9173 */
26067 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26068 if (UNTAG_Bool(REGB0)) {
26069 } else {
26070 nit_abort("Assert failed", NULL, LOCATE_parser, 9173);
26071 }
26072 /* parser/parser.nit:9175 */
26073 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26074 if (UNTAG_Bool(REGB0)) {
26075 } else {
26076 nit_abort("Assert failed", NULL, LOCATE_parser, 9175);
26077 }
26078 /* parser/parser.nit:9177 */
26079 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
26080 if (UNTAG_Bool(REGB0)) {
26081 } else {
26082 nit_abort("Assert failed", NULL, LOCATE_parser, 9177);
26083 }
26084 /* parser/parser.nit:9178 */
26085 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[9], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
26086 /* parser/parser.nit:9186 */
26087 fra.me.REG[2] = fra.me.REG[3];
26088 /* parser/parser.nit:9187 */
26089 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26090 if (UNTAG_Bool(REGB0)) {
26091 } else {
26092 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9187);
26093 }
26094 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26095 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26096 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26097 stack_frame_head = fra.me.prev;
26098 return;
26099 }
26100 void parser___ReduceAction285___action(val_t p0, val_t p1){
26101 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
26102 val_t REGB0;
26103 val_t tmp;
26104 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26105 fra.me.file = LOCATE_parser;
26106 fra.me.line = 9192;
26107 fra.me.meth = LOCATE_parser___ReduceAction285___action;
26108 fra.me.has_broke = 0;
26109 fra.me.REG_size = 8;
26110 fra.me.nitni_local_ref_head = NULL;
26111 fra.me.REG[0] = NIT_NULL;
26112 fra.me.REG[1] = NIT_NULL;
26113 fra.me.REG[2] = NIT_NULL;
26114 fra.me.REG[3] = NIT_NULL;
26115 fra.me.REG[4] = NIT_NULL;
26116 fra.me.REG[5] = NIT_NULL;
26117 fra.me.REG[6] = NIT_NULL;
26118 fra.me.REG[7] = NIT_NULL;
26119 fra.me.REG[0] = p0;
26120 fra.me.REG[1] = p1;
26121 /* parser/parser.nit:9194 */
26122 fra.me.REG[2] = NIT_NULL;
26123 /* parser/parser.nit:9195 */
26124 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26125 /* parser/parser.nit:9196 */
26126 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26127 /* parser/parser.nit:9197 */
26128 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26129 /* parser/parser.nit:9198 */
26130 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26131 /* parser/parser.nit:9199 */
26132 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
26133 /* parser/parser.nit:9201 */
26134 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26135 if (UNTAG_Bool(REGB0)) {
26136 } else {
26137 nit_abort("Assert failed", NULL, LOCATE_parser, 9201);
26138 }
26139 /* parser/parser.nit:9203 */
26140 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26141 if (UNTAG_Bool(REGB0)) {
26142 } else {
26143 nit_abort("Assert failed", NULL, LOCATE_parser, 9203);
26144 }
26145 /* parser/parser.nit:9205 */
26146 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26147 if (UNTAG_Bool(REGB0)) {
26148 } else {
26149 nit_abort("Assert failed", NULL, LOCATE_parser, 9205);
26150 }
26151 /* parser/parser.nit:9207 */
26152 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26153 if (UNTAG_Bool(REGB0)) {
26154 } else {
26155 nit_abort("Assert failed", NULL, LOCATE_parser, 9207);
26156 }
26157 /* parser/parser.nit:9208 */
26158 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26159 /* parser/parser.nit:9216 */
26160 fra.me.REG[2] = fra.me.REG[3];
26161 /* parser/parser.nit:9217 */
26162 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26163 if (UNTAG_Bool(REGB0)) {
26164 } else {
26165 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9217);
26166 }
26167 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26168 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26169 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26170 stack_frame_head = fra.me.prev;
26171 return;
26172 }
26173 void parser___ReduceAction286___action(val_t p0, val_t p1){
26174 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26175 val_t REGB0;
26176 val_t tmp;
26177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26178 fra.me.file = LOCATE_parser;
26179 fra.me.line = 9222;
26180 fra.me.meth = LOCATE_parser___ReduceAction286___action;
26181 fra.me.has_broke = 0;
26182 fra.me.REG_size = 9;
26183 fra.me.nitni_local_ref_head = NULL;
26184 fra.me.REG[0] = NIT_NULL;
26185 fra.me.REG[1] = NIT_NULL;
26186 fra.me.REG[2] = NIT_NULL;
26187 fra.me.REG[3] = NIT_NULL;
26188 fra.me.REG[4] = NIT_NULL;
26189 fra.me.REG[5] = NIT_NULL;
26190 fra.me.REG[6] = NIT_NULL;
26191 fra.me.REG[7] = NIT_NULL;
26192 fra.me.REG[8] = NIT_NULL;
26193 fra.me.REG[0] = p0;
26194 fra.me.REG[1] = p1;
26195 /* parser/parser.nit:9224 */
26196 fra.me.REG[2] = NIT_NULL;
26197 /* parser/parser.nit:9225 */
26198 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26199 /* parser/parser.nit:9226 */
26200 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26201 /* parser/parser.nit:9227 */
26202 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26203 /* parser/parser.nit:9228 */
26204 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26205 /* parser/parser.nit:9229 */
26206 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26207 /* parser/parser.nit:9230 */
26208 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26209 /* parser/parser.nit:9231 */
26210 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26211 /* parser/parser.nit:9232 */
26212 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
26213 /* parser/parser.nit:9234 */
26214 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26215 if (UNTAG_Bool(REGB0)) {
26216 } else {
26217 nit_abort("Assert failed", NULL, LOCATE_parser, 9234);
26218 }
26219 /* parser/parser.nit:9236 */
26220 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26221 if (UNTAG_Bool(REGB0)) {
26222 } else {
26223 nit_abort("Assert failed", NULL, LOCATE_parser, 9236);
26224 }
26225 /* parser/parser.nit:9238 */
26226 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
26227 if (UNTAG_Bool(REGB0)) {
26228 } else {
26229 nit_abort("Assert failed", NULL, LOCATE_parser, 9238);
26230 }
26231 /* parser/parser.nit:9239 */
26232 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
26233 fra.me.REG[8] = fra.me.REG[5];
26234 /* parser/parser.nit:9241 */
26235 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26236 if (UNTAG_Bool(REGB0)) {
26237 } else {
26238 nit_abort("Assert failed", NULL, LOCATE_parser, 9241);
26239 }
26240 /* parser/parser.nit:9243 */
26241 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26242 if (UNTAG_Bool(REGB0)) {
26243 } else {
26244 nit_abort("Assert failed", NULL, LOCATE_parser, 9243);
26245 }
26246 /* parser/parser.nit:9244 */
26247 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26248 /* parser/parser.nit:9252 */
26249 fra.me.REG[2] = fra.me.REG[3];
26250 /* parser/parser.nit:9253 */
26251 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26252 if (UNTAG_Bool(REGB0)) {
26253 } else {
26254 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9253);
26255 }
26256 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26258 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26259 stack_frame_head = fra.me.prev;
26260 return;
26261 }
26262 void parser___ReduceAction287___action(val_t p0, val_t p1){
26263 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26264 val_t REGB0;
26265 val_t tmp;
26266 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26267 fra.me.file = LOCATE_parser;
26268 fra.me.line = 9258;
26269 fra.me.meth = LOCATE_parser___ReduceAction287___action;
26270 fra.me.has_broke = 0;
26271 fra.me.REG_size = 9;
26272 fra.me.nitni_local_ref_head = NULL;
26273 fra.me.REG[0] = NIT_NULL;
26274 fra.me.REG[1] = NIT_NULL;
26275 fra.me.REG[2] = NIT_NULL;
26276 fra.me.REG[3] = NIT_NULL;
26277 fra.me.REG[4] = NIT_NULL;
26278 fra.me.REG[5] = NIT_NULL;
26279 fra.me.REG[6] = NIT_NULL;
26280 fra.me.REG[7] = NIT_NULL;
26281 fra.me.REG[8] = NIT_NULL;
26282 fra.me.REG[0] = p0;
26283 fra.me.REG[1] = p1;
26284 /* parser/parser.nit:9260 */
26285 fra.me.REG[2] = NIT_NULL;
26286 /* parser/parser.nit:9261 */
26287 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26288 /* parser/parser.nit:9262 */
26289 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26290 /* parser/parser.nit:9263 */
26291 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26292 /* parser/parser.nit:9264 */
26293 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26294 /* parser/parser.nit:9265 */
26295 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26296 /* parser/parser.nit:9266 */
26297 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
26298 /* parser/parser.nit:9268 */
26299 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26300 if (UNTAG_Bool(REGB0)) {
26301 } else {
26302 nit_abort("Assert failed", NULL, LOCATE_parser, 9268);
26303 }
26304 /* parser/parser.nit:9270 */
26305 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26306 if (UNTAG_Bool(REGB0)) {
26307 } else {
26308 nit_abort("Assert failed", NULL, LOCATE_parser, 9270);
26309 }
26310 /* parser/parser.nit:9272 */
26311 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
26312 if (UNTAG_Bool(REGB0)) {
26313 } else {
26314 nit_abort("Assert failed", NULL, LOCATE_parser, 9272);
26315 }
26316 /* parser/parser.nit:9273 */
26317 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
26318 fra.me.REG[8] = fra.me.REG[5];
26319 /* parser/parser.nit:9275 */
26320 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26321 if (UNTAG_Bool(REGB0)) {
26322 } else {
26323 nit_abort("Assert failed", NULL, LOCATE_parser, 9275);
26324 }
26325 /* parser/parser.nit:9277 */
26326 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26327 if (UNTAG_Bool(REGB0)) {
26328 } else {
26329 nit_abort("Assert failed", NULL, LOCATE_parser, 9277);
26330 }
26331 /* parser/parser.nit:9278 */
26332 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26333 /* parser/parser.nit:9286 */
26334 fra.me.REG[2] = fra.me.REG[3];
26335 /* parser/parser.nit:9287 */
26336 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26337 if (UNTAG_Bool(REGB0)) {
26338 } else {
26339 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9287);
26340 }
26341 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26342 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26343 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26344 stack_frame_head = fra.me.prev;
26345 return;
26346 }
26347 void parser___ReduceAction288___action(val_t p0, val_t p1){
26348 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26349 val_t REGB0;
26350 val_t tmp;
26351 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26352 fra.me.file = LOCATE_parser;
26353 fra.me.line = 9292;
26354 fra.me.meth = LOCATE_parser___ReduceAction288___action;
26355 fra.me.has_broke = 0;
26356 fra.me.REG_size = 7;
26357 fra.me.nitni_local_ref_head = NULL;
26358 fra.me.REG[0] = NIT_NULL;
26359 fra.me.REG[1] = NIT_NULL;
26360 fra.me.REG[2] = NIT_NULL;
26361 fra.me.REG[3] = NIT_NULL;
26362 fra.me.REG[4] = NIT_NULL;
26363 fra.me.REG[5] = NIT_NULL;
26364 fra.me.REG[6] = NIT_NULL;
26365 fra.me.REG[0] = p0;
26366 fra.me.REG[1] = p1;
26367 /* parser/parser.nit:9294 */
26368 fra.me.REG[2] = NIT_NULL;
26369 /* parser/parser.nit:9295 */
26370 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26371 /* parser/parser.nit:9296 */
26372 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26373 /* parser/parser.nit:9297 */
26374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26375 /* parser/parser.nit:9298 */
26376 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26377 /* parser/parser.nit:9299 */
26378 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26379 /* parser/parser.nit:9300 */
26380 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
26381 /* parser/parser.nit:9302 */
26382 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26383 if (UNTAG_Bool(REGB0)) {
26384 } else {
26385 nit_abort("Assert failed", NULL, LOCATE_parser, 9302);
26386 }
26387 /* parser/parser.nit:9304 */
26388 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26389 if (UNTAG_Bool(REGB0)) {
26390 } else {
26391 nit_abort("Assert failed", NULL, LOCATE_parser, 9304);
26392 }
26393 /* parser/parser.nit:9306 */
26394 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26395 if (UNTAG_Bool(REGB0)) {
26396 } else {
26397 nit_abort("Assert failed", NULL, LOCATE_parser, 9306);
26398 }
26399 /* parser/parser.nit:9307 */
26400 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], NIT_NULL, fra.me.REG[3], NIT_NULL);
26401 /* parser/parser.nit:9315 */
26402 fra.me.REG[2] = fra.me.REG[3];
26403 /* parser/parser.nit:9316 */
26404 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26405 if (UNTAG_Bool(REGB0)) {
26406 } else {
26407 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9316);
26408 }
26409 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26410 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26411 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26412 stack_frame_head = fra.me.prev;
26413 return;
26414 }
26415 void parser___ReduceAction289___action(val_t p0, val_t p1){
26416 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
26417 val_t REGB0;
26418 val_t tmp;
26419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26420 fra.me.file = LOCATE_parser;
26421 fra.me.line = 9321;
26422 fra.me.meth = LOCATE_parser___ReduceAction289___action;
26423 fra.me.has_broke = 0;
26424 fra.me.REG_size = 8;
26425 fra.me.nitni_local_ref_head = NULL;
26426 fra.me.REG[0] = NIT_NULL;
26427 fra.me.REG[1] = NIT_NULL;
26428 fra.me.REG[2] = NIT_NULL;
26429 fra.me.REG[3] = NIT_NULL;
26430 fra.me.REG[4] = NIT_NULL;
26431 fra.me.REG[5] = NIT_NULL;
26432 fra.me.REG[6] = NIT_NULL;
26433 fra.me.REG[7] = NIT_NULL;
26434 fra.me.REG[0] = p0;
26435 fra.me.REG[1] = p1;
26436 /* parser/parser.nit:9323 */
26437 fra.me.REG[2] = NIT_NULL;
26438 /* parser/parser.nit:9324 */
26439 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26440 /* parser/parser.nit:9325 */
26441 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26442 /* parser/parser.nit:9326 */
26443 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26444 /* parser/parser.nit:9327 */
26445 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26446 /* parser/parser.nit:9328 */
26447 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26448 /* parser/parser.nit:9329 */
26449 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26450 /* parser/parser.nit:9330 */
26451 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26452 /* parser/parser.nit:9331 */
26453 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26454 /* parser/parser.nit:9332 */
26455 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
26456 /* parser/parser.nit:9334 */
26457 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26458 if (UNTAG_Bool(REGB0)) {
26459 } else {
26460 nit_abort("Assert failed", NULL, LOCATE_parser, 9334);
26461 }
26462 /* parser/parser.nit:9336 */
26463 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26464 if (UNTAG_Bool(REGB0)) {
26465 } else {
26466 nit_abort("Assert failed", NULL, LOCATE_parser, 9336);
26467 }
26468 /* parser/parser.nit:9338 */
26469 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
26470 if (UNTAG_Bool(REGB0)) {
26471 } else {
26472 nit_abort("Assert failed", NULL, LOCATE_parser, 9338);
26473 }
26474 /* parser/parser.nit:9339 */
26475 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
26476 fra.me.REG[7] = fra.me.REG[4];
26477 /* parser/parser.nit:9341 */
26478 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26479 if (UNTAG_Bool(REGB0)) {
26480 } else {
26481 nit_abort("Assert failed", NULL, LOCATE_parser, 9341);
26482 }
26483 /* parser/parser.nit:9342 */
26484 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], NIT_NULL, fra.me.REG[3], NIT_NULL);
26485 /* parser/parser.nit:9350 */
26486 fra.me.REG[2] = fra.me.REG[3];
26487 /* parser/parser.nit:9351 */
26488 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26489 if (UNTAG_Bool(REGB0)) {
26490 } else {
26491 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9351);
26492 }
26493 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26494 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26495 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26496 stack_frame_head = fra.me.prev;
26497 return;
26498 }
26499 void parser___ReduceAction290___action(val_t p0, val_t p1){
26500 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
26501 val_t REGB0;
26502 val_t tmp;
26503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26504 fra.me.file = LOCATE_parser;
26505 fra.me.line = 9356;
26506 fra.me.meth = LOCATE_parser___ReduceAction290___action;
26507 fra.me.has_broke = 0;
26508 fra.me.REG_size = 8;
26509 fra.me.nitni_local_ref_head = NULL;
26510 fra.me.REG[0] = NIT_NULL;
26511 fra.me.REG[1] = NIT_NULL;
26512 fra.me.REG[2] = NIT_NULL;
26513 fra.me.REG[3] = NIT_NULL;
26514 fra.me.REG[4] = NIT_NULL;
26515 fra.me.REG[5] = NIT_NULL;
26516 fra.me.REG[6] = NIT_NULL;
26517 fra.me.REG[7] = NIT_NULL;
26518 fra.me.REG[0] = p0;
26519 fra.me.REG[1] = p1;
26520 /* parser/parser.nit:9358 */
26521 fra.me.REG[2] = NIT_NULL;
26522 /* parser/parser.nit:9359 */
26523 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26524 /* parser/parser.nit:9360 */
26525 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26526 /* parser/parser.nit:9361 */
26527 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26528 /* parser/parser.nit:9362 */
26529 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26530 /* parser/parser.nit:9363 */
26531 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26532 /* parser/parser.nit:9364 */
26533 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26534 /* parser/parser.nit:9365 */
26535 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
26536 /* parser/parser.nit:9367 */
26537 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26538 if (UNTAG_Bool(REGB0)) {
26539 } else {
26540 nit_abort("Assert failed", NULL, LOCATE_parser, 9367);
26541 }
26542 /* parser/parser.nit:9369 */
26543 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26544 if (UNTAG_Bool(REGB0)) {
26545 } else {
26546 nit_abort("Assert failed", NULL, LOCATE_parser, 9369);
26547 }
26548 /* parser/parser.nit:9371 */
26549 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
26550 if (UNTAG_Bool(REGB0)) {
26551 } else {
26552 nit_abort("Assert failed", NULL, LOCATE_parser, 9371);
26553 }
26554 /* parser/parser.nit:9372 */
26555 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
26556 fra.me.REG[7] = fra.me.REG[4];
26557 /* parser/parser.nit:9374 */
26558 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26559 if (UNTAG_Bool(REGB0)) {
26560 } else {
26561 nit_abort("Assert failed", NULL, LOCATE_parser, 9374);
26562 }
26563 /* parser/parser.nit:9375 */
26564 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], NIT_NULL, fra.me.REG[3], NIT_NULL);
26565 /* parser/parser.nit:9383 */
26566 fra.me.REG[2] = fra.me.REG[3];
26567 /* parser/parser.nit:9384 */
26568 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26569 if (UNTAG_Bool(REGB0)) {
26570 } else {
26571 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9384);
26572 }
26573 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26574 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26575 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26576 stack_frame_head = fra.me.prev;
26577 return;
26578 }
26579 void parser___ReduceAction291___action(val_t p0, val_t p1){
26580 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
26581 val_t REGB0;
26582 val_t tmp;
26583 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26584 fra.me.file = LOCATE_parser;
26585 fra.me.line = 9389;
26586 fra.me.meth = LOCATE_parser___ReduceAction291___action;
26587 fra.me.has_broke = 0;
26588 fra.me.REG_size = 8;
26589 fra.me.nitni_local_ref_head = NULL;
26590 fra.me.REG[0] = NIT_NULL;
26591 fra.me.REG[1] = NIT_NULL;
26592 fra.me.REG[2] = NIT_NULL;
26593 fra.me.REG[3] = NIT_NULL;
26594 fra.me.REG[4] = NIT_NULL;
26595 fra.me.REG[5] = NIT_NULL;
26596 fra.me.REG[6] = NIT_NULL;
26597 fra.me.REG[7] = NIT_NULL;
26598 fra.me.REG[0] = p0;
26599 fra.me.REG[1] = p1;
26600 /* parser/parser.nit:9391 */
26601 fra.me.REG[2] = NIT_NULL;
26602 /* parser/parser.nit:9392 */
26603 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26604 /* parser/parser.nit:9393 */
26605 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26606 /* parser/parser.nit:9394 */
26607 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26608 /* parser/parser.nit:9395 */
26609 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26610 /* parser/parser.nit:9396 */
26611 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26612 /* parser/parser.nit:9397 */
26613 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
26614 /* parser/parser.nit:9399 */
26615 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26616 if (UNTAG_Bool(REGB0)) {
26617 } else {
26618 nit_abort("Assert failed", NULL, LOCATE_parser, 9399);
26619 }
26620 /* parser/parser.nit:9401 */
26621 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26622 if (UNTAG_Bool(REGB0)) {
26623 } else {
26624 nit_abort("Assert failed", NULL, LOCATE_parser, 9401);
26625 }
26626 /* parser/parser.nit:9403 */
26627 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26628 if (UNTAG_Bool(REGB0)) {
26629 } else {
26630 nit_abort("Assert failed", NULL, LOCATE_parser, 9403);
26631 }
26632 /* parser/parser.nit:9405 */
26633 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26634 if (UNTAG_Bool(REGB0)) {
26635 } else {
26636 nit_abort("Assert failed", NULL, LOCATE_parser, 9405);
26637 }
26638 /* parser/parser.nit:9406 */
26639 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26640 /* parser/parser.nit:9414 */
26641 fra.me.REG[2] = fra.me.REG[3];
26642 /* parser/parser.nit:9415 */
26643 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26644 if (UNTAG_Bool(REGB0)) {
26645 } else {
26646 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9415);
26647 }
26648 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26649 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26650 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26651 stack_frame_head = fra.me.prev;
26652 return;
26653 }
26654 void parser___ReduceAction292___action(val_t p0, val_t p1){
26655 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26656 val_t REGB0;
26657 val_t tmp;
26658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26659 fra.me.file = LOCATE_parser;
26660 fra.me.line = 9420;
26661 fra.me.meth = LOCATE_parser___ReduceAction292___action;
26662 fra.me.has_broke = 0;
26663 fra.me.REG_size = 9;
26664 fra.me.nitni_local_ref_head = NULL;
26665 fra.me.REG[0] = NIT_NULL;
26666 fra.me.REG[1] = NIT_NULL;
26667 fra.me.REG[2] = NIT_NULL;
26668 fra.me.REG[3] = NIT_NULL;
26669 fra.me.REG[4] = NIT_NULL;
26670 fra.me.REG[5] = NIT_NULL;
26671 fra.me.REG[6] = NIT_NULL;
26672 fra.me.REG[7] = NIT_NULL;
26673 fra.me.REG[8] = NIT_NULL;
26674 fra.me.REG[0] = p0;
26675 fra.me.REG[1] = p1;
26676 /* parser/parser.nit:9422 */
26677 fra.me.REG[2] = NIT_NULL;
26678 /* parser/parser.nit:9423 */
26679 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26680 /* parser/parser.nit:9424 */
26681 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26682 /* parser/parser.nit:9425 */
26683 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26684 /* parser/parser.nit:9426 */
26685 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26686 /* parser/parser.nit:9427 */
26687 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26688 /* parser/parser.nit:9428 */
26689 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26690 /* parser/parser.nit:9429 */
26691 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26692 /* parser/parser.nit:9430 */
26693 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26694 /* parser/parser.nit:9431 */
26695 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
26696 /* parser/parser.nit:9433 */
26697 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26698 if (UNTAG_Bool(REGB0)) {
26699 } else {
26700 nit_abort("Assert failed", NULL, LOCATE_parser, 9433);
26701 }
26702 /* parser/parser.nit:9435 */
26703 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26704 if (UNTAG_Bool(REGB0)) {
26705 } else {
26706 nit_abort("Assert failed", NULL, LOCATE_parser, 9435);
26707 }
26708 /* parser/parser.nit:9437 */
26709 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
26710 if (UNTAG_Bool(REGB0)) {
26711 } else {
26712 nit_abort("Assert failed", NULL, LOCATE_parser, 9437);
26713 }
26714 /* parser/parser.nit:9438 */
26715 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
26716 fra.me.REG[8] = fra.me.REG[5];
26717 /* parser/parser.nit:9440 */
26718 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26719 if (UNTAG_Bool(REGB0)) {
26720 } else {
26721 nit_abort("Assert failed", NULL, LOCATE_parser, 9440);
26722 }
26723 /* parser/parser.nit:9442 */
26724 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26725 if (UNTAG_Bool(REGB0)) {
26726 } else {
26727 nit_abort("Assert failed", NULL, LOCATE_parser, 9442);
26728 }
26729 /* parser/parser.nit:9443 */
26730 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26731 /* parser/parser.nit:9451 */
26732 fra.me.REG[2] = fra.me.REG[3];
26733 /* parser/parser.nit:9452 */
26734 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26735 if (UNTAG_Bool(REGB0)) {
26736 } else {
26737 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9452);
26738 }
26739 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26740 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26741 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26742 stack_frame_head = fra.me.prev;
26743 return;
26744 }
26745 void parser___ReduceAction293___action(val_t p0, val_t p1){
26746 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26747 val_t REGB0;
26748 val_t tmp;
26749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26750 fra.me.file = LOCATE_parser;
26751 fra.me.line = 9457;
26752 fra.me.meth = LOCATE_parser___ReduceAction293___action;
26753 fra.me.has_broke = 0;
26754 fra.me.REG_size = 9;
26755 fra.me.nitni_local_ref_head = NULL;
26756 fra.me.REG[0] = NIT_NULL;
26757 fra.me.REG[1] = NIT_NULL;
26758 fra.me.REG[2] = NIT_NULL;
26759 fra.me.REG[3] = NIT_NULL;
26760 fra.me.REG[4] = NIT_NULL;
26761 fra.me.REG[5] = NIT_NULL;
26762 fra.me.REG[6] = NIT_NULL;
26763 fra.me.REG[7] = NIT_NULL;
26764 fra.me.REG[8] = NIT_NULL;
26765 fra.me.REG[0] = p0;
26766 fra.me.REG[1] = p1;
26767 /* parser/parser.nit:9459 */
26768 fra.me.REG[2] = NIT_NULL;
26769 /* parser/parser.nit:9460 */
26770 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26771 /* parser/parser.nit:9461 */
26772 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26773 /* parser/parser.nit:9462 */
26774 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26775 /* parser/parser.nit:9463 */
26776 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26777 /* parser/parser.nit:9464 */
26778 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26779 /* parser/parser.nit:9465 */
26780 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26781 /* parser/parser.nit:9466 */
26782 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
26783 /* parser/parser.nit:9468 */
26784 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26785 if (UNTAG_Bool(REGB0)) {
26786 } else {
26787 nit_abort("Assert failed", NULL, LOCATE_parser, 9468);
26788 }
26789 /* parser/parser.nit:9470 */
26790 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26791 if (UNTAG_Bool(REGB0)) {
26792 } else {
26793 nit_abort("Assert failed", NULL, LOCATE_parser, 9470);
26794 }
26795 /* parser/parser.nit:9472 */
26796 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
26797 if (UNTAG_Bool(REGB0)) {
26798 } else {
26799 nit_abort("Assert failed", NULL, LOCATE_parser, 9472);
26800 }
26801 /* parser/parser.nit:9473 */
26802 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
26803 fra.me.REG[8] = fra.me.REG[5];
26804 /* parser/parser.nit:9475 */
26805 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26806 if (UNTAG_Bool(REGB0)) {
26807 } else {
26808 nit_abort("Assert failed", NULL, LOCATE_parser, 9475);
26809 }
26810 /* parser/parser.nit:9477 */
26811 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
26812 if (UNTAG_Bool(REGB0)) {
26813 } else {
26814 nit_abort("Assert failed", NULL, LOCATE_parser, 9477);
26815 }
26816 /* parser/parser.nit:9478 */
26817 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26818 /* parser/parser.nit:9486 */
26819 fra.me.REG[2] = fra.me.REG[3];
26820 /* parser/parser.nit:9487 */
26821 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26822 if (UNTAG_Bool(REGB0)) {
26823 } else {
26824 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9487);
26825 }
26826 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26827 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26828 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26829 stack_frame_head = fra.me.prev;
26830 return;
26831 }
26832 void parser___ReduceAction294___action(val_t p0, val_t p1){
26833 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
26834 val_t REGB0;
26835 val_t tmp;
26836 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26837 fra.me.file = LOCATE_parser;
26838 fra.me.line = 9492;
26839 fra.me.meth = LOCATE_parser___ReduceAction294___action;
26840 fra.me.has_broke = 0;
26841 fra.me.REG_size = 7;
26842 fra.me.nitni_local_ref_head = NULL;
26843 fra.me.REG[0] = NIT_NULL;
26844 fra.me.REG[1] = NIT_NULL;
26845 fra.me.REG[2] = NIT_NULL;
26846 fra.me.REG[3] = NIT_NULL;
26847 fra.me.REG[4] = NIT_NULL;
26848 fra.me.REG[5] = NIT_NULL;
26849 fra.me.REG[6] = NIT_NULL;
26850 fra.me.REG[0] = p0;
26851 fra.me.REG[1] = p1;
26852 /* parser/parser.nit:9494 */
26853 fra.me.REG[2] = NIT_NULL;
26854 /* parser/parser.nit:9495 */
26855 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26856 /* parser/parser.nit:9496 */
26857 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26858 /* parser/parser.nit:9497 */
26859 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26860 /* parser/parser.nit:9498 */
26861 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26862 /* parser/parser.nit:9499 */
26863 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
26864 /* parser/parser.nit:9501 */
26865 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26866 if (UNTAG_Bool(REGB0)) {
26867 } else {
26868 nit_abort("Assert failed", NULL, LOCATE_parser, 9501);
26869 }
26870 /* parser/parser.nit:9503 */
26871 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26872 if (UNTAG_Bool(REGB0)) {
26873 } else {
26874 nit_abort("Assert failed", NULL, LOCATE_parser, 9503);
26875 }
26876 /* parser/parser.nit:9505 */
26877 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26878 if (UNTAG_Bool(REGB0)) {
26879 } else {
26880 nit_abort("Assert failed", NULL, LOCATE_parser, 9505);
26881 }
26882 /* parser/parser.nit:9506 */
26883 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[3], NIT_NULL, NIT_NULL);
26884 /* parser/parser.nit:9514 */
26885 fra.me.REG[2] = fra.me.REG[3];
26886 /* parser/parser.nit:9515 */
26887 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26888 if (UNTAG_Bool(REGB0)) {
26889 } else {
26890 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9515);
26891 }
26892 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26893 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26894 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26895 stack_frame_head = fra.me.prev;
26896 return;
26897 }
26898 void parser___ReduceAction295___action(val_t p0, val_t p1){
26899 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
26900 val_t REGB0;
26901 val_t tmp;
26902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26903 fra.me.file = LOCATE_parser;
26904 fra.me.line = 9520;
26905 fra.me.meth = LOCATE_parser___ReduceAction295___action;
26906 fra.me.has_broke = 0;
26907 fra.me.REG_size = 8;
26908 fra.me.nitni_local_ref_head = NULL;
26909 fra.me.REG[0] = NIT_NULL;
26910 fra.me.REG[1] = NIT_NULL;
26911 fra.me.REG[2] = NIT_NULL;
26912 fra.me.REG[3] = NIT_NULL;
26913 fra.me.REG[4] = NIT_NULL;
26914 fra.me.REG[5] = NIT_NULL;
26915 fra.me.REG[6] = NIT_NULL;
26916 fra.me.REG[7] = NIT_NULL;
26917 fra.me.REG[0] = p0;
26918 fra.me.REG[1] = p1;
26919 /* parser/parser.nit:9522 */
26920 fra.me.REG[2] = NIT_NULL;
26921 /* parser/parser.nit:9523 */
26922 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26923 /* parser/parser.nit:9524 */
26924 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26925 /* parser/parser.nit:9525 */
26926 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26927 /* parser/parser.nit:9526 */
26928 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26929 /* parser/parser.nit:9527 */
26930 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26931 /* parser/parser.nit:9528 */
26932 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26933 /* parser/parser.nit:9529 */
26934 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26935 /* parser/parser.nit:9530 */
26936 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
26937 /* parser/parser.nit:9532 */
26938 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
26939 if (UNTAG_Bool(REGB0)) {
26940 } else {
26941 nit_abort("Assert failed", NULL, LOCATE_parser, 9532);
26942 }
26943 /* parser/parser.nit:9534 */
26944 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
26945 if (UNTAG_Bool(REGB0)) {
26946 } else {
26947 nit_abort("Assert failed", NULL, LOCATE_parser, 9534);
26948 }
26949 /* parser/parser.nit:9536 */
26950 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
26951 if (UNTAG_Bool(REGB0)) {
26952 } else {
26953 nit_abort("Assert failed", NULL, LOCATE_parser, 9536);
26954 }
26955 /* parser/parser.nit:9537 */
26956 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
26957 fra.me.REG[7] = fra.me.REG[4];
26958 /* parser/parser.nit:9539 */
26959 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
26960 if (UNTAG_Bool(REGB0)) {
26961 } else {
26962 nit_abort("Assert failed", NULL, LOCATE_parser, 9539);
26963 }
26964 /* parser/parser.nit:9540 */
26965 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], NIT_NULL, NIT_NULL);
26966 /* parser/parser.nit:9548 */
26967 fra.me.REG[2] = fra.me.REG[3];
26968 /* parser/parser.nit:9549 */
26969 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26970 if (UNTAG_Bool(REGB0)) {
26971 } else {
26972 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9549);
26973 }
26974 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26977 stack_frame_head = fra.me.prev;
26978 return;
26979 }
26980 void parser___ReduceAction296___action(val_t p0, val_t p1){
26981 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
26982 val_t REGB0;
26983 val_t tmp;
26984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26985 fra.me.file = LOCATE_parser;
26986 fra.me.line = 9554;
26987 fra.me.meth = LOCATE_parser___ReduceAction296___action;
26988 fra.me.has_broke = 0;
26989 fra.me.REG_size = 8;
26990 fra.me.nitni_local_ref_head = NULL;
26991 fra.me.REG[0] = NIT_NULL;
26992 fra.me.REG[1] = NIT_NULL;
26993 fra.me.REG[2] = NIT_NULL;
26994 fra.me.REG[3] = NIT_NULL;
26995 fra.me.REG[4] = NIT_NULL;
26996 fra.me.REG[5] = NIT_NULL;
26997 fra.me.REG[6] = NIT_NULL;
26998 fra.me.REG[7] = NIT_NULL;
26999 fra.me.REG[0] = p0;
27000 fra.me.REG[1] = p1;
27001 /* parser/parser.nit:9556 */
27002 fra.me.REG[2] = NIT_NULL;
27003 /* parser/parser.nit:9557 */
27004 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27005 /* parser/parser.nit:9558 */
27006 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27007 /* parser/parser.nit:9559 */
27008 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27009 /* parser/parser.nit:9560 */
27010 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27011 /* parser/parser.nit:9561 */
27012 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27013 /* parser/parser.nit:9562 */
27014 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
27015 /* parser/parser.nit:9564 */
27016 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TBang, ID_parser___parser_nodes___TBang)) /*cast nullable TBang*/;
27017 if (UNTAG_Bool(REGB0)) {
27018 } else {
27019 nit_abort("Assert failed", NULL, LOCATE_parser, 9564);
27020 }
27021 /* parser/parser.nit:9566 */
27022 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AClosureId, ID_parser___parser_nodes___AClosureId)) /*cast nullable AClosureId*/;
27023 if (UNTAG_Bool(REGB0)) {
27024 } else {
27025 nit_abort("Assert failed", NULL, LOCATE_parser, 9566);
27026 }
27027 /* parser/parser.nit:9568 */
27028 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
27029 if (UNTAG_Bool(REGB0)) {
27030 } else {
27031 nit_abort("Assert failed", NULL, LOCATE_parser, 9568);
27032 }
27033 /* parser/parser.nit:9569 */
27034 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
27035 fra.me.REG[7] = fra.me.REG[4];
27036 /* parser/parser.nit:9571 */
27037 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
27038 if (UNTAG_Bool(REGB0)) {
27039 } else {
27040 nit_abort("Assert failed", NULL, LOCATE_parser, 9571);
27041 }
27042 /* parser/parser.nit:9572 */
27043 fra.me.REG[3] = NEW_AClosureDef_parser___parser_prod___AClosureDef___init_aclosuredef(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[3], NIT_NULL, NIT_NULL);
27044 /* parser/parser.nit:9580 */
27045 fra.me.REG[2] = fra.me.REG[3];
27046 /* parser/parser.nit:9581 */
27047 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27048 if (UNTAG_Bool(REGB0)) {
27049 } else {
27050 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9581);
27051 }
27052 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27053 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27054 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27055 stack_frame_head = fra.me.prev;
27056 return;
27057 }
27058 void parser___ReduceAction297___action(val_t p0, val_t p1){
27059 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27060 val_t REGB0;
27061 val_t tmp;
27062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27063 fra.me.file = LOCATE_parser;
27064 fra.me.line = 9586;
27065 fra.me.meth = LOCATE_parser___ReduceAction297___action;
27066 fra.me.has_broke = 0;
27067 fra.me.REG_size = 4;
27068 fra.me.nitni_local_ref_head = NULL;
27069 fra.me.REG[0] = NIT_NULL;
27070 fra.me.REG[1] = NIT_NULL;
27071 fra.me.REG[2] = NIT_NULL;
27072 fra.me.REG[3] = NIT_NULL;
27073 fra.me.REG[0] = p0;
27074 fra.me.REG[1] = p1;
27075 /* parser/parser.nit:9588 */
27076 fra.me.REG[2] = NIT_NULL;
27077 /* parser/parser.nit:9589 */
27078 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27079 /* parser/parser.nit:9591 */
27080 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
27081 if (UNTAG_Bool(REGB0)) {
27082 } else {
27083 nit_abort("Assert failed", NULL, LOCATE_parser, 9591);
27084 }
27085 /* parser/parser.nit:9592 */
27086 fra.me.REG[3] = NEW_ASimpleClosureId_parser___parser_prod___ASimpleClosureId___init_asimpleclosureid(fra.me.REG[3]);
27087 /* parser/parser.nit:9595 */
27088 fra.me.REG[2] = fra.me.REG[3];
27089 /* parser/parser.nit:9596 */
27090 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27091 if (UNTAG_Bool(REGB0)) {
27092 } else {
27093 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9596);
27094 }
27095 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27096 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27097 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27098 stack_frame_head = fra.me.prev;
27099 return;
27100 }
27101 void parser___ReduceAction298___action(val_t p0, val_t p1){
27102 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27103 val_t REGB0;
27104 val_t tmp;
27105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27106 fra.me.file = LOCATE_parser;
27107 fra.me.line = 9601;
27108 fra.me.meth = LOCATE_parser___ReduceAction298___action;
27109 fra.me.has_broke = 0;
27110 fra.me.REG_size = 4;
27111 fra.me.nitni_local_ref_head = NULL;
27112 fra.me.REG[0] = NIT_NULL;
27113 fra.me.REG[1] = NIT_NULL;
27114 fra.me.REG[2] = NIT_NULL;
27115 fra.me.REG[3] = NIT_NULL;
27116 fra.me.REG[0] = p0;
27117 fra.me.REG[1] = p1;
27118 /* parser/parser.nit:9603 */
27119 fra.me.REG[2] = NIT_NULL;
27120 /* parser/parser.nit:9604 */
27121 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27122 /* parser/parser.nit:9606 */
27123 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwbreak, ID_parser___parser_nodes___TKwbreak)) /*cast nullable TKwbreak*/;
27124 if (UNTAG_Bool(REGB0)) {
27125 } else {
27126 nit_abort("Assert failed", NULL, LOCATE_parser, 9606);
27127 }
27128 /* parser/parser.nit:9607 */
27129 fra.me.REG[3] = NEW_ABreakClosureId_parser___parser_prod___ABreakClosureId___init_abreakclosureid(fra.me.REG[3]);
27130 /* parser/parser.nit:9610 */
27131 fra.me.REG[2] = fra.me.REG[3];
27132 /* parser/parser.nit:9611 */
27133 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27134 if (UNTAG_Bool(REGB0)) {
27135 } else {
27136 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9611);
27137 }
27138 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27139 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27140 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27141 stack_frame_head = fra.me.prev;
27142 return;
27143 }
27144 void parser___ReduceAction299___action(val_t p0, val_t p1){
27145 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27146 val_t REGB0;
27147 val_t tmp;
27148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27149 fra.me.file = LOCATE_parser;
27150 fra.me.line = 9616;
27151 fra.me.meth = LOCATE_parser___ReduceAction299___action;
27152 fra.me.has_broke = 0;
27153 fra.me.REG_size = 4;
27154 fra.me.nitni_local_ref_head = NULL;
27155 fra.me.REG[0] = NIT_NULL;
27156 fra.me.REG[1] = NIT_NULL;
27157 fra.me.REG[2] = NIT_NULL;
27158 fra.me.REG[3] = NIT_NULL;
27159 fra.me.REG[0] = p0;
27160 fra.me.REG[1] = p1;
27161 /* parser/parser.nit:9618 */
27162 fra.me.REG[2] = NIT_NULL;
27163 /* parser/parser.nit:9619 */
27164 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27165 /* parser/parser.nit:9621 */
27166 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27167 if (UNTAG_Bool(REGB0)) {
27168 } else {
27169 nit_abort("Assert failed", NULL, LOCATE_parser, 9621);
27170 }
27171 /* parser/parser.nit:9622 */
27172 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[3]);
27173 /* parser/parser.nit:9627 */
27174 fra.me.REG[2] = fra.me.REG[3];
27175 /* parser/parser.nit:9628 */
27176 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27177 if (UNTAG_Bool(REGB0)) {
27178 } else {
27179 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9628);
27180 }
27181 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27182 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27183 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27184 stack_frame_head = fra.me.prev;
27185 return;
27186 }
27187 void parser___ReduceAction300___action(val_t p0, val_t p1){
27188 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27189 val_t REGB0;
27190 val_t tmp;
27191 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27192 fra.me.file = LOCATE_parser;
27193 fra.me.line = 9633;
27194 fra.me.meth = LOCATE_parser___ReduceAction300___action;
27195 fra.me.has_broke = 0;
27196 fra.me.REG_size = 5;
27197 fra.me.nitni_local_ref_head = NULL;
27198 fra.me.REG[0] = NIT_NULL;
27199 fra.me.REG[1] = NIT_NULL;
27200 fra.me.REG[2] = NIT_NULL;
27201 fra.me.REG[3] = NIT_NULL;
27202 fra.me.REG[4] = NIT_NULL;
27203 fra.me.REG[0] = p0;
27204 fra.me.REG[1] = p1;
27205 /* parser/parser.nit:9635 */
27206 fra.me.REG[2] = NIT_NULL;
27207 /* parser/parser.nit:9636 */
27208 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27209 /* parser/parser.nit:9637 */
27210 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27211 /* parser/parser.nit:9639 */
27212 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
27213 if (UNTAG_Bool(REGB0)) {
27214 } else {
27215 nit_abort("Assert failed", NULL, LOCATE_parser, 9639);
27216 }
27217 /* parser/parser.nit:9641 */
27218 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
27219 if (UNTAG_Bool(REGB0)) {
27220 } else {
27221 nit_abort("Assert failed", NULL, LOCATE_parser, 9641);
27222 }
27223 /* parser/parser.nit:9642 */
27224 fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
27225 /* parser/parser.nit:9649 */
27226 fra.me.REG[2] = fra.me.REG[3];
27227 /* parser/parser.nit:9650 */
27228 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27229 if (UNTAG_Bool(REGB0)) {
27230 } else {
27231 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9650);
27232 }
27233 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27234 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27235 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27236 stack_frame_head = fra.me.prev;
27237 return;
27238 }
27239 void parser___ReduceAction301___action(val_t p0, val_t p1){
27240 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
27241 val_t REGB0;
27242 val_t tmp;
27243 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27244 fra.me.file = LOCATE_parser;
27245 fra.me.line = 9655;
27246 fra.me.meth = LOCATE_parser___ReduceAction301___action;
27247 fra.me.has_broke = 0;
27248 fra.me.REG_size = 6;
27249 fra.me.nitni_local_ref_head = NULL;
27250 fra.me.REG[0] = NIT_NULL;
27251 fra.me.REG[1] = NIT_NULL;
27252 fra.me.REG[2] = NIT_NULL;
27253 fra.me.REG[3] = NIT_NULL;
27254 fra.me.REG[4] = NIT_NULL;
27255 fra.me.REG[5] = NIT_NULL;
27256 fra.me.REG[0] = p0;
27257 fra.me.REG[1] = p1;
27258 /* parser/parser.nit:9657 */
27259 fra.me.REG[2] = NIT_NULL;
27260 /* parser/parser.nit:9658 */
27261 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27262 /* parser/parser.nit:9659 */
27263 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27264 /* parser/parser.nit:9660 */
27265 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27266 /* parser/parser.nit:9662 */
27267 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
27268 if (UNTAG_Bool(REGB0)) {
27269 } else {
27270 nit_abort("Assert failed", NULL, LOCATE_parser, 9662);
27271 }
27272 /* parser/parser.nit:9664 */
27273 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
27274 if (UNTAG_Bool(REGB0)) {
27275 } else {
27276 nit_abort("Assert failed", NULL, LOCATE_parser, 9664);
27277 }
27278 /* parser/parser.nit:9666 */
27279 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
27280 if (UNTAG_Bool(REGB0)) {
27281 } else {
27282 nit_abort("Assert failed", NULL, LOCATE_parser, 9666);
27283 }
27284 /* parser/parser.nit:9667 */
27285 fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
27286 /* parser/parser.nit:9674 */
27287 fra.me.REG[2] = fra.me.REG[3];
27288 /* parser/parser.nit:9675 */
27289 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27290 if (UNTAG_Bool(REGB0)) {
27291 } else {
27292 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9675);
27293 }
27294 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27295 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27296 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27297 stack_frame_head = fra.me.prev;
27298 return;
27299 }
27300 void parser___ReduceAction302___action(val_t p0, val_t p1){
27301 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27302 val_t REGB0;
27303 val_t tmp;
27304 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27305 fra.me.file = LOCATE_parser;
27306 fra.me.line = 9680;
27307 fra.me.meth = LOCATE_parser___ReduceAction302___action;
27308 fra.me.has_broke = 0;
27309 fra.me.REG_size = 7;
27310 fra.me.nitni_local_ref_head = NULL;
27311 fra.me.REG[0] = NIT_NULL;
27312 fra.me.REG[1] = NIT_NULL;
27313 fra.me.REG[2] = NIT_NULL;
27314 fra.me.REG[3] = NIT_NULL;
27315 fra.me.REG[4] = NIT_NULL;
27316 fra.me.REG[5] = NIT_NULL;
27317 fra.me.REG[6] = NIT_NULL;
27318 fra.me.REG[0] = p0;
27319 fra.me.REG[1] = p1;
27320 /* parser/parser.nit:9682 */
27321 fra.me.REG[2] = NIT_NULL;
27322 /* parser/parser.nit:9683 */
27323 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27324 /* parser/parser.nit:9684 */
27325 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27326 /* parser/parser.nit:9685 */
27327 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27328 /* parser/parser.nit:9686 */
27329 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27330 /* parser/parser.nit:9687 */
27331 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27332 /* parser/parser.nit:9689 */
27333 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
27334 if (UNTAG_Bool(REGB0)) {
27335 } else {
27336 nit_abort("Assert failed", NULL, LOCATE_parser, 9689);
27337 }
27338 /* parser/parser.nit:9691 */
27339 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
27340 if (UNTAG_Bool(REGB0)) {
27341 } else {
27342 nit_abort("Assert failed", NULL, LOCATE_parser, 9691);
27343 }
27344 /* parser/parser.nit:9693 */
27345 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
27346 if (UNTAG_Bool(REGB0)) {
27347 } else {
27348 nit_abort("Assert failed", NULL, LOCATE_parser, 9693);
27349 }
27350 /* parser/parser.nit:9695 */
27351 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27352 if (UNTAG_Bool(REGB0)) {
27353 } else {
27354 nit_abort("Assert failed", NULL, LOCATE_parser, 9695);
27355 }
27356 /* parser/parser.nit:9696 */
27357 fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
27358 /* parser/parser.nit:9703 */
27359 fra.me.REG[2] = fra.me.REG[3];
27360 /* parser/parser.nit:9704 */
27361 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27362 if (UNTAG_Bool(REGB0)) {
27363 } else {
27364 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9704);
27365 }
27366 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27367 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27368 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27369 stack_frame_head = fra.me.prev;
27370 return;
27371 }
27372 void parser___ReduceAction303___action(val_t p0, val_t p1){
27373 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27374 val_t REGB0;
27375 val_t tmp;
27376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27377 fra.me.file = LOCATE_parser;
27378 fra.me.line = 9709;
27379 fra.me.meth = LOCATE_parser___ReduceAction303___action;
27380 fra.me.has_broke = 0;
27381 fra.me.REG_size = 8;
27382 fra.me.nitni_local_ref_head = NULL;
27383 fra.me.REG[0] = NIT_NULL;
27384 fra.me.REG[1] = NIT_NULL;
27385 fra.me.REG[2] = NIT_NULL;
27386 fra.me.REG[3] = NIT_NULL;
27387 fra.me.REG[4] = NIT_NULL;
27388 fra.me.REG[5] = NIT_NULL;
27389 fra.me.REG[6] = NIT_NULL;
27390 fra.me.REG[7] = NIT_NULL;
27391 fra.me.REG[0] = p0;
27392 fra.me.REG[1] = p1;
27393 /* parser/parser.nit:9711 */
27394 fra.me.REG[2] = NIT_NULL;
27395 /* parser/parser.nit:9712 */
27396 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27397 /* parser/parser.nit:9713 */
27398 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27399 /* parser/parser.nit:9714 */
27400 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27401 /* parser/parser.nit:9715 */
27402 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27403 /* parser/parser.nit:9716 */
27404 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27405 /* parser/parser.nit:9717 */
27406 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27407 /* parser/parser.nit:9719 */
27408 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwvar, ID_parser___parser_nodes___TKwvar)) /*cast nullable TKwvar*/;
27409 if (UNTAG_Bool(REGB0)) {
27410 } else {
27411 nit_abort("Assert failed", NULL, LOCATE_parser, 9719);
27412 }
27413 /* parser/parser.nit:9721 */
27414 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
27415 if (UNTAG_Bool(REGB0)) {
27416 } else {
27417 nit_abort("Assert failed", NULL, LOCATE_parser, 9721);
27418 }
27419 /* parser/parser.nit:9723 */
27420 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
27421 if (UNTAG_Bool(REGB0)) {
27422 } else {
27423 nit_abort("Assert failed", NULL, LOCATE_parser, 9723);
27424 }
27425 /* parser/parser.nit:9725 */
27426 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
27427 if (UNTAG_Bool(REGB0)) {
27428 } else {
27429 nit_abort("Assert failed", NULL, LOCATE_parser, 9725);
27430 }
27431 /* parser/parser.nit:9727 */
27432 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27433 if (UNTAG_Bool(REGB0)) {
27434 } else {
27435 nit_abort("Assert failed", NULL, LOCATE_parser, 9727);
27436 }
27437 /* parser/parser.nit:9728 */
27438 fra.me.REG[3] = NEW_AVardeclExpr_parser___parser_prod___AVardeclExpr___init_avardeclexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27439 /* parser/parser.nit:9735 */
27440 fra.me.REG[2] = fra.me.REG[3];
27441 /* parser/parser.nit:9736 */
27442 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27443 if (UNTAG_Bool(REGB0)) {
27444 } else {
27445 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9736);
27446 }
27447 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27448 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27449 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27450 stack_frame_head = fra.me.prev;
27451 return;
27452 }
27453 void parser___ReduceAction304___action(val_t p0, val_t p1){
27454 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27455 val_t REGB0;
27456 val_t tmp;
27457 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27458 fra.me.file = LOCATE_parser;
27459 fra.me.line = 9741;
27460 fra.me.meth = LOCATE_parser___ReduceAction304___action;
27461 fra.me.has_broke = 0;
27462 fra.me.REG_size = 7;
27463 fra.me.nitni_local_ref_head = NULL;
27464 fra.me.REG[0] = NIT_NULL;
27465 fra.me.REG[1] = NIT_NULL;
27466 fra.me.REG[2] = NIT_NULL;
27467 fra.me.REG[3] = NIT_NULL;
27468 fra.me.REG[4] = NIT_NULL;
27469 fra.me.REG[5] = NIT_NULL;
27470 fra.me.REG[6] = NIT_NULL;
27471 fra.me.REG[0] = p0;
27472 fra.me.REG[1] = p1;
27473 /* parser/parser.nit:9743 */
27474 fra.me.REG[2] = NIT_NULL;
27475 /* parser/parser.nit:9744 */
27476 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27477 /* parser/parser.nit:9745 */
27478 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27479 /* parser/parser.nit:9746 */
27480 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27481 /* parser/parser.nit:9747 */
27482 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27483 /* parser/parser.nit:9748 */
27484 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27485 /* parser/parser.nit:9749 */
27486 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27487 /* parser/parser.nit:9751 */
27488 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27489 if (UNTAG_Bool(REGB0)) {
27490 } else {
27491 nit_abort("Assert failed", NULL, LOCATE_parser, 9751);
27492 }
27493 /* parser/parser.nit:9753 */
27494 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
27495 if (UNTAG_Bool(REGB0)) {
27496 } else {
27497 nit_abort("Assert failed", NULL, LOCATE_parser, 9753);
27498 }
27499 /* parser/parser.nit:9755 */
27500 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
27501 if (UNTAG_Bool(REGB0)) {
27502 } else {
27503 nit_abort("Assert failed", NULL, LOCATE_parser, 9755);
27504 }
27505 /* parser/parser.nit:9757 */
27506 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27507 if (UNTAG_Bool(REGB0)) {
27508 } else {
27509 nit_abort("Assert failed", NULL, LOCATE_parser, 9757);
27510 }
27511 /* parser/parser.nit:9758 */
27512 fra.me.REG[3] = NEW_AAttrAssignExpr_parser___parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27513 /* parser/parser.nit:9764 */
27514 fra.me.REG[2] = fra.me.REG[3];
27515 /* parser/parser.nit:9765 */
27516 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27517 if (UNTAG_Bool(REGB0)) {
27518 } else {
27519 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9765);
27520 }
27521 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27522 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27523 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27524 stack_frame_head = fra.me.prev;
27525 return;
27526 }
27527 void parser___ReduceAction305___action(val_t p0, val_t p1){
27528 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27529 val_t REGB0;
27530 val_t tmp;
27531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27532 fra.me.file = LOCATE_parser;
27533 fra.me.line = 9770;
27534 fra.me.meth = LOCATE_parser___ReduceAction305___action;
27535 fra.me.has_broke = 0;
27536 fra.me.REG_size = 7;
27537 fra.me.nitni_local_ref_head = NULL;
27538 fra.me.REG[0] = NIT_NULL;
27539 fra.me.REG[1] = NIT_NULL;
27540 fra.me.REG[2] = NIT_NULL;
27541 fra.me.REG[3] = NIT_NULL;
27542 fra.me.REG[4] = NIT_NULL;
27543 fra.me.REG[5] = NIT_NULL;
27544 fra.me.REG[6] = NIT_NULL;
27545 fra.me.REG[0] = p0;
27546 fra.me.REG[1] = p1;
27547 /* parser/parser.nit:9772 */
27548 fra.me.REG[2] = NIT_NULL;
27549 /* parser/parser.nit:9773 */
27550 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27551 /* parser/parser.nit:9774 */
27552 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27553 /* parser/parser.nit:9775 */
27554 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27555 /* parser/parser.nit:9776 */
27556 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
27557 /* parser/parser.nit:9778 */
27558 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
27559 if (UNTAG_Bool(REGB0)) {
27560 } else {
27561 nit_abort("Assert failed", NULL, LOCATE_parser, 9778);
27562 }
27563 /* parser/parser.nit:9780 */
27564 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
27565 if (UNTAG_Bool(REGB0)) {
27566 } else {
27567 nit_abort("Assert failed", NULL, LOCATE_parser, 9780);
27568 }
27569 /* parser/parser.nit:9782 */
27570 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27571 if (UNTAG_Bool(REGB0)) {
27572 } else {
27573 nit_abort("Assert failed", NULL, LOCATE_parser, 9782);
27574 }
27575 /* parser/parser.nit:9783 */
27576 fra.me.REG[3] = NEW_AAttrAssignExpr_parser___parser_prod___AAttrAssignExpr___init_aattrassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27577 /* parser/parser.nit:9789 */
27578 fra.me.REG[2] = fra.me.REG[3];
27579 /* parser/parser.nit:9790 */
27580 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27581 if (UNTAG_Bool(REGB0)) {
27582 } else {
27583 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9790);
27584 }
27585 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27586 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27587 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27588 stack_frame_head = fra.me.prev;
27589 return;
27590 }
27591 void parser___ReduceAction306___action(val_t p0, val_t p1){
27592 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27593 val_t REGB0;
27594 val_t tmp;
27595 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27596 fra.me.file = LOCATE_parser;
27597 fra.me.line = 9795;
27598 fra.me.meth = LOCATE_parser___ReduceAction306___action;
27599 fra.me.has_broke = 0;
27600 fra.me.REG_size = 8;
27601 fra.me.nitni_local_ref_head = NULL;
27602 fra.me.REG[0] = NIT_NULL;
27603 fra.me.REG[1] = NIT_NULL;
27604 fra.me.REG[2] = NIT_NULL;
27605 fra.me.REG[3] = NIT_NULL;
27606 fra.me.REG[4] = NIT_NULL;
27607 fra.me.REG[5] = NIT_NULL;
27608 fra.me.REG[6] = NIT_NULL;
27609 fra.me.REG[7] = NIT_NULL;
27610 fra.me.REG[0] = p0;
27611 fra.me.REG[1] = p1;
27612 /* parser/parser.nit:9797 */
27613 fra.me.REG[2] = NIT_NULL;
27614 /* parser/parser.nit:9798 */
27615 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27616 /* parser/parser.nit:9799 */
27617 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27618 /* parser/parser.nit:9800 */
27619 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27620 /* parser/parser.nit:9801 */
27621 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27622 /* parser/parser.nit:9802 */
27623 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27624 /* parser/parser.nit:9803 */
27625 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27626 /* parser/parser.nit:9804 */
27627 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27628 /* parser/parser.nit:9806 */
27629 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27630 if (UNTAG_Bool(REGB0)) {
27631 } else {
27632 nit_abort("Assert failed", NULL, LOCATE_parser, 9806);
27633 }
27634 /* parser/parser.nit:9808 */
27635 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
27636 if (UNTAG_Bool(REGB0)) {
27637 } else {
27638 nit_abort("Assert failed", NULL, LOCATE_parser, 9808);
27639 }
27640 /* parser/parser.nit:9810 */
27641 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
27642 if (UNTAG_Bool(REGB0)) {
27643 } else {
27644 nit_abort("Assert failed", NULL, LOCATE_parser, 9810);
27645 }
27646 /* parser/parser.nit:9812 */
27647 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
27648 if (UNTAG_Bool(REGB0)) {
27649 } else {
27650 nit_abort("Assert failed", NULL, LOCATE_parser, 9812);
27651 }
27652 /* parser/parser.nit:9814 */
27653 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27654 if (UNTAG_Bool(REGB0)) {
27655 } else {
27656 nit_abort("Assert failed", NULL, LOCATE_parser, 9814);
27657 }
27658 /* parser/parser.nit:9815 */
27659 fra.me.REG[3] = NEW_ACallAssignExpr_parser___parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27660 /* parser/parser.nit:9822 */
27661 fra.me.REG[2] = fra.me.REG[3];
27662 /* parser/parser.nit:9823 */
27663 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27664 if (UNTAG_Bool(REGB0)) {
27665 } else {
27666 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9823);
27667 }
27668 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27669 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27670 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27671 stack_frame_head = fra.me.prev;
27672 return;
27673 }
27674 void parser___ReduceAction307___action(val_t p0, val_t p1){
27675 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27676 val_t REGB0;
27677 val_t tmp;
27678 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27679 fra.me.file = LOCATE_parser;
27680 fra.me.line = 9828;
27681 fra.me.meth = LOCATE_parser___ReduceAction307___action;
27682 fra.me.has_broke = 0;
27683 fra.me.REG_size = 8;
27684 fra.me.nitni_local_ref_head = NULL;
27685 fra.me.REG[0] = NIT_NULL;
27686 fra.me.REG[1] = NIT_NULL;
27687 fra.me.REG[2] = NIT_NULL;
27688 fra.me.REG[3] = NIT_NULL;
27689 fra.me.REG[4] = NIT_NULL;
27690 fra.me.REG[5] = NIT_NULL;
27691 fra.me.REG[6] = NIT_NULL;
27692 fra.me.REG[7] = NIT_NULL;
27693 fra.me.REG[0] = p0;
27694 fra.me.REG[1] = p1;
27695 /* parser/parser.nit:9830 */
27696 fra.me.REG[2] = NIT_NULL;
27697 /* parser/parser.nit:9831 */
27698 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27699 /* parser/parser.nit:9832 */
27700 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27701 /* parser/parser.nit:9833 */
27702 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27703 /* parser/parser.nit:9834 */
27704 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27705 /* parser/parser.nit:9835 */
27706 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
27707 /* parser/parser.nit:9837 */
27708 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
27709 if (UNTAG_Bool(REGB0)) {
27710 } else {
27711 nit_abort("Assert failed", NULL, LOCATE_parser, 9837);
27712 }
27713 /* parser/parser.nit:9839 */
27714 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
27715 if (UNTAG_Bool(REGB0)) {
27716 } else {
27717 nit_abort("Assert failed", NULL, LOCATE_parser, 9839);
27718 }
27719 /* parser/parser.nit:9841 */
27720 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
27721 if (UNTAG_Bool(REGB0)) {
27722 } else {
27723 nit_abort("Assert failed", NULL, LOCATE_parser, 9841);
27724 }
27725 /* parser/parser.nit:9843 */
27726 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27727 if (UNTAG_Bool(REGB0)) {
27728 } else {
27729 nit_abort("Assert failed", NULL, LOCATE_parser, 9843);
27730 }
27731 /* parser/parser.nit:9844 */
27732 fra.me.REG[3] = NEW_ACallAssignExpr_parser___parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27733 /* parser/parser.nit:9851 */
27734 fra.me.REG[2] = fra.me.REG[3];
27735 /* parser/parser.nit:9852 */
27736 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27737 if (UNTAG_Bool(REGB0)) {
27738 } else {
27739 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9852);
27740 }
27741 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27742 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27744 stack_frame_head = fra.me.prev;
27745 return;
27746 }
27747 void parser___ReduceAction308___action(val_t p0, val_t p1){
27748 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27749 val_t REGB0;
27750 val_t tmp;
27751 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27752 fra.me.file = LOCATE_parser;
27753 fra.me.line = 9857;
27754 fra.me.meth = LOCATE_parser___ReduceAction308___action;
27755 fra.me.has_broke = 0;
27756 fra.me.REG_size = 7;
27757 fra.me.nitni_local_ref_head = NULL;
27758 fra.me.REG[0] = NIT_NULL;
27759 fra.me.REG[1] = NIT_NULL;
27760 fra.me.REG[2] = NIT_NULL;
27761 fra.me.REG[3] = NIT_NULL;
27762 fra.me.REG[4] = NIT_NULL;
27763 fra.me.REG[5] = NIT_NULL;
27764 fra.me.REG[6] = NIT_NULL;
27765 fra.me.REG[0] = p0;
27766 fra.me.REG[1] = p1;
27767 /* parser/parser.nit:9859 */
27768 fra.me.REG[2] = NIT_NULL;
27769 /* parser/parser.nit:9860 */
27770 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27771 /* parser/parser.nit:9861 */
27772 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27773 /* parser/parser.nit:9862 */
27774 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27775 /* parser/parser.nit:9863 */
27776 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27777 /* parser/parser.nit:9865 */
27778 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27779 if (UNTAG_Bool(REGB0)) {
27780 } else {
27781 nit_abort("Assert failed", NULL, LOCATE_parser, 9865);
27782 }
27783 /* parser/parser.nit:9867 */
27784 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
27785 if (UNTAG_Bool(REGB0)) {
27786 } else {
27787 nit_abort("Assert failed", NULL, LOCATE_parser, 9867);
27788 }
27789 /* parser/parser.nit:9869 */
27790 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TAssign, ID_parser___parser_nodes___TAssign)) /*cast nullable TAssign*/;
27791 if (UNTAG_Bool(REGB0)) {
27792 } else {
27793 nit_abort("Assert failed", NULL, LOCATE_parser, 9869);
27794 }
27795 /* parser/parser.nit:9871 */
27796 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27797 if (UNTAG_Bool(REGB0)) {
27798 } else {
27799 nit_abort("Assert failed", NULL, LOCATE_parser, 9871);
27800 }
27801 /* parser/parser.nit:9872 */
27802 fra.me.REG[3] = NEW_ABraAssignExpr_parser___parser_prod___ABraAssignExpr___init_abraassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27803 /* parser/parser.nit:9878 */
27804 fra.me.REG[2] = fra.me.REG[3];
27805 /* parser/parser.nit:9879 */
27806 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27807 if (UNTAG_Bool(REGB0)) {
27808 } else {
27809 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9879);
27810 }
27811 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27812 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27813 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27814 stack_frame_head = fra.me.prev;
27815 return;
27816 }
27817 void parser___ReduceAction309___action(val_t p0, val_t p1){
27818 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27819 val_t REGB0;
27820 val_t tmp;
27821 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27822 fra.me.file = LOCATE_parser;
27823 fra.me.line = 9884;
27824 fra.me.meth = LOCATE_parser___ReduceAction309___action;
27825 fra.me.has_broke = 0;
27826 fra.me.REG_size = 7;
27827 fra.me.nitni_local_ref_head = NULL;
27828 fra.me.REG[0] = NIT_NULL;
27829 fra.me.REG[1] = NIT_NULL;
27830 fra.me.REG[2] = NIT_NULL;
27831 fra.me.REG[3] = NIT_NULL;
27832 fra.me.REG[4] = NIT_NULL;
27833 fra.me.REG[5] = NIT_NULL;
27834 fra.me.REG[6] = NIT_NULL;
27835 fra.me.REG[0] = p0;
27836 fra.me.REG[1] = p1;
27837 /* parser/parser.nit:9886 */
27838 fra.me.REG[2] = NIT_NULL;
27839 /* parser/parser.nit:9887 */
27840 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27841 /* parser/parser.nit:9888 */
27842 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27843 /* parser/parser.nit:9889 */
27844 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27845 /* parser/parser.nit:9890 */
27846 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27847 /* parser/parser.nit:9891 */
27848 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27849 /* parser/parser.nit:9892 */
27850 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27851 /* parser/parser.nit:9894 */
27852 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27853 if (UNTAG_Bool(REGB0)) {
27854 } else {
27855 nit_abort("Assert failed", NULL, LOCATE_parser, 9894);
27856 }
27857 /* parser/parser.nit:9896 */
27858 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
27859 if (UNTAG_Bool(REGB0)) {
27860 } else {
27861 nit_abort("Assert failed", NULL, LOCATE_parser, 9896);
27862 }
27863 /* parser/parser.nit:9898 */
27864 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
27865 if (UNTAG_Bool(REGB0)) {
27866 } else {
27867 nit_abort("Assert failed", NULL, LOCATE_parser, 9898);
27868 }
27869 /* parser/parser.nit:9900 */
27870 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27871 if (UNTAG_Bool(REGB0)) {
27872 } else {
27873 nit_abort("Assert failed", NULL, LOCATE_parser, 9900);
27874 }
27875 /* parser/parser.nit:9901 */
27876 fra.me.REG[3] = NEW_AAttrReassignExpr_parser___parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27877 /* parser/parser.nit:9907 */
27878 fra.me.REG[2] = fra.me.REG[3];
27879 /* parser/parser.nit:9908 */
27880 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27881 if (UNTAG_Bool(REGB0)) {
27882 } else {
27883 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9908);
27884 }
27885 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27886 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27887 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27888 stack_frame_head = fra.me.prev;
27889 return;
27890 }
27891 void parser___ReduceAction310___action(val_t p0, val_t p1){
27892 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27893 val_t REGB0;
27894 val_t tmp;
27895 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27896 fra.me.file = LOCATE_parser;
27897 fra.me.line = 9913;
27898 fra.me.meth = LOCATE_parser___ReduceAction310___action;
27899 fra.me.has_broke = 0;
27900 fra.me.REG_size = 7;
27901 fra.me.nitni_local_ref_head = NULL;
27902 fra.me.REG[0] = NIT_NULL;
27903 fra.me.REG[1] = NIT_NULL;
27904 fra.me.REG[2] = NIT_NULL;
27905 fra.me.REG[3] = NIT_NULL;
27906 fra.me.REG[4] = NIT_NULL;
27907 fra.me.REG[5] = NIT_NULL;
27908 fra.me.REG[6] = NIT_NULL;
27909 fra.me.REG[0] = p0;
27910 fra.me.REG[1] = p1;
27911 /* parser/parser.nit:9915 */
27912 fra.me.REG[2] = NIT_NULL;
27913 /* parser/parser.nit:9916 */
27914 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27915 /* parser/parser.nit:9917 */
27916 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27917 /* parser/parser.nit:9918 */
27918 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27919 /* parser/parser.nit:9919 */
27920 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
27921 /* parser/parser.nit:9921 */
27922 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
27923 if (UNTAG_Bool(REGB0)) {
27924 } else {
27925 nit_abort("Assert failed", NULL, LOCATE_parser, 9921);
27926 }
27927 /* parser/parser.nit:9923 */
27928 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
27929 if (UNTAG_Bool(REGB0)) {
27930 } else {
27931 nit_abort("Assert failed", NULL, LOCATE_parser, 9923);
27932 }
27933 /* parser/parser.nit:9925 */
27934 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27935 if (UNTAG_Bool(REGB0)) {
27936 } else {
27937 nit_abort("Assert failed", NULL, LOCATE_parser, 9925);
27938 }
27939 /* parser/parser.nit:9926 */
27940 fra.me.REG[3] = NEW_AAttrReassignExpr_parser___parser_prod___AAttrReassignExpr___init_aattrreassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27941 /* parser/parser.nit:9932 */
27942 fra.me.REG[2] = fra.me.REG[3];
27943 /* parser/parser.nit:9933 */
27944 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27945 if (UNTAG_Bool(REGB0)) {
27946 } else {
27947 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9933);
27948 }
27949 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27950 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27951 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27952 stack_frame_head = fra.me.prev;
27953 return;
27954 }
27955 void parser___ReduceAction311___action(val_t p0, val_t p1){
27956 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27957 val_t REGB0;
27958 val_t tmp;
27959 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27960 fra.me.file = LOCATE_parser;
27961 fra.me.line = 9938;
27962 fra.me.meth = LOCATE_parser___ReduceAction311___action;
27963 fra.me.has_broke = 0;
27964 fra.me.REG_size = 8;
27965 fra.me.nitni_local_ref_head = NULL;
27966 fra.me.REG[0] = NIT_NULL;
27967 fra.me.REG[1] = NIT_NULL;
27968 fra.me.REG[2] = NIT_NULL;
27969 fra.me.REG[3] = NIT_NULL;
27970 fra.me.REG[4] = NIT_NULL;
27971 fra.me.REG[5] = NIT_NULL;
27972 fra.me.REG[6] = NIT_NULL;
27973 fra.me.REG[7] = NIT_NULL;
27974 fra.me.REG[0] = p0;
27975 fra.me.REG[1] = p1;
27976 /* parser/parser.nit:9940 */
27977 fra.me.REG[2] = NIT_NULL;
27978 /* parser/parser.nit:9941 */
27979 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27980 /* parser/parser.nit:9942 */
27981 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27982 /* parser/parser.nit:9943 */
27983 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27984 /* parser/parser.nit:9944 */
27985 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27986 /* parser/parser.nit:9945 */
27987 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27988 /* parser/parser.nit:9946 */
27989 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27990 /* parser/parser.nit:9947 */
27991 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27992 /* parser/parser.nit:9949 */
27993 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
27994 if (UNTAG_Bool(REGB0)) {
27995 } else {
27996 nit_abort("Assert failed", NULL, LOCATE_parser, 9949);
27997 }
27998 /* parser/parser.nit:9951 */
27999 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
28000 if (UNTAG_Bool(REGB0)) {
28001 } else {
28002 nit_abort("Assert failed", NULL, LOCATE_parser, 9951);
28003 }
28004 /* parser/parser.nit:9953 */
28005 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
28006 if (UNTAG_Bool(REGB0)) {
28007 } else {
28008 nit_abort("Assert failed", NULL, LOCATE_parser, 9953);
28009 }
28010 /* parser/parser.nit:9955 */
28011 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
28012 if (UNTAG_Bool(REGB0)) {
28013 } else {
28014 nit_abort("Assert failed", NULL, LOCATE_parser, 9955);
28015 }
28016 /* parser/parser.nit:9957 */
28017 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28018 if (UNTAG_Bool(REGB0)) {
28019 } else {
28020 nit_abort("Assert failed", NULL, LOCATE_parser, 9957);
28021 }
28022 /* parser/parser.nit:9958 */
28023 fra.me.REG[3] = NEW_ACallReassignExpr_parser___parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28024 /* parser/parser.nit:9965 */
28025 fra.me.REG[2] = fra.me.REG[3];
28026 /* parser/parser.nit:9966 */
28027 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28028 if (UNTAG_Bool(REGB0)) {
28029 } else {
28030 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9966);
28031 }
28032 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28033 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28034 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28035 stack_frame_head = fra.me.prev;
28036 return;
28037 }
28038 void parser___ReduceAction312___action(val_t p0, val_t p1){
28039 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28040 val_t REGB0;
28041 val_t tmp;
28042 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28043 fra.me.file = LOCATE_parser;
28044 fra.me.line = 9971;
28045 fra.me.meth = LOCATE_parser___ReduceAction312___action;
28046 fra.me.has_broke = 0;
28047 fra.me.REG_size = 8;
28048 fra.me.nitni_local_ref_head = NULL;
28049 fra.me.REG[0] = NIT_NULL;
28050 fra.me.REG[1] = NIT_NULL;
28051 fra.me.REG[2] = NIT_NULL;
28052 fra.me.REG[3] = NIT_NULL;
28053 fra.me.REG[4] = NIT_NULL;
28054 fra.me.REG[5] = NIT_NULL;
28055 fra.me.REG[6] = NIT_NULL;
28056 fra.me.REG[7] = NIT_NULL;
28057 fra.me.REG[0] = p0;
28058 fra.me.REG[1] = p1;
28059 /* parser/parser.nit:9973 */
28060 fra.me.REG[2] = NIT_NULL;
28061 /* parser/parser.nit:9974 */
28062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28063 /* parser/parser.nit:9975 */
28064 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28065 /* parser/parser.nit:9976 */
28066 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28067 /* parser/parser.nit:9977 */
28068 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28069 /* parser/parser.nit:9978 */
28070 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
28071 /* parser/parser.nit:9980 */
28072 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
28073 if (UNTAG_Bool(REGB0)) {
28074 } else {
28075 nit_abort("Assert failed", NULL, LOCATE_parser, 9980);
28076 }
28077 /* parser/parser.nit:9982 */
28078 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
28079 if (UNTAG_Bool(REGB0)) {
28080 } else {
28081 nit_abort("Assert failed", NULL, LOCATE_parser, 9982);
28082 }
28083 /* parser/parser.nit:9984 */
28084 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
28085 if (UNTAG_Bool(REGB0)) {
28086 } else {
28087 nit_abort("Assert failed", NULL, LOCATE_parser, 9984);
28088 }
28089 /* parser/parser.nit:9986 */
28090 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28091 if (UNTAG_Bool(REGB0)) {
28092 } else {
28093 nit_abort("Assert failed", NULL, LOCATE_parser, 9986);
28094 }
28095 /* parser/parser.nit:9987 */
28096 fra.me.REG[3] = NEW_ACallReassignExpr_parser___parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28097 /* parser/parser.nit:9994 */
28098 fra.me.REG[2] = fra.me.REG[3];
28099 /* parser/parser.nit:9995 */
28100 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28101 if (UNTAG_Bool(REGB0)) {
28102 } else {
28103 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9995);
28104 }
28105 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28106 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28107 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28108 stack_frame_head = fra.me.prev;
28109 return;
28110 }
28111 void parser___ReduceAction313___action(val_t p0, val_t p1){
28112 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
28113 val_t REGB0;
28114 val_t tmp;
28115 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28116 fra.me.file = LOCATE_parser;
28117 fra.me.line = 10000;
28118 fra.me.meth = LOCATE_parser___ReduceAction313___action;
28119 fra.me.has_broke = 0;
28120 fra.me.REG_size = 7;
28121 fra.me.nitni_local_ref_head = NULL;
28122 fra.me.REG[0] = NIT_NULL;
28123 fra.me.REG[1] = NIT_NULL;
28124 fra.me.REG[2] = NIT_NULL;
28125 fra.me.REG[3] = NIT_NULL;
28126 fra.me.REG[4] = NIT_NULL;
28127 fra.me.REG[5] = NIT_NULL;
28128 fra.me.REG[6] = NIT_NULL;
28129 fra.me.REG[0] = p0;
28130 fra.me.REG[1] = p1;
28131 /* parser/parser.nit:10002 */
28132 fra.me.REG[2] = NIT_NULL;
28133 /* parser/parser.nit:10003 */
28134 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28135 /* parser/parser.nit:10004 */
28136 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28137 /* parser/parser.nit:10005 */
28138 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28139 /* parser/parser.nit:10006 */
28140 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28141 /* parser/parser.nit:10008 */
28142 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28143 if (UNTAG_Bool(REGB0)) {
28144 } else {
28145 nit_abort("Assert failed", NULL, LOCATE_parser, 10008);
28146 }
28147 /* parser/parser.nit:10010 */
28148 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
28149 if (UNTAG_Bool(REGB0)) {
28150 } else {
28151 nit_abort("Assert failed", NULL, LOCATE_parser, 10010);
28152 }
28153 /* parser/parser.nit:10012 */
28154 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AAssignOp, ID_parser___parser_nodes___AAssignOp)) /*cast nullable AAssignOp*/;
28155 if (UNTAG_Bool(REGB0)) {
28156 } else {
28157 nit_abort("Assert failed", NULL, LOCATE_parser, 10012);
28158 }
28159 /* parser/parser.nit:10014 */
28160 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28161 if (UNTAG_Bool(REGB0)) {
28162 } else {
28163 nit_abort("Assert failed", NULL, LOCATE_parser, 10014);
28164 }
28165 /* parser/parser.nit:10015 */
28166 fra.me.REG[3] = NEW_ABraReassignExpr_parser___parser_prod___ABraReassignExpr___init_abrareassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28167 /* parser/parser.nit:10021 */
28168 fra.me.REG[2] = fra.me.REG[3];
28169 /* parser/parser.nit:10022 */
28170 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28171 if (UNTAG_Bool(REGB0)) {
28172 } else {
28173 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10022);
28174 }
28175 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28176 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28177 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28178 stack_frame_head = fra.me.prev;
28179 return;
28180 }
28181 void parser___ReduceAction314___action(val_t p0, val_t p1){
28182 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28183 val_t REGB0;
28184 val_t tmp;
28185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28186 fra.me.file = LOCATE_parser;
28187 fra.me.line = 10027;
28188 fra.me.meth = LOCATE_parser___ReduceAction314___action;
28189 fra.me.has_broke = 0;
28190 fra.me.REG_size = 4;
28191 fra.me.nitni_local_ref_head = NULL;
28192 fra.me.REG[0] = NIT_NULL;
28193 fra.me.REG[1] = NIT_NULL;
28194 fra.me.REG[2] = NIT_NULL;
28195 fra.me.REG[3] = NIT_NULL;
28196 fra.me.REG[0] = p0;
28197 fra.me.REG[1] = p1;
28198 /* parser/parser.nit:10029 */
28199 fra.me.REG[2] = NIT_NULL;
28200 /* parser/parser.nit:10030 */
28201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28202 /* parser/parser.nit:10032 */
28203 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TPluseq, ID_parser___parser_nodes___TPluseq)) /*cast nullable TPluseq*/;
28204 if (UNTAG_Bool(REGB0)) {
28205 } else {
28206 nit_abort("Assert failed", NULL, LOCATE_parser, 10032);
28207 }
28208 /* parser/parser.nit:10033 */
28209 fra.me.REG[3] = NEW_APlusAssignOp_parser___parser_prod___APlusAssignOp___init_aplusassignop(fra.me.REG[3]);
28210 /* parser/parser.nit:10036 */
28211 fra.me.REG[2] = fra.me.REG[3];
28212 /* parser/parser.nit:10037 */
28213 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28214 if (UNTAG_Bool(REGB0)) {
28215 } else {
28216 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10037);
28217 }
28218 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28219 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28220 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28221 stack_frame_head = fra.me.prev;
28222 return;
28223 }
28224 void parser___ReduceAction315___action(val_t p0, val_t p1){
28225 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28226 val_t REGB0;
28227 val_t tmp;
28228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28229 fra.me.file = LOCATE_parser;
28230 fra.me.line = 10042;
28231 fra.me.meth = LOCATE_parser___ReduceAction315___action;
28232 fra.me.has_broke = 0;
28233 fra.me.REG_size = 4;
28234 fra.me.nitni_local_ref_head = NULL;
28235 fra.me.REG[0] = NIT_NULL;
28236 fra.me.REG[1] = NIT_NULL;
28237 fra.me.REG[2] = NIT_NULL;
28238 fra.me.REG[3] = NIT_NULL;
28239 fra.me.REG[0] = p0;
28240 fra.me.REG[1] = p1;
28241 /* parser/parser.nit:10044 */
28242 fra.me.REG[2] = NIT_NULL;
28243 /* parser/parser.nit:10045 */
28244 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28245 /* parser/parser.nit:10047 */
28246 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TMinuseq, ID_parser___parser_nodes___TMinuseq)) /*cast nullable TMinuseq*/;
28247 if (UNTAG_Bool(REGB0)) {
28248 } else {
28249 nit_abort("Assert failed", NULL, LOCATE_parser, 10047);
28250 }
28251 /* parser/parser.nit:10048 */
28252 fra.me.REG[3] = NEW_AMinusAssignOp_parser___parser_prod___AMinusAssignOp___init_aminusassignop(fra.me.REG[3]);
28253 /* parser/parser.nit:10051 */
28254 fra.me.REG[2] = fra.me.REG[3];
28255 /* parser/parser.nit:10052 */
28256 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28257 if (UNTAG_Bool(REGB0)) {
28258 } else {
28259 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10052);
28260 }
28261 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28262 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28263 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28264 stack_frame_head = fra.me.prev;
28265 return;
28266 }
28267 void parser___ReduceAction316___action(val_t p0, val_t p1){
28268 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28269 val_t REGB0;
28270 val_t tmp;
28271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28272 fra.me.file = LOCATE_parser;
28273 fra.me.line = 10057;
28274 fra.me.meth = LOCATE_parser___ReduceAction316___action;
28275 fra.me.has_broke = 0;
28276 fra.me.REG_size = 6;
28277 fra.me.nitni_local_ref_head = NULL;
28278 fra.me.REG[0] = NIT_NULL;
28279 fra.me.REG[1] = NIT_NULL;
28280 fra.me.REG[2] = NIT_NULL;
28281 fra.me.REG[3] = NIT_NULL;
28282 fra.me.REG[4] = NIT_NULL;
28283 fra.me.REG[5] = NIT_NULL;
28284 fra.me.REG[0] = p0;
28285 fra.me.REG[1] = p1;
28286 /* parser/parser.nit:10059 */
28287 fra.me.REG[2] = NIT_NULL;
28288 /* parser/parser.nit:10060 */
28289 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28290 /* parser/parser.nit:10061 */
28291 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28292 /* parser/parser.nit:10062 */
28293 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28294 /* parser/parser.nit:10064 */
28295 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
28296 if (UNTAG_Bool(REGB0)) {
28297 } else {
28298 nit_abort("Assert failed", NULL, LOCATE_parser, 10064);
28299 }
28300 /* parser/parser.nit:10066 */
28301 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28302 if (UNTAG_Bool(REGB0)) {
28303 } else {
28304 nit_abort("Assert failed", NULL, LOCATE_parser, 10066);
28305 }
28306 /* parser/parser.nit:10068 */
28307 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
28308 if (UNTAG_Bool(REGB0)) {
28309 } else {
28310 nit_abort("Assert failed", NULL, LOCATE_parser, 10068);
28311 }
28312 /* parser/parser.nit:10069 */
28313 fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28314 /* parser/parser.nit:10074 */
28315 fra.me.REG[2] = fra.me.REG[3];
28316 /* parser/parser.nit:10075 */
28317 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28318 if (UNTAG_Bool(REGB0)) {
28319 } else {
28320 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10075);
28321 }
28322 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28323 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28324 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28325 stack_frame_head = fra.me.prev;
28326 return;
28327 }
28328 void parser___ReduceAction317___action(val_t p0, val_t p1){
28329 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
28330 val_t REGB0;
28331 val_t tmp;
28332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28333 fra.me.file = LOCATE_parser;
28334 fra.me.line = 10080;
28335 fra.me.meth = LOCATE_parser___ReduceAction317___action;
28336 fra.me.has_broke = 0;
28337 fra.me.REG_size = 5;
28338 fra.me.nitni_local_ref_head = NULL;
28339 fra.me.REG[0] = NIT_NULL;
28340 fra.me.REG[1] = NIT_NULL;
28341 fra.me.REG[2] = NIT_NULL;
28342 fra.me.REG[3] = NIT_NULL;
28343 fra.me.REG[4] = NIT_NULL;
28344 fra.me.REG[0] = p0;
28345 fra.me.REG[1] = p1;
28346 /* parser/parser.nit:10082 */
28347 fra.me.REG[2] = NIT_NULL;
28348 /* parser/parser.nit:10083 */
28349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28350 /* parser/parser.nit:10084 */
28351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28352 /* parser/parser.nit:10086 */
28353 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
28354 if (UNTAG_Bool(REGB0)) {
28355 } else {
28356 nit_abort("Assert failed", NULL, LOCATE_parser, 10086);
28357 }
28358 /* parser/parser.nit:10088 */
28359 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28360 if (UNTAG_Bool(REGB0)) {
28361 } else {
28362 nit_abort("Assert failed", NULL, LOCATE_parser, 10088);
28363 }
28364 /* parser/parser.nit:10089 */
28365 fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
28366 /* parser/parser.nit:10094 */
28367 fra.me.REG[2] = fra.me.REG[3];
28368 /* parser/parser.nit:10095 */
28369 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28370 if (UNTAG_Bool(REGB0)) {
28371 } else {
28372 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10095);
28373 }
28374 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28375 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28376 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28377 stack_frame_head = fra.me.prev;
28378 return;
28379 }
28380 void parser___ReduceAction318___action(val_t p0, val_t p1){
28381 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
28382 val_t REGB0;
28383 val_t tmp;
28384 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28385 fra.me.file = LOCATE_parser;
28386 fra.me.line = 10100;
28387 fra.me.meth = LOCATE_parser___ReduceAction318___action;
28388 fra.me.has_broke = 0;
28389 fra.me.REG_size = 7;
28390 fra.me.nitni_local_ref_head = NULL;
28391 fra.me.REG[0] = NIT_NULL;
28392 fra.me.REG[1] = NIT_NULL;
28393 fra.me.REG[2] = NIT_NULL;
28394 fra.me.REG[3] = NIT_NULL;
28395 fra.me.REG[4] = NIT_NULL;
28396 fra.me.REG[5] = NIT_NULL;
28397 fra.me.REG[6] = NIT_NULL;
28398 fra.me.REG[0] = p0;
28399 fra.me.REG[1] = p1;
28400 /* parser/parser.nit:10102 */
28401 fra.me.REG[2] = NIT_NULL;
28402 /* parser/parser.nit:10103 */
28403 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28404 /* parser/parser.nit:10104 */
28405 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28406 /* parser/parser.nit:10105 */
28407 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28408 /* parser/parser.nit:10106 */
28409 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28410 /* parser/parser.nit:10107 */
28411 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28412 /* parser/parser.nit:10108 */
28413 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28414 /* parser/parser.nit:10109 */
28415 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28416 /* parser/parser.nit:10110 */
28417 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28418 /* parser/parser.nit:10112 */
28419 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
28420 if (UNTAG_Bool(REGB0)) {
28421 } else {
28422 nit_abort("Assert failed", NULL, LOCATE_parser, 10112);
28423 }
28424 /* parser/parser.nit:10114 */
28425 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28426 if (UNTAG_Bool(REGB0)) {
28427 } else {
28428 nit_abort("Assert failed", NULL, LOCATE_parser, 10114);
28429 }
28430 /* parser/parser.nit:10116 */
28431 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28432 if (UNTAG_Bool(REGB0)) {
28433 } else {
28434 nit_abort("Assert failed", NULL, LOCATE_parser, 10116);
28435 }
28436 /* parser/parser.nit:10118 */
28437 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28438 if (UNTAG_Bool(REGB0)) {
28439 } else {
28440 nit_abort("Assert failed", NULL, LOCATE_parser, 10118);
28441 }
28442 /* parser/parser.nit:10119 */
28443 fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28444 /* parser/parser.nit:10125 */
28445 fra.me.REG[2] = fra.me.REG[3];
28446 /* parser/parser.nit:10126 */
28447 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28448 if (UNTAG_Bool(REGB0)) {
28449 } else {
28450 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10126);
28451 }
28452 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28453 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28454 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28455 stack_frame_head = fra.me.prev;
28456 return;
28457 }
28458 void parser___ReduceAction319___action(val_t p0, val_t p1){
28459 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28460 val_t REGB0;
28461 val_t tmp;
28462 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28463 fra.me.file = LOCATE_parser;
28464 fra.me.line = 10131;
28465 fra.me.meth = LOCATE_parser___ReduceAction319___action;
28466 fra.me.has_broke = 0;
28467 fra.me.REG_size = 6;
28468 fra.me.nitni_local_ref_head = NULL;
28469 fra.me.REG[0] = NIT_NULL;
28470 fra.me.REG[1] = NIT_NULL;
28471 fra.me.REG[2] = NIT_NULL;
28472 fra.me.REG[3] = NIT_NULL;
28473 fra.me.REG[4] = NIT_NULL;
28474 fra.me.REG[5] = NIT_NULL;
28475 fra.me.REG[0] = p0;
28476 fra.me.REG[1] = p1;
28477 /* parser/parser.nit:10133 */
28478 fra.me.REG[2] = NIT_NULL;
28479 /* parser/parser.nit:10134 */
28480 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28481 /* parser/parser.nit:10135 */
28482 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28483 /* parser/parser.nit:10136 */
28484 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28485 /* parser/parser.nit:10137 */
28486 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28487 /* parser/parser.nit:10138 */
28488 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28489 /* parser/parser.nit:10139 */
28490 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28491 /* parser/parser.nit:10141 */
28492 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
28493 if (UNTAG_Bool(REGB0)) {
28494 } else {
28495 nit_abort("Assert failed", NULL, LOCATE_parser, 10141);
28496 }
28497 /* parser/parser.nit:10143 */
28498 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28499 if (UNTAG_Bool(REGB0)) {
28500 } else {
28501 nit_abort("Assert failed", NULL, LOCATE_parser, 10143);
28502 }
28503 /* parser/parser.nit:10145 */
28504 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28505 if (UNTAG_Bool(REGB0)) {
28506 } else {
28507 nit_abort("Assert failed", NULL, LOCATE_parser, 10145);
28508 }
28509 /* parser/parser.nit:10146 */
28510 fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
28511 /* parser/parser.nit:10152 */
28512 fra.me.REG[2] = fra.me.REG[3];
28513 /* parser/parser.nit:10153 */
28514 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28515 if (UNTAG_Bool(REGB0)) {
28516 } else {
28517 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10153);
28518 }
28519 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28520 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28521 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28522 stack_frame_head = fra.me.prev;
28523 return;
28524 }
28525 void parser___ReduceAction320___action(val_t p0, val_t p1){
28526 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
28527 val_t REGB0;
28528 val_t tmp;
28529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28530 fra.me.file = LOCATE_parser;
28531 fra.me.line = 10158;
28532 fra.me.meth = LOCATE_parser___ReduceAction320___action;
28533 fra.me.has_broke = 0;
28534 fra.me.REG_size = 7;
28535 fra.me.nitni_local_ref_head = NULL;
28536 fra.me.REG[0] = NIT_NULL;
28537 fra.me.REG[1] = NIT_NULL;
28538 fra.me.REG[2] = NIT_NULL;
28539 fra.me.REG[3] = NIT_NULL;
28540 fra.me.REG[4] = NIT_NULL;
28541 fra.me.REG[5] = NIT_NULL;
28542 fra.me.REG[6] = NIT_NULL;
28543 fra.me.REG[0] = p0;
28544 fra.me.REG[1] = p1;
28545 /* parser/parser.nit:10160 */
28546 fra.me.REG[2] = NIT_NULL;
28547 /* parser/parser.nit:10161 */
28548 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28549 /* parser/parser.nit:10162 */
28550 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28551 /* parser/parser.nit:10163 */
28552 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28553 /* parser/parser.nit:10164 */
28554 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28555 /* parser/parser.nit:10165 */
28556 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28557 /* parser/parser.nit:10166 */
28558 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28559 /* parser/parser.nit:10167 */
28560 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28561 /* parser/parser.nit:10168 */
28562 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28563 /* parser/parser.nit:10170 */
28564 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
28565 if (UNTAG_Bool(REGB0)) {
28566 } else {
28567 nit_abort("Assert failed", NULL, LOCATE_parser, 10170);
28568 }
28569 /* parser/parser.nit:10172 */
28570 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28571 if (UNTAG_Bool(REGB0)) {
28572 } else {
28573 nit_abort("Assert failed", NULL, LOCATE_parser, 10172);
28574 }
28575 /* parser/parser.nit:10174 */
28576 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28577 if (UNTAG_Bool(REGB0)) {
28578 } else {
28579 nit_abort("Assert failed", NULL, LOCATE_parser, 10174);
28580 }
28581 /* parser/parser.nit:10176 */
28582 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28583 if (UNTAG_Bool(REGB0)) {
28584 } else {
28585 nit_abort("Assert failed", NULL, LOCATE_parser, 10176);
28586 }
28587 /* parser/parser.nit:10177 */
28588 fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28589 /* parser/parser.nit:10183 */
28590 fra.me.REG[2] = fra.me.REG[3];
28591 /* parser/parser.nit:10184 */
28592 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28593 if (UNTAG_Bool(REGB0)) {
28594 } else {
28595 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10184);
28596 }
28597 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28598 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28599 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28600 stack_frame_head = fra.me.prev;
28601 return;
28602 }
28603 void parser___ReduceAction321___action(val_t p0, val_t p1){
28604 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28605 val_t REGB0;
28606 val_t tmp;
28607 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28608 fra.me.file = LOCATE_parser;
28609 fra.me.line = 10189;
28610 fra.me.meth = LOCATE_parser___ReduceAction321___action;
28611 fra.me.has_broke = 0;
28612 fra.me.REG_size = 6;
28613 fra.me.nitni_local_ref_head = NULL;
28614 fra.me.REG[0] = NIT_NULL;
28615 fra.me.REG[1] = NIT_NULL;
28616 fra.me.REG[2] = NIT_NULL;
28617 fra.me.REG[3] = NIT_NULL;
28618 fra.me.REG[4] = NIT_NULL;
28619 fra.me.REG[5] = NIT_NULL;
28620 fra.me.REG[0] = p0;
28621 fra.me.REG[1] = p1;
28622 /* parser/parser.nit:10191 */
28623 fra.me.REG[2] = NIT_NULL;
28624 /* parser/parser.nit:10192 */
28625 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28626 /* parser/parser.nit:10193 */
28627 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28628 /* parser/parser.nit:10194 */
28629 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28630 /* parser/parser.nit:10195 */
28631 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28632 /* parser/parser.nit:10196 */
28633 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28634 /* parser/parser.nit:10197 */
28635 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28636 /* parser/parser.nit:10199 */
28637 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
28638 if (UNTAG_Bool(REGB0)) {
28639 } else {
28640 nit_abort("Assert failed", NULL, LOCATE_parser, 10199);
28641 }
28642 /* parser/parser.nit:10201 */
28643 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28644 if (UNTAG_Bool(REGB0)) {
28645 } else {
28646 nit_abort("Assert failed", NULL, LOCATE_parser, 10201);
28647 }
28648 /* parser/parser.nit:10203 */
28649 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28650 if (UNTAG_Bool(REGB0)) {
28651 } else {
28652 nit_abort("Assert failed", NULL, LOCATE_parser, 10203);
28653 }
28654 /* parser/parser.nit:10204 */
28655 fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
28656 /* parser/parser.nit:10210 */
28657 fra.me.REG[2] = fra.me.REG[3];
28658 /* parser/parser.nit:10211 */
28659 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28660 if (UNTAG_Bool(REGB0)) {
28661 } else {
28662 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10211);
28663 }
28664 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28665 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28666 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28667 stack_frame_head = fra.me.prev;
28668 return;
28669 }
28670 void parser___ReduceAction322___action(val_t p0, val_t p1){
28671 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28672 val_t REGB0;
28673 val_t tmp;
28674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28675 fra.me.file = LOCATE_parser;
28676 fra.me.line = 10216;
28677 fra.me.meth = LOCATE_parser___ReduceAction322___action;
28678 fra.me.has_broke = 0;
28679 fra.me.REG_size = 6;
28680 fra.me.nitni_local_ref_head = NULL;
28681 fra.me.REG[0] = NIT_NULL;
28682 fra.me.REG[1] = NIT_NULL;
28683 fra.me.REG[2] = NIT_NULL;
28684 fra.me.REG[3] = NIT_NULL;
28685 fra.me.REG[4] = NIT_NULL;
28686 fra.me.REG[5] = NIT_NULL;
28687 fra.me.REG[0] = p0;
28688 fra.me.REG[1] = p1;
28689 /* parser/parser.nit:10218 */
28690 fra.me.REG[2] = NIT_NULL;
28691 /* parser/parser.nit:10219 */
28692 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28693 /* parser/parser.nit:10220 */
28694 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28695 /* parser/parser.nit:10221 */
28696 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28697 /* parser/parser.nit:10222 */
28698 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28699 /* parser/parser.nit:10223 */
28700 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28701 /* parser/parser.nit:10224 */
28702 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28703 /* parser/parser.nit:10225 */
28704 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28705 /* parser/parser.nit:10227 */
28706 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
28707 if (UNTAG_Bool(REGB0)) {
28708 } else {
28709 nit_abort("Assert failed", NULL, LOCATE_parser, 10227);
28710 }
28711 /* parser/parser.nit:10229 */
28712 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28713 if (UNTAG_Bool(REGB0)) {
28714 } else {
28715 nit_abort("Assert failed", NULL, LOCATE_parser, 10229);
28716 }
28717 /* parser/parser.nit:10231 */
28718 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28719 if (UNTAG_Bool(REGB0)) {
28720 } else {
28721 nit_abort("Assert failed", NULL, LOCATE_parser, 10231);
28722 }
28723 /* parser/parser.nit:10232 */
28724 fra.me.REG[3] = NEW_AIfExpr_parser___parser_prod___AIfExpr___init_aifexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
28725 /* parser/parser.nit:10238 */
28726 fra.me.REG[2] = fra.me.REG[3];
28727 /* parser/parser.nit:10239 */
28728 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28729 if (UNTAG_Bool(REGB0)) {
28730 } else {
28731 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10239);
28732 }
28733 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28734 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28735 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28736 stack_frame_head = fra.me.prev;
28737 return;
28738 }
28739 void parser___ReduceAction325___action(val_t p0, val_t p1){
28740 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28741 val_t REGB0;
28742 val_t tmp;
28743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28744 fra.me.file = LOCATE_parser;
28745 fra.me.line = 10244;
28746 fra.me.meth = LOCATE_parser___ReduceAction325___action;
28747 fra.me.has_broke = 0;
28748 fra.me.REG_size = 6;
28749 fra.me.nitni_local_ref_head = NULL;
28750 fra.me.REG[0] = NIT_NULL;
28751 fra.me.REG[1] = NIT_NULL;
28752 fra.me.REG[2] = NIT_NULL;
28753 fra.me.REG[3] = NIT_NULL;
28754 fra.me.REG[4] = NIT_NULL;
28755 fra.me.REG[5] = NIT_NULL;
28756 fra.me.REG[0] = p0;
28757 fra.me.REG[1] = p1;
28758 /* parser/parser.nit:10246 */
28759 fra.me.REG[2] = NIT_NULL;
28760 /* parser/parser.nit:10247 */
28761 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28762 /* parser/parser.nit:10248 */
28763 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28764 /* parser/parser.nit:10249 */
28765 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28766 /* parser/parser.nit:10251 */
28767 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwloop, ID_parser___parser_nodes___TKwloop)) /*cast nullable TKwloop*/;
28768 if (UNTAG_Bool(REGB0)) {
28769 } else {
28770 nit_abort("Assert failed", NULL, LOCATE_parser, 10251);
28771 }
28772 /* parser/parser.nit:10253 */
28773 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28774 if (UNTAG_Bool(REGB0)) {
28775 } else {
28776 nit_abort("Assert failed", NULL, LOCATE_parser, 10253);
28777 }
28778 /* parser/parser.nit:10255 */
28779 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
28780 if (UNTAG_Bool(REGB0)) {
28781 } else {
28782 nit_abort("Assert failed", NULL, LOCATE_parser, 10255);
28783 }
28784 /* parser/parser.nit:10256 */
28785 fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28786 /* parser/parser.nit:10261 */
28787 fra.me.REG[2] = fra.me.REG[3];
28788 /* parser/parser.nit:10262 */
28789 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28790 if (UNTAG_Bool(REGB0)) {
28791 } else {
28792 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10262);
28793 }
28794 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28795 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28796 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28797 stack_frame_head = fra.me.prev;
28798 return;
28799 }
28800 void parser___ReduceAction326___action(val_t p0, val_t p1){
28801 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
28802 val_t REGB0;
28803 val_t tmp;
28804 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28805 fra.me.file = LOCATE_parser;
28806 fra.me.line = 10267;
28807 fra.me.meth = LOCATE_parser___ReduceAction326___action;
28808 fra.me.has_broke = 0;
28809 fra.me.REG_size = 5;
28810 fra.me.nitni_local_ref_head = NULL;
28811 fra.me.REG[0] = NIT_NULL;
28812 fra.me.REG[1] = NIT_NULL;
28813 fra.me.REG[2] = NIT_NULL;
28814 fra.me.REG[3] = NIT_NULL;
28815 fra.me.REG[4] = NIT_NULL;
28816 fra.me.REG[0] = p0;
28817 fra.me.REG[1] = p1;
28818 /* parser/parser.nit:10269 */
28819 fra.me.REG[2] = NIT_NULL;
28820 /* parser/parser.nit:10270 */
28821 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28822 /* parser/parser.nit:10271 */
28823 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28824 /* parser/parser.nit:10273 */
28825 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwloop, ID_parser___parser_nodes___TKwloop)) /*cast nullable TKwloop*/;
28826 if (UNTAG_Bool(REGB0)) {
28827 } else {
28828 nit_abort("Assert failed", NULL, LOCATE_parser, 10273);
28829 }
28830 /* parser/parser.nit:10275 */
28831 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28832 if (UNTAG_Bool(REGB0)) {
28833 } else {
28834 nit_abort("Assert failed", NULL, LOCATE_parser, 10275);
28835 }
28836 /* parser/parser.nit:10276 */
28837 fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
28838 /* parser/parser.nit:10281 */
28839 fra.me.REG[2] = fra.me.REG[3];
28840 /* parser/parser.nit:10282 */
28841 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28842 if (UNTAG_Bool(REGB0)) {
28843 } else {
28844 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10282);
28845 }
28846 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28847 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28848 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28849 stack_frame_head = fra.me.prev;
28850 return;
28851 }
28852 void parser___ReduceAction327___action(val_t p0, val_t p1){
28853 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28854 val_t REGB0;
28855 val_t tmp;
28856 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28857 fra.me.file = LOCATE_parser;
28858 fra.me.line = 10287;
28859 fra.me.meth = LOCATE_parser___ReduceAction327___action;
28860 fra.me.has_broke = 0;
28861 fra.me.REG_size = 8;
28862 fra.me.nitni_local_ref_head = NULL;
28863 fra.me.REG[0] = NIT_NULL;
28864 fra.me.REG[1] = NIT_NULL;
28865 fra.me.REG[2] = NIT_NULL;
28866 fra.me.REG[3] = NIT_NULL;
28867 fra.me.REG[4] = NIT_NULL;
28868 fra.me.REG[5] = NIT_NULL;
28869 fra.me.REG[6] = NIT_NULL;
28870 fra.me.REG[7] = NIT_NULL;
28871 fra.me.REG[0] = p0;
28872 fra.me.REG[1] = p1;
28873 /* parser/parser.nit:10289 */
28874 fra.me.REG[2] = NIT_NULL;
28875 /* parser/parser.nit:10290 */
28876 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28877 /* parser/parser.nit:10291 */
28878 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28879 /* parser/parser.nit:10292 */
28880 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28881 /* parser/parser.nit:10293 */
28882 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28883 /* parser/parser.nit:10294 */
28884 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28885 /* parser/parser.nit:10295 */
28886 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28887 /* parser/parser.nit:10296 */
28888 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28889 /* parser/parser.nit:10298 */
28890 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwwhile, ID_parser___parser_nodes___TKwwhile)) /*cast nullable TKwwhile*/;
28891 if (UNTAG_Bool(REGB0)) {
28892 } else {
28893 nit_abort("Assert failed", NULL, LOCATE_parser, 10298);
28894 }
28895 /* parser/parser.nit:10300 */
28896 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28897 if (UNTAG_Bool(REGB0)) {
28898 } else {
28899 nit_abort("Assert failed", NULL, LOCATE_parser, 10300);
28900 }
28901 /* parser/parser.nit:10302 */
28902 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
28903 if (UNTAG_Bool(REGB0)) {
28904 } else {
28905 nit_abort("Assert failed", NULL, LOCATE_parser, 10302);
28906 }
28907 /* parser/parser.nit:10304 */
28908 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28909 if (UNTAG_Bool(REGB0)) {
28910 } else {
28911 nit_abort("Assert failed", NULL, LOCATE_parser, 10304);
28912 }
28913 /* parser/parser.nit:10306 */
28914 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
28915 if (UNTAG_Bool(REGB0)) {
28916 } else {
28917 nit_abort("Assert failed", NULL, LOCATE_parser, 10306);
28918 }
28919 /* parser/parser.nit:10307 */
28920 fra.me.REG[3] = NEW_AWhileExpr_parser___parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28921 /* parser/parser.nit:10314 */
28922 fra.me.REG[2] = fra.me.REG[3];
28923 /* parser/parser.nit:10315 */
28924 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28925 if (UNTAG_Bool(REGB0)) {
28926 } else {
28927 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10315);
28928 }
28929 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28930 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28931 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28932 stack_frame_head = fra.me.prev;
28933 return;
28934 }
28935 void parser___ReduceAction328___action(val_t p0, val_t p1){
28936 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
28937 val_t REGB0;
28938 val_t tmp;
28939 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28940 fra.me.file = LOCATE_parser;
28941 fra.me.line = 10320;
28942 fra.me.meth = LOCATE_parser___ReduceAction328___action;
28943 fra.me.has_broke = 0;
28944 fra.me.REG_size = 7;
28945 fra.me.nitni_local_ref_head = NULL;
28946 fra.me.REG[0] = NIT_NULL;
28947 fra.me.REG[1] = NIT_NULL;
28948 fra.me.REG[2] = NIT_NULL;
28949 fra.me.REG[3] = NIT_NULL;
28950 fra.me.REG[4] = NIT_NULL;
28951 fra.me.REG[5] = NIT_NULL;
28952 fra.me.REG[6] = NIT_NULL;
28953 fra.me.REG[0] = p0;
28954 fra.me.REG[1] = p1;
28955 /* parser/parser.nit:10322 */
28956 fra.me.REG[2] = NIT_NULL;
28957 /* parser/parser.nit:10323 */
28958 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28959 /* parser/parser.nit:10324 */
28960 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28961 /* parser/parser.nit:10325 */
28962 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28963 /* parser/parser.nit:10326 */
28964 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28965 /* parser/parser.nit:10327 */
28966 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28967 /* parser/parser.nit:10328 */
28968 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28969 /* parser/parser.nit:10330 */
28970 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwwhile, ID_parser___parser_nodes___TKwwhile)) /*cast nullable TKwwhile*/;
28971 if (UNTAG_Bool(REGB0)) {
28972 } else {
28973 nit_abort("Assert failed", NULL, LOCATE_parser, 10330);
28974 }
28975 /* parser/parser.nit:10332 */
28976 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28977 if (UNTAG_Bool(REGB0)) {
28978 } else {
28979 nit_abort("Assert failed", NULL, LOCATE_parser, 10332);
28980 }
28981 /* parser/parser.nit:10334 */
28982 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
28983 if (UNTAG_Bool(REGB0)) {
28984 } else {
28985 nit_abort("Assert failed", NULL, LOCATE_parser, 10334);
28986 }
28987 /* parser/parser.nit:10336 */
28988 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
28989 if (UNTAG_Bool(REGB0)) {
28990 } else {
28991 nit_abort("Assert failed", NULL, LOCATE_parser, 10336);
28992 }
28993 /* parser/parser.nit:10337 */
28994 fra.me.REG[3] = NEW_AWhileExpr_parser___parser_prod___AWhileExpr___init_awhileexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
28995 /* parser/parser.nit:10344 */
28996 fra.me.REG[2] = fra.me.REG[3];
28997 /* parser/parser.nit:10345 */
28998 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28999 if (UNTAG_Bool(REGB0)) {
29000 } else {
29001 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10345);
29002 }
29003 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29004 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29005 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29006 stack_frame_head = fra.me.prev;
29007 return;
29008 }
29009 void parser___ReduceAction329___action(val_t p0, val_t p1){
29010 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29011 val_t REGB0;
29012 val_t tmp;
29013 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29014 fra.me.file = LOCATE_parser;
29015 fra.me.line = 10350;
29016 fra.me.meth = LOCATE_parser___ReduceAction329___action;
29017 fra.me.has_broke = 0;
29018 fra.me.REG_size = 10;
29019 fra.me.nitni_local_ref_head = NULL;
29020 fra.me.REG[0] = NIT_NULL;
29021 fra.me.REG[1] = NIT_NULL;
29022 fra.me.REG[2] = NIT_NULL;
29023 fra.me.REG[3] = NIT_NULL;
29024 fra.me.REG[4] = NIT_NULL;
29025 fra.me.REG[5] = NIT_NULL;
29026 fra.me.REG[6] = NIT_NULL;
29027 fra.me.REG[7] = NIT_NULL;
29028 fra.me.REG[8] = NIT_NULL;
29029 fra.me.REG[9] = NIT_NULL;
29030 fra.me.REG[0] = p0;
29031 fra.me.REG[1] = p1;
29032 /* parser/parser.nit:10352 */
29033 fra.me.REG[2] = NIT_NULL;
29034 /* parser/parser.nit:10353 */
29035 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29036 /* parser/parser.nit:10354 */
29037 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29038 /* parser/parser.nit:10355 */
29039 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29040 /* parser/parser.nit:10356 */
29041 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29042 /* parser/parser.nit:10357 */
29043 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29044 /* parser/parser.nit:10358 */
29045 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29046 /* parser/parser.nit:10359 */
29047 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29048 /* parser/parser.nit:10360 */
29049 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29050 /* parser/parser.nit:10361 */
29051 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29052 /* parser/parser.nit:10362 */
29053 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29054 /* parser/parser.nit:10363 */
29055 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29056 /* parser/parser.nit:10364 */
29057 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29058 /* parser/parser.nit:10365 */
29059 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29060 /* parser/parser.nit:10366 */
29061 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
29062 /* parser/parser.nit:10368 */
29063 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwfor, ID_parser___parser_nodes___TKwfor)) /*cast nullable TKwfor*/;
29064 if (UNTAG_Bool(REGB0)) {
29065 } else {
29066 nit_abort("Assert failed", NULL, LOCATE_parser, 10368);
29067 }
29068 /* parser/parser.nit:10370 */
29069 REGB0 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
29070 if (UNTAG_Bool(REGB0)) {
29071 } else {
29072 nit_abort("Assert failed", NULL, LOCATE_parser, 10370);
29073 }
29074 /* parser/parser.nit:10371 */
29075 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
29076 fra.me.REG[9] = fra.me.REG[7];
29077 /* parser/parser.nit:10373 */
29078 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29079 if (UNTAG_Bool(REGB0)) {
29080 } else {
29081 nit_abort("Assert failed", NULL, LOCATE_parser, 10373);
29082 }
29083 /* parser/parser.nit:10375 */
29084 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
29085 if (UNTAG_Bool(REGB0)) {
29086 } else {
29087 nit_abort("Assert failed", NULL, LOCATE_parser, 10375);
29088 }
29089 /* parser/parser.nit:10377 */
29090 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29091 if (UNTAG_Bool(REGB0)) {
29092 } else {
29093 nit_abort("Assert failed", NULL, LOCATE_parser, 10377);
29094 }
29095 /* parser/parser.nit:10379 */
29096 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
29097 if (UNTAG_Bool(REGB0)) {
29098 } else {
29099 nit_abort("Assert failed", NULL, LOCATE_parser, 10379);
29100 }
29101 /* parser/parser.nit:10380 */
29102 fra.me.REG[3] = NEW_AForExpr_parser___parser_prod___AForExpr___init_aforexpr(fra.me.REG[8], fra.me.REG[9], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
29103 /* parser/parser.nit:10388 */
29104 fra.me.REG[2] = fra.me.REG[3];
29105 /* parser/parser.nit:10389 */
29106 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29107 if (UNTAG_Bool(REGB0)) {
29108 } else {
29109 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10389);
29110 }
29111 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29112 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29113 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29114 stack_frame_head = fra.me.prev;
29115 return;
29116 }
29117 void parser___ReduceAction330___action(val_t p0, val_t p1){
29118 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29119 val_t REGB0;
29120 val_t tmp;
29121 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29122 fra.me.file = LOCATE_parser;
29123 fra.me.line = 10394;
29124 fra.me.meth = LOCATE_parser___ReduceAction330___action;
29125 fra.me.has_broke = 0;
29126 fra.me.REG_size = 10;
29127 fra.me.nitni_local_ref_head = NULL;
29128 fra.me.REG[0] = NIT_NULL;
29129 fra.me.REG[1] = NIT_NULL;
29130 fra.me.REG[2] = NIT_NULL;
29131 fra.me.REG[3] = NIT_NULL;
29132 fra.me.REG[4] = NIT_NULL;
29133 fra.me.REG[5] = NIT_NULL;
29134 fra.me.REG[6] = NIT_NULL;
29135 fra.me.REG[7] = NIT_NULL;
29136 fra.me.REG[8] = NIT_NULL;
29137 fra.me.REG[9] = NIT_NULL;
29138 fra.me.REG[0] = p0;
29139 fra.me.REG[1] = p1;
29140 /* parser/parser.nit:10396 */
29141 fra.me.REG[2] = NIT_NULL;
29142 /* parser/parser.nit:10397 */
29143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29144 /* parser/parser.nit:10398 */
29145 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29146 /* parser/parser.nit:10399 */
29147 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29148 /* parser/parser.nit:10400 */
29149 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29150 /* parser/parser.nit:10401 */
29151 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29152 /* parser/parser.nit:10402 */
29153 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29154 /* parser/parser.nit:10403 */
29155 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29156 /* parser/parser.nit:10404 */
29157 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29158 /* parser/parser.nit:10405 */
29159 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29160 /* parser/parser.nit:10406 */
29161 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29162 /* parser/parser.nit:10407 */
29163 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29164 /* parser/parser.nit:10408 */
29165 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
29166 /* parser/parser.nit:10410 */
29167 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwfor, ID_parser___parser_nodes___TKwfor)) /*cast nullable TKwfor*/;
29168 if (UNTAG_Bool(REGB0)) {
29169 } else {
29170 nit_abort("Assert failed", NULL, LOCATE_parser, 10410);
29171 }
29172 /* parser/parser.nit:10412 */
29173 REGB0 = TAG_Bool((fra.me.REG[7]!=NIT_NULL) && VAL_ISA(fra.me.REG[7], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
29174 if (UNTAG_Bool(REGB0)) {
29175 } else {
29176 nit_abort("Assert failed", NULL, LOCATE_parser, 10412);
29177 }
29178 /* parser/parser.nit:10413 */
29179 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
29180 fra.me.REG[9] = fra.me.REG[7];
29181 /* parser/parser.nit:10415 */
29182 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29183 if (UNTAG_Bool(REGB0)) {
29184 } else {
29185 nit_abort("Assert failed", NULL, LOCATE_parser, 10415);
29186 }
29187 /* parser/parser.nit:10417 */
29188 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
29189 if (UNTAG_Bool(REGB0)) {
29190 } else {
29191 nit_abort("Assert failed", NULL, LOCATE_parser, 10417);
29192 }
29193 /* parser/parser.nit:10419 */
29194 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29195 if (UNTAG_Bool(REGB0)) {
29196 } else {
29197 nit_abort("Assert failed", NULL, LOCATE_parser, 10419);
29198 }
29199 /* parser/parser.nit:10421 */
29200 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___ALabel, ID_parser___parser_nodes___ALabel)) /*cast nullable ALabel*/;
29201 if (UNTAG_Bool(REGB0)) {
29202 } else {
29203 nit_abort("Assert failed", NULL, LOCATE_parser, 10421);
29204 }
29205 /* parser/parser.nit:10422 */
29206 fra.me.REG[3] = NEW_AForExpr_parser___parser_prod___AForExpr___init_aforexpr(fra.me.REG[8], fra.me.REG[9], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
29207 /* parser/parser.nit:10430 */
29208 fra.me.REG[2] = fra.me.REG[3];
29209 /* parser/parser.nit:10431 */
29210 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29211 if (UNTAG_Bool(REGB0)) {
29212 } else {
29213 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10431);
29214 }
29215 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29216 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29217 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29218 stack_frame_head = fra.me.prev;
29219 return;
29220 }
29221 void parser___ReduceAction331___action(val_t p0, val_t p1){
29222 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29223 val_t REGB0;
29224 val_t tmp;
29225 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29226 fra.me.file = LOCATE_parser;
29227 fra.me.line = 10436;
29228 fra.me.meth = LOCATE_parser___ReduceAction331___action;
29229 fra.me.has_broke = 0;
29230 fra.me.REG_size = 9;
29231 fra.me.nitni_local_ref_head = NULL;
29232 fra.me.REG[0] = NIT_NULL;
29233 fra.me.REG[1] = NIT_NULL;
29234 fra.me.REG[2] = NIT_NULL;
29235 fra.me.REG[3] = NIT_NULL;
29236 fra.me.REG[4] = NIT_NULL;
29237 fra.me.REG[5] = NIT_NULL;
29238 fra.me.REG[6] = NIT_NULL;
29239 fra.me.REG[7] = NIT_NULL;
29240 fra.me.REG[8] = NIT_NULL;
29241 fra.me.REG[0] = p0;
29242 fra.me.REG[1] = p1;
29243 /* parser/parser.nit:10438 */
29244 fra.me.REG[2] = NIT_NULL;
29245 /* parser/parser.nit:10439 */
29246 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29247 /* parser/parser.nit:10440 */
29248 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29249 /* parser/parser.nit:10441 */
29250 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29251 /* parser/parser.nit:10442 */
29252 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29253 /* parser/parser.nit:10443 */
29254 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29255 /* parser/parser.nit:10444 */
29256 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29257 /* parser/parser.nit:10445 */
29258 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29259 /* parser/parser.nit:10446 */
29260 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29261 /* parser/parser.nit:10447 */
29262 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29263 /* parser/parser.nit:10448 */
29264 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29265 /* parser/parser.nit:10449 */
29266 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29267 /* parser/parser.nit:10450 */
29268 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29269 /* parser/parser.nit:10451 */
29270 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
29271 /* parser/parser.nit:10453 */
29272 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwfor, ID_parser___parser_nodes___TKwfor)) /*cast nullable TKwfor*/;
29273 if (UNTAG_Bool(REGB0)) {
29274 } else {
29275 nit_abort("Assert failed", NULL, LOCATE_parser, 10453);
29276 }
29277 /* parser/parser.nit:10455 */
29278 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
29279 if (UNTAG_Bool(REGB0)) {
29280 } else {
29281 nit_abort("Assert failed", NULL, LOCATE_parser, 10455);
29282 }
29283 /* parser/parser.nit:10456 */
29284 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
29285 fra.me.REG[8] = fra.me.REG[6];
29286 /* parser/parser.nit:10458 */
29287 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29288 if (UNTAG_Bool(REGB0)) {
29289 } else {
29290 nit_abort("Assert failed", NULL, LOCATE_parser, 10458);
29291 }
29292 /* parser/parser.nit:10460 */
29293 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
29294 if (UNTAG_Bool(REGB0)) {
29295 } else {
29296 nit_abort("Assert failed", NULL, LOCATE_parser, 10460);
29297 }
29298 /* parser/parser.nit:10462 */
29299 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29300 if (UNTAG_Bool(REGB0)) {
29301 } else {
29302 nit_abort("Assert failed", NULL, LOCATE_parser, 10462);
29303 }
29304 /* parser/parser.nit:10463 */
29305 fra.me.REG[3] = NEW_AForExpr_parser___parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
29306 /* parser/parser.nit:10471 */
29307 fra.me.REG[2] = fra.me.REG[3];
29308 /* parser/parser.nit:10472 */
29309 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29310 if (UNTAG_Bool(REGB0)) {
29311 } else {
29312 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10472);
29313 }
29314 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29315 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29316 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29317 stack_frame_head = fra.me.prev;
29318 return;
29319 }
29320 void parser___ReduceAction332___action(val_t p0, val_t p1){
29321 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29322 val_t REGB0;
29323 val_t tmp;
29324 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29325 fra.me.file = LOCATE_parser;
29326 fra.me.line = 10477;
29327 fra.me.meth = LOCATE_parser___ReduceAction332___action;
29328 fra.me.has_broke = 0;
29329 fra.me.REG_size = 9;
29330 fra.me.nitni_local_ref_head = NULL;
29331 fra.me.REG[0] = NIT_NULL;
29332 fra.me.REG[1] = NIT_NULL;
29333 fra.me.REG[2] = NIT_NULL;
29334 fra.me.REG[3] = NIT_NULL;
29335 fra.me.REG[4] = NIT_NULL;
29336 fra.me.REG[5] = NIT_NULL;
29337 fra.me.REG[6] = NIT_NULL;
29338 fra.me.REG[7] = NIT_NULL;
29339 fra.me.REG[8] = NIT_NULL;
29340 fra.me.REG[0] = p0;
29341 fra.me.REG[1] = p1;
29342 /* parser/parser.nit:10479 */
29343 fra.me.REG[2] = NIT_NULL;
29344 /* parser/parser.nit:10480 */
29345 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29346 /* parser/parser.nit:10481 */
29347 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29348 /* parser/parser.nit:10482 */
29349 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29350 /* parser/parser.nit:10483 */
29351 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29352 /* parser/parser.nit:10484 */
29353 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29354 /* parser/parser.nit:10485 */
29355 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29356 /* parser/parser.nit:10486 */
29357 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29358 /* parser/parser.nit:10487 */
29359 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29360 /* parser/parser.nit:10488 */
29361 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29362 /* parser/parser.nit:10489 */
29363 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29364 /* parser/parser.nit:10490 */
29365 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
29366 /* parser/parser.nit:10492 */
29367 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwfor, ID_parser___parser_nodes___TKwfor)) /*cast nullable TKwfor*/;
29368 if (UNTAG_Bool(REGB0)) {
29369 } else {
29370 nit_abort("Assert failed", NULL, LOCATE_parser, 10492);
29371 }
29372 /* parser/parser.nit:10494 */
29373 REGB0 = TAG_Bool((fra.me.REG[6]!=NIT_NULL) && VAL_ISA(fra.me.REG[6], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
29374 if (UNTAG_Bool(REGB0)) {
29375 } else {
29376 nit_abort("Assert failed", NULL, LOCATE_parser, 10494);
29377 }
29378 /* parser/parser.nit:10495 */
29379 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
29380 fra.me.REG[8] = fra.me.REG[6];
29381 /* parser/parser.nit:10497 */
29382 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29383 if (UNTAG_Bool(REGB0)) {
29384 } else {
29385 nit_abort("Assert failed", NULL, LOCATE_parser, 10497);
29386 }
29387 /* parser/parser.nit:10499 */
29388 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwdo, ID_parser___parser_nodes___TKwdo)) /*cast nullable TKwdo*/;
29389 if (UNTAG_Bool(REGB0)) {
29390 } else {
29391 nit_abort("Assert failed", NULL, LOCATE_parser, 10499);
29392 }
29393 /* parser/parser.nit:10501 */
29394 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29395 if (UNTAG_Bool(REGB0)) {
29396 } else {
29397 nit_abort("Assert failed", NULL, LOCATE_parser, 10501);
29398 }
29399 /* parser/parser.nit:10502 */
29400 fra.me.REG[3] = NEW_AForExpr_parser___parser_prod___AForExpr___init_aforexpr(fra.me.REG[7], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
29401 /* parser/parser.nit:10510 */
29402 fra.me.REG[2] = fra.me.REG[3];
29403 /* parser/parser.nit:10511 */
29404 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29405 if (UNTAG_Bool(REGB0)) {
29406 } else {
29407 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10511);
29408 }
29409 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29410 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29411 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29412 stack_frame_head = fra.me.prev;
29413 return;
29414 }
29415 void parser___ReduceAction333___action(val_t p0, val_t p1){
29416 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
29417 val_t REGB0;
29418 val_t tmp;
29419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29420 fra.me.file = LOCATE_parser;
29421 fra.me.line = 10516;
29422 fra.me.meth = LOCATE_parser___ReduceAction333___action;
29423 fra.me.has_broke = 0;
29424 fra.me.REG_size = 6;
29425 fra.me.nitni_local_ref_head = NULL;
29426 fra.me.REG[0] = NIT_NULL;
29427 fra.me.REG[1] = NIT_NULL;
29428 fra.me.REG[2] = NIT_NULL;
29429 fra.me.REG[3] = NIT_NULL;
29430 fra.me.REG[4] = NIT_NULL;
29431 fra.me.REG[5] = NIT_NULL;
29432 fra.me.REG[0] = p0;
29433 fra.me.REG[1] = p1;
29434 /* parser/parser.nit:10518 */
29435 fra.me.REG[2] = NIT_NULL;
29436 /* parser/parser.nit:10519 */
29437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29438 /* parser/parser.nit:10520 */
29439 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29440 /* parser/parser.nit:10521 */
29441 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29442 /* parser/parser.nit:10522 */
29443 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29444 /* parser/parser.nit:10524 */
29445 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwassert, ID_parser___parser_nodes___TKwassert)) /*cast nullable TKwassert*/;
29446 if (UNTAG_Bool(REGB0)) {
29447 } else {
29448 nit_abort("Assert failed", NULL, LOCATE_parser, 10524);
29449 }
29450 /* parser/parser.nit:10526 */
29451 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29452 if (UNTAG_Bool(REGB0)) {
29453 } else {
29454 nit_abort("Assert failed", NULL, LOCATE_parser, 10526);
29455 }
29456 /* parser/parser.nit:10528 */
29457 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29458 if (UNTAG_Bool(REGB0)) {
29459 } else {
29460 nit_abort("Assert failed", NULL, LOCATE_parser, 10528);
29461 }
29462 /* parser/parser.nit:10529 */
29463 fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
29464 /* parser/parser.nit:10535 */
29465 fra.me.REG[2] = fra.me.REG[3];
29466 /* parser/parser.nit:10536 */
29467 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29468 if (UNTAG_Bool(REGB0)) {
29469 } else {
29470 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10536);
29471 }
29472 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29473 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29474 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29475 stack_frame_head = fra.me.prev;
29476 return;
29477 }
29478 void parser___ReduceAction334___action(val_t p0, val_t p1){
29479 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
29480 val_t REGB0;
29481 val_t tmp;
29482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29483 fra.me.file = LOCATE_parser;
29484 fra.me.line = 10541;
29485 fra.me.meth = LOCATE_parser___ReduceAction334___action;
29486 fra.me.has_broke = 0;
29487 fra.me.REG_size = 7;
29488 fra.me.nitni_local_ref_head = NULL;
29489 fra.me.REG[0] = NIT_NULL;
29490 fra.me.REG[1] = NIT_NULL;
29491 fra.me.REG[2] = NIT_NULL;
29492 fra.me.REG[3] = NIT_NULL;
29493 fra.me.REG[4] = NIT_NULL;
29494 fra.me.REG[5] = NIT_NULL;
29495 fra.me.REG[6] = NIT_NULL;
29496 fra.me.REG[0] = p0;
29497 fra.me.REG[1] = p1;
29498 /* parser/parser.nit:10543 */
29499 fra.me.REG[2] = NIT_NULL;
29500 /* parser/parser.nit:10544 */
29501 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29502 /* parser/parser.nit:10545 */
29503 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29504 /* parser/parser.nit:10546 */
29505 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29506 /* parser/parser.nit:10547 */
29507 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29508 /* parser/parser.nit:10548 */
29509 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29510 /* parser/parser.nit:10550 */
29511 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwassert, ID_parser___parser_nodes___TKwassert)) /*cast nullable TKwassert*/;
29512 if (UNTAG_Bool(REGB0)) {
29513 } else {
29514 nit_abort("Assert failed", NULL, LOCATE_parser, 10550);
29515 }
29516 /* parser/parser.nit:10552 */
29517 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
29518 if (UNTAG_Bool(REGB0)) {
29519 } else {
29520 nit_abort("Assert failed", NULL, LOCATE_parser, 10552);
29521 }
29522 /* parser/parser.nit:10554 */
29523 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29524 if (UNTAG_Bool(REGB0)) {
29525 } else {
29526 nit_abort("Assert failed", NULL, LOCATE_parser, 10554);
29527 }
29528 /* parser/parser.nit:10556 */
29529 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29530 if (UNTAG_Bool(REGB0)) {
29531 } else {
29532 nit_abort("Assert failed", NULL, LOCATE_parser, 10556);
29533 }
29534 /* parser/parser.nit:10557 */
29535 fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
29536 /* parser/parser.nit:10563 */
29537 fra.me.REG[2] = fra.me.REG[3];
29538 /* parser/parser.nit:10564 */
29539 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29540 if (UNTAG_Bool(REGB0)) {
29541 } else {
29542 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10564);
29543 }
29544 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29545 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29546 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29547 stack_frame_head = fra.me.prev;
29548 return;
29549 }
29550 void parser___ReduceAction335___action(val_t p0, val_t p1){
29551 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29552 val_t REGB0;
29553 val_t tmp;
29554 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29555 fra.me.file = LOCATE_parser;
29556 fra.me.line = 10569;
29557 fra.me.meth = LOCATE_parser___ReduceAction335___action;
29558 fra.me.has_broke = 0;
29559 fra.me.REG_size = 5;
29560 fra.me.nitni_local_ref_head = NULL;
29561 fra.me.REG[0] = NIT_NULL;
29562 fra.me.REG[1] = NIT_NULL;
29563 fra.me.REG[2] = NIT_NULL;
29564 fra.me.REG[3] = NIT_NULL;
29565 fra.me.REG[4] = NIT_NULL;
29566 fra.me.REG[0] = p0;
29567 fra.me.REG[1] = p1;
29568 /* parser/parser.nit:10571 */
29569 fra.me.REG[2] = NIT_NULL;
29570 /* parser/parser.nit:10572 */
29571 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29572 /* parser/parser.nit:10573 */
29573 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29574 /* parser/parser.nit:10575 */
29575 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwassert, ID_parser___parser_nodes___TKwassert)) /*cast nullable TKwassert*/;
29576 if (UNTAG_Bool(REGB0)) {
29577 } else {
29578 nit_abort("Assert failed", NULL, LOCATE_parser, 10575);
29579 }
29580 /* parser/parser.nit:10577 */
29581 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29582 if (UNTAG_Bool(REGB0)) {
29583 } else {
29584 nit_abort("Assert failed", NULL, LOCATE_parser, 10577);
29585 }
29586 /* parser/parser.nit:10578 */
29587 fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
29588 /* parser/parser.nit:10584 */
29589 fra.me.REG[2] = fra.me.REG[3];
29590 /* parser/parser.nit:10585 */
29591 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29592 if (UNTAG_Bool(REGB0)) {
29593 } else {
29594 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10585);
29595 }
29596 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29597 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29598 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29599 stack_frame_head = fra.me.prev;
29600 return;
29601 }
29602 void parser___ReduceAction336___action(val_t p0, val_t p1){
29603 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
29604 val_t REGB0;
29605 val_t tmp;
29606 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29607 fra.me.file = LOCATE_parser;
29608 fra.me.line = 10590;
29609 fra.me.meth = LOCATE_parser___ReduceAction336___action;
29610 fra.me.has_broke = 0;
29611 fra.me.REG_size = 6;
29612 fra.me.nitni_local_ref_head = NULL;
29613 fra.me.REG[0] = NIT_NULL;
29614 fra.me.REG[1] = NIT_NULL;
29615 fra.me.REG[2] = NIT_NULL;
29616 fra.me.REG[3] = NIT_NULL;
29617 fra.me.REG[4] = NIT_NULL;
29618 fra.me.REG[5] = NIT_NULL;
29619 fra.me.REG[0] = p0;
29620 fra.me.REG[1] = p1;
29621 /* parser/parser.nit:10592 */
29622 fra.me.REG[2] = NIT_NULL;
29623 /* parser/parser.nit:10593 */
29624 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29625 /* parser/parser.nit:10594 */
29626 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29627 /* parser/parser.nit:10595 */
29628 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29629 /* parser/parser.nit:10597 */
29630 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwassert, ID_parser___parser_nodes___TKwassert)) /*cast nullable TKwassert*/;
29631 if (UNTAG_Bool(REGB0)) {
29632 } else {
29633 nit_abort("Assert failed", NULL, LOCATE_parser, 10597);
29634 }
29635 /* parser/parser.nit:10599 */
29636 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
29637 if (UNTAG_Bool(REGB0)) {
29638 } else {
29639 nit_abort("Assert failed", NULL, LOCATE_parser, 10599);
29640 }
29641 /* parser/parser.nit:10601 */
29642 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29643 if (UNTAG_Bool(REGB0)) {
29644 } else {
29645 nit_abort("Assert failed", NULL, LOCATE_parser, 10601);
29646 }
29647 /* parser/parser.nit:10602 */
29648 fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
29649 /* parser/parser.nit:10608 */
29650 fra.me.REG[2] = fra.me.REG[3];
29651 /* parser/parser.nit:10609 */
29652 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29653 if (UNTAG_Bool(REGB0)) {
29654 } else {
29655 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10609);
29656 }
29657 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29658 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29659 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29660 stack_frame_head = fra.me.prev;
29661 return;
29662 }
29663 void parser___ReduceAction337___action(val_t p0, val_t p1){
29664 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29665 val_t REGB0;
29666 val_t tmp;
29667 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29668 fra.me.file = LOCATE_parser;
29669 fra.me.line = 10614;
29670 fra.me.meth = LOCATE_parser___ReduceAction337___action;
29671 fra.me.has_broke = 0;
29672 fra.me.REG_size = 4;
29673 fra.me.nitni_local_ref_head = NULL;
29674 fra.me.REG[0] = NIT_NULL;
29675 fra.me.REG[1] = NIT_NULL;
29676 fra.me.REG[2] = NIT_NULL;
29677 fra.me.REG[3] = NIT_NULL;
29678 fra.me.REG[0] = p0;
29679 fra.me.REG[1] = p1;
29680 /* parser/parser.nit:10616 */
29681 fra.me.REG[2] = NIT_NULL;
29682 /* parser/parser.nit:10617 */
29683 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29684 /* parser/parser.nit:10618 */
29685 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29686 /* parser/parser.nit:10620 */
29687 fra.me.REG[2] = fra.me.REG[3];
29688 /* parser/parser.nit:10621 */
29689 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29690 if (UNTAG_Bool(REGB0)) {
29691 } else {
29692 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10621);
29693 }
29694 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29695 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29696 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29697 stack_frame_head = fra.me.prev;
29698 return;
29699 }
29700 void parser___ReduceAction341___action(val_t p0, val_t p1){
29701 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
29702 val_t REGB0;
29703 val_t tmp;
29704 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29705 fra.me.file = LOCATE_parser;
29706 fra.me.line = 10626;
29707 fra.me.meth = LOCATE_parser___ReduceAction341___action;
29708 fra.me.has_broke = 0;
29709 fra.me.REG_size = 7;
29710 fra.me.nitni_local_ref_head = NULL;
29711 fra.me.REG[0] = NIT_NULL;
29712 fra.me.REG[1] = NIT_NULL;
29713 fra.me.REG[2] = NIT_NULL;
29714 fra.me.REG[3] = NIT_NULL;
29715 fra.me.REG[4] = NIT_NULL;
29716 fra.me.REG[5] = NIT_NULL;
29717 fra.me.REG[6] = NIT_NULL;
29718 fra.me.REG[0] = p0;
29719 fra.me.REG[1] = p1;
29720 /* parser/parser.nit:10628 */
29721 fra.me.REG[2] = NIT_NULL;
29722 /* parser/parser.nit:10629 */
29723 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29724 /* parser/parser.nit:10630 */
29725 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29726 /* parser/parser.nit:10631 */
29727 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29728 /* parser/parser.nit:10632 */
29729 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
29730 /* parser/parser.nit:10634 */
29731 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29732 if (UNTAG_Bool(REGB0)) {
29733 } else {
29734 nit_abort("Assert failed", NULL, LOCATE_parser, 10634);
29735 }
29736 /* parser/parser.nit:10636 */
29737 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
29738 if (UNTAG_Bool(REGB0)) {
29739 } else {
29740 nit_abort("Assert failed", NULL, LOCATE_parser, 10636);
29741 }
29742 /* parser/parser.nit:10638 */
29743 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
29744 if (UNTAG_Bool(REGB0)) {
29745 } else {
29746 nit_abort("Assert failed", NULL, LOCATE_parser, 10638);
29747 }
29748 /* parser/parser.nit:10639 */
29749 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
29750 fra.me.REG[6] = fra.me.REG[3];
29751 /* parser/parser.nit:10640 */
29752 fra.me.REG[6] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
29753 /* parser/parser.nit:10645 */
29754 fra.me.REG[2] = fra.me.REG[6];
29755 /* parser/parser.nit:10646 */
29756 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29757 if (UNTAG_Bool(REGB0)) {
29758 } else {
29759 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10646);
29760 }
29761 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29762 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29763 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29764 stack_frame_head = fra.me.prev;
29765 return;
29766 }
29767 void parser___ReduceAction343___action(val_t p0, val_t p1){
29768 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29769 val_t REGB0;
29770 val_t tmp;
29771 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29772 fra.me.file = LOCATE_parser;
29773 fra.me.line = 10651;
29774 fra.me.meth = LOCATE_parser___ReduceAction343___action;
29775 fra.me.has_broke = 0;
29776 fra.me.REG_size = 9;
29777 fra.me.nitni_local_ref_head = NULL;
29778 fra.me.REG[0] = NIT_NULL;
29779 fra.me.REG[1] = NIT_NULL;
29780 fra.me.REG[2] = NIT_NULL;
29781 fra.me.REG[3] = NIT_NULL;
29782 fra.me.REG[4] = NIT_NULL;
29783 fra.me.REG[5] = NIT_NULL;
29784 fra.me.REG[6] = NIT_NULL;
29785 fra.me.REG[7] = NIT_NULL;
29786 fra.me.REG[8] = NIT_NULL;
29787 fra.me.REG[0] = p0;
29788 fra.me.REG[1] = p1;
29789 /* parser/parser.nit:10653 */
29790 fra.me.REG[2] = NIT_NULL;
29791 /* parser/parser.nit:10654 */
29792 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29793 /* parser/parser.nit:10655 */
29794 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29795 /* parser/parser.nit:10656 */
29796 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29797 /* parser/parser.nit:10657 */
29798 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29799 /* parser/parser.nit:10658 */
29800 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29801 /* parser/parser.nit:10659 */
29802 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29803 /* parser/parser.nit:10660 */
29804 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29805 /* parser/parser.nit:10661 */
29806 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29807 /* parser/parser.nit:10662 */
29808 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29809 /* parser/parser.nit:10663 */
29810 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29811 /* parser/parser.nit:10664 */
29812 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29813 /* parser/parser.nit:10666 */
29814 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwif, ID_parser___parser_nodes___TKwif)) /*cast nullable TKwif*/;
29815 if (UNTAG_Bool(REGB0)) {
29816 } else {
29817 nit_abort("Assert failed", NULL, LOCATE_parser, 10666);
29818 }
29819 /* parser/parser.nit:10668 */
29820 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29821 if (UNTAG_Bool(REGB0)) {
29822 } else {
29823 nit_abort("Assert failed", NULL, LOCATE_parser, 10668);
29824 }
29825 /* parser/parser.nit:10670 */
29826 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwthen, ID_parser___parser_nodes___TKwthen)) /*cast nullable TKwthen*/;
29827 if (UNTAG_Bool(REGB0)) {
29828 } else {
29829 nit_abort("Assert failed", NULL, LOCATE_parser, 10670);
29830 }
29831 /* parser/parser.nit:10672 */
29832 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29833 if (UNTAG_Bool(REGB0)) {
29834 } else {
29835 nit_abort("Assert failed", NULL, LOCATE_parser, 10672);
29836 }
29837 /* parser/parser.nit:10674 */
29838 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwelse, ID_parser___parser_nodes___TKwelse)) /*cast nullable TKwelse*/;
29839 if (UNTAG_Bool(REGB0)) {
29840 } else {
29841 nit_abort("Assert failed", NULL, LOCATE_parser, 10674);
29842 }
29843 /* parser/parser.nit:10676 */
29844 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29845 if (UNTAG_Bool(REGB0)) {
29846 } else {
29847 nit_abort("Assert failed", NULL, LOCATE_parser, 10676);
29848 }
29849 /* parser/parser.nit:10677 */
29850 fra.me.REG[3] = NEW_AIfexprExpr_parser___parser_prod___AIfexprExpr___init_aifexprexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
29851 /* parser/parser.nit:10685 */
29852 fra.me.REG[2] = fra.me.REG[3];
29853 /* parser/parser.nit:10686 */
29854 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29855 if (UNTAG_Bool(REGB0)) {
29856 } else {
29857 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10686);
29858 }
29859 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29860 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29861 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29862 stack_frame_head = fra.me.prev;
29863 return;
29864 }
29865 void parser___ReduceAction345___action(val_t p0, val_t p1){
29866 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29867 val_t REGB0;
29868 val_t tmp;
29869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29870 fra.me.file = LOCATE_parser;
29871 fra.me.line = 10691;
29872 fra.me.meth = LOCATE_parser___ReduceAction345___action;
29873 fra.me.has_broke = 0;
29874 fra.me.REG_size = 5;
29875 fra.me.nitni_local_ref_head = NULL;
29876 fra.me.REG[0] = NIT_NULL;
29877 fra.me.REG[1] = NIT_NULL;
29878 fra.me.REG[2] = NIT_NULL;
29879 fra.me.REG[3] = NIT_NULL;
29880 fra.me.REG[4] = NIT_NULL;
29881 fra.me.REG[0] = p0;
29882 fra.me.REG[1] = p1;
29883 /* parser/parser.nit:10693 */
29884 fra.me.REG[2] = NIT_NULL;
29885 /* parser/parser.nit:10694 */
29886 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29887 /* parser/parser.nit:10695 */
29888 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29889 /* parser/parser.nit:10696 */
29890 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29891 /* parser/parser.nit:10697 */
29892 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29893 /* parser/parser.nit:10699 */
29894 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29895 if (UNTAG_Bool(REGB0)) {
29896 } else {
29897 nit_abort("Assert failed", NULL, LOCATE_parser, 10699);
29898 }
29899 /* parser/parser.nit:10701 */
29900 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29901 if (UNTAG_Bool(REGB0)) {
29902 } else {
29903 nit_abort("Assert failed", NULL, LOCATE_parser, 10701);
29904 }
29905 /* parser/parser.nit:10702 */
29906 fra.me.REG[3] = NEW_AOrExpr_parser___parser_prod___AOrExpr___init_aorexpr(fra.me.REG[4], fra.me.REG[3]);
29907 /* parser/parser.nit:10706 */
29908 fra.me.REG[2] = fra.me.REG[3];
29909 /* parser/parser.nit:10707 */
29910 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29911 if (UNTAG_Bool(REGB0)) {
29912 } else {
29913 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10707);
29914 }
29915 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29916 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29917 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29918 stack_frame_head = fra.me.prev;
29919 return;
29920 }
29921 void parser___ReduceAction346___action(val_t p0, val_t p1){
29922 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29923 val_t REGB0;
29924 val_t tmp;
29925 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29926 fra.me.file = LOCATE_parser;
29927 fra.me.line = 10712;
29928 fra.me.meth = LOCATE_parser___ReduceAction346___action;
29929 fra.me.has_broke = 0;
29930 fra.me.REG_size = 5;
29931 fra.me.nitni_local_ref_head = NULL;
29932 fra.me.REG[0] = NIT_NULL;
29933 fra.me.REG[1] = NIT_NULL;
29934 fra.me.REG[2] = NIT_NULL;
29935 fra.me.REG[3] = NIT_NULL;
29936 fra.me.REG[4] = NIT_NULL;
29937 fra.me.REG[0] = p0;
29938 fra.me.REG[1] = p1;
29939 /* parser/parser.nit:10714 */
29940 fra.me.REG[2] = NIT_NULL;
29941 /* parser/parser.nit:10715 */
29942 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29943 /* parser/parser.nit:10716 */
29944 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29945 /* parser/parser.nit:10717 */
29946 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29947 /* parser/parser.nit:10718 */
29948 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29949 /* parser/parser.nit:10720 */
29950 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29951 if (UNTAG_Bool(REGB0)) {
29952 } else {
29953 nit_abort("Assert failed", NULL, LOCATE_parser, 10720);
29954 }
29955 /* parser/parser.nit:10722 */
29956 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
29957 if (UNTAG_Bool(REGB0)) {
29958 } else {
29959 nit_abort("Assert failed", NULL, LOCATE_parser, 10722);
29960 }
29961 /* parser/parser.nit:10723 */
29962 fra.me.REG[3] = NEW_AAndExpr_parser___parser_prod___AAndExpr___init_aandexpr(fra.me.REG[4], fra.me.REG[3]);
29963 /* parser/parser.nit:10727 */
29964 fra.me.REG[2] = fra.me.REG[3];
29965 /* parser/parser.nit:10728 */
29966 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29967 if (UNTAG_Bool(REGB0)) {
29968 } else {
29969 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10728);
29970 }
29971 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29972 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29973 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29974 stack_frame_head = fra.me.prev;
29975 return;
29976 }
29977 void parser___ReduceAction347___action(val_t p0, val_t p1){
29978 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29979 val_t REGB0;
29980 val_t tmp;
29981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29982 fra.me.file = LOCATE_parser;
29983 fra.me.line = 10733;
29984 fra.me.meth = LOCATE_parser___ReduceAction347___action;
29985 fra.me.has_broke = 0;
29986 fra.me.REG_size = 5;
29987 fra.me.nitni_local_ref_head = NULL;
29988 fra.me.REG[0] = NIT_NULL;
29989 fra.me.REG[1] = NIT_NULL;
29990 fra.me.REG[2] = NIT_NULL;
29991 fra.me.REG[3] = NIT_NULL;
29992 fra.me.REG[4] = NIT_NULL;
29993 fra.me.REG[0] = p0;
29994 fra.me.REG[1] = p1;
29995 /* parser/parser.nit:10735 */
29996 fra.me.REG[2] = NIT_NULL;
29997 /* parser/parser.nit:10736 */
29998 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29999 /* parser/parser.nit:10737 */
30000 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30001 /* parser/parser.nit:10738 */
30002 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30003 /* parser/parser.nit:10739 */
30004 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30005 /* parser/parser.nit:10740 */
30006 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30007 /* parser/parser.nit:10742 */
30008 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30009 if (UNTAG_Bool(REGB0)) {
30010 } else {
30011 nit_abort("Assert failed", NULL, LOCATE_parser, 10742);
30012 }
30013 /* parser/parser.nit:10744 */
30014 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30015 if (UNTAG_Bool(REGB0)) {
30016 } else {
30017 nit_abort("Assert failed", NULL, LOCATE_parser, 10744);
30018 }
30019 /* parser/parser.nit:10745 */
30020 fra.me.REG[3] = NEW_AOrElseExpr_parser___parser_prod___AOrElseExpr___init_aorelseexpr(fra.me.REG[4], fra.me.REG[3]);
30021 /* parser/parser.nit:10749 */
30022 fra.me.REG[2] = fra.me.REG[3];
30023 /* parser/parser.nit:10750 */
30024 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30025 if (UNTAG_Bool(REGB0)) {
30026 } else {
30027 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10750);
30028 }
30029 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30030 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30031 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30032 stack_frame_head = fra.me.prev;
30033 return;
30034 }
30035 void parser___ReduceAction349___action(val_t p0, val_t p1){
30036 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30037 val_t REGB0;
30038 val_t tmp;
30039 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30040 fra.me.file = LOCATE_parser;
30041 fra.me.line = 10755;
30042 fra.me.meth = LOCATE_parser___ReduceAction349___action;
30043 fra.me.has_broke = 0;
30044 fra.me.REG_size = 5;
30045 fra.me.nitni_local_ref_head = NULL;
30046 fra.me.REG[0] = NIT_NULL;
30047 fra.me.REG[1] = NIT_NULL;
30048 fra.me.REG[2] = NIT_NULL;
30049 fra.me.REG[3] = NIT_NULL;
30050 fra.me.REG[4] = NIT_NULL;
30051 fra.me.REG[0] = p0;
30052 fra.me.REG[1] = p1;
30053 /* parser/parser.nit:10757 */
30054 fra.me.REG[2] = NIT_NULL;
30055 /* parser/parser.nit:10758 */
30056 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30057 /* parser/parser.nit:10759 */
30058 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30059 /* parser/parser.nit:10760 */
30060 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30061 /* parser/parser.nit:10762 */
30062 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnot, ID_parser___parser_nodes___TKwnot)) /*cast nullable TKwnot*/;
30063 if (UNTAG_Bool(REGB0)) {
30064 } else {
30065 nit_abort("Assert failed", NULL, LOCATE_parser, 10762);
30066 }
30067 /* parser/parser.nit:10764 */
30068 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30069 if (UNTAG_Bool(REGB0)) {
30070 } else {
30071 nit_abort("Assert failed", NULL, LOCATE_parser, 10764);
30072 }
30073 /* parser/parser.nit:10765 */
30074 fra.me.REG[3] = NEW_ANotExpr_parser___parser_prod___ANotExpr___init_anotexpr(fra.me.REG[4], fra.me.REG[3]);
30075 /* parser/parser.nit:10769 */
30076 fra.me.REG[2] = fra.me.REG[3];
30077 /* parser/parser.nit:10770 */
30078 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30079 if (UNTAG_Bool(REGB0)) {
30080 } else {
30081 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10770);
30082 }
30083 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30084 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30085 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30086 stack_frame_head = fra.me.prev;
30087 return;
30088 }
30089 void parser___ReduceAction351___action(val_t p0, val_t p1){
30090 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30091 val_t REGB0;
30092 val_t tmp;
30093 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30094 fra.me.file = LOCATE_parser;
30095 fra.me.line = 10775;
30096 fra.me.meth = LOCATE_parser___ReduceAction351___action;
30097 fra.me.has_broke = 0;
30098 fra.me.REG_size = 5;
30099 fra.me.nitni_local_ref_head = NULL;
30100 fra.me.REG[0] = NIT_NULL;
30101 fra.me.REG[1] = NIT_NULL;
30102 fra.me.REG[2] = NIT_NULL;
30103 fra.me.REG[3] = NIT_NULL;
30104 fra.me.REG[4] = NIT_NULL;
30105 fra.me.REG[0] = p0;
30106 fra.me.REG[1] = p1;
30107 /* parser/parser.nit:10777 */
30108 fra.me.REG[2] = NIT_NULL;
30109 /* parser/parser.nit:10778 */
30110 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30111 /* parser/parser.nit:10779 */
30112 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30113 /* parser/parser.nit:10780 */
30114 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30115 /* parser/parser.nit:10781 */
30116 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30117 /* parser/parser.nit:10783 */
30118 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30119 if (UNTAG_Bool(REGB0)) {
30120 } else {
30121 nit_abort("Assert failed", NULL, LOCATE_parser, 10783);
30122 }
30123 /* parser/parser.nit:10785 */
30124 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30125 if (UNTAG_Bool(REGB0)) {
30126 } else {
30127 nit_abort("Assert failed", NULL, LOCATE_parser, 10785);
30128 }
30129 /* parser/parser.nit:10786 */
30130 fra.me.REG[3] = NEW_AEqExpr_parser___parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[4], fra.me.REG[3]);
30131 /* parser/parser.nit:10790 */
30132 fra.me.REG[2] = fra.me.REG[3];
30133 /* parser/parser.nit:10791 */
30134 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30135 if (UNTAG_Bool(REGB0)) {
30136 } else {
30137 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10791);
30138 }
30139 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30140 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30141 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30142 stack_frame_head = fra.me.prev;
30143 return;
30144 }
30145 void parser___ReduceAction352___action(val_t p0, val_t p1){
30146 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30147 val_t REGB0;
30148 val_t tmp;
30149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30150 fra.me.file = LOCATE_parser;
30151 fra.me.line = 10796;
30152 fra.me.meth = LOCATE_parser___ReduceAction352___action;
30153 fra.me.has_broke = 0;
30154 fra.me.REG_size = 5;
30155 fra.me.nitni_local_ref_head = NULL;
30156 fra.me.REG[0] = NIT_NULL;
30157 fra.me.REG[1] = NIT_NULL;
30158 fra.me.REG[2] = NIT_NULL;
30159 fra.me.REG[3] = NIT_NULL;
30160 fra.me.REG[4] = NIT_NULL;
30161 fra.me.REG[0] = p0;
30162 fra.me.REG[1] = p1;
30163 /* parser/parser.nit:10798 */
30164 fra.me.REG[2] = NIT_NULL;
30165 /* parser/parser.nit:10799 */
30166 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30167 /* parser/parser.nit:10800 */
30168 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30169 /* parser/parser.nit:10801 */
30170 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30171 /* parser/parser.nit:10802 */
30172 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30173 /* parser/parser.nit:10804 */
30174 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30175 if (UNTAG_Bool(REGB0)) {
30176 } else {
30177 nit_abort("Assert failed", NULL, LOCATE_parser, 10804);
30178 }
30179 /* parser/parser.nit:10806 */
30180 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30181 if (UNTAG_Bool(REGB0)) {
30182 } else {
30183 nit_abort("Assert failed", NULL, LOCATE_parser, 10806);
30184 }
30185 /* parser/parser.nit:10807 */
30186 fra.me.REG[3] = NEW_AEeExpr_parser___parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[4], fra.me.REG[3]);
30187 /* parser/parser.nit:10811 */
30188 fra.me.REG[2] = fra.me.REG[3];
30189 /* parser/parser.nit:10812 */
30190 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30191 if (UNTAG_Bool(REGB0)) {
30192 } else {
30193 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10812);
30194 }
30195 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30196 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30197 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30198 stack_frame_head = fra.me.prev;
30199 return;
30200 }
30201 void parser___ReduceAction353___action(val_t p0, val_t p1){
30202 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30203 val_t REGB0;
30204 val_t tmp;
30205 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30206 fra.me.file = LOCATE_parser;
30207 fra.me.line = 10817;
30208 fra.me.meth = LOCATE_parser___ReduceAction353___action;
30209 fra.me.has_broke = 0;
30210 fra.me.REG_size = 5;
30211 fra.me.nitni_local_ref_head = NULL;
30212 fra.me.REG[0] = NIT_NULL;
30213 fra.me.REG[1] = NIT_NULL;
30214 fra.me.REG[2] = NIT_NULL;
30215 fra.me.REG[3] = NIT_NULL;
30216 fra.me.REG[4] = NIT_NULL;
30217 fra.me.REG[0] = p0;
30218 fra.me.REG[1] = p1;
30219 /* parser/parser.nit:10819 */
30220 fra.me.REG[2] = NIT_NULL;
30221 /* parser/parser.nit:10820 */
30222 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30223 /* parser/parser.nit:10821 */
30224 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30225 /* parser/parser.nit:10822 */
30226 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30227 /* parser/parser.nit:10823 */
30228 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30229 /* parser/parser.nit:10825 */
30230 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30231 if (UNTAG_Bool(REGB0)) {
30232 } else {
30233 nit_abort("Assert failed", NULL, LOCATE_parser, 10825);
30234 }
30235 /* parser/parser.nit:10827 */
30236 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30237 if (UNTAG_Bool(REGB0)) {
30238 } else {
30239 nit_abort("Assert failed", NULL, LOCATE_parser, 10827);
30240 }
30241 /* parser/parser.nit:10828 */
30242 fra.me.REG[3] = NEW_ANeExpr_parser___parser_prod___ANeExpr___init_aneexpr(fra.me.REG[4], fra.me.REG[3]);
30243 /* parser/parser.nit:10832 */
30244 fra.me.REG[2] = fra.me.REG[3];
30245 /* parser/parser.nit:10833 */
30246 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30247 if (UNTAG_Bool(REGB0)) {
30248 } else {
30249 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10833);
30250 }
30251 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30252 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30253 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30254 stack_frame_head = fra.me.prev;
30255 return;
30256 }
30257 void parser___ReduceAction354___action(val_t p0, val_t p1){
30258 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30259 val_t REGB0;
30260 val_t tmp;
30261 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30262 fra.me.file = LOCATE_parser;
30263 fra.me.line = 10838;
30264 fra.me.meth = LOCATE_parser___ReduceAction354___action;
30265 fra.me.has_broke = 0;
30266 fra.me.REG_size = 5;
30267 fra.me.nitni_local_ref_head = NULL;
30268 fra.me.REG[0] = NIT_NULL;
30269 fra.me.REG[1] = NIT_NULL;
30270 fra.me.REG[2] = NIT_NULL;
30271 fra.me.REG[3] = NIT_NULL;
30272 fra.me.REG[4] = NIT_NULL;
30273 fra.me.REG[0] = p0;
30274 fra.me.REG[1] = p1;
30275 /* parser/parser.nit:10840 */
30276 fra.me.REG[2] = NIT_NULL;
30277 /* parser/parser.nit:10841 */
30278 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30279 /* parser/parser.nit:10842 */
30280 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30281 /* parser/parser.nit:10843 */
30282 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30283 /* parser/parser.nit:10844 */
30284 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30285 /* parser/parser.nit:10846 */
30286 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30287 if (UNTAG_Bool(REGB0)) {
30288 } else {
30289 nit_abort("Assert failed", NULL, LOCATE_parser, 10846);
30290 }
30291 /* parser/parser.nit:10848 */
30292 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30293 if (UNTAG_Bool(REGB0)) {
30294 } else {
30295 nit_abort("Assert failed", NULL, LOCATE_parser, 10848);
30296 }
30297 /* parser/parser.nit:10849 */
30298 fra.me.REG[3] = NEW_ALtExpr_parser___parser_prod___ALtExpr___init_altexpr(fra.me.REG[4], fra.me.REG[3]);
30299 /* parser/parser.nit:10853 */
30300 fra.me.REG[2] = fra.me.REG[3];
30301 /* parser/parser.nit:10854 */
30302 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30303 if (UNTAG_Bool(REGB0)) {
30304 } else {
30305 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10854);
30306 }
30307 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30308 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30309 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30310 stack_frame_head = fra.me.prev;
30311 return;
30312 }
30313 void parser___ReduceAction355___action(val_t p0, val_t p1){
30314 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30315 val_t REGB0;
30316 val_t tmp;
30317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30318 fra.me.file = LOCATE_parser;
30319 fra.me.line = 10859;
30320 fra.me.meth = LOCATE_parser___ReduceAction355___action;
30321 fra.me.has_broke = 0;
30322 fra.me.REG_size = 5;
30323 fra.me.nitni_local_ref_head = NULL;
30324 fra.me.REG[0] = NIT_NULL;
30325 fra.me.REG[1] = NIT_NULL;
30326 fra.me.REG[2] = NIT_NULL;
30327 fra.me.REG[3] = NIT_NULL;
30328 fra.me.REG[4] = NIT_NULL;
30329 fra.me.REG[0] = p0;
30330 fra.me.REG[1] = p1;
30331 /* parser/parser.nit:10861 */
30332 fra.me.REG[2] = NIT_NULL;
30333 /* parser/parser.nit:10862 */
30334 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30335 /* parser/parser.nit:10863 */
30336 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30337 /* parser/parser.nit:10864 */
30338 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30339 /* parser/parser.nit:10865 */
30340 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30341 /* parser/parser.nit:10867 */
30342 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30343 if (UNTAG_Bool(REGB0)) {
30344 } else {
30345 nit_abort("Assert failed", NULL, LOCATE_parser, 10867);
30346 }
30347 /* parser/parser.nit:10869 */
30348 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30349 if (UNTAG_Bool(REGB0)) {
30350 } else {
30351 nit_abort("Assert failed", NULL, LOCATE_parser, 10869);
30352 }
30353 /* parser/parser.nit:10870 */
30354 fra.me.REG[3] = NEW_ALeExpr_parser___parser_prod___ALeExpr___init_aleexpr(fra.me.REG[4], fra.me.REG[3]);
30355 /* parser/parser.nit:10874 */
30356 fra.me.REG[2] = fra.me.REG[3];
30357 /* parser/parser.nit:10875 */
30358 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30359 if (UNTAG_Bool(REGB0)) {
30360 } else {
30361 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10875);
30362 }
30363 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30364 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30365 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30366 stack_frame_head = fra.me.prev;
30367 return;
30368 }
30369 void parser___ReduceAction356___action(val_t p0, val_t p1){
30370 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30371 val_t REGB0;
30372 val_t tmp;
30373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30374 fra.me.file = LOCATE_parser;
30375 fra.me.line = 10880;
30376 fra.me.meth = LOCATE_parser___ReduceAction356___action;
30377 fra.me.has_broke = 0;
30378 fra.me.REG_size = 5;
30379 fra.me.nitni_local_ref_head = NULL;
30380 fra.me.REG[0] = NIT_NULL;
30381 fra.me.REG[1] = NIT_NULL;
30382 fra.me.REG[2] = NIT_NULL;
30383 fra.me.REG[3] = NIT_NULL;
30384 fra.me.REG[4] = NIT_NULL;
30385 fra.me.REG[0] = p0;
30386 fra.me.REG[1] = p1;
30387 /* parser/parser.nit:10882 */
30388 fra.me.REG[2] = NIT_NULL;
30389 /* parser/parser.nit:10883 */
30390 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30391 /* parser/parser.nit:10884 */
30392 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30393 /* parser/parser.nit:10885 */
30394 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30395 /* parser/parser.nit:10886 */
30396 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30397 /* parser/parser.nit:10888 */
30398 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30399 if (UNTAG_Bool(REGB0)) {
30400 } else {
30401 nit_abort("Assert failed", NULL, LOCATE_parser, 10888);
30402 }
30403 /* parser/parser.nit:10890 */
30404 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30405 if (UNTAG_Bool(REGB0)) {
30406 } else {
30407 nit_abort("Assert failed", NULL, LOCATE_parser, 10890);
30408 }
30409 /* parser/parser.nit:10891 */
30410 fra.me.REG[3] = NEW_ALlExpr_parser___parser_prod___ALlExpr___init_allexpr(fra.me.REG[4], fra.me.REG[3]);
30411 /* parser/parser.nit:10895 */
30412 fra.me.REG[2] = fra.me.REG[3];
30413 /* parser/parser.nit:10896 */
30414 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30415 if (UNTAG_Bool(REGB0)) {
30416 } else {
30417 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10896);
30418 }
30419 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30420 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30421 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30422 stack_frame_head = fra.me.prev;
30423 return;
30424 }
30425 void parser___ReduceAction357___action(val_t p0, val_t p1){
30426 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30427 val_t REGB0;
30428 val_t tmp;
30429 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30430 fra.me.file = LOCATE_parser;
30431 fra.me.line = 10901;
30432 fra.me.meth = LOCATE_parser___ReduceAction357___action;
30433 fra.me.has_broke = 0;
30434 fra.me.REG_size = 5;
30435 fra.me.nitni_local_ref_head = NULL;
30436 fra.me.REG[0] = NIT_NULL;
30437 fra.me.REG[1] = NIT_NULL;
30438 fra.me.REG[2] = NIT_NULL;
30439 fra.me.REG[3] = NIT_NULL;
30440 fra.me.REG[4] = NIT_NULL;
30441 fra.me.REG[0] = p0;
30442 fra.me.REG[1] = p1;
30443 /* parser/parser.nit:10903 */
30444 fra.me.REG[2] = NIT_NULL;
30445 /* parser/parser.nit:10904 */
30446 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30447 /* parser/parser.nit:10905 */
30448 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30449 /* parser/parser.nit:10906 */
30450 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30451 /* parser/parser.nit:10907 */
30452 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30453 /* parser/parser.nit:10909 */
30454 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30455 if (UNTAG_Bool(REGB0)) {
30456 } else {
30457 nit_abort("Assert failed", NULL, LOCATE_parser, 10909);
30458 }
30459 /* parser/parser.nit:10911 */
30460 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30461 if (UNTAG_Bool(REGB0)) {
30462 } else {
30463 nit_abort("Assert failed", NULL, LOCATE_parser, 10911);
30464 }
30465 /* parser/parser.nit:10912 */
30466 fra.me.REG[3] = NEW_AGtExpr_parser___parser_prod___AGtExpr___init_agtexpr(fra.me.REG[4], fra.me.REG[3]);
30467 /* parser/parser.nit:10916 */
30468 fra.me.REG[2] = fra.me.REG[3];
30469 /* parser/parser.nit:10917 */
30470 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30471 if (UNTAG_Bool(REGB0)) {
30472 } else {
30473 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10917);
30474 }
30475 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30476 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30477 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30478 stack_frame_head = fra.me.prev;
30479 return;
30480 }
30481 void parser___ReduceAction358___action(val_t p0, val_t p1){
30482 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30483 val_t REGB0;
30484 val_t tmp;
30485 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30486 fra.me.file = LOCATE_parser;
30487 fra.me.line = 10922;
30488 fra.me.meth = LOCATE_parser___ReduceAction358___action;
30489 fra.me.has_broke = 0;
30490 fra.me.REG_size = 5;
30491 fra.me.nitni_local_ref_head = NULL;
30492 fra.me.REG[0] = NIT_NULL;
30493 fra.me.REG[1] = NIT_NULL;
30494 fra.me.REG[2] = NIT_NULL;
30495 fra.me.REG[3] = NIT_NULL;
30496 fra.me.REG[4] = NIT_NULL;
30497 fra.me.REG[0] = p0;
30498 fra.me.REG[1] = p1;
30499 /* parser/parser.nit:10924 */
30500 fra.me.REG[2] = NIT_NULL;
30501 /* parser/parser.nit:10925 */
30502 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30503 /* parser/parser.nit:10926 */
30504 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30505 /* parser/parser.nit:10927 */
30506 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30507 /* parser/parser.nit:10928 */
30508 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30509 /* parser/parser.nit:10930 */
30510 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30511 if (UNTAG_Bool(REGB0)) {
30512 } else {
30513 nit_abort("Assert failed", NULL, LOCATE_parser, 10930);
30514 }
30515 /* parser/parser.nit:10932 */
30516 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30517 if (UNTAG_Bool(REGB0)) {
30518 } else {
30519 nit_abort("Assert failed", NULL, LOCATE_parser, 10932);
30520 }
30521 /* parser/parser.nit:10933 */
30522 fra.me.REG[3] = NEW_AGeExpr_parser___parser_prod___AGeExpr___init_ageexpr(fra.me.REG[4], fra.me.REG[3]);
30523 /* parser/parser.nit:10937 */
30524 fra.me.REG[2] = fra.me.REG[3];
30525 /* parser/parser.nit:10938 */
30526 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30527 if (UNTAG_Bool(REGB0)) {
30528 } else {
30529 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10938);
30530 }
30531 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30532 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30533 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30534 stack_frame_head = fra.me.prev;
30535 return;
30536 }
30537 void parser___ReduceAction359___action(val_t p0, val_t p1){
30538 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30539 val_t REGB0;
30540 val_t tmp;
30541 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30542 fra.me.file = LOCATE_parser;
30543 fra.me.line = 10943;
30544 fra.me.meth = LOCATE_parser___ReduceAction359___action;
30545 fra.me.has_broke = 0;
30546 fra.me.REG_size = 5;
30547 fra.me.nitni_local_ref_head = NULL;
30548 fra.me.REG[0] = NIT_NULL;
30549 fra.me.REG[1] = NIT_NULL;
30550 fra.me.REG[2] = NIT_NULL;
30551 fra.me.REG[3] = NIT_NULL;
30552 fra.me.REG[4] = NIT_NULL;
30553 fra.me.REG[0] = p0;
30554 fra.me.REG[1] = p1;
30555 /* parser/parser.nit:10945 */
30556 fra.me.REG[2] = NIT_NULL;
30557 /* parser/parser.nit:10946 */
30558 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30559 /* parser/parser.nit:10947 */
30560 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30561 /* parser/parser.nit:10948 */
30562 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30563 /* parser/parser.nit:10949 */
30564 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30565 /* parser/parser.nit:10951 */
30566 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30567 if (UNTAG_Bool(REGB0)) {
30568 } else {
30569 nit_abort("Assert failed", NULL, LOCATE_parser, 10951);
30570 }
30571 /* parser/parser.nit:10953 */
30572 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30573 if (UNTAG_Bool(REGB0)) {
30574 } else {
30575 nit_abort("Assert failed", NULL, LOCATE_parser, 10953);
30576 }
30577 /* parser/parser.nit:10954 */
30578 fra.me.REG[3] = NEW_AGgExpr_parser___parser_prod___AGgExpr___init_aggexpr(fra.me.REG[4], fra.me.REG[3]);
30579 /* parser/parser.nit:10958 */
30580 fra.me.REG[2] = fra.me.REG[3];
30581 /* parser/parser.nit:10959 */
30582 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30583 if (UNTAG_Bool(REGB0)) {
30584 } else {
30585 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10959);
30586 }
30587 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30588 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30589 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30590 stack_frame_head = fra.me.prev;
30591 return;
30592 }
30593 void parser___ReduceAction360___action(val_t p0, val_t p1){
30594 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30595 val_t REGB0;
30596 val_t tmp;
30597 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30598 fra.me.file = LOCATE_parser;
30599 fra.me.line = 10964;
30600 fra.me.meth = LOCATE_parser___ReduceAction360___action;
30601 fra.me.has_broke = 0;
30602 fra.me.REG_size = 5;
30603 fra.me.nitni_local_ref_head = NULL;
30604 fra.me.REG[0] = NIT_NULL;
30605 fra.me.REG[1] = NIT_NULL;
30606 fra.me.REG[2] = NIT_NULL;
30607 fra.me.REG[3] = NIT_NULL;
30608 fra.me.REG[4] = NIT_NULL;
30609 fra.me.REG[0] = p0;
30610 fra.me.REG[1] = p1;
30611 /* parser/parser.nit:10966 */
30612 fra.me.REG[2] = NIT_NULL;
30613 /* parser/parser.nit:10967 */
30614 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30615 /* parser/parser.nit:10968 */
30616 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30617 /* parser/parser.nit:10969 */
30618 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30619 /* parser/parser.nit:10970 */
30620 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30621 /* parser/parser.nit:10972 */
30622 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30623 if (UNTAG_Bool(REGB0)) {
30624 } else {
30625 nit_abort("Assert failed", NULL, LOCATE_parser, 10972);
30626 }
30627 /* parser/parser.nit:10974 */
30628 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30629 if (UNTAG_Bool(REGB0)) {
30630 } else {
30631 nit_abort("Assert failed", NULL, LOCATE_parser, 10974);
30632 }
30633 /* parser/parser.nit:10975 */
30634 fra.me.REG[3] = NEW_AStarshipExpr_parser___parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[4], fra.me.REG[3]);
30635 /* parser/parser.nit:10979 */
30636 fra.me.REG[2] = fra.me.REG[3];
30637 /* parser/parser.nit:10980 */
30638 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30639 if (UNTAG_Bool(REGB0)) {
30640 } else {
30641 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10980);
30642 }
30643 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30644 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30645 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30646 stack_frame_head = fra.me.prev;
30647 return;
30648 }
30649 void parser___ReduceAction361___action(val_t p0, val_t p1){
30650 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30651 val_t REGB0;
30652 val_t tmp;
30653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30654 fra.me.file = LOCATE_parser;
30655 fra.me.line = 10985;
30656 fra.me.meth = LOCATE_parser___ReduceAction361___action;
30657 fra.me.has_broke = 0;
30658 fra.me.REG_size = 5;
30659 fra.me.nitni_local_ref_head = NULL;
30660 fra.me.REG[0] = NIT_NULL;
30661 fra.me.REG[1] = NIT_NULL;
30662 fra.me.REG[2] = NIT_NULL;
30663 fra.me.REG[3] = NIT_NULL;
30664 fra.me.REG[4] = NIT_NULL;
30665 fra.me.REG[0] = p0;
30666 fra.me.REG[1] = p1;
30667 /* parser/parser.nit:10987 */
30668 fra.me.REG[2] = NIT_NULL;
30669 /* parser/parser.nit:10988 */
30670 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30671 /* parser/parser.nit:10989 */
30672 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30673 /* parser/parser.nit:10990 */
30674 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30675 /* parser/parser.nit:10991 */
30676 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30677 /* parser/parser.nit:10993 */
30678 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30679 if (UNTAG_Bool(REGB0)) {
30680 } else {
30681 nit_abort("Assert failed", NULL, LOCATE_parser, 10993);
30682 }
30683 /* parser/parser.nit:10995 */
30684 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
30685 if (UNTAG_Bool(REGB0)) {
30686 } else {
30687 nit_abort("Assert failed", NULL, LOCATE_parser, 10995);
30688 }
30689 /* parser/parser.nit:10996 */
30690 fra.me.REG[3] = NEW_AIsaExpr_parser___parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[4], fra.me.REG[3]);
30691 /* parser/parser.nit:11000 */
30692 fra.me.REG[2] = fra.me.REG[3];
30693 /* parser/parser.nit:11001 */
30694 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30695 if (UNTAG_Bool(REGB0)) {
30696 } else {
30697 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11001);
30698 }
30699 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30700 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30701 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30702 stack_frame_head = fra.me.prev;
30703 return;
30704 }
30705 void parser___ReduceAction363___action(val_t p0, val_t p1){
30706 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30707 val_t REGB0;
30708 val_t tmp;
30709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30710 fra.me.file = LOCATE_parser;
30711 fra.me.line = 11006;
30712 fra.me.meth = LOCATE_parser___ReduceAction363___action;
30713 fra.me.has_broke = 0;
30714 fra.me.REG_size = 5;
30715 fra.me.nitni_local_ref_head = NULL;
30716 fra.me.REG[0] = NIT_NULL;
30717 fra.me.REG[1] = NIT_NULL;
30718 fra.me.REG[2] = NIT_NULL;
30719 fra.me.REG[3] = NIT_NULL;
30720 fra.me.REG[4] = NIT_NULL;
30721 fra.me.REG[0] = p0;
30722 fra.me.REG[1] = p1;
30723 /* parser/parser.nit:11008 */
30724 fra.me.REG[2] = NIT_NULL;
30725 /* parser/parser.nit:11009 */
30726 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30727 /* parser/parser.nit:11010 */
30728 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30729 /* parser/parser.nit:11011 */
30730 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30731 /* parser/parser.nit:11012 */
30732 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30733 /* parser/parser.nit:11014 */
30734 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30735 if (UNTAG_Bool(REGB0)) {
30736 } else {
30737 nit_abort("Assert failed", NULL, LOCATE_parser, 11014);
30738 }
30739 /* parser/parser.nit:11016 */
30740 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30741 if (UNTAG_Bool(REGB0)) {
30742 } else {
30743 nit_abort("Assert failed", NULL, LOCATE_parser, 11016);
30744 }
30745 /* parser/parser.nit:11017 */
30746 fra.me.REG[3] = NEW_APlusExpr_parser___parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[4], fra.me.REG[3]);
30747 /* parser/parser.nit:11021 */
30748 fra.me.REG[2] = fra.me.REG[3];
30749 /* parser/parser.nit:11022 */
30750 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30751 if (UNTAG_Bool(REGB0)) {
30752 } else {
30753 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11022);
30754 }
30755 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30756 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30757 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30758 stack_frame_head = fra.me.prev;
30759 return;
30760 }
30761 void parser___ReduceAction364___action(val_t p0, val_t p1){
30762 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30763 val_t REGB0;
30764 val_t tmp;
30765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30766 fra.me.file = LOCATE_parser;
30767 fra.me.line = 11027;
30768 fra.me.meth = LOCATE_parser___ReduceAction364___action;
30769 fra.me.has_broke = 0;
30770 fra.me.REG_size = 5;
30771 fra.me.nitni_local_ref_head = NULL;
30772 fra.me.REG[0] = NIT_NULL;
30773 fra.me.REG[1] = NIT_NULL;
30774 fra.me.REG[2] = NIT_NULL;
30775 fra.me.REG[3] = NIT_NULL;
30776 fra.me.REG[4] = NIT_NULL;
30777 fra.me.REG[0] = p0;
30778 fra.me.REG[1] = p1;
30779 /* parser/parser.nit:11029 */
30780 fra.me.REG[2] = NIT_NULL;
30781 /* parser/parser.nit:11030 */
30782 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30783 /* parser/parser.nit:11031 */
30784 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30785 /* parser/parser.nit:11032 */
30786 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30787 /* parser/parser.nit:11033 */
30788 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30789 /* parser/parser.nit:11035 */
30790 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30791 if (UNTAG_Bool(REGB0)) {
30792 } else {
30793 nit_abort("Assert failed", NULL, LOCATE_parser, 11035);
30794 }
30795 /* parser/parser.nit:11037 */
30796 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30797 if (UNTAG_Bool(REGB0)) {
30798 } else {
30799 nit_abort("Assert failed", NULL, LOCATE_parser, 11037);
30800 }
30801 /* parser/parser.nit:11038 */
30802 fra.me.REG[3] = NEW_AMinusExpr_parser___parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[4], fra.me.REG[3]);
30803 /* parser/parser.nit:11042 */
30804 fra.me.REG[2] = fra.me.REG[3];
30805 /* parser/parser.nit:11043 */
30806 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30807 if (UNTAG_Bool(REGB0)) {
30808 } else {
30809 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11043);
30810 }
30811 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30812 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30813 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30814 stack_frame_head = fra.me.prev;
30815 return;
30816 }
30817 void parser___ReduceAction366___action(val_t p0, val_t p1){
30818 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30819 val_t REGB0;
30820 val_t tmp;
30821 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30822 fra.me.file = LOCATE_parser;
30823 fra.me.line = 11048;
30824 fra.me.meth = LOCATE_parser___ReduceAction366___action;
30825 fra.me.has_broke = 0;
30826 fra.me.REG_size = 5;
30827 fra.me.nitni_local_ref_head = NULL;
30828 fra.me.REG[0] = NIT_NULL;
30829 fra.me.REG[1] = NIT_NULL;
30830 fra.me.REG[2] = NIT_NULL;
30831 fra.me.REG[3] = NIT_NULL;
30832 fra.me.REG[4] = NIT_NULL;
30833 fra.me.REG[0] = p0;
30834 fra.me.REG[1] = p1;
30835 /* parser/parser.nit:11050 */
30836 fra.me.REG[2] = NIT_NULL;
30837 /* parser/parser.nit:11051 */
30838 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30839 /* parser/parser.nit:11052 */
30840 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30841 /* parser/parser.nit:11053 */
30842 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30843 /* parser/parser.nit:11054 */
30844 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30845 /* parser/parser.nit:11056 */
30846 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30847 if (UNTAG_Bool(REGB0)) {
30848 } else {
30849 nit_abort("Assert failed", NULL, LOCATE_parser, 11056);
30850 }
30851 /* parser/parser.nit:11058 */
30852 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30853 if (UNTAG_Bool(REGB0)) {
30854 } else {
30855 nit_abort("Assert failed", NULL, LOCATE_parser, 11058);
30856 }
30857 /* parser/parser.nit:11059 */
30858 fra.me.REG[3] = NEW_AStarExpr_parser___parser_prod___AStarExpr___init_astarexpr(fra.me.REG[4], fra.me.REG[3]);
30859 /* parser/parser.nit:11063 */
30860 fra.me.REG[2] = fra.me.REG[3];
30861 /* parser/parser.nit:11064 */
30862 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30863 if (UNTAG_Bool(REGB0)) {
30864 } else {
30865 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11064);
30866 }
30867 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30868 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30870 stack_frame_head = fra.me.prev;
30871 return;
30872 }
30873 void parser___ReduceAction367___action(val_t p0, val_t p1){
30874 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30875 val_t REGB0;
30876 val_t tmp;
30877 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30878 fra.me.file = LOCATE_parser;
30879 fra.me.line = 11069;
30880 fra.me.meth = LOCATE_parser___ReduceAction367___action;
30881 fra.me.has_broke = 0;
30882 fra.me.REG_size = 5;
30883 fra.me.nitni_local_ref_head = NULL;
30884 fra.me.REG[0] = NIT_NULL;
30885 fra.me.REG[1] = NIT_NULL;
30886 fra.me.REG[2] = NIT_NULL;
30887 fra.me.REG[3] = NIT_NULL;
30888 fra.me.REG[4] = NIT_NULL;
30889 fra.me.REG[0] = p0;
30890 fra.me.REG[1] = p1;
30891 /* parser/parser.nit:11071 */
30892 fra.me.REG[2] = NIT_NULL;
30893 /* parser/parser.nit:11072 */
30894 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30895 /* parser/parser.nit:11073 */
30896 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30897 /* parser/parser.nit:11074 */
30898 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30899 /* parser/parser.nit:11075 */
30900 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30901 /* parser/parser.nit:11077 */
30902 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30903 if (UNTAG_Bool(REGB0)) {
30904 } else {
30905 nit_abort("Assert failed", NULL, LOCATE_parser, 11077);
30906 }
30907 /* parser/parser.nit:11079 */
30908 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30909 if (UNTAG_Bool(REGB0)) {
30910 } else {
30911 nit_abort("Assert failed", NULL, LOCATE_parser, 11079);
30912 }
30913 /* parser/parser.nit:11080 */
30914 fra.me.REG[3] = NEW_ASlashExpr_parser___parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[4], fra.me.REG[3]);
30915 /* parser/parser.nit:11084 */
30916 fra.me.REG[2] = fra.me.REG[3];
30917 /* parser/parser.nit:11085 */
30918 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30919 if (UNTAG_Bool(REGB0)) {
30920 } else {
30921 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11085);
30922 }
30923 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30924 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30925 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30926 stack_frame_head = fra.me.prev;
30927 return;
30928 }
30929 void parser___ReduceAction368___action(val_t p0, val_t p1){
30930 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30931 val_t REGB0;
30932 val_t tmp;
30933 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30934 fra.me.file = LOCATE_parser;
30935 fra.me.line = 11090;
30936 fra.me.meth = LOCATE_parser___ReduceAction368___action;
30937 fra.me.has_broke = 0;
30938 fra.me.REG_size = 5;
30939 fra.me.nitni_local_ref_head = NULL;
30940 fra.me.REG[0] = NIT_NULL;
30941 fra.me.REG[1] = NIT_NULL;
30942 fra.me.REG[2] = NIT_NULL;
30943 fra.me.REG[3] = NIT_NULL;
30944 fra.me.REG[4] = NIT_NULL;
30945 fra.me.REG[0] = p0;
30946 fra.me.REG[1] = p1;
30947 /* parser/parser.nit:11092 */
30948 fra.me.REG[2] = NIT_NULL;
30949 /* parser/parser.nit:11093 */
30950 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30951 /* parser/parser.nit:11094 */
30952 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30953 /* parser/parser.nit:11095 */
30954 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30955 /* parser/parser.nit:11096 */
30956 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30957 /* parser/parser.nit:11098 */
30958 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30959 if (UNTAG_Bool(REGB0)) {
30960 } else {
30961 nit_abort("Assert failed", NULL, LOCATE_parser, 11098);
30962 }
30963 /* parser/parser.nit:11100 */
30964 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
30965 if (UNTAG_Bool(REGB0)) {
30966 } else {
30967 nit_abort("Assert failed", NULL, LOCATE_parser, 11100);
30968 }
30969 /* parser/parser.nit:11101 */
30970 fra.me.REG[3] = NEW_APercentExpr_parser___parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[4], fra.me.REG[3]);
30971 /* parser/parser.nit:11105 */
30972 fra.me.REG[2] = fra.me.REG[3];
30973 /* parser/parser.nit:11106 */
30974 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30975 if (UNTAG_Bool(REGB0)) {
30976 } else {
30977 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11106);
30978 }
30979 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30980 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30981 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30982 stack_frame_head = fra.me.prev;
30983 return;
30984 }
30985 void parser___ReduceAction370___action(val_t p0, val_t p1){
30986 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30987 val_t REGB0;
30988 val_t tmp;
30989 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30990 fra.me.file = LOCATE_parser;
30991 fra.me.line = 11111;
30992 fra.me.meth = LOCATE_parser___ReduceAction370___action;
30993 fra.me.has_broke = 0;
30994 fra.me.REG_size = 5;
30995 fra.me.nitni_local_ref_head = NULL;
30996 fra.me.REG[0] = NIT_NULL;
30997 fra.me.REG[1] = NIT_NULL;
30998 fra.me.REG[2] = NIT_NULL;
30999 fra.me.REG[3] = NIT_NULL;
31000 fra.me.REG[4] = NIT_NULL;
31001 fra.me.REG[0] = p0;
31002 fra.me.REG[1] = p1;
31003 /* parser/parser.nit:11113 */
31004 fra.me.REG[2] = NIT_NULL;
31005 /* parser/parser.nit:11114 */
31006 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31007 /* parser/parser.nit:11115 */
31008 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31009 /* parser/parser.nit:11116 */
31010 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31011 /* parser/parser.nit:11118 */
31012 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TMinus, ID_parser___parser_nodes___TMinus)) /*cast nullable TMinus*/;
31013 if (UNTAG_Bool(REGB0)) {
31014 } else {
31015 nit_abort("Assert failed", NULL, LOCATE_parser, 11118);
31016 }
31017 /* parser/parser.nit:11120 */
31018 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31019 if (UNTAG_Bool(REGB0)) {
31020 } else {
31021 nit_abort("Assert failed", NULL, LOCATE_parser, 11120);
31022 }
31023 /* parser/parser.nit:11121 */
31024 fra.me.REG[3] = NEW_AUminusExpr_parser___parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[4], fra.me.REG[3]);
31025 /* parser/parser.nit:11125 */
31026 fra.me.REG[2] = fra.me.REG[3];
31027 /* parser/parser.nit:11126 */
31028 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31029 if (UNTAG_Bool(REGB0)) {
31030 } else {
31031 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11126);
31032 }
31033 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31034 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31035 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31036 stack_frame_head = fra.me.prev;
31037 return;
31038 }
31039 void parser___ReduceAction371___action(val_t p0, val_t p1){
31040 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31041 val_t REGB0;
31042 val_t tmp;
31043 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31044 fra.me.file = LOCATE_parser;
31045 fra.me.line = 11131;
31046 fra.me.meth = LOCATE_parser___ReduceAction371___action;
31047 fra.me.has_broke = 0;
31048 fra.me.REG_size = 5;
31049 fra.me.nitni_local_ref_head = NULL;
31050 fra.me.REG[0] = NIT_NULL;
31051 fra.me.REG[1] = NIT_NULL;
31052 fra.me.REG[2] = NIT_NULL;
31053 fra.me.REG[3] = NIT_NULL;
31054 fra.me.REG[4] = NIT_NULL;
31055 fra.me.REG[0] = p0;
31056 fra.me.REG[1] = p1;
31057 /* parser/parser.nit:11133 */
31058 fra.me.REG[2] = NIT_NULL;
31059 /* parser/parser.nit:11134 */
31060 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31061 /* parser/parser.nit:11135 */
31062 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31063 /* parser/parser.nit:11136 */
31064 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31065 /* parser/parser.nit:11138 */
31066 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwonce, ID_parser___parser_nodes___TKwonce)) /*cast nullable TKwonce*/;
31067 if (UNTAG_Bool(REGB0)) {
31068 } else {
31069 nit_abort("Assert failed", NULL, LOCATE_parser, 11138);
31070 }
31071 /* parser/parser.nit:11140 */
31072 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31073 if (UNTAG_Bool(REGB0)) {
31074 } else {
31075 nit_abort("Assert failed", NULL, LOCATE_parser, 11140);
31076 }
31077 /* parser/parser.nit:11141 */
31078 fra.me.REG[3] = NEW_AOnceExpr_parser___parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[4], fra.me.REG[3]);
31079 /* parser/parser.nit:11145 */
31080 fra.me.REG[2] = fra.me.REG[3];
31081 /* parser/parser.nit:11146 */
31082 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31083 if (UNTAG_Bool(REGB0)) {
31084 } else {
31085 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11146);
31086 }
31087 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31088 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31089 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31090 stack_frame_head = fra.me.prev;
31091 return;
31092 }
31093 void parser___ReduceAction373___action(val_t p0, val_t p1){
31094 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31095 val_t REGB0;
31096 val_t tmp;
31097 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31098 fra.me.file = LOCATE_parser;
31099 fra.me.line = 11151;
31100 fra.me.meth = LOCATE_parser___ReduceAction373___action;
31101 fra.me.has_broke = 0;
31102 fra.me.REG_size = 6;
31103 fra.me.nitni_local_ref_head = NULL;
31104 fra.me.REG[0] = NIT_NULL;
31105 fra.me.REG[1] = NIT_NULL;
31106 fra.me.REG[2] = NIT_NULL;
31107 fra.me.REG[3] = NIT_NULL;
31108 fra.me.REG[4] = NIT_NULL;
31109 fra.me.REG[5] = NIT_NULL;
31110 fra.me.REG[0] = p0;
31111 fra.me.REG[1] = p1;
31112 /* parser/parser.nit:11153 */
31113 fra.me.REG[2] = NIT_NULL;
31114 /* parser/parser.nit:11154 */
31115 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31116 /* parser/parser.nit:11155 */
31117 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31118 /* parser/parser.nit:11156 */
31119 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31120 /* parser/parser.nit:11157 */
31121 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31122 /* parser/parser.nit:11159 */
31123 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
31124 if (UNTAG_Bool(REGB0)) {
31125 } else {
31126 nit_abort("Assert failed", NULL, LOCATE_parser, 11159);
31127 }
31128 /* parser/parser.nit:11161 */
31129 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
31130 if (UNTAG_Bool(REGB0)) {
31131 } else {
31132 nit_abort("Assert failed", NULL, LOCATE_parser, 11161);
31133 }
31134 /* parser/parser.nit:11163 */
31135 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
31136 if (UNTAG_Bool(REGB0)) {
31137 } else {
31138 nit_abort("Assert failed", NULL, LOCATE_parser, 11163);
31139 }
31140 /* parser/parser.nit:11164 */
31141 fra.me.REG[3] = NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
31142 /* parser/parser.nit:11170 */
31143 fra.me.REG[2] = fra.me.REG[3];
31144 /* parser/parser.nit:11171 */
31145 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31146 if (UNTAG_Bool(REGB0)) {
31147 } else {
31148 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11171);
31149 }
31150 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31151 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31152 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31153 stack_frame_head = fra.me.prev;
31154 return;
31155 }
31156 void parser___ReduceAction374___action(val_t p0, val_t p1){
31157 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31158 val_t REGB0;
31159 val_t tmp;
31160 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31161 fra.me.file = LOCATE_parser;
31162 fra.me.line = 11176;
31163 fra.me.meth = LOCATE_parser___ReduceAction374___action;
31164 fra.me.has_broke = 0;
31165 fra.me.REG_size = 6;
31166 fra.me.nitni_local_ref_head = NULL;
31167 fra.me.REG[0] = NIT_NULL;
31168 fra.me.REG[1] = NIT_NULL;
31169 fra.me.REG[2] = NIT_NULL;
31170 fra.me.REG[3] = NIT_NULL;
31171 fra.me.REG[4] = NIT_NULL;
31172 fra.me.REG[5] = NIT_NULL;
31173 fra.me.REG[0] = p0;
31174 fra.me.REG[1] = p1;
31175 /* parser/parser.nit:11178 */
31176 fra.me.REG[2] = NIT_NULL;
31177 /* parser/parser.nit:11179 */
31178 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31179 /* parser/parser.nit:11180 */
31180 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31181 /* parser/parser.nit:11181 */
31182 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31183 /* parser/parser.nit:11182 */
31184 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31185 /* parser/parser.nit:11183 */
31186 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31187 /* parser/parser.nit:11185 */
31188 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwisset, ID_parser___parser_nodes___TKwisset)) /*cast nullable TKwisset*/;
31189 if (UNTAG_Bool(REGB0)) {
31190 } else {
31191 nit_abort("Assert failed", NULL, LOCATE_parser, 11185);
31192 }
31193 /* parser/parser.nit:11187 */
31194 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31195 if (UNTAG_Bool(REGB0)) {
31196 } else {
31197 nit_abort("Assert failed", NULL, LOCATE_parser, 11187);
31198 }
31199 /* parser/parser.nit:11189 */
31200 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
31201 if (UNTAG_Bool(REGB0)) {
31202 } else {
31203 nit_abort("Assert failed", NULL, LOCATE_parser, 11189);
31204 }
31205 /* parser/parser.nit:11190 */
31206 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
31207 /* parser/parser.nit:11195 */
31208 fra.me.REG[2] = fra.me.REG[3];
31209 /* parser/parser.nit:11196 */
31210 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31211 if (UNTAG_Bool(REGB0)) {
31212 } else {
31213 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11196);
31214 }
31215 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31216 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31217 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31218 stack_frame_head = fra.me.prev;
31219 return;
31220 }
31221 void parser___ReduceAction375___action(val_t p0, val_t p1){
31222 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31223 val_t REGB0;
31224 val_t tmp;
31225 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31226 fra.me.file = LOCATE_parser;
31227 fra.me.line = 11201;
31228 fra.me.meth = LOCATE_parser___ReduceAction375___action;
31229 fra.me.has_broke = 0;
31230 fra.me.REG_size = 6;
31231 fra.me.nitni_local_ref_head = NULL;
31232 fra.me.REG[0] = NIT_NULL;
31233 fra.me.REG[1] = NIT_NULL;
31234 fra.me.REG[2] = NIT_NULL;
31235 fra.me.REG[3] = NIT_NULL;
31236 fra.me.REG[4] = NIT_NULL;
31237 fra.me.REG[5] = NIT_NULL;
31238 fra.me.REG[0] = p0;
31239 fra.me.REG[1] = p1;
31240 /* parser/parser.nit:11203 */
31241 fra.me.REG[2] = NIT_NULL;
31242 /* parser/parser.nit:11204 */
31243 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31244 /* parser/parser.nit:11205 */
31245 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31246 /* parser/parser.nit:11207 */
31247 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwisset, ID_parser___parser_nodes___TKwisset)) /*cast nullable TKwisset*/;
31248 if (UNTAG_Bool(REGB0)) {
31249 } else {
31250 nit_abort("Assert failed", NULL, LOCATE_parser, 11207);
31251 }
31252 /* parser/parser.nit:11208 */
31253 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
31254 /* parser/parser.nit:11210 */
31255 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
31256 if (UNTAG_Bool(REGB0)) {
31257 } else {
31258 nit_abort("Assert failed", NULL, LOCATE_parser, 11210);
31259 }
31260 /* parser/parser.nit:11211 */
31261 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
31262 /* parser/parser.nit:11216 */
31263 fra.me.REG[2] = fra.me.REG[3];
31264 /* parser/parser.nit:11217 */
31265 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31266 if (UNTAG_Bool(REGB0)) {
31267 } else {
31268 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11217);
31269 }
31270 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31271 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31272 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31273 stack_frame_head = fra.me.prev;
31274 return;
31275 }
31276 void parser___ReduceAction376___action(val_t p0, val_t p1){
31277 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31278 val_t REGB0;
31279 val_t tmp;
31280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31281 fra.me.file = LOCATE_parser;
31282 fra.me.line = 11222;
31283 fra.me.meth = LOCATE_parser___ReduceAction376___action;
31284 fra.me.has_broke = 0;
31285 fra.me.REG_size = 5;
31286 fra.me.nitni_local_ref_head = NULL;
31287 fra.me.REG[0] = NIT_NULL;
31288 fra.me.REG[1] = NIT_NULL;
31289 fra.me.REG[2] = NIT_NULL;
31290 fra.me.REG[3] = NIT_NULL;
31291 fra.me.REG[4] = NIT_NULL;
31292 fra.me.REG[0] = p0;
31293 fra.me.REG[1] = p1;
31294 /* parser/parser.nit:11224 */
31295 fra.me.REG[2] = NIT_NULL;
31296 /* parser/parser.nit:11225 */
31297 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31298 /* parser/parser.nit:11226 */
31299 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31300 /* parser/parser.nit:11227 */
31301 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31302 /* parser/parser.nit:11228 */
31303 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31304 /* parser/parser.nit:11230 */
31305 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31306 if (UNTAG_Bool(REGB0)) {
31307 } else {
31308 nit_abort("Assert failed", NULL, LOCATE_parser, 11230);
31309 }
31310 /* parser/parser.nit:11232 */
31311 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
31312 if (UNTAG_Bool(REGB0)) {
31313 } else {
31314 nit_abort("Assert failed", NULL, LOCATE_parser, 11232);
31315 }
31316 /* parser/parser.nit:11233 */
31317 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
31318 /* parser/parser.nit:11237 */
31319 fra.me.REG[2] = fra.me.REG[3];
31320 /* parser/parser.nit:11238 */
31321 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31322 if (UNTAG_Bool(REGB0)) {
31323 } else {
31324 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11238);
31325 }
31326 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31327 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31328 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31329 stack_frame_head = fra.me.prev;
31330 return;
31331 }
31332 void parser___ReduceAction377___action(val_t p0, val_t p1){
31333 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31334 val_t REGB0;
31335 val_t tmp;
31336 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31337 fra.me.file = LOCATE_parser;
31338 fra.me.line = 11243;
31339 fra.me.meth = LOCATE_parser___ReduceAction377___action;
31340 fra.me.has_broke = 0;
31341 fra.me.REG_size = 5;
31342 fra.me.nitni_local_ref_head = NULL;
31343 fra.me.REG[0] = NIT_NULL;
31344 fra.me.REG[1] = NIT_NULL;
31345 fra.me.REG[2] = NIT_NULL;
31346 fra.me.REG[3] = NIT_NULL;
31347 fra.me.REG[4] = NIT_NULL;
31348 fra.me.REG[0] = p0;
31349 fra.me.REG[1] = p1;
31350 /* parser/parser.nit:11245 */
31351 fra.me.REG[2] = NIT_NULL;
31352 /* parser/parser.nit:11246 */
31353 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31354 /* parser/parser.nit:11247 */
31355 fra.me.REG[4] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
31356 /* parser/parser.nit:11249 */
31357 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
31358 if (UNTAG_Bool(REGB0)) {
31359 } else {
31360 nit_abort("Assert failed", NULL, LOCATE_parser, 11249);
31361 }
31362 /* parser/parser.nit:11250 */
31363 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
31364 /* parser/parser.nit:11254 */
31365 fra.me.REG[2] = fra.me.REG[3];
31366 /* parser/parser.nit:11255 */
31367 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31368 if (UNTAG_Bool(REGB0)) {
31369 } else {
31370 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11255);
31371 }
31372 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31373 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31374 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31375 stack_frame_head = fra.me.prev;
31376 return;
31377 }
31378 void parser___ReduceAction384___action(val_t p0, val_t p1){
31379 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31380 val_t REGB0;
31381 val_t tmp;
31382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31383 fra.me.file = LOCATE_parser;
31384 fra.me.line = 11260;
31385 fra.me.meth = LOCATE_parser___ReduceAction384___action;
31386 fra.me.has_broke = 0;
31387 fra.me.REG_size = 6;
31388 fra.me.nitni_local_ref_head = NULL;
31389 fra.me.REG[0] = NIT_NULL;
31390 fra.me.REG[1] = NIT_NULL;
31391 fra.me.REG[2] = NIT_NULL;
31392 fra.me.REG[3] = NIT_NULL;
31393 fra.me.REG[4] = NIT_NULL;
31394 fra.me.REG[5] = NIT_NULL;
31395 fra.me.REG[0] = p0;
31396 fra.me.REG[1] = p1;
31397 /* parser/parser.nit:11262 */
31398 fra.me.REG[2] = NIT_NULL;
31399 /* parser/parser.nit:11263 */
31400 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31401 /* parser/parser.nit:11264 */
31402 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31403 /* parser/parser.nit:11265 */
31404 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
31405 /* parser/parser.nit:11267 */
31406 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31407 if (UNTAG_Bool(REGB0)) {
31408 } else {
31409 nit_abort("Assert failed", NULL, LOCATE_parser, 11267);
31410 }
31411 /* parser/parser.nit:11269 */
31412 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
31413 if (UNTAG_Bool(REGB0)) {
31414 } else {
31415 nit_abort("Assert failed", NULL, LOCATE_parser, 11269);
31416 }
31417 /* parser/parser.nit:11270 */
31418 fra.me.REG[5] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
31419 /* parser/parser.nit:11275 */
31420 fra.me.REG[2] = fra.me.REG[5];
31421 /* parser/parser.nit:11276 */
31422 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31423 if (UNTAG_Bool(REGB0)) {
31424 } else {
31425 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11276);
31426 }
31427 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31428 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31429 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31430 stack_frame_head = fra.me.prev;
31431 return;
31432 }
31433 void parser___ReduceAction385___action(val_t p0, val_t p1){
31434 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
31435 val_t REGB0;
31436 val_t tmp;
31437 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31438 fra.me.file = LOCATE_parser;
31439 fra.me.line = 11281;
31440 fra.me.meth = LOCATE_parser___ReduceAction385___action;
31441 fra.me.has_broke = 0;
31442 fra.me.REG_size = 7;
31443 fra.me.nitni_local_ref_head = NULL;
31444 fra.me.REG[0] = NIT_NULL;
31445 fra.me.REG[1] = NIT_NULL;
31446 fra.me.REG[2] = NIT_NULL;
31447 fra.me.REG[3] = NIT_NULL;
31448 fra.me.REG[4] = NIT_NULL;
31449 fra.me.REG[5] = NIT_NULL;
31450 fra.me.REG[6] = NIT_NULL;
31451 fra.me.REG[0] = p0;
31452 fra.me.REG[1] = p1;
31453 /* parser/parser.nit:11283 */
31454 fra.me.REG[2] = NIT_NULL;
31455 /* parser/parser.nit:11284 */
31456 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31457 /* parser/parser.nit:11285 */
31458 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31459 /* parser/parser.nit:11286 */
31460 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31461 /* parser/parser.nit:11287 */
31462 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31463 /* parser/parser.nit:11288 */
31464 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31465 /* parser/parser.nit:11289 */
31466 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31467 /* parser/parser.nit:11290 */
31468 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31469 /* parser/parser.nit:11292 */
31470 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
31471 if (UNTAG_Bool(REGB0)) {
31472 } else {
31473 nit_abort("Assert failed", NULL, LOCATE_parser, 11292);
31474 }
31475 /* parser/parser.nit:11294 */
31476 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
31477 if (UNTAG_Bool(REGB0)) {
31478 } else {
31479 nit_abort("Assert failed", NULL, LOCATE_parser, 11294);
31480 }
31481 /* parser/parser.nit:11296 */
31482 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
31483 if (UNTAG_Bool(REGB0)) {
31484 } else {
31485 nit_abort("Assert failed", NULL, LOCATE_parser, 11296);
31486 }
31487 /* parser/parser.nit:11298 */
31488 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
31489 if (UNTAG_Bool(REGB0)) {
31490 } else {
31491 nit_abort("Assert failed", NULL, LOCATE_parser, 11298);
31492 }
31493 /* parser/parser.nit:11299 */
31494 fra.me.REG[3] = NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
31495 /* parser/parser.nit:11305 */
31496 fra.me.REG[2] = fra.me.REG[3];
31497 /* parser/parser.nit:11306 */
31498 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31499 if (UNTAG_Bool(REGB0)) {
31500 } else {
31501 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11306);
31502 }
31503 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31504 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31505 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31506 stack_frame_head = fra.me.prev;
31507 return;
31508 }
31509 void parser___ReduceAction386___action(val_t p0, val_t p1){
31510 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
31511 val_t REGB0;
31512 val_t tmp;
31513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31514 fra.me.file = LOCATE_parser;
31515 fra.me.line = 11311;
31516 fra.me.meth = LOCATE_parser___ReduceAction386___action;
31517 fra.me.has_broke = 0;
31518 fra.me.REG_size = 7;
31519 fra.me.nitni_local_ref_head = NULL;
31520 fra.me.REG[0] = NIT_NULL;
31521 fra.me.REG[1] = NIT_NULL;
31522 fra.me.REG[2] = NIT_NULL;
31523 fra.me.REG[3] = NIT_NULL;
31524 fra.me.REG[4] = NIT_NULL;
31525 fra.me.REG[5] = NIT_NULL;
31526 fra.me.REG[6] = NIT_NULL;
31527 fra.me.REG[0] = p0;
31528 fra.me.REG[1] = p1;
31529 /* parser/parser.nit:11313 */
31530 fra.me.REG[2] = NIT_NULL;
31531 /* parser/parser.nit:11314 */
31532 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31533 /* parser/parser.nit:11315 */
31534 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31535 /* parser/parser.nit:11316 */
31536 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31537 /* parser/parser.nit:11317 */
31538 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31539 /* parser/parser.nit:11318 */
31540 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31541 /* parser/parser.nit:11319 */
31542 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31543 /* parser/parser.nit:11320 */
31544 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31545 /* parser/parser.nit:11321 */
31546 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31547 /* parser/parser.nit:11322 */
31548 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31549 /* parser/parser.nit:11324 */
31550 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
31551 if (UNTAG_Bool(REGB0)) {
31552 } else {
31553 nit_abort("Assert failed", NULL, LOCATE_parser, 11324);
31554 }
31555 /* parser/parser.nit:11326 */
31556 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31557 if (UNTAG_Bool(REGB0)) {
31558 } else {
31559 nit_abort("Assert failed", NULL, LOCATE_parser, 11326);
31560 }
31561 /* parser/parser.nit:11328 */
31562 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31563 if (UNTAG_Bool(REGB0)) {
31564 } else {
31565 nit_abort("Assert failed", NULL, LOCATE_parser, 11328);
31566 }
31567 /* parser/parser.nit:11330 */
31568 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCbra, ID_parser___parser_nodes___TCbra)) /*cast nullable TCbra*/;
31569 if (UNTAG_Bool(REGB0)) {
31570 } else {
31571 nit_abort("Assert failed", NULL, LOCATE_parser, 11330);
31572 }
31573 /* parser/parser.nit:11331 */
31574 fra.me.REG[3] = NEW_ACrangeExpr_parser___parser_prod___ACrangeExpr___init_acrangeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
31575 /* parser/parser.nit:11337 */
31576 fra.me.REG[2] = fra.me.REG[3];
31577 /* parser/parser.nit:11338 */
31578 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31579 if (UNTAG_Bool(REGB0)) {
31580 } else {
31581 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11338);
31582 }
31583 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31584 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31585 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31586 stack_frame_head = fra.me.prev;
31587 return;
31588 }
31589 void parser___ReduceAction387___action(val_t p0, val_t p1){
31590 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
31591 val_t REGB0;
31592 val_t tmp;
31593 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31594 fra.me.file = LOCATE_parser;
31595 fra.me.line = 11343;
31596 fra.me.meth = LOCATE_parser___ReduceAction387___action;
31597 fra.me.has_broke = 0;
31598 fra.me.REG_size = 7;
31599 fra.me.nitni_local_ref_head = NULL;
31600 fra.me.REG[0] = NIT_NULL;
31601 fra.me.REG[1] = NIT_NULL;
31602 fra.me.REG[2] = NIT_NULL;
31603 fra.me.REG[3] = NIT_NULL;
31604 fra.me.REG[4] = NIT_NULL;
31605 fra.me.REG[5] = NIT_NULL;
31606 fra.me.REG[6] = NIT_NULL;
31607 fra.me.REG[0] = p0;
31608 fra.me.REG[1] = p1;
31609 /* parser/parser.nit:11345 */
31610 fra.me.REG[2] = NIT_NULL;
31611 /* parser/parser.nit:11346 */
31612 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31613 /* parser/parser.nit:11347 */
31614 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31615 /* parser/parser.nit:11348 */
31616 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31617 /* parser/parser.nit:11349 */
31618 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31619 /* parser/parser.nit:11350 */
31620 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31621 /* parser/parser.nit:11351 */
31622 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31623 /* parser/parser.nit:11352 */
31624 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31625 /* parser/parser.nit:11353 */
31626 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31627 /* parser/parser.nit:11354 */
31628 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31629 /* parser/parser.nit:11356 */
31630 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
31631 if (UNTAG_Bool(REGB0)) {
31632 } else {
31633 nit_abort("Assert failed", NULL, LOCATE_parser, 11356);
31634 }
31635 /* parser/parser.nit:11358 */
31636 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31637 if (UNTAG_Bool(REGB0)) {
31638 } else {
31639 nit_abort("Assert failed", NULL, LOCATE_parser, 11358);
31640 }
31641 /* parser/parser.nit:11360 */
31642 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
31643 if (UNTAG_Bool(REGB0)) {
31644 } else {
31645 nit_abort("Assert failed", NULL, LOCATE_parser, 11360);
31646 }
31647 /* parser/parser.nit:11362 */
31648 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
31649 if (UNTAG_Bool(REGB0)) {
31650 } else {
31651 nit_abort("Assert failed", NULL, LOCATE_parser, 11362);
31652 }
31653 /* parser/parser.nit:11363 */
31654 fra.me.REG[3] = NEW_AOrangeExpr_parser___parser_prod___AOrangeExpr___init_aorangeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
31655 /* parser/parser.nit:11369 */
31656 fra.me.REG[2] = fra.me.REG[3];
31657 /* parser/parser.nit:11370 */
31658 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31659 if (UNTAG_Bool(REGB0)) {
31660 } else {
31661 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11370);
31662 }
31663 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31664 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31665 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31666 stack_frame_head = fra.me.prev;
31667 return;
31668 }
31669 void parser___ReduceAction388___action(val_t p0, val_t p1){
31670 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31671 val_t REGB0;
31672 val_t tmp;
31673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31674 fra.me.file = LOCATE_parser;
31675 fra.me.line = 11375;
31676 fra.me.meth = LOCATE_parser___ReduceAction388___action;
31677 fra.me.has_broke = 0;
31678 fra.me.REG_size = 4;
31679 fra.me.nitni_local_ref_head = NULL;
31680 fra.me.REG[0] = NIT_NULL;
31681 fra.me.REG[1] = NIT_NULL;
31682 fra.me.REG[2] = NIT_NULL;
31683 fra.me.REG[3] = NIT_NULL;
31684 fra.me.REG[0] = p0;
31685 fra.me.REG[1] = p1;
31686 /* parser/parser.nit:11377 */
31687 fra.me.REG[2] = NIT_NULL;
31688 /* parser/parser.nit:11378 */
31689 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31690 /* parser/parser.nit:11380 */
31691 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
31692 if (UNTAG_Bool(REGB0)) {
31693 } else {
31694 nit_abort("Assert failed", NULL, LOCATE_parser, 11380);
31695 }
31696 /* parser/parser.nit:11381 */
31697 fra.me.REG[3] = NEW_AArrayExpr_parser___parser_prod___AArrayExpr___init_aarrayexpr(fra.me.REG[3]);
31698 /* parser/parser.nit:11384 */
31699 fra.me.REG[2] = fra.me.REG[3];
31700 /* parser/parser.nit:11385 */
31701 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31702 if (UNTAG_Bool(REGB0)) {
31703 } else {
31704 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11385);
31705 }
31706 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31707 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31708 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31709 stack_frame_head = fra.me.prev;
31710 return;
31711 }
31712 void parser___ReduceAction389___action(val_t p0, val_t p1){
31713 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31714 val_t REGB0;
31715 val_t tmp;
31716 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31717 fra.me.file = LOCATE_parser;
31718 fra.me.line = 11390;
31719 fra.me.meth = LOCATE_parser___ReduceAction389___action;
31720 fra.me.has_broke = 0;
31721 fra.me.REG_size = 4;
31722 fra.me.nitni_local_ref_head = NULL;
31723 fra.me.REG[0] = NIT_NULL;
31724 fra.me.REG[1] = NIT_NULL;
31725 fra.me.REG[2] = NIT_NULL;
31726 fra.me.REG[3] = NIT_NULL;
31727 fra.me.REG[0] = p0;
31728 fra.me.REG[1] = p1;
31729 /* parser/parser.nit:11392 */
31730 fra.me.REG[2] = NIT_NULL;
31731 /* parser/parser.nit:11393 */
31732 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31733 /* parser/parser.nit:11395 */
31734 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwself, ID_parser___parser_nodes___TKwself)) /*cast nullable TKwself*/;
31735 if (UNTAG_Bool(REGB0)) {
31736 } else {
31737 nit_abort("Assert failed", NULL, LOCATE_parser, 11395);
31738 }
31739 /* parser/parser.nit:11396 */
31740 fra.me.REG[3] = NEW_ASelfExpr_parser___parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[3]);
31741 /* parser/parser.nit:11399 */
31742 fra.me.REG[2] = fra.me.REG[3];
31743 /* parser/parser.nit:11400 */
31744 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31745 if (UNTAG_Bool(REGB0)) {
31746 } else {
31747 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11400);
31748 }
31749 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31751 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31752 stack_frame_head = fra.me.prev;
31753 return;
31754 }
31755 void parser___ReduceAction390___action(val_t p0, val_t p1){
31756 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31757 val_t REGB0;
31758 val_t tmp;
31759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31760 fra.me.file = LOCATE_parser;
31761 fra.me.line = 11405;
31762 fra.me.meth = LOCATE_parser___ReduceAction390___action;
31763 fra.me.has_broke = 0;
31764 fra.me.REG_size = 4;
31765 fra.me.nitni_local_ref_head = NULL;
31766 fra.me.REG[0] = NIT_NULL;
31767 fra.me.REG[1] = NIT_NULL;
31768 fra.me.REG[2] = NIT_NULL;
31769 fra.me.REG[3] = NIT_NULL;
31770 fra.me.REG[0] = p0;
31771 fra.me.REG[1] = p1;
31772 /* parser/parser.nit:11407 */
31773 fra.me.REG[2] = NIT_NULL;
31774 /* parser/parser.nit:11408 */
31775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31776 /* parser/parser.nit:11410 */
31777 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwtrue, ID_parser___parser_nodes___TKwtrue)) /*cast nullable TKwtrue*/;
31778 if (UNTAG_Bool(REGB0)) {
31779 } else {
31780 nit_abort("Assert failed", NULL, LOCATE_parser, 11410);
31781 }
31782 /* parser/parser.nit:11411 */
31783 fra.me.REG[3] = NEW_ATrueExpr_parser___parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[3]);
31784 /* parser/parser.nit:11414 */
31785 fra.me.REG[2] = fra.me.REG[3];
31786 /* parser/parser.nit:11415 */
31787 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31788 if (UNTAG_Bool(REGB0)) {
31789 } else {
31790 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11415);
31791 }
31792 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31793 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31794 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31795 stack_frame_head = fra.me.prev;
31796 return;
31797 }
31798 void parser___ReduceAction391___action(val_t p0, val_t p1){
31799 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31800 val_t REGB0;
31801 val_t tmp;
31802 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31803 fra.me.file = LOCATE_parser;
31804 fra.me.line = 11420;
31805 fra.me.meth = LOCATE_parser___ReduceAction391___action;
31806 fra.me.has_broke = 0;
31807 fra.me.REG_size = 4;
31808 fra.me.nitni_local_ref_head = NULL;
31809 fra.me.REG[0] = NIT_NULL;
31810 fra.me.REG[1] = NIT_NULL;
31811 fra.me.REG[2] = NIT_NULL;
31812 fra.me.REG[3] = NIT_NULL;
31813 fra.me.REG[0] = p0;
31814 fra.me.REG[1] = p1;
31815 /* parser/parser.nit:11422 */
31816 fra.me.REG[2] = NIT_NULL;
31817 /* parser/parser.nit:11423 */
31818 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31819 /* parser/parser.nit:11425 */
31820 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwfalse, ID_parser___parser_nodes___TKwfalse)) /*cast nullable TKwfalse*/;
31821 if (UNTAG_Bool(REGB0)) {
31822 } else {
31823 nit_abort("Assert failed", NULL, LOCATE_parser, 11425);
31824 }
31825 /* parser/parser.nit:11426 */
31826 fra.me.REG[3] = NEW_AFalseExpr_parser___parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[3]);
31827 /* parser/parser.nit:11429 */
31828 fra.me.REG[2] = fra.me.REG[3];
31829 /* parser/parser.nit:11430 */
31830 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31831 if (UNTAG_Bool(REGB0)) {
31832 } else {
31833 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11430);
31834 }
31835 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31836 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31837 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31838 stack_frame_head = fra.me.prev;
31839 return;
31840 }
31841 void parser___ReduceAction392___action(val_t p0, val_t p1){
31842 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31843 val_t REGB0;
31844 val_t tmp;
31845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31846 fra.me.file = LOCATE_parser;
31847 fra.me.line = 11435;
31848 fra.me.meth = LOCATE_parser___ReduceAction392___action;
31849 fra.me.has_broke = 0;
31850 fra.me.REG_size = 4;
31851 fra.me.nitni_local_ref_head = NULL;
31852 fra.me.REG[0] = NIT_NULL;
31853 fra.me.REG[1] = NIT_NULL;
31854 fra.me.REG[2] = NIT_NULL;
31855 fra.me.REG[3] = NIT_NULL;
31856 fra.me.REG[0] = p0;
31857 fra.me.REG[1] = p1;
31858 /* parser/parser.nit:11437 */
31859 fra.me.REG[2] = NIT_NULL;
31860 /* parser/parser.nit:11438 */
31861 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31862 /* parser/parser.nit:11440 */
31863 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwnull, ID_parser___parser_nodes___TKwnull)) /*cast nullable TKwnull*/;
31864 if (UNTAG_Bool(REGB0)) {
31865 } else {
31866 nit_abort("Assert failed", NULL, LOCATE_parser, 11440);
31867 }
31868 /* parser/parser.nit:11441 */
31869 fra.me.REG[3] = NEW_ANullExpr_parser___parser_prod___ANullExpr___init_anullexpr(fra.me.REG[3]);
31870 /* parser/parser.nit:11444 */
31871 fra.me.REG[2] = fra.me.REG[3];
31872 /* parser/parser.nit:11445 */
31873 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31874 if (UNTAG_Bool(REGB0)) {
31875 } else {
31876 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11445);
31877 }
31878 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31879 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31880 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31881 stack_frame_head = fra.me.prev;
31882 return;
31883 }
31884 void parser___ReduceAction393___action(val_t p0, val_t p1){
31885 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31886 val_t REGB0;
31887 val_t tmp;
31888 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31889 fra.me.file = LOCATE_parser;
31890 fra.me.line = 11450;
31891 fra.me.meth = LOCATE_parser___ReduceAction393___action;
31892 fra.me.has_broke = 0;
31893 fra.me.REG_size = 4;
31894 fra.me.nitni_local_ref_head = NULL;
31895 fra.me.REG[0] = NIT_NULL;
31896 fra.me.REG[1] = NIT_NULL;
31897 fra.me.REG[2] = NIT_NULL;
31898 fra.me.REG[3] = NIT_NULL;
31899 fra.me.REG[0] = p0;
31900 fra.me.REG[1] = p1;
31901 /* parser/parser.nit:11452 */
31902 fra.me.REG[2] = NIT_NULL;
31903 /* parser/parser.nit:11453 */
31904 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31905 /* parser/parser.nit:11455 */
31906 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TNumber, ID_parser___parser_nodes___TNumber)) /*cast nullable TNumber*/;
31907 if (UNTAG_Bool(REGB0)) {
31908 } else {
31909 nit_abort("Assert failed", NULL, LOCATE_parser, 11455);
31910 }
31911 /* parser/parser.nit:11456 */
31912 fra.me.REG[3] = NEW_AIntExpr_parser___parser_prod___AIntExpr___init_aintexpr(fra.me.REG[3]);
31913 /* parser/parser.nit:11459 */
31914 fra.me.REG[2] = fra.me.REG[3];
31915 /* parser/parser.nit:11460 */
31916 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31917 if (UNTAG_Bool(REGB0)) {
31918 } else {
31919 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11460);
31920 }
31921 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31922 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31924 stack_frame_head = fra.me.prev;
31925 return;
31926 }
31927 void parser___ReduceAction394___action(val_t p0, val_t p1){
31928 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31929 val_t REGB0;
31930 val_t tmp;
31931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31932 fra.me.file = LOCATE_parser;
31933 fra.me.line = 11465;
31934 fra.me.meth = LOCATE_parser___ReduceAction394___action;
31935 fra.me.has_broke = 0;
31936 fra.me.REG_size = 4;
31937 fra.me.nitni_local_ref_head = NULL;
31938 fra.me.REG[0] = NIT_NULL;
31939 fra.me.REG[1] = NIT_NULL;
31940 fra.me.REG[2] = NIT_NULL;
31941 fra.me.REG[3] = NIT_NULL;
31942 fra.me.REG[0] = p0;
31943 fra.me.REG[1] = p1;
31944 /* parser/parser.nit:11467 */
31945 fra.me.REG[2] = NIT_NULL;
31946 /* parser/parser.nit:11468 */
31947 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31948 /* parser/parser.nit:11470 */
31949 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TFloat, ID_parser___parser_nodes___TFloat)) /*cast nullable TFloat*/;
31950 if (UNTAG_Bool(REGB0)) {
31951 } else {
31952 nit_abort("Assert failed", NULL, LOCATE_parser, 11470);
31953 }
31954 /* parser/parser.nit:11471 */
31955 fra.me.REG[3] = NEW_AFloatExpr_parser___parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[3]);
31956 /* parser/parser.nit:11474 */
31957 fra.me.REG[2] = fra.me.REG[3];
31958 /* parser/parser.nit:11475 */
31959 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31960 if (UNTAG_Bool(REGB0)) {
31961 } else {
31962 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11475);
31963 }
31964 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31965 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31966 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31967 stack_frame_head = fra.me.prev;
31968 return;
31969 }
31970 void parser___ReduceAction395___action(val_t p0, val_t p1){
31971 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31972 val_t REGB0;
31973 val_t tmp;
31974 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31975 fra.me.file = LOCATE_parser;
31976 fra.me.line = 11480;
31977 fra.me.meth = LOCATE_parser___ReduceAction395___action;
31978 fra.me.has_broke = 0;
31979 fra.me.REG_size = 4;
31980 fra.me.nitni_local_ref_head = NULL;
31981 fra.me.REG[0] = NIT_NULL;
31982 fra.me.REG[1] = NIT_NULL;
31983 fra.me.REG[2] = NIT_NULL;
31984 fra.me.REG[3] = NIT_NULL;
31985 fra.me.REG[0] = p0;
31986 fra.me.REG[1] = p1;
31987 /* parser/parser.nit:11482 */
31988 fra.me.REG[2] = NIT_NULL;
31989 /* parser/parser.nit:11483 */
31990 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31991 /* parser/parser.nit:11485 */
31992 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TChar, ID_parser___parser_nodes___TChar)) /*cast nullable TChar*/;
31993 if (UNTAG_Bool(REGB0)) {
31994 } else {
31995 nit_abort("Assert failed", NULL, LOCATE_parser, 11485);
31996 }
31997 /* parser/parser.nit:11486 */
31998 fra.me.REG[3] = NEW_ACharExpr_parser___parser_prod___ACharExpr___init_acharexpr(fra.me.REG[3]);
31999 /* parser/parser.nit:11489 */
32000 fra.me.REG[2] = fra.me.REG[3];
32001 /* parser/parser.nit:11490 */
32002 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32003 if (UNTAG_Bool(REGB0)) {
32004 } else {
32005 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11490);
32006 }
32007 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32008 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32009 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32010 stack_frame_head = fra.me.prev;
32011 return;
32012 }
32013 void parser___ReduceAction396___action(val_t p0, val_t p1){
32014 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32015 val_t REGB0;
32016 val_t tmp;
32017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32018 fra.me.file = LOCATE_parser;
32019 fra.me.line = 11495;
32020 fra.me.meth = LOCATE_parser___ReduceAction396___action;
32021 fra.me.has_broke = 0;
32022 fra.me.REG_size = 4;
32023 fra.me.nitni_local_ref_head = NULL;
32024 fra.me.REG[0] = NIT_NULL;
32025 fra.me.REG[1] = NIT_NULL;
32026 fra.me.REG[2] = NIT_NULL;
32027 fra.me.REG[3] = NIT_NULL;
32028 fra.me.REG[0] = p0;
32029 fra.me.REG[1] = p1;
32030 /* parser/parser.nit:11497 */
32031 fra.me.REG[2] = NIT_NULL;
32032 /* parser/parser.nit:11498 */
32033 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32034 /* parser/parser.nit:11500 */
32035 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
32036 if (UNTAG_Bool(REGB0)) {
32037 } else {
32038 nit_abort("Assert failed", NULL, LOCATE_parser, 11500);
32039 }
32040 /* parser/parser.nit:11501 */
32041 fra.me.REG[3] = NEW_AStringExpr_parser___parser_prod___AStringExpr___init_astringexpr(fra.me.REG[3]);
32042 /* parser/parser.nit:11504 */
32043 fra.me.REG[2] = fra.me.REG[3];
32044 /* parser/parser.nit:11505 */
32045 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32046 if (UNTAG_Bool(REGB0)) {
32047 } else {
32048 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11505);
32049 }
32050 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32051 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32052 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32053 stack_frame_head = fra.me.prev;
32054 return;
32055 }
32056 void parser___ReduceAction398___action(val_t p0, val_t p1){
32057 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32058 val_t REGB0;
32059 val_t tmp;
32060 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32061 fra.me.file = LOCATE_parser;
32062 fra.me.line = 11510;
32063 fra.me.meth = LOCATE_parser___ReduceAction398___action;
32064 fra.me.has_broke = 0;
32065 fra.me.REG_size = 6;
32066 fra.me.nitni_local_ref_head = NULL;
32067 fra.me.REG[0] = NIT_NULL;
32068 fra.me.REG[1] = NIT_NULL;
32069 fra.me.REG[2] = NIT_NULL;
32070 fra.me.REG[3] = NIT_NULL;
32071 fra.me.REG[4] = NIT_NULL;
32072 fra.me.REG[5] = NIT_NULL;
32073 fra.me.REG[0] = p0;
32074 fra.me.REG[1] = p1;
32075 /* parser/parser.nit:11512 */
32076 fra.me.REG[2] = NIT_NULL;
32077 /* parser/parser.nit:11513 */
32078 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32079 /* parser/parser.nit:11514 */
32080 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32081 /* parser/parser.nit:11515 */
32082 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32083 /* parser/parser.nit:11517 */
32084 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32085 if (UNTAG_Bool(REGB0)) {
32086 } else {
32087 nit_abort("Assert failed", NULL, LOCATE_parser, 11517);
32088 }
32089 /* parser/parser.nit:11519 */
32090 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32091 if (UNTAG_Bool(REGB0)) {
32092 } else {
32093 nit_abort("Assert failed", NULL, LOCATE_parser, 11519);
32094 }
32095 /* parser/parser.nit:11521 */
32096 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32097 if (UNTAG_Bool(REGB0)) {
32098 } else {
32099 nit_abort("Assert failed", NULL, LOCATE_parser, 11521);
32100 }
32101 /* parser/parser.nit:11522 */
32102 fra.me.REG[3] = NEW_AParExpr_parser___parser_prod___AParExpr___init_aparexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
32103 /* parser/parser.nit:11527 */
32104 fra.me.REG[2] = fra.me.REG[3];
32105 /* parser/parser.nit:11528 */
32106 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32107 if (UNTAG_Bool(REGB0)) {
32108 } else {
32109 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11528);
32110 }
32111 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32112 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32113 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32114 stack_frame_head = fra.me.prev;
32115 return;
32116 }
32117 void parser___ReduceAction399___action(val_t p0, val_t p1){
32118 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
32119 val_t REGB0;
32120 val_t tmp;
32121 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32122 fra.me.file = LOCATE_parser;
32123 fra.me.line = 11533;
32124 fra.me.meth = LOCATE_parser___ReduceAction399___action;
32125 fra.me.has_broke = 0;
32126 fra.me.REG_size = 8;
32127 fra.me.nitni_local_ref_head = NULL;
32128 fra.me.REG[0] = NIT_NULL;
32129 fra.me.REG[1] = NIT_NULL;
32130 fra.me.REG[2] = NIT_NULL;
32131 fra.me.REG[3] = NIT_NULL;
32132 fra.me.REG[4] = NIT_NULL;
32133 fra.me.REG[5] = NIT_NULL;
32134 fra.me.REG[6] = NIT_NULL;
32135 fra.me.REG[7] = NIT_NULL;
32136 fra.me.REG[0] = p0;
32137 fra.me.REG[1] = p1;
32138 /* parser/parser.nit:11535 */
32139 fra.me.REG[2] = NIT_NULL;
32140 /* parser/parser.nit:11536 */
32141 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32142 /* parser/parser.nit:11537 */
32143 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32144 /* parser/parser.nit:11538 */
32145 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32146 /* parser/parser.nit:11539 */
32147 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32148 /* parser/parser.nit:11540 */
32149 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32150 /* parser/parser.nit:11541 */
32151 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32152 /* parser/parser.nit:11542 */
32153 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32154 /* parser/parser.nit:11543 */
32155 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32156 /* parser/parser.nit:11544 */
32157 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32158 /* parser/parser.nit:11545 */
32159 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32160 /* parser/parser.nit:11547 */
32161 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32162 if (UNTAG_Bool(REGB0)) {
32163 } else {
32164 nit_abort("Assert failed", NULL, LOCATE_parser, 11547);
32165 }
32166 /* parser/parser.nit:11549 */
32167 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
32168 if (UNTAG_Bool(REGB0)) {
32169 } else {
32170 nit_abort("Assert failed", NULL, LOCATE_parser, 11549);
32171 }
32172 /* parser/parser.nit:11551 */
32173 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32174 if (UNTAG_Bool(REGB0)) {
32175 } else {
32176 nit_abort("Assert failed", NULL, LOCATE_parser, 11551);
32177 }
32178 /* parser/parser.nit:11553 */
32179 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
32180 if (UNTAG_Bool(REGB0)) {
32181 } else {
32182 nit_abort("Assert failed", NULL, LOCATE_parser, 11553);
32183 }
32184 /* parser/parser.nit:11555 */
32185 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32186 if (UNTAG_Bool(REGB0)) {
32187 } else {
32188 nit_abort("Assert failed", NULL, LOCATE_parser, 11555);
32189 }
32190 /* parser/parser.nit:11556 */
32191 fra.me.REG[3] = NEW_AAsCastExpr_parser___parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
32192 /* parser/parser.nit:11563 */
32193 fra.me.REG[2] = fra.me.REG[3];
32194 /* parser/parser.nit:11564 */
32195 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32196 if (UNTAG_Bool(REGB0)) {
32197 } else {
32198 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11564);
32199 }
32200 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32201 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32202 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32203 stack_frame_head = fra.me.prev;
32204 return;
32205 }
32206 void parser___ReduceAction400___action(val_t p0, val_t p1){
32207 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
32208 val_t REGB0;
32209 val_t tmp;
32210 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32211 fra.me.file = LOCATE_parser;
32212 fra.me.line = 11569;
32213 fra.me.meth = LOCATE_parser___ReduceAction400___action;
32214 fra.me.has_broke = 0;
32215 fra.me.REG_size = 9;
32216 fra.me.nitni_local_ref_head = NULL;
32217 fra.me.REG[0] = NIT_NULL;
32218 fra.me.REG[1] = NIT_NULL;
32219 fra.me.REG[2] = NIT_NULL;
32220 fra.me.REG[3] = NIT_NULL;
32221 fra.me.REG[4] = NIT_NULL;
32222 fra.me.REG[5] = NIT_NULL;
32223 fra.me.REG[6] = NIT_NULL;
32224 fra.me.REG[7] = NIT_NULL;
32225 fra.me.REG[8] = NIT_NULL;
32226 fra.me.REG[0] = p0;
32227 fra.me.REG[1] = p1;
32228 /* parser/parser.nit:11571 */
32229 fra.me.REG[2] = NIT_NULL;
32230 /* parser/parser.nit:11572 */
32231 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32232 /* parser/parser.nit:11573 */
32233 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32234 /* parser/parser.nit:11574 */
32235 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32236 /* parser/parser.nit:11575 */
32237 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32238 /* parser/parser.nit:11576 */
32239 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32240 /* parser/parser.nit:11577 */
32241 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32242 /* parser/parser.nit:11578 */
32243 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32244 /* parser/parser.nit:11579 */
32245 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32246 /* parser/parser.nit:11580 */
32247 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32248 /* parser/parser.nit:11581 */
32249 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32250 /* parser/parser.nit:11582 */
32251 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32252 /* parser/parser.nit:11583 */
32253 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32254 /* parser/parser.nit:11585 */
32255 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32256 if (UNTAG_Bool(REGB0)) {
32257 } else {
32258 nit_abort("Assert failed", NULL, LOCATE_parser, 11585);
32259 }
32260 /* parser/parser.nit:11587 */
32261 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
32262 if (UNTAG_Bool(REGB0)) {
32263 } else {
32264 nit_abort("Assert failed", NULL, LOCATE_parser, 11587);
32265 }
32266 /* parser/parser.nit:11589 */
32267 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32268 if (UNTAG_Bool(REGB0)) {
32269 } else {
32270 nit_abort("Assert failed", NULL, LOCATE_parser, 11589);
32271 }
32272 /* parser/parser.nit:11591 */
32273 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnot, ID_parser___parser_nodes___TKwnot)) /*cast nullable TKwnot*/;
32274 if (UNTAG_Bool(REGB0)) {
32275 } else {
32276 nit_abort("Assert failed", NULL, LOCATE_parser, 11591);
32277 }
32278 /* parser/parser.nit:11593 */
32279 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnull, ID_parser___parser_nodes___TKwnull)) /*cast nullable TKwnull*/;
32280 if (UNTAG_Bool(REGB0)) {
32281 } else {
32282 nit_abort("Assert failed", NULL, LOCATE_parser, 11593);
32283 }
32284 /* parser/parser.nit:11595 */
32285 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32286 if (UNTAG_Bool(REGB0)) {
32287 } else {
32288 nit_abort("Assert failed", NULL, LOCATE_parser, 11595);
32289 }
32290 /* parser/parser.nit:11596 */
32291 fra.me.REG[3] = NEW_AAsNotnullExpr_parser___parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
32292 /* parser/parser.nit:11604 */
32293 fra.me.REG[2] = fra.me.REG[3];
32294 /* parser/parser.nit:11605 */
32295 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32296 if (UNTAG_Bool(REGB0)) {
32297 } else {
32298 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11605);
32299 }
32300 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32301 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32302 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32303 stack_frame_head = fra.me.prev;
32304 return;
32305 }
32306 void parser___ReduceAction401___action(val_t p0, val_t p1){
32307 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32308 val_t REGB0;
32309 val_t REGB1;
32310 val_t tmp;
32311 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32312 fra.me.file = LOCATE_parser;
32313 fra.me.line = 11610;
32314 fra.me.meth = LOCATE_parser___ReduceAction401___action;
32315 fra.me.has_broke = 0;
32316 fra.me.REG_size = 6;
32317 fra.me.nitni_local_ref_head = NULL;
32318 fra.me.REG[0] = NIT_NULL;
32319 fra.me.REG[1] = NIT_NULL;
32320 fra.me.REG[2] = NIT_NULL;
32321 fra.me.REG[3] = NIT_NULL;
32322 fra.me.REG[4] = NIT_NULL;
32323 fra.me.REG[5] = NIT_NULL;
32324 fra.me.REG[0] = p0;
32325 fra.me.REG[1] = p1;
32326 /* parser/parser.nit:11612 */
32327 fra.me.REG[2] = NIT_NULL;
32328 /* parser/parser.nit:11613 */
32329 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32330 /* parser/parser.nit:11614 */
32331 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32332 /* parser/parser.nit:11615 */
32333 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32334 /* parser/parser.nit:11617 */
32335 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
32336 if (UNTAG_Bool(REGB0)) {
32337 } else {
32338 nit_abort("Assert failed", NULL, LOCATE_parser, 11617);
32339 }
32340 /* parser/parser.nit:11619 */
32341 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32342 if (UNTAG_Bool(REGB0)) {
32343 } else {
32344 nit_abort("Assert failed", NULL, LOCATE_parser, 11619);
32345 }
32346 /* parser/parser.nit:11620 */
32347 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
32348 fra.me.REG[5] = fra.me.REG[4];
32349 /* parser/parser.nit:11621 */
32350 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32351 if (UNTAG_Bool(REGB0)) {
32352 } else {
32353 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32354 if (UNTAG_Bool(REGB1)) {
32355 REGB1 = TAG_Bool(false);
32356 REGB0 = REGB1;
32357 } else {
32358 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
32359 REGB0 = REGB1;
32360 }
32361 }
32362 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32363 if (UNTAG_Bool(REGB0)) {
32364 /* parser/parser.nit:11622 */
32365 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
32366 }
32367 /* parser/parser.nit:11624 */
32368 fra.me.REG[5] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[5]);
32369 /* parser/parser.nit:11627 */
32370 fra.me.REG[2] = fra.me.REG[5];
32371 /* parser/parser.nit:11628 */
32372 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32373 if (UNTAG_Bool(REGB0)) {
32374 } else {
32375 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11628);
32376 }
32377 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32378 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32379 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32380 stack_frame_head = fra.me.prev;
32381 return;
32382 }
32383 void parser___ReduceAction402___action(val_t p0, val_t p1){
32384 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
32385 val_t REGB0;
32386 val_t REGB1;
32387 val_t tmp;
32388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32389 fra.me.file = LOCATE_parser;
32390 fra.me.line = 11633;
32391 fra.me.meth = LOCATE_parser___ReduceAction402___action;
32392 fra.me.has_broke = 0;
32393 fra.me.REG_size = 7;
32394 fra.me.nitni_local_ref_head = NULL;
32395 fra.me.REG[0] = NIT_NULL;
32396 fra.me.REG[1] = NIT_NULL;
32397 fra.me.REG[2] = NIT_NULL;
32398 fra.me.REG[3] = NIT_NULL;
32399 fra.me.REG[4] = NIT_NULL;
32400 fra.me.REG[5] = NIT_NULL;
32401 fra.me.REG[6] = NIT_NULL;
32402 fra.me.REG[0] = p0;
32403 fra.me.REG[1] = p1;
32404 /* parser/parser.nit:11635 */
32405 fra.me.REG[2] = NIT_NULL;
32406 /* parser/parser.nit:11636 */
32407 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32408 /* parser/parser.nit:11637 */
32409 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32410 /* parser/parser.nit:11638 */
32411 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32412 /* parser/parser.nit:11639 */
32413 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
32414 /* parser/parser.nit:11641 */
32415 REGB0 = TAG_Bool((fra.me.REG[5]!=NIT_NULL) && VAL_ISA(fra.me.REG[5], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
32416 if (UNTAG_Bool(REGB0)) {
32417 } else {
32418 nit_abort("Assert failed", NULL, LOCATE_parser, 11641);
32419 }
32420 /* parser/parser.nit:11643 */
32421 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
32422 if (UNTAG_Bool(REGB0)) {
32423 } else {
32424 nit_abort("Assert failed", NULL, LOCATE_parser, 11643);
32425 }
32426 /* parser/parser.nit:11645 */
32427 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32428 if (UNTAG_Bool(REGB0)) {
32429 } else {
32430 nit_abort("Assert failed", NULL, LOCATE_parser, 11645);
32431 }
32432 /* parser/parser.nit:11646 */
32433 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
32434 fra.me.REG[6] = fra.me.REG[5];
32435 /* parser/parser.nit:11647 */
32436 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
32437 fra.me.REG[6] = fra.me.REG[4];
32438 /* parser/parser.nit:11648 */
32439 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32440 if (UNTAG_Bool(REGB0)) {
32441 } else {
32442 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32443 if (UNTAG_Bool(REGB1)) {
32444 REGB1 = TAG_Bool(false);
32445 REGB0 = REGB1;
32446 } else {
32447 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
32448 REGB0 = REGB1;
32449 }
32450 }
32451 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32452 if (UNTAG_Bool(REGB0)) {
32453 /* parser/parser.nit:11649 */
32454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
32455 }
32456 /* parser/parser.nit:11651 */
32457 fra.me.REG[6] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[6]);
32458 /* parser/parser.nit:11654 */
32459 fra.me.REG[2] = fra.me.REG[6];
32460 /* parser/parser.nit:11655 */
32461 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32462 if (UNTAG_Bool(REGB0)) {
32463 } else {
32464 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11655);
32465 }
32466 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32467 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32468 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32469 stack_frame_head = fra.me.prev;
32470 return;
32471 }
32472 void parser___ReduceAction403___action(val_t p0, val_t p1){
32473 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32474 val_t REGB0;
32475 val_t REGB1;
32476 val_t tmp;
32477 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32478 fra.me.file = LOCATE_parser;
32479 fra.me.line = 11660;
32480 fra.me.meth = LOCATE_parser___ReduceAction403___action;
32481 fra.me.has_broke = 0;
32482 fra.me.REG_size = 6;
32483 fra.me.nitni_local_ref_head = NULL;
32484 fra.me.REG[0] = NIT_NULL;
32485 fra.me.REG[1] = NIT_NULL;
32486 fra.me.REG[2] = NIT_NULL;
32487 fra.me.REG[3] = NIT_NULL;
32488 fra.me.REG[4] = NIT_NULL;
32489 fra.me.REG[5] = NIT_NULL;
32490 fra.me.REG[0] = p0;
32491 fra.me.REG[1] = p1;
32492 /* parser/parser.nit:11662 */
32493 fra.me.REG[2] = NIT_NULL;
32494 /* parser/parser.nit:11663 */
32495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32496 /* parser/parser.nit:11664 */
32497 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32498 /* parser/parser.nit:11665 */
32499 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32500 /* parser/parser.nit:11666 */
32501 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32502 /* parser/parser.nit:11667 */
32503 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32504 /* parser/parser.nit:11670 */
32505 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
32506 if (UNTAG_Bool(REGB0)) {
32507 } else {
32508 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
32509 if (UNTAG_Bool(REGB1)) {
32510 REGB1 = TAG_Bool(false);
32511 REGB0 = REGB1;
32512 } else {
32513 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
32514 REGB0 = REGB1;
32515 }
32516 }
32517 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32518 if (UNTAG_Bool(REGB0)) {
32519 /* parser/parser.nit:11671 */
32520 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
32521 }
32522 /* parser/parser.nit:11673 */
32523 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32524 if (UNTAG_Bool(REGB0)) {
32525 } else {
32526 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32527 if (UNTAG_Bool(REGB1)) {
32528 REGB1 = TAG_Bool(false);
32529 REGB0 = REGB1;
32530 } else {
32531 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
32532 REGB0 = REGB1;
32533 }
32534 }
32535 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32536 if (UNTAG_Bool(REGB0)) {
32537 /* parser/parser.nit:11674 */
32538 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
32539 }
32540 /* parser/parser.nit:11676 */
32541 fra.me.REG[2] = fra.me.REG[5];
32542 /* parser/parser.nit:11677 */
32543 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32544 if (UNTAG_Bool(REGB0)) {
32545 } else {
32546 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11677);
32547 }
32548 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32549 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32550 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32551 stack_frame_head = fra.me.prev;
32552 return;
32553 }
32554 void parser___ReduceAction404___action(val_t p0, val_t p1){
32555 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32556 val_t REGB0;
32557 val_t tmp;
32558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32559 fra.me.file = LOCATE_parser;
32560 fra.me.line = 11682;
32561 fra.me.meth = LOCATE_parser___ReduceAction404___action;
32562 fra.me.has_broke = 0;
32563 fra.me.REG_size = 4;
32564 fra.me.nitni_local_ref_head = NULL;
32565 fra.me.REG[0] = NIT_NULL;
32566 fra.me.REG[1] = NIT_NULL;
32567 fra.me.REG[2] = NIT_NULL;
32568 fra.me.REG[3] = NIT_NULL;
32569 fra.me.REG[0] = p0;
32570 fra.me.REG[1] = p1;
32571 /* parser/parser.nit:11684 */
32572 fra.me.REG[2] = NIT_NULL;
32573 /* parser/parser.nit:11685 */
32574 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32575 /* parser/parser.nit:11687 */
32576 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TStartString, ID_parser___parser_nodes___TStartString)) /*cast nullable TStartString*/;
32577 if (UNTAG_Bool(REGB0)) {
32578 } else {
32579 nit_abort("Assert failed", NULL, LOCATE_parser, 11687);
32580 }
32581 /* parser/parser.nit:11688 */
32582 fra.me.REG[3] = NEW_AStartStringExpr_parser___parser_prod___AStartStringExpr___init_astartstringexpr(fra.me.REG[3]);
32583 /* parser/parser.nit:11691 */
32584 fra.me.REG[2] = fra.me.REG[3];
32585 /* parser/parser.nit:11692 */
32586 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32587 if (UNTAG_Bool(REGB0)) {
32588 } else {
32589 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11692);
32590 }
32591 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32592 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32593 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32594 stack_frame_head = fra.me.prev;
32595 return;
32596 }
32597 void parser___ReduceAction406___action(val_t p0, val_t p1){
32598 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32599 val_t REGB0;
32600 val_t tmp;
32601 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32602 fra.me.file = LOCATE_parser;
32603 fra.me.line = 11697;
32604 fra.me.meth = LOCATE_parser___ReduceAction406___action;
32605 fra.me.has_broke = 0;
32606 fra.me.REG_size = 4;
32607 fra.me.nitni_local_ref_head = NULL;
32608 fra.me.REG[0] = NIT_NULL;
32609 fra.me.REG[1] = NIT_NULL;
32610 fra.me.REG[2] = NIT_NULL;
32611 fra.me.REG[3] = NIT_NULL;
32612 fra.me.REG[0] = p0;
32613 fra.me.REG[1] = p1;
32614 /* parser/parser.nit:11699 */
32615 fra.me.REG[2] = NIT_NULL;
32616 /* parser/parser.nit:11700 */
32617 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32618 /* parser/parser.nit:11702 */
32619 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TMidString, ID_parser___parser_nodes___TMidString)) /*cast nullable TMidString*/;
32620 if (UNTAG_Bool(REGB0)) {
32621 } else {
32622 nit_abort("Assert failed", NULL, LOCATE_parser, 11702);
32623 }
32624 /* parser/parser.nit:11703 */
32625 fra.me.REG[3] = NEW_AMidStringExpr_parser___parser_prod___AMidStringExpr___init_amidstringexpr(fra.me.REG[3]);
32626 /* parser/parser.nit:11706 */
32627 fra.me.REG[2] = fra.me.REG[3];
32628 /* parser/parser.nit:11707 */
32629 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32630 if (UNTAG_Bool(REGB0)) {
32631 } else {
32632 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11707);
32633 }
32634 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32635 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32636 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32637 stack_frame_head = fra.me.prev;
32638 return;
32639 }
32640 void parser___ReduceAction407___action(val_t p0, val_t p1){
32641 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32642 val_t REGB0;
32643 val_t tmp;
32644 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32645 fra.me.file = LOCATE_parser;
32646 fra.me.line = 11712;
32647 fra.me.meth = LOCATE_parser___ReduceAction407___action;
32648 fra.me.has_broke = 0;
32649 fra.me.REG_size = 4;
32650 fra.me.nitni_local_ref_head = NULL;
32651 fra.me.REG[0] = NIT_NULL;
32652 fra.me.REG[1] = NIT_NULL;
32653 fra.me.REG[2] = NIT_NULL;
32654 fra.me.REG[3] = NIT_NULL;
32655 fra.me.REG[0] = p0;
32656 fra.me.REG[1] = p1;
32657 /* parser/parser.nit:11714 */
32658 fra.me.REG[2] = NIT_NULL;
32659 /* parser/parser.nit:11715 */
32660 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32661 /* parser/parser.nit:11717 */
32662 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TEndString, ID_parser___parser_nodes___TEndString)) /*cast nullable TEndString*/;
32663 if (UNTAG_Bool(REGB0)) {
32664 } else {
32665 nit_abort("Assert failed", NULL, LOCATE_parser, 11717);
32666 }
32667 /* parser/parser.nit:11718 */
32668 fra.me.REG[3] = NEW_AEndStringExpr_parser___parser_prod___AEndStringExpr___init_aendstringexpr(fra.me.REG[3]);
32669 /* parser/parser.nit:11721 */
32670 fra.me.REG[2] = fra.me.REG[3];
32671 /* parser/parser.nit:11722 */
32672 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32673 if (UNTAG_Bool(REGB0)) {
32674 } else {
32675 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11722);
32676 }
32677 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32678 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32679 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32680 stack_frame_head = fra.me.prev;
32681 return;
32682 }
32683 void parser___ReduceAction408___action(val_t p0, val_t p1){
32684 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
32685 val_t REGB0;
32686 val_t tmp;
32687 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32688 fra.me.file = LOCATE_parser;
32689 fra.me.line = 11727;
32690 fra.me.meth = LOCATE_parser___ReduceAction408___action;
32691 fra.me.has_broke = 0;
32692 fra.me.REG_size = 7;
32693 fra.me.nitni_local_ref_head = NULL;
32694 fra.me.REG[0] = NIT_NULL;
32695 fra.me.REG[1] = NIT_NULL;
32696 fra.me.REG[2] = NIT_NULL;
32697 fra.me.REG[3] = NIT_NULL;
32698 fra.me.REG[4] = NIT_NULL;
32699 fra.me.REG[5] = NIT_NULL;
32700 fra.me.REG[6] = NIT_NULL;
32701 fra.me.REG[0] = p0;
32702 fra.me.REG[1] = p1;
32703 /* parser/parser.nit:11729 */
32704 fra.me.REG[2] = NIT_NULL;
32705 /* parser/parser.nit:11730 */
32706 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32707 /* parser/parser.nit:11731 */
32708 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32709 /* parser/parser.nit:11732 */
32710 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32711 /* parser/parser.nit:11733 */
32712 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32713 /* parser/parser.nit:11734 */
32714 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
32715 /* parser/parser.nit:11736 */
32716 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32717 if (UNTAG_Bool(REGB0)) {
32718 } else {
32719 nit_abort("Assert failed", NULL, LOCATE_parser, 11736);
32720 }
32721 /* parser/parser.nit:11738 */
32722 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
32723 if (UNTAG_Bool(REGB0)) {
32724 } else {
32725 nit_abort("Assert failed", NULL, LOCATE_parser, 11738);
32726 }
32727 /* parser/parser.nit:11739 */
32728 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
32729 fra.me.REG[6] = fra.me.REG[4];
32730 /* parser/parser.nit:11741 */
32731 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32732 if (UNTAG_Bool(REGB0)) {
32733 } else {
32734 nit_abort("Assert failed", NULL, LOCATE_parser, 11741);
32735 }
32736 /* parser/parser.nit:11742 */
32737 fra.me.REG[3] = NEW_AParExprs_parser___parser_prod___AParExprs___init_aparexprs(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
32738 /* parser/parser.nit:11747 */
32739 fra.me.REG[2] = fra.me.REG[3];
32740 /* parser/parser.nit:11748 */
32741 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32742 if (UNTAG_Bool(REGB0)) {
32743 } else {
32744 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11748);
32745 }
32746 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32747 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32748 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32749 stack_frame_head = fra.me.prev;
32750 return;
32751 }
32752 void parser___ReduceAction409___action(val_t p0, val_t p1){
32753 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32754 val_t REGB0;
32755 val_t tmp;
32756 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32757 fra.me.file = LOCATE_parser;
32758 fra.me.line = 11753;
32759 fra.me.meth = LOCATE_parser___ReduceAction409___action;
32760 fra.me.has_broke = 0;
32761 fra.me.REG_size = 6;
32762 fra.me.nitni_local_ref_head = NULL;
32763 fra.me.REG[0] = NIT_NULL;
32764 fra.me.REG[1] = NIT_NULL;
32765 fra.me.REG[2] = NIT_NULL;
32766 fra.me.REG[3] = NIT_NULL;
32767 fra.me.REG[4] = NIT_NULL;
32768 fra.me.REG[5] = NIT_NULL;
32769 fra.me.REG[0] = p0;
32770 fra.me.REG[1] = p1;
32771 /* parser/parser.nit:11755 */
32772 fra.me.REG[2] = NIT_NULL;
32773 /* parser/parser.nit:11756 */
32774 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32775 /* parser/parser.nit:11757 */
32776 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32777 /* parser/parser.nit:11758 */
32778 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32779 /* parser/parser.nit:11759 */
32780 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32781 /* parser/parser.nit:11761 */
32782 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32783 if (UNTAG_Bool(REGB0)) {
32784 } else {
32785 nit_abort("Assert failed", NULL, LOCATE_parser, 11761);
32786 }
32787 /* parser/parser.nit:11763 */
32788 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32789 if (UNTAG_Bool(REGB0)) {
32790 } else {
32791 nit_abort("Assert failed", NULL, LOCATE_parser, 11763);
32792 }
32793 /* parser/parser.nit:11764 */
32794 fra.me.REG[3] = NEW_AParExprs_parser___parser_prod___AParExprs___init_aparexprs(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
32795 /* parser/parser.nit:11769 */
32796 fra.me.REG[2] = fra.me.REG[3];
32797 /* parser/parser.nit:11770 */
32798 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32799 if (UNTAG_Bool(REGB0)) {
32800 } else {
32801 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11770);
32802 }
32803 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32804 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32805 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32806 stack_frame_head = fra.me.prev;
32807 return;
32808 }
32809 void parser___ReduceAction410___action(val_t p0, val_t p1){
32810 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32811 val_t REGB0;
32812 val_t tmp;
32813 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32814 fra.me.file = LOCATE_parser;
32815 fra.me.line = 11775;
32816 fra.me.meth = LOCATE_parser___ReduceAction410___action;
32817 fra.me.has_broke = 0;
32818 fra.me.REG_size = 4;
32819 fra.me.nitni_local_ref_head = NULL;
32820 fra.me.REG[0] = NIT_NULL;
32821 fra.me.REG[1] = NIT_NULL;
32822 fra.me.REG[2] = NIT_NULL;
32823 fra.me.REG[3] = NIT_NULL;
32824 fra.me.REG[0] = p0;
32825 fra.me.REG[1] = p1;
32826 /* parser/parser.nit:11777 */
32827 fra.me.REG[2] = NIT_NULL;
32828 /* parser/parser.nit:11778 */
32829 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
32830 /* parser/parser.nit:11779 */
32831 fra.me.REG[3] = NEW_AListExprs_parser___parser_prod___AListExprs___init_alistexprs(fra.me.REG[3]);
32832 /* parser/parser.nit:11782 */
32833 fra.me.REG[2] = fra.me.REG[3];
32834 /* parser/parser.nit:11783 */
32835 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32836 if (UNTAG_Bool(REGB0)) {
32837 } else {
32838 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11783);
32839 }
32840 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32841 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32842 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32843 stack_frame_head = fra.me.prev;
32844 return;
32845 }
32846 void parser___ReduceAction412___action(val_t p0, val_t p1){
32847 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
32848 val_t REGB0;
32849 val_t REGB1;
32850 val_t tmp;
32851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32852 fra.me.file = LOCATE_parser;
32853 fra.me.line = 11788;
32854 fra.me.meth = LOCATE_parser___ReduceAction412___action;
32855 fra.me.has_broke = 0;
32856 fra.me.REG_size = 5;
32857 fra.me.nitni_local_ref_head = NULL;
32858 fra.me.REG[0] = NIT_NULL;
32859 fra.me.REG[1] = NIT_NULL;
32860 fra.me.REG[2] = NIT_NULL;
32861 fra.me.REG[3] = NIT_NULL;
32862 fra.me.REG[4] = NIT_NULL;
32863 fra.me.REG[0] = p0;
32864 fra.me.REG[1] = p1;
32865 /* parser/parser.nit:11790 */
32866 fra.me.REG[2] = NIT_NULL;
32867 /* parser/parser.nit:11791 */
32868 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32869 /* parser/parser.nit:11792 */
32870 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
32871 /* parser/parser.nit:11794 */
32872 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
32873 if (UNTAG_Bool(REGB0)) {
32874 } else {
32875 nit_abort("Assert failed", NULL, LOCATE_parser, 11794);
32876 }
32877 /* parser/parser.nit:11795 */
32878 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32879 if (UNTAG_Bool(REGB0)) {
32880 } else {
32881 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32882 if (UNTAG_Bool(REGB1)) {
32883 REGB1 = TAG_Bool(false);
32884 REGB0 = REGB1;
32885 } else {
32886 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
32887 REGB0 = REGB1;
32888 }
32889 }
32890 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32891 if (UNTAG_Bool(REGB0)) {
32892 /* parser/parser.nit:11796 */
32893 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
32894 }
32895 /* parser/parser.nit:11798 */
32896 fra.me.REG[4] = NEW_AListExprs_parser___parser_prod___AListExprs___init_alistexprs(fra.me.REG[4]);
32897 /* parser/parser.nit:11801 */
32898 fra.me.REG[2] = fra.me.REG[4];
32899 /* parser/parser.nit:11802 */
32900 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32901 if (UNTAG_Bool(REGB0)) {
32902 } else {
32903 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11802);
32904 }
32905 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32906 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32907 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32908 stack_frame_head = fra.me.prev;
32909 return;
32910 }
32911 void parser___ReduceAction415___action(val_t p0, val_t p1){
32912 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
32913 val_t REGB0;
32914 val_t tmp;
32915 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32916 fra.me.file = LOCATE_parser;
32917 fra.me.line = 11807;
32918 fra.me.meth = LOCATE_parser___ReduceAction415___action;
32919 fra.me.has_broke = 0;
32920 fra.me.REG_size = 7;
32921 fra.me.nitni_local_ref_head = NULL;
32922 fra.me.REG[0] = NIT_NULL;
32923 fra.me.REG[1] = NIT_NULL;
32924 fra.me.REG[2] = NIT_NULL;
32925 fra.me.REG[3] = NIT_NULL;
32926 fra.me.REG[4] = NIT_NULL;
32927 fra.me.REG[5] = NIT_NULL;
32928 fra.me.REG[6] = NIT_NULL;
32929 fra.me.REG[0] = p0;
32930 fra.me.REG[1] = p1;
32931 /* parser/parser.nit:11809 */
32932 fra.me.REG[2] = NIT_NULL;
32933 /* parser/parser.nit:11810 */
32934 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32935 /* parser/parser.nit:11811 */
32936 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32937 /* parser/parser.nit:11812 */
32938 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32939 /* parser/parser.nit:11813 */
32940 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32941 /* parser/parser.nit:11814 */
32942 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
32943 /* parser/parser.nit:11816 */
32944 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
32945 if (UNTAG_Bool(REGB0)) {
32946 } else {
32947 nit_abort("Assert failed", NULL, LOCATE_parser, 11816);
32948 }
32949 /* parser/parser.nit:11818 */
32950 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
32951 if (UNTAG_Bool(REGB0)) {
32952 } else {
32953 nit_abort("Assert failed", NULL, LOCATE_parser, 11818);
32954 }
32955 /* parser/parser.nit:11819 */
32956 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
32957 fra.me.REG[6] = fra.me.REG[4];
32958 /* parser/parser.nit:11821 */
32959 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCbra, ID_parser___parser_nodes___TCbra)) /*cast nullable TCbra*/;
32960 if (UNTAG_Bool(REGB0)) {
32961 } else {
32962 nit_abort("Assert failed", NULL, LOCATE_parser, 11821);
32963 }
32964 /* parser/parser.nit:11822 */
32965 fra.me.REG[3] = NEW_ABraExprs_parser___parser_prod___ABraExprs___init_abraexprs(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
32966 /* parser/parser.nit:11827 */
32967 fra.me.REG[2] = fra.me.REG[3];
32968 /* parser/parser.nit:11828 */
32969 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32970 if (UNTAG_Bool(REGB0)) {
32971 } else {
32972 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11828);
32973 }
32974 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32977 stack_frame_head = fra.me.prev;
32978 return;
32979 }
32980 void parser___ReduceAction416___action(val_t p0, val_t p1){
32981 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
32982 val_t REGB0;
32983 val_t REGB1;
32984 val_t tmp;
32985 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32986 fra.me.file = LOCATE_parser;
32987 fra.me.line = 11833;
32988 fra.me.meth = LOCATE_parser___ReduceAction416___action;
32989 fra.me.has_broke = 0;
32990 fra.me.REG_size = 5;
32991 fra.me.nitni_local_ref_head = NULL;
32992 fra.me.REG[0] = NIT_NULL;
32993 fra.me.REG[1] = NIT_NULL;
32994 fra.me.REG[2] = NIT_NULL;
32995 fra.me.REG[3] = NIT_NULL;
32996 fra.me.REG[4] = NIT_NULL;
32997 fra.me.REG[0] = p0;
32998 fra.me.REG[1] = p1;
32999 /* parser/parser.nit:11835 */
33000 fra.me.REG[2] = NIT_NULL;
33001 /* parser/parser.nit:11836 */
33002 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33003 /* parser/parser.nit:11837 */
33004 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33005 /* parser/parser.nit:11838 */
33006 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
33007 /* parser/parser.nit:11840 */
33008 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
33009 if (UNTAG_Bool(REGB0)) {
33010 } else {
33011 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
33012 if (UNTAG_Bool(REGB1)) {
33013 REGB1 = TAG_Bool(false);
33014 REGB0 = REGB1;
33015 } else {
33016 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
33017 REGB0 = REGB1;
33018 }
33019 }
33020 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33021 if (UNTAG_Bool(REGB0)) {
33022 /* parser/parser.nit:11841 */
33023 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
33024 }
33025 /* parser/parser.nit:11843 */
33026 fra.me.REG[2] = fra.me.REG[4];
33027 /* parser/parser.nit:11844 */
33028 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33029 if (UNTAG_Bool(REGB0)) {
33030 } else {
33031 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11844);
33032 }
33033 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33034 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33035 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33036 stack_frame_head = fra.me.prev;
33037 return;
33038 }
33039 void parser___ReduceAction417___action(val_t p0, val_t p1){
33040 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33041 val_t REGB0;
33042 val_t REGB1;
33043 val_t tmp;
33044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33045 fra.me.file = LOCATE_parser;
33046 fra.me.line = 11849;
33047 fra.me.meth = LOCATE_parser___ReduceAction417___action;
33048 fra.me.has_broke = 0;
33049 fra.me.REG_size = 6;
33050 fra.me.nitni_local_ref_head = NULL;
33051 fra.me.REG[0] = NIT_NULL;
33052 fra.me.REG[1] = NIT_NULL;
33053 fra.me.REG[2] = NIT_NULL;
33054 fra.me.REG[3] = NIT_NULL;
33055 fra.me.REG[4] = NIT_NULL;
33056 fra.me.REG[5] = NIT_NULL;
33057 fra.me.REG[0] = p0;
33058 fra.me.REG[1] = p1;
33059 /* parser/parser.nit:11851 */
33060 fra.me.REG[2] = NIT_NULL;
33061 /* parser/parser.nit:11852 */
33062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33063 /* parser/parser.nit:11853 */
33064 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33065 /* parser/parser.nit:11854 */
33066 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33067 /* parser/parser.nit:11855 */
33068 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
33069 /* parser/parser.nit:11858 */
33070 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
33071 if (UNTAG_Bool(REGB0)) {
33072 } else {
33073 nit_abort("Assert failed", NULL, LOCATE_parser, 11858);
33074 }
33075 /* parser/parser.nit:11859 */
33076 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
33077 if (UNTAG_Bool(REGB0)) {
33078 } else {
33079 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
33080 if (UNTAG_Bool(REGB1)) {
33081 REGB1 = TAG_Bool(false);
33082 REGB0 = REGB1;
33083 } else {
33084 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
33085 REGB0 = REGB1;
33086 }
33087 }
33088 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33089 if (UNTAG_Bool(REGB0)) {
33090 /* parser/parser.nit:11860 */
33091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
33092 }
33093 /* parser/parser.nit:11862 */
33094 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
33095 fra.me.REG[5] = fra.me.REG[3];
33096 /* parser/parser.nit:11863 */
33097 fra.me.REG[2] = fra.me.REG[5];
33098 /* parser/parser.nit:11864 */
33099 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33100 if (UNTAG_Bool(REGB0)) {
33101 } else {
33102 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11864);
33103 }
33104 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33105 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33106 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33107 stack_frame_head = fra.me.prev;
33108 return;
33109 }
33110 void parser___ReduceAction418___action(val_t p0, val_t p1){
33111 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
33112 val_t REGB0;
33113 val_t tmp;
33114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33115 fra.me.file = LOCATE_parser;
33116 fra.me.line = 11869;
33117 fra.me.meth = LOCATE_parser___ReduceAction418___action;
33118 fra.me.has_broke = 0;
33119 fra.me.REG_size = 5;
33120 fra.me.nitni_local_ref_head = NULL;
33121 fra.me.REG[0] = NIT_NULL;
33122 fra.me.REG[1] = NIT_NULL;
33123 fra.me.REG[2] = NIT_NULL;
33124 fra.me.REG[3] = NIT_NULL;
33125 fra.me.REG[4] = NIT_NULL;
33126 fra.me.REG[0] = p0;
33127 fra.me.REG[1] = p1;
33128 /* parser/parser.nit:11871 */
33129 fra.me.REG[2] = NIT_NULL;
33130 /* parser/parser.nit:11872 */
33131 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33132 /* parser/parser.nit:11873 */
33133 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33134 /* parser/parser.nit:11874 */
33135 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33136 /* parser/parser.nit:11875 */
33137 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33138 /* parser/parser.nit:11877 */
33139 fra.me.REG[2] = fra.me.REG[3];
33140 /* parser/parser.nit:11878 */
33141 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33142 if (UNTAG_Bool(REGB0)) {
33143 } else {
33144 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11878);
33145 }
33146 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33147 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33148 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33149 stack_frame_head = fra.me.prev;
33150 return;
33151 }
33152 void parser___ReduceAction419___action(val_t p0, val_t p1){
33153 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
33154 val_t REGB0;
33155 val_t REGB1;
33156 val_t tmp;
33157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33158 fra.me.file = LOCATE_parser;
33159 fra.me.line = 11883;
33160 fra.me.meth = LOCATE_parser___ReduceAction419___action;
33161 fra.me.has_broke = 0;
33162 fra.me.REG_size = 5;
33163 fra.me.nitni_local_ref_head = NULL;
33164 fra.me.REG[0] = NIT_NULL;
33165 fra.me.REG[1] = NIT_NULL;
33166 fra.me.REG[2] = NIT_NULL;
33167 fra.me.REG[3] = NIT_NULL;
33168 fra.me.REG[4] = NIT_NULL;
33169 fra.me.REG[0] = p0;
33170 fra.me.REG[1] = p1;
33171 /* parser/parser.nit:11885 */
33172 fra.me.REG[2] = NIT_NULL;
33173 /* parser/parser.nit:11886 */
33174 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33175 /* parser/parser.nit:11887 */
33176 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
33177 /* parser/parser.nit:11889 */
33178 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
33179 if (UNTAG_Bool(REGB0)) {
33180 } else {
33181 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
33182 if (UNTAG_Bool(REGB1)) {
33183 REGB1 = TAG_Bool(false);
33184 REGB0 = REGB1;
33185 } else {
33186 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
33187 REGB0 = REGB1;
33188 }
33189 }
33190 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33191 if (UNTAG_Bool(REGB0)) {
33192 /* parser/parser.nit:11890 */
33193 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
33194 }
33195 /* parser/parser.nit:11892 */
33196 fra.me.REG[2] = fra.me.REG[4];
33197 /* parser/parser.nit:11893 */
33198 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33199 if (UNTAG_Bool(REGB0)) {
33200 } else {
33201 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11893);
33202 }
33203 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33204 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33205 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33206 stack_frame_head = fra.me.prev;
33207 return;
33208 }
33209 void parser___ReduceAction420___action(val_t p0, val_t p1){
33210 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33211 val_t REGB0;
33212 val_t REGB1;
33213 val_t tmp;
33214 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33215 fra.me.file = LOCATE_parser;
33216 fra.me.line = 11898;
33217 fra.me.meth = LOCATE_parser___ReduceAction420___action;
33218 fra.me.has_broke = 0;
33219 fra.me.REG_size = 6;
33220 fra.me.nitni_local_ref_head = NULL;
33221 fra.me.REG[0] = NIT_NULL;
33222 fra.me.REG[1] = NIT_NULL;
33223 fra.me.REG[2] = NIT_NULL;
33224 fra.me.REG[3] = NIT_NULL;
33225 fra.me.REG[4] = NIT_NULL;
33226 fra.me.REG[5] = NIT_NULL;
33227 fra.me.REG[0] = p0;
33228 fra.me.REG[1] = p1;
33229 /* parser/parser.nit:11900 */
33230 fra.me.REG[2] = NIT_NULL;
33231 /* parser/parser.nit:11901 */
33232 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33233 /* parser/parser.nit:11902 */
33234 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33235 /* parser/parser.nit:11903 */
33236 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33237 /* parser/parser.nit:11904 */
33238 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33239 /* parser/parser.nit:11905 */
33240 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33241 /* parser/parser.nit:11906 */
33242 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
33243 /* parser/parser.nit:11908 */
33244 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
33245 if (UNTAG_Bool(REGB0)) {
33246 } else {
33247 nit_abort("Assert failed", NULL, LOCATE_parser, 11908);
33248 }
33249 /* parser/parser.nit:11910 */
33250 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
33251 fra.me.REG[5] = fra.me.REG[4];
33252 /* parser/parser.nit:11911 */
33253 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
33254 if (UNTAG_Bool(REGB0)) {
33255 } else {
33256 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
33257 if (UNTAG_Bool(REGB1)) {
33258 REGB1 = TAG_Bool(false);
33259 REGB0 = REGB1;
33260 } else {
33261 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
33262 REGB0 = REGB1;
33263 }
33264 }
33265 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33266 if (UNTAG_Bool(REGB0)) {
33267 /* parser/parser.nit:11912 */
33268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
33269 }
33270 /* parser/parser.nit:11914 */
33271 fra.me.REG[2] = fra.me.REG[5];
33272 /* parser/parser.nit:11915 */
33273 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33274 if (UNTAG_Bool(REGB0)) {
33275 } else {
33276 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11915);
33277 }
33278 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33279 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33280 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33281 stack_frame_head = fra.me.prev;
33282 return;
33283 }
33284 void parser___ReduceAction421___action(val_t p0, val_t p1){
33285 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
33286 val_t REGB0;
33287 val_t tmp;
33288 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33289 fra.me.file = LOCATE_parser;
33290 fra.me.line = 11920;
33291 fra.me.meth = LOCATE_parser___ReduceAction421___action;
33292 fra.me.has_broke = 0;
33293 fra.me.REG_size = 5;
33294 fra.me.nitni_local_ref_head = NULL;
33295 fra.me.REG[0] = NIT_NULL;
33296 fra.me.REG[1] = NIT_NULL;
33297 fra.me.REG[2] = NIT_NULL;
33298 fra.me.REG[3] = NIT_NULL;
33299 fra.me.REG[4] = NIT_NULL;
33300 fra.me.REG[0] = p0;
33301 fra.me.REG[1] = p1;
33302 /* parser/parser.nit:11922 */
33303 fra.me.REG[2] = NIT_NULL;
33304 /* parser/parser.nit:11923 */
33305 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33306 /* parser/parser.nit:11924 */
33307 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
33308 /* parser/parser.nit:11926 */
33309 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
33310 if (UNTAG_Bool(REGB0)) {
33311 } else {
33312 nit_abort("Assert failed", NULL, LOCATE_parser, 11926);
33313 }
33314 /* parser/parser.nit:11927 */
33315 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
33316 /* parser/parser.nit:11932 */
33317 fra.me.REG[2] = fra.me.REG[3];
33318 /* parser/parser.nit:11933 */
33319 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33320 if (UNTAG_Bool(REGB0)) {
33321 } else {
33322 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11933);
33323 }
33324 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33325 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33326 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33327 stack_frame_head = fra.me.prev;
33328 return;
33329 }
33330 void parser___ReduceAction422___action(val_t p0, val_t p1){
33331 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33332 val_t REGB0;
33333 val_t tmp;
33334 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33335 fra.me.file = LOCATE_parser;
33336 fra.me.line = 11938;
33337 fra.me.meth = LOCATE_parser___ReduceAction422___action;
33338 fra.me.has_broke = 0;
33339 fra.me.REG_size = 6;
33340 fra.me.nitni_local_ref_head = NULL;
33341 fra.me.REG[0] = NIT_NULL;
33342 fra.me.REG[1] = NIT_NULL;
33343 fra.me.REG[2] = NIT_NULL;
33344 fra.me.REG[3] = NIT_NULL;
33345 fra.me.REG[4] = NIT_NULL;
33346 fra.me.REG[5] = NIT_NULL;
33347 fra.me.REG[0] = p0;
33348 fra.me.REG[1] = p1;
33349 /* parser/parser.nit:11940 */
33350 fra.me.REG[2] = NIT_NULL;
33351 /* parser/parser.nit:11941 */
33352 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33353 /* parser/parser.nit:11942 */
33354 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33355 /* parser/parser.nit:11943 */
33356 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
33357 /* parser/parser.nit:11945 */
33358 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
33359 if (UNTAG_Bool(REGB0)) {
33360 } else {
33361 nit_abort("Assert failed", NULL, LOCATE_parser, 11945);
33362 }
33363 /* parser/parser.nit:11946 */
33364 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
33365 fra.me.REG[5] = fra.me.REG[4];
33366 /* parser/parser.nit:11948 */
33367 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
33368 if (UNTAG_Bool(REGB0)) {
33369 } else {
33370 nit_abort("Assert failed", NULL, LOCATE_parser, 11948);
33371 }
33372 /* parser/parser.nit:11949 */
33373 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[5], fra.me.REG[3]);
33374 /* parser/parser.nit:11954 */
33375 fra.me.REG[2] = fra.me.REG[3];
33376 /* parser/parser.nit:11955 */
33377 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33378 if (UNTAG_Bool(REGB0)) {
33379 } else {
33380 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11955);
33381 }
33382 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33383 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33384 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33385 stack_frame_head = fra.me.prev;
33386 return;
33387 }
33388 void parser___ReduceAction423___action(val_t p0, val_t p1){
33389 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33390 val_t REGB0;
33391 val_t tmp;
33392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33393 fra.me.file = LOCATE_parser;
33394 fra.me.line = 11960;
33395 fra.me.meth = LOCATE_parser___ReduceAction423___action;
33396 fra.me.has_broke = 0;
33397 fra.me.REG_size = 6;
33398 fra.me.nitni_local_ref_head = NULL;
33399 fra.me.REG[0] = NIT_NULL;
33400 fra.me.REG[1] = NIT_NULL;
33401 fra.me.REG[2] = NIT_NULL;
33402 fra.me.REG[3] = NIT_NULL;
33403 fra.me.REG[4] = NIT_NULL;
33404 fra.me.REG[5] = NIT_NULL;
33405 fra.me.REG[0] = p0;
33406 fra.me.REG[1] = p1;
33407 /* parser/parser.nit:11962 */
33408 fra.me.REG[2] = NIT_NULL;
33409 /* parser/parser.nit:11963 */
33410 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33411 /* parser/parser.nit:11964 */
33412 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33413 /* parser/parser.nit:11965 */
33414 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33415 /* parser/parser.nit:11966 */
33416 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
33417 /* parser/parser.nit:11968 */
33418 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TQuad, ID_parser___parser_nodes___TQuad)) /*cast nullable TQuad*/;
33419 if (UNTAG_Bool(REGB0)) {
33420 } else {
33421 nit_abort("Assert failed", NULL, LOCATE_parser, 11968);
33422 }
33423 /* parser/parser.nit:11970 */
33424 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
33425 if (UNTAG_Bool(REGB0)) {
33426 } else {
33427 nit_abort("Assert failed", NULL, LOCATE_parser, 11970);
33428 }
33429 /* parser/parser.nit:11971 */
33430 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
33431 /* parser/parser.nit:11976 */
33432 fra.me.REG[2] = fra.me.REG[3];
33433 /* parser/parser.nit:11977 */
33434 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33435 if (UNTAG_Bool(REGB0)) {
33436 } else {
33437 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11977);
33438 }
33439 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33440 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33441 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33442 stack_frame_head = fra.me.prev;
33443 return;
33444 }
33445 void parser___ReduceAction424___action(val_t p0, val_t p1){
33446 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33447 val_t REGB0;
33448 val_t tmp;
33449 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33450 fra.me.file = LOCATE_parser;
33451 fra.me.line = 11982;
33452 fra.me.meth = LOCATE_parser___ReduceAction424___action;
33453 fra.me.has_broke = 0;
33454 fra.me.REG_size = 7;
33455 fra.me.nitni_local_ref_head = NULL;
33456 fra.me.REG[0] = NIT_NULL;
33457 fra.me.REG[1] = NIT_NULL;
33458 fra.me.REG[2] = NIT_NULL;
33459 fra.me.REG[3] = NIT_NULL;
33460 fra.me.REG[4] = NIT_NULL;
33461 fra.me.REG[5] = NIT_NULL;
33462 fra.me.REG[6] = NIT_NULL;
33463 fra.me.REG[0] = p0;
33464 fra.me.REG[1] = p1;
33465 /* parser/parser.nit:11984 */
33466 fra.me.REG[2] = NIT_NULL;
33467 /* parser/parser.nit:11985 */
33468 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33469 /* parser/parser.nit:11986 */
33470 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33471 /* parser/parser.nit:11987 */
33472 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33473 /* parser/parser.nit:11988 */
33474 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33475 /* parser/parser.nit:11989 */
33476 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
33477 /* parser/parser.nit:11991 */
33478 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TQuad, ID_parser___parser_nodes___TQuad)) /*cast nullable TQuad*/;
33479 if (UNTAG_Bool(REGB0)) {
33480 } else {
33481 nit_abort("Assert failed", NULL, LOCATE_parser, 11991);
33482 }
33483 /* parser/parser.nit:11993 */
33484 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
33485 if (UNTAG_Bool(REGB0)) {
33486 } else {
33487 nit_abort("Assert failed", NULL, LOCATE_parser, 11993);
33488 }
33489 /* parser/parser.nit:11994 */
33490 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
33491 fra.me.REG[6] = fra.me.REG[4];
33492 /* parser/parser.nit:11996 */
33493 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
33494 if (UNTAG_Bool(REGB0)) {
33495 } else {
33496 nit_abort("Assert failed", NULL, LOCATE_parser, 11996);
33497 }
33498 /* parser/parser.nit:11997 */
33499 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
33500 /* parser/parser.nit:12002 */
33501 fra.me.REG[2] = fra.me.REG[3];
33502 /* parser/parser.nit:12003 */
33503 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33504 if (UNTAG_Bool(REGB0)) {
33505 } else {
33506 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12003);
33507 }
33508 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33509 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33510 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33511 stack_frame_head = fra.me.prev;
33512 return;
33513 }
33514 void parser___ReduceAction425___action(val_t p0, val_t p1){
33515 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
33516 val_t REGB0;
33517 val_t tmp;
33518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33519 fra.me.file = LOCATE_parser;
33520 fra.me.line = 12008;
33521 fra.me.meth = LOCATE_parser___ReduceAction425___action;
33522 fra.me.has_broke = 0;
33523 fra.me.REG_size = 5;
33524 fra.me.nitni_local_ref_head = NULL;
33525 fra.me.REG[0] = NIT_NULL;
33526 fra.me.REG[1] = NIT_NULL;
33527 fra.me.REG[2] = NIT_NULL;
33528 fra.me.REG[3] = NIT_NULL;
33529 fra.me.REG[4] = NIT_NULL;
33530 fra.me.REG[0] = p0;
33531 fra.me.REG[1] = p1;
33532 /* parser/parser.nit:12010 */
33533 fra.me.REG[2] = NIT_NULL;
33534 /* parser/parser.nit:12011 */
33535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33536 /* parser/parser.nit:12012 */
33537 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
33538 /* parser/parser.nit:12014 */
33539 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
33540 if (UNTAG_Bool(REGB0)) {
33541 } else {
33542 nit_abort("Assert failed", NULL, LOCATE_parser, 12014);
33543 }
33544 /* parser/parser.nit:12015 */
33545 fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], fra.me.REG[3]);
33546 /* parser/parser.nit:12019 */
33547 fra.me.REG[2] = fra.me.REG[3];
33548 /* parser/parser.nit:12020 */
33549 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33550 if (UNTAG_Bool(REGB0)) {
33551 } else {
33552 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12020);
33553 }
33554 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33555 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33556 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33557 stack_frame_head = fra.me.prev;
33558 return;
33559 }
33560 void parser___ReduceAction426___action(val_t p0, val_t p1){
33561 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33562 val_t REGB0;
33563 val_t tmp;
33564 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33565 fra.me.file = LOCATE_parser;
33566 fra.me.line = 12025;
33567 fra.me.meth = LOCATE_parser___ReduceAction426___action;
33568 fra.me.has_broke = 0;
33569 fra.me.REG_size = 6;
33570 fra.me.nitni_local_ref_head = NULL;
33571 fra.me.REG[0] = NIT_NULL;
33572 fra.me.REG[1] = NIT_NULL;
33573 fra.me.REG[2] = NIT_NULL;
33574 fra.me.REG[3] = NIT_NULL;
33575 fra.me.REG[4] = NIT_NULL;
33576 fra.me.REG[5] = NIT_NULL;
33577 fra.me.REG[0] = p0;
33578 fra.me.REG[1] = p1;
33579 /* parser/parser.nit:12027 */
33580 fra.me.REG[2] = NIT_NULL;
33581 /* parser/parser.nit:12028 */
33582 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33583 /* parser/parser.nit:12029 */
33584 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33585 /* parser/parser.nit:12030 */
33586 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
33587 /* parser/parser.nit:12032 */
33588 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
33589 if (UNTAG_Bool(REGB0)) {
33590 } else {
33591 nit_abort("Assert failed", NULL, LOCATE_parser, 12032);
33592 }
33593 /* parser/parser.nit:12033 */
33594 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
33595 fra.me.REG[5] = fra.me.REG[4];
33596 /* parser/parser.nit:12035 */
33597 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
33598 if (UNTAG_Bool(REGB0)) {
33599 } else {
33600 nit_abort("Assert failed", NULL, LOCATE_parser, 12035);
33601 }
33602 /* parser/parser.nit:12036 */
33603 fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[5], fra.me.REG[3]);
33604 /* parser/parser.nit:12040 */
33605 fra.me.REG[2] = fra.me.REG[3];
33606 /* parser/parser.nit:12041 */
33607 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33608 if (UNTAG_Bool(REGB0)) {
33609 } else {
33610 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12041);
33611 }
33612 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33613 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33614 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33615 stack_frame_head = fra.me.prev;
33616 return;
33617 }
33618 void parser___ReduceAction427___action(val_t p0, val_t p1){
33619 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
33620 val_t REGB0;
33621 val_t tmp;
33622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33623 fra.me.file = LOCATE_parser;
33624 fra.me.line = 12046;
33625 fra.me.meth = LOCATE_parser___ReduceAction427___action;
33626 fra.me.has_broke = 0;
33627 fra.me.REG_size = 5;
33628 fra.me.nitni_local_ref_head = NULL;
33629 fra.me.REG[0] = NIT_NULL;
33630 fra.me.REG[1] = NIT_NULL;
33631 fra.me.REG[2] = NIT_NULL;
33632 fra.me.REG[3] = NIT_NULL;
33633 fra.me.REG[4] = NIT_NULL;
33634 fra.me.REG[0] = p0;
33635 fra.me.REG[1] = p1;
33636 /* parser/parser.nit:12048 */
33637 fra.me.REG[2] = NIT_NULL;
33638 /* parser/parser.nit:12049 */
33639 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33640 /* parser/parser.nit:12050 */
33641 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
33642 /* parser/parser.nit:12052 */
33643 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
33644 if (UNTAG_Bool(REGB0)) {
33645 } else {
33646 nit_abort("Assert failed", NULL, LOCATE_parser, 12052);
33647 }
33648 /* parser/parser.nit:12053 */
33649 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
33650 fra.me.REG[4] = fra.me.REG[3];
33651 /* parser/parser.nit:12054 */
33652 fra.me.REG[4] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], NIT_NULL);
33653 /* parser/parser.nit:12058 */
33654 fra.me.REG[2] = fra.me.REG[4];
33655 /* parser/parser.nit:12059 */
33656 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33657 if (UNTAG_Bool(REGB0)) {
33658 } else {
33659 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12059);
33660 }
33661 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33662 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33663 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33664 stack_frame_head = fra.me.prev;
33665 return;
33666 }
33667 void parser___ReduceAction428___action(val_t p0, val_t p1){
33668 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33669 val_t REGB0;
33670 val_t tmp;
33671 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33672 fra.me.file = LOCATE_parser;
33673 fra.me.line = 12064;
33674 fra.me.meth = LOCATE_parser___ReduceAction428___action;
33675 fra.me.has_broke = 0;
33676 fra.me.REG_size = 4;
33677 fra.me.nitni_local_ref_head = NULL;
33678 fra.me.REG[0] = NIT_NULL;
33679 fra.me.REG[1] = NIT_NULL;
33680 fra.me.REG[2] = NIT_NULL;
33681 fra.me.REG[3] = NIT_NULL;
33682 fra.me.REG[0] = p0;
33683 fra.me.REG[1] = p1;
33684 /* parser/parser.nit:12066 */
33685 fra.me.REG[2] = NIT_NULL;
33686 /* parser/parser.nit:12067 */
33687 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33688 /* parser/parser.nit:12068 */
33689 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33690 /* parser/parser.nit:12069 */
33691 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33692 /* parser/parser.nit:12071 */
33693 fra.me.REG[2] = fra.me.REG[3];
33694 /* parser/parser.nit:12072 */
33695 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33696 if (UNTAG_Bool(REGB0)) {
33697 } else {
33698 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12072);
33699 }
33700 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33701 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33702 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33703 stack_frame_head = fra.me.prev;
33704 return;
33705 }
33706 void parser___ReduceAction429___action(val_t p0, val_t p1){
33707 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33708 val_t REGB0;
33709 val_t tmp;
33710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33711 fra.me.file = LOCATE_parser;
33712 fra.me.line = 12077;
33713 fra.me.meth = LOCATE_parser___ReduceAction429___action;
33714 fra.me.has_broke = 0;
33715 fra.me.REG_size = 4;
33716 fra.me.nitni_local_ref_head = NULL;
33717 fra.me.REG[0] = NIT_NULL;
33718 fra.me.REG[1] = NIT_NULL;
33719 fra.me.REG[2] = NIT_NULL;
33720 fra.me.REG[3] = NIT_NULL;
33721 fra.me.REG[0] = p0;
33722 fra.me.REG[1] = p1;
33723 /* parser/parser.nit:12079 */
33724 fra.me.REG[2] = NIT_NULL;
33725 /* parser/parser.nit:12080 */
33726 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33727 /* parser/parser.nit:12081 */
33728 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33729 /* parser/parser.nit:12082 */
33730 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33731 /* parser/parser.nit:12084 */
33732 fra.me.REG[2] = fra.me.REG[3];
33733 /* parser/parser.nit:12085 */
33734 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33735 if (UNTAG_Bool(REGB0)) {
33736 } else {
33737 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12085);
33738 }
33739 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33740 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33741 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33742 stack_frame_head = fra.me.prev;
33743 return;
33744 }
33745 void parser___ReduceAction430___action(val_t p0, val_t p1){
33746 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33747 val_t REGB0;
33748 val_t tmp;
33749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33750 fra.me.file = LOCATE_parser;
33751 fra.me.line = 12090;
33752 fra.me.meth = LOCATE_parser___ReduceAction430___action;
33753 fra.me.has_broke = 0;
33754 fra.me.REG_size = 4;
33755 fra.me.nitni_local_ref_head = NULL;
33756 fra.me.REG[0] = NIT_NULL;
33757 fra.me.REG[1] = NIT_NULL;
33758 fra.me.REG[2] = NIT_NULL;
33759 fra.me.REG[3] = NIT_NULL;
33760 fra.me.REG[0] = p0;
33761 fra.me.REG[1] = p1;
33762 /* parser/parser.nit:12092 */
33763 fra.me.REG[2] = NIT_NULL;
33764 /* parser/parser.nit:12093 */
33765 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33766 /* parser/parser.nit:12094 */
33767 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33768 if (UNTAG_Bool(REGB0)) {
33769 } else {
33770 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12094);
33771 }
33772 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33773 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33774 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33775 stack_frame_head = fra.me.prev;
33776 return;
33777 }
33778 void parser___ReduceAction432___action(val_t p0, val_t p1){
33779 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
33780 val_t REGB0;
33781 val_t tmp;
33782 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33783 fra.me.file = LOCATE_parser;
33784 fra.me.line = 12099;
33785 fra.me.meth = LOCATE_parser___ReduceAction432___action;
33786 fra.me.has_broke = 0;
33787 fra.me.REG_size = 5;
33788 fra.me.nitni_local_ref_head = NULL;
33789 fra.me.REG[0] = NIT_NULL;
33790 fra.me.REG[1] = NIT_NULL;
33791 fra.me.REG[2] = NIT_NULL;
33792 fra.me.REG[3] = NIT_NULL;
33793 fra.me.REG[4] = NIT_NULL;
33794 fra.me.REG[0] = p0;
33795 fra.me.REG[1] = p1;
33796 /* parser/parser.nit:12101 */
33797 fra.me.REG[2] = NIT_NULL;
33798 /* parser/parser.nit:12102 */
33799 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33800 /* parser/parser.nit:12103 */
33801 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
33802 /* parser/parser.nit:12105 */
33803 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
33804 if (UNTAG_Bool(REGB0)) {
33805 } else {
33806 nit_abort("Assert failed", NULL, LOCATE_parser, 12105);
33807 }
33808 /* parser/parser.nit:12106 */
33809 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
33810 fra.me.REG[4] = fra.me.REG[3];
33811 /* parser/parser.nit:12107 */
33812 fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
33813 /* parser/parser.nit:12110 */
33814 fra.me.REG[2] = fra.me.REG[4];
33815 /* parser/parser.nit:12111 */
33816 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33817 if (UNTAG_Bool(REGB0)) {
33818 } else {
33819 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12111);
33820 }
33821 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33822 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33823 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33824 stack_frame_head = fra.me.prev;
33825 return;
33826 }
33827 void parser___ReduceAction433___action(val_t p0, val_t p1){
33828 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
33829 val_t REGB0;
33830 val_t tmp;
33831 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33832 fra.me.file = LOCATE_parser;
33833 fra.me.line = 12116;
33834 fra.me.meth = LOCATE_parser___ReduceAction433___action;
33835 fra.me.has_broke = 0;
33836 fra.me.REG_size = 5;
33837 fra.me.nitni_local_ref_head = NULL;
33838 fra.me.REG[0] = NIT_NULL;
33839 fra.me.REG[1] = NIT_NULL;
33840 fra.me.REG[2] = NIT_NULL;
33841 fra.me.REG[3] = NIT_NULL;
33842 fra.me.REG[4] = NIT_NULL;
33843 fra.me.REG[0] = p0;
33844 fra.me.REG[1] = p1;
33845 /* parser/parser.nit:12118 */
33846 fra.me.REG[2] = NIT_NULL;
33847 /* parser/parser.nit:12119 */
33848 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33849 /* parser/parser.nit:12120 */
33850 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33851 /* parser/parser.nit:12121 */
33852 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
33853 /* parser/parser.nit:12123 */
33854 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
33855 if (UNTAG_Bool(REGB0)) {
33856 } else {
33857 nit_abort("Assert failed", NULL, LOCATE_parser, 12123);
33858 }
33859 /* parser/parser.nit:12124 */
33860 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
33861 fra.me.REG[4] = fra.me.REG[3];
33862 /* parser/parser.nit:12125 */
33863 fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
33864 /* parser/parser.nit:12128 */
33865 fra.me.REG[2] = fra.me.REG[4];
33866 /* parser/parser.nit:12129 */
33867 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33868 if (UNTAG_Bool(REGB0)) {
33869 } else {
33870 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12129);
33871 }
33872 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33873 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33874 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33875 stack_frame_head = fra.me.prev;
33876 return;
33877 }
33878 void parser___ReduceAction435___action(val_t p0, val_t p1){
33879 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33880 val_t REGB0;
33881 val_t tmp;
33882 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33883 fra.me.file = LOCATE_parser;
33884 fra.me.line = 12134;
33885 fra.me.meth = LOCATE_parser___ReduceAction435___action;
33886 fra.me.has_broke = 0;
33887 fra.me.REG_size = 3;
33888 fra.me.nitni_local_ref_head = NULL;
33889 fra.me.REG[0] = NIT_NULL;
33890 fra.me.REG[1] = NIT_NULL;
33891 fra.me.REG[2] = NIT_NULL;
33892 fra.me.REG[0] = p0;
33893 fra.me.REG[1] = p1;
33894 /* parser/parser.nit:12136 */
33895 fra.me.REG[2] = NIT_NULL;
33896 /* parser/parser.nit:12137 */
33897 fra.me.REG[2] = NIT_NULL;
33898 /* parser/parser.nit:12138 */
33899 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33900 if (UNTAG_Bool(REGB0)) {
33901 } else {
33902 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12138);
33903 }
33904 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33905 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33906 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33907 stack_frame_head = fra.me.prev;
33908 return;
33909 }
33910 void parser___ReduceAction436___action(val_t p0, val_t p1){
33911 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33912 val_t REGB0;
33913 val_t tmp;
33914 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33915 fra.me.file = LOCATE_parser;
33916 fra.me.line = 12143;
33917 fra.me.meth = LOCATE_parser___ReduceAction436___action;
33918 fra.me.has_broke = 0;
33919 fra.me.REG_size = 4;
33920 fra.me.nitni_local_ref_head = NULL;
33921 fra.me.REG[0] = NIT_NULL;
33922 fra.me.REG[1] = NIT_NULL;
33923 fra.me.REG[2] = NIT_NULL;
33924 fra.me.REG[3] = NIT_NULL;
33925 fra.me.REG[0] = p0;
33926 fra.me.REG[1] = p1;
33927 /* parser/parser.nit:12145 */
33928 fra.me.REG[2] = NIT_NULL;
33929 /* parser/parser.nit:12146 */
33930 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33931 /* parser/parser.nit:12148 */
33932 fra.me.REG[2] = fra.me.REG[3];
33933 /* parser/parser.nit:12149 */
33934 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33935 if (UNTAG_Bool(REGB0)) {
33936 } else {
33937 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12149);
33938 }
33939 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33940 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33941 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33942 stack_frame_head = fra.me.prev;
33943 return;
33944 }
33945 void parser___ReduceAction437___action(val_t p0, val_t p1){
33946 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33947 val_t REGB0;
33948 val_t tmp;
33949 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33950 fra.me.file = LOCATE_parser;
33951 fra.me.line = 12154;
33952 fra.me.meth = LOCATE_parser___ReduceAction437___action;
33953 fra.me.has_broke = 0;
33954 fra.me.REG_size = 4;
33955 fra.me.nitni_local_ref_head = NULL;
33956 fra.me.REG[0] = NIT_NULL;
33957 fra.me.REG[1] = NIT_NULL;
33958 fra.me.REG[2] = NIT_NULL;
33959 fra.me.REG[3] = NIT_NULL;
33960 fra.me.REG[0] = p0;
33961 fra.me.REG[1] = p1;
33962 /* parser/parser.nit:12156 */
33963 fra.me.REG[2] = NIT_NULL;
33964 /* parser/parser.nit:12157 */
33965 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33966 /* parser/parser.nit:12158 */
33967 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33968 /* parser/parser.nit:12159 */
33969 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33970 if (UNTAG_Bool(REGB0)) {
33971 } else {
33972 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12159);
33973 }
33974 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33977 stack_frame_head = fra.me.prev;
33978 return;
33979 }
33980 void parser___ReduceAction438___action(val_t p0, val_t p1){
33981 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33982 val_t REGB0;
33983 val_t tmp;
33984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33985 fra.me.file = LOCATE_parser;
33986 fra.me.line = 12164;
33987 fra.me.meth = LOCATE_parser___ReduceAction438___action;
33988 fra.me.has_broke = 0;
33989 fra.me.REG_size = 4;
33990 fra.me.nitni_local_ref_head = NULL;
33991 fra.me.REG[0] = NIT_NULL;
33992 fra.me.REG[1] = NIT_NULL;
33993 fra.me.REG[2] = NIT_NULL;
33994 fra.me.REG[3] = NIT_NULL;
33995 fra.me.REG[0] = p0;
33996 fra.me.REG[1] = p1;
33997 /* parser/parser.nit:12166 */
33998 fra.me.REG[2] = NIT_NULL;
33999 /* parser/parser.nit:12167 */
34000 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34001 /* parser/parser.nit:12168 */
34002 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34003 /* parser/parser.nit:12169 */
34004 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34005 /* parser/parser.nit:12170 */
34006 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34007 if (UNTAG_Bool(REGB0)) {
34008 } else {
34009 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12170);
34010 }
34011 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34012 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34013 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34014 stack_frame_head = fra.me.prev;
34015 return;
34016 }
34017 void parser___ReduceAction698___action(val_t p0, val_t p1){
34018 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34019 val_t REGB0;
34020 val_t tmp;
34021 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34022 fra.me.file = LOCATE_parser;
34023 fra.me.line = 12175;
34024 fra.me.meth = LOCATE_parser___ReduceAction698___action;
34025 fra.me.has_broke = 0;
34026 fra.me.REG_size = 6;
34027 fra.me.nitni_local_ref_head = NULL;
34028 fra.me.REG[0] = NIT_NULL;
34029 fra.me.REG[1] = NIT_NULL;
34030 fra.me.REG[2] = NIT_NULL;
34031 fra.me.REG[3] = NIT_NULL;
34032 fra.me.REG[4] = NIT_NULL;
34033 fra.me.REG[5] = NIT_NULL;
34034 fra.me.REG[0] = p0;
34035 fra.me.REG[1] = p1;
34036 /* parser/parser.nit:12177 */
34037 fra.me.REG[2] = NIT_NULL;
34038 /* parser/parser.nit:12178 */
34039 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34040 /* parser/parser.nit:12179 */
34041 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34042 /* parser/parser.nit:12180 */
34043 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34044 /* parser/parser.nit:12182 */
34045 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwisset, ID_parser___parser_nodes___TKwisset)) /*cast nullable TKwisset*/;
34046 if (UNTAG_Bool(REGB0)) {
34047 } else {
34048 nit_abort("Assert failed", NULL, LOCATE_parser, 12182);
34049 }
34050 /* parser/parser.nit:12184 */
34051 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34052 if (UNTAG_Bool(REGB0)) {
34053 } else {
34054 nit_abort("Assert failed", NULL, LOCATE_parser, 12184);
34055 }
34056 /* parser/parser.nit:12186 */
34057 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
34058 if (UNTAG_Bool(REGB0)) {
34059 } else {
34060 nit_abort("Assert failed", NULL, LOCATE_parser, 12186);
34061 }
34062 /* parser/parser.nit:12187 */
34063 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34064 /* parser/parser.nit:12192 */
34065 fra.me.REG[2] = fra.me.REG[3];
34066 /* parser/parser.nit:12193 */
34067 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34068 if (UNTAG_Bool(REGB0)) {
34069 } else {
34070 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12193);
34071 }
34072 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34073 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34074 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34075 stack_frame_head = fra.me.prev;
34076 return;
34077 }
34078 void parser___ReduceAction699___action(val_t p0, val_t p1){
34079 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34080 val_t REGB0;
34081 val_t tmp;
34082 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34083 fra.me.file = LOCATE_parser;
34084 fra.me.line = 12198;
34085 fra.me.meth = LOCATE_parser___ReduceAction699___action;
34086 fra.me.has_broke = 0;
34087 fra.me.REG_size = 5;
34088 fra.me.nitni_local_ref_head = NULL;
34089 fra.me.REG[0] = NIT_NULL;
34090 fra.me.REG[1] = NIT_NULL;
34091 fra.me.REG[2] = NIT_NULL;
34092 fra.me.REG[3] = NIT_NULL;
34093 fra.me.REG[4] = NIT_NULL;
34094 fra.me.REG[0] = p0;
34095 fra.me.REG[1] = p1;
34096 /* parser/parser.nit:12200 */
34097 fra.me.REG[2] = NIT_NULL;
34098 /* parser/parser.nit:12201 */
34099 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34100 /* parser/parser.nit:12202 */
34101 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34102 /* parser/parser.nit:12204 */
34103 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34104 if (UNTAG_Bool(REGB0)) {
34105 } else {
34106 nit_abort("Assert failed", NULL, LOCATE_parser, 12204);
34107 }
34108 /* parser/parser.nit:12206 */
34109 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TAttrid, ID_parser___parser_nodes___TAttrid)) /*cast nullable TAttrid*/;
34110 if (UNTAG_Bool(REGB0)) {
34111 } else {
34112 nit_abort("Assert failed", NULL, LOCATE_parser, 12206);
34113 }
34114 /* parser/parser.nit:12207 */
34115 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
34116 /* parser/parser.nit:12211 */
34117 fra.me.REG[2] = fra.me.REG[3];
34118 /* parser/parser.nit:12212 */
34119 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34120 if (UNTAG_Bool(REGB0)) {
34121 } else {
34122 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12212);
34123 }
34124 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34125 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34126 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34127 stack_frame_head = fra.me.prev;
34128 return;
34129 }
34130 void parser___ReduceAction700___action(val_t p0, val_t p1){
34131 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
34132 val_t REGB0;
34133 val_t tmp;
34134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34135 fra.me.file = LOCATE_parser;
34136 fra.me.line = 12217;
34137 fra.me.meth = LOCATE_parser___ReduceAction700___action;
34138 fra.me.has_broke = 0;
34139 fra.me.REG_size = 7;
34140 fra.me.nitni_local_ref_head = NULL;
34141 fra.me.REG[0] = NIT_NULL;
34142 fra.me.REG[1] = NIT_NULL;
34143 fra.me.REG[2] = NIT_NULL;
34144 fra.me.REG[3] = NIT_NULL;
34145 fra.me.REG[4] = NIT_NULL;
34146 fra.me.REG[5] = NIT_NULL;
34147 fra.me.REG[6] = NIT_NULL;
34148 fra.me.REG[0] = p0;
34149 fra.me.REG[1] = p1;
34150 /* parser/parser.nit:12219 */
34151 fra.me.REG[2] = NIT_NULL;
34152 /* parser/parser.nit:12220 */
34153 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34154 /* parser/parser.nit:12221 */
34155 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34156 /* parser/parser.nit:12222 */
34157 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34158 /* parser/parser.nit:12223 */
34159 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
34160 /* parser/parser.nit:12225 */
34161 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34162 if (UNTAG_Bool(REGB0)) {
34163 } else {
34164 nit_abort("Assert failed", NULL, LOCATE_parser, 12225);
34165 }
34166 /* parser/parser.nit:12227 */
34167 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TId, ID_parser___parser_nodes___TId)) /*cast nullable TId*/;
34168 if (UNTAG_Bool(REGB0)) {
34169 } else {
34170 nit_abort("Assert failed", NULL, LOCATE_parser, 12227);
34171 }
34172 /* parser/parser.nit:12229 */
34173 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
34174 if (UNTAG_Bool(REGB0)) {
34175 } else {
34176 nit_abort("Assert failed", NULL, LOCATE_parser, 12229);
34177 }
34178 /* parser/parser.nit:12230 */
34179 fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
34180 /* parser/parser.nit:12236 */
34181 fra.me.REG[2] = fra.me.REG[6];
34182 /* parser/parser.nit:12237 */
34183 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34184 if (UNTAG_Bool(REGB0)) {
34185 } else {
34186 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12237);
34187 }
34188 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34189 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34190 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34191 stack_frame_head = fra.me.prev;
34192 return;
34193 }
34194 void parser___ReduceAction703___action(val_t p0, val_t p1){
34195 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34196 val_t REGB0;
34197 val_t tmp;
34198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34199 fra.me.file = LOCATE_parser;
34200 fra.me.line = 12242;
34201 fra.me.meth = LOCATE_parser___ReduceAction703___action;
34202 fra.me.has_broke = 0;
34203 fra.me.REG_size = 6;
34204 fra.me.nitni_local_ref_head = NULL;
34205 fra.me.REG[0] = NIT_NULL;
34206 fra.me.REG[1] = NIT_NULL;
34207 fra.me.REG[2] = NIT_NULL;
34208 fra.me.REG[3] = NIT_NULL;
34209 fra.me.REG[4] = NIT_NULL;
34210 fra.me.REG[5] = NIT_NULL;
34211 fra.me.REG[0] = p0;
34212 fra.me.REG[1] = p1;
34213 /* parser/parser.nit:12244 */
34214 fra.me.REG[2] = NIT_NULL;
34215 /* parser/parser.nit:12245 */
34216 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34217 /* parser/parser.nit:12246 */
34218 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34219 /* parser/parser.nit:12247 */
34220 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34221 /* parser/parser.nit:12249 */
34222 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
34223 if (UNTAG_Bool(REGB0)) {
34224 } else {
34225 nit_abort("Assert failed", NULL, LOCATE_parser, 12249);
34226 }
34227 /* parser/parser.nit:12251 */
34228 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwinit, ID_parser___parser_nodes___TKwinit)) /*cast nullable TKwinit*/;
34229 if (UNTAG_Bool(REGB0)) {
34230 } else {
34231 nit_abort("Assert failed", NULL, LOCATE_parser, 12251);
34232 }
34233 /* parser/parser.nit:12253 */
34234 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
34235 if (UNTAG_Bool(REGB0)) {
34236 } else {
34237 nit_abort("Assert failed", NULL, LOCATE_parser, 12253);
34238 }
34239 /* parser/parser.nit:12254 */
34240 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34241 /* parser/parser.nit:12259 */
34242 fra.me.REG[2] = fra.me.REG[3];
34243 /* parser/parser.nit:12260 */
34244 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34245 if (UNTAG_Bool(REGB0)) {
34246 } else {
34247 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12260);
34248 }
34249 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34250 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34251 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34252 stack_frame_head = fra.me.prev;
34253 return;
34254 }
34255 void parser___ReduceAction716___action(val_t p0, val_t p1){
34256 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
34257 val_t REGB0;
34258 val_t tmp;
34259 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34260 fra.me.file = LOCATE_parser;
34261 fra.me.line = 12265;
34262 fra.me.meth = LOCATE_parser___ReduceAction716___action;
34263 fra.me.has_broke = 0;
34264 fra.me.REG_size = 4;
34265 fra.me.nitni_local_ref_head = NULL;
34266 fra.me.REG[0] = NIT_NULL;
34267 fra.me.REG[1] = NIT_NULL;
34268 fra.me.REG[2] = NIT_NULL;
34269 fra.me.REG[3] = NIT_NULL;
34270 fra.me.REG[0] = p0;
34271 fra.me.REG[1] = p1;
34272 /* parser/parser.nit:12267 */
34273 fra.me.REG[2] = NIT_NULL;
34274 /* parser/parser.nit:12268 */
34275 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34276 /* parser/parser.nit:12269 */
34277 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34278 /* parser/parser.nit:12270 */
34279 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34280 /* parser/parser.nit:12272 */
34281 fra.me.REG[2] = fra.me.REG[3];
34282 /* parser/parser.nit:12273 */
34283 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34284 if (UNTAG_Bool(REGB0)) {
34285 } else {
34286 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12273);
34287 }
34288 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34289 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34290 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34291 stack_frame_head = fra.me.prev;
34292 return;
34293 }
34294 void parser___ReduceAction717___action(val_t p0, val_t p1){
34295 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
34296 val_t REGB0;
34297 val_t tmp;
34298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34299 fra.me.file = LOCATE_parser;
34300 fra.me.line = 12278;
34301 fra.me.meth = LOCATE_parser___ReduceAction717___action;
34302 fra.me.has_broke = 0;
34303 fra.me.REG_size = 4;
34304 fra.me.nitni_local_ref_head = NULL;
34305 fra.me.REG[0] = NIT_NULL;
34306 fra.me.REG[1] = NIT_NULL;
34307 fra.me.REG[2] = NIT_NULL;
34308 fra.me.REG[3] = NIT_NULL;
34309 fra.me.REG[0] = p0;
34310 fra.me.REG[1] = p1;
34311 /* parser/parser.nit:12280 */
34312 fra.me.REG[2] = NIT_NULL;
34313 /* parser/parser.nit:12281 */
34314 fra.me.REG[3] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
34315 /* parser/parser.nit:12282 */
34316 fra.me.REG[2] = fra.me.REG[3];
34317 /* parser/parser.nit:12283 */
34318 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34319 if (UNTAG_Bool(REGB0)) {
34320 } else {
34321 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12283);
34322 }
34323 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34324 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34325 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34326 stack_frame_head = fra.me.prev;
34327 return;
34328 }
34329 void parser___ReduceAction724___action(val_t p0, val_t p1){
34330 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34331 val_t REGB0;
34332 val_t REGB1;
34333 val_t tmp;
34334 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34335 fra.me.file = LOCATE_parser;
34336 fra.me.line = 12288;
34337 fra.me.meth = LOCATE_parser___ReduceAction724___action;
34338 fra.me.has_broke = 0;
34339 fra.me.REG_size = 5;
34340 fra.me.nitni_local_ref_head = NULL;
34341 fra.me.REG[0] = NIT_NULL;
34342 fra.me.REG[1] = NIT_NULL;
34343 fra.me.REG[2] = NIT_NULL;
34344 fra.me.REG[3] = NIT_NULL;
34345 fra.me.REG[4] = NIT_NULL;
34346 fra.me.REG[0] = p0;
34347 fra.me.REG[1] = p1;
34348 /* parser/parser.nit:12290 */
34349 fra.me.REG[2] = NIT_NULL;
34350 /* parser/parser.nit:12291 */
34351 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34352 /* parser/parser.nit:12292 */
34353 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34354 /* parser/parser.nit:12294 */
34355 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34356 if (UNTAG_Bool(REGB0)) {
34357 } else {
34358 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34359 if (UNTAG_Bool(REGB1)) {
34360 REGB1 = TAG_Bool(false);
34361 REGB0 = REGB1;
34362 } else {
34363 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34364 REGB0 = REGB1;
34365 }
34366 }
34367 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34368 if (UNTAG_Bool(REGB0)) {
34369 /* parser/parser.nit:12295 */
34370 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
34371 }
34372 /* parser/parser.nit:12297 */
34373 fra.me.REG[2] = fra.me.REG[4];
34374 /* parser/parser.nit:12298 */
34375 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34376 if (UNTAG_Bool(REGB0)) {
34377 } else {
34378 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12298);
34379 }
34380 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34381 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34382 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34383 stack_frame_head = fra.me.prev;
34384 return;
34385 }
34386 void parser___ReduceAction725___action(val_t p0, val_t p1){
34387 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34388 val_t REGB0;
34389 val_t REGB1;
34390 val_t tmp;
34391 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34392 fra.me.file = LOCATE_parser;
34393 fra.me.line = 12303;
34394 fra.me.meth = LOCATE_parser___ReduceAction725___action;
34395 fra.me.has_broke = 0;
34396 fra.me.REG_size = 6;
34397 fra.me.nitni_local_ref_head = NULL;
34398 fra.me.REG[0] = NIT_NULL;
34399 fra.me.REG[1] = NIT_NULL;
34400 fra.me.REG[2] = NIT_NULL;
34401 fra.me.REG[3] = NIT_NULL;
34402 fra.me.REG[4] = NIT_NULL;
34403 fra.me.REG[5] = NIT_NULL;
34404 fra.me.REG[0] = p0;
34405 fra.me.REG[1] = p1;
34406 /* parser/parser.nit:12305 */
34407 fra.me.REG[2] = NIT_NULL;
34408 /* parser/parser.nit:12306 */
34409 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34410 /* parser/parser.nit:12307 */
34411 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34412 /* parser/parser.nit:12308 */
34413 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
34414 /* parser/parser.nit:12310 */
34415 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
34416 if (UNTAG_Bool(REGB0)) {
34417 } else {
34418 nit_abort("Assert failed", NULL, LOCATE_parser, 12310);
34419 }
34420 /* parser/parser.nit:12312 */
34421 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
34422 fra.me.REG[5] = fra.me.REG[4];
34423 /* parser/parser.nit:12313 */
34424 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34425 if (UNTAG_Bool(REGB0)) {
34426 } else {
34427 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34428 if (UNTAG_Bool(REGB1)) {
34429 REGB1 = TAG_Bool(false);
34430 REGB0 = REGB1;
34431 } else {
34432 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34433 REGB0 = REGB1;
34434 }
34435 }
34436 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34437 if (UNTAG_Bool(REGB0)) {
34438 /* parser/parser.nit:12314 */
34439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
34440 }
34441 /* parser/parser.nit:12316 */
34442 fra.me.REG[2] = fra.me.REG[5];
34443 /* parser/parser.nit:12317 */
34444 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34445 if (UNTAG_Bool(REGB0)) {
34446 } else {
34447 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12317);
34448 }
34449 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34450 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34451 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34452 stack_frame_head = fra.me.prev;
34453 return;
34454 }
34455 void parser___ReduceAction726___action(val_t p0, val_t p1){
34456 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34457 val_t REGB0;
34458 val_t REGB1;
34459 val_t tmp;
34460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34461 fra.me.file = LOCATE_parser;
34462 fra.me.line = 12322;
34463 fra.me.meth = LOCATE_parser___ReduceAction726___action;
34464 fra.me.has_broke = 0;
34465 fra.me.REG_size = 5;
34466 fra.me.nitni_local_ref_head = NULL;
34467 fra.me.REG[0] = NIT_NULL;
34468 fra.me.REG[1] = NIT_NULL;
34469 fra.me.REG[2] = NIT_NULL;
34470 fra.me.REG[3] = NIT_NULL;
34471 fra.me.REG[4] = NIT_NULL;
34472 fra.me.REG[0] = p0;
34473 fra.me.REG[1] = p1;
34474 /* parser/parser.nit:12324 */
34475 fra.me.REG[2] = NIT_NULL;
34476 /* parser/parser.nit:12325 */
34477 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34478 /* parser/parser.nit:12326 */
34479 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34480 /* parser/parser.nit:12328 */
34481 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34482 if (UNTAG_Bool(REGB0)) {
34483 } else {
34484 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34485 if (UNTAG_Bool(REGB1)) {
34486 REGB1 = TAG_Bool(false);
34487 REGB0 = REGB1;
34488 } else {
34489 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34490 REGB0 = REGB1;
34491 }
34492 }
34493 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34494 if (UNTAG_Bool(REGB0)) {
34495 /* parser/parser.nit:12329 */
34496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
34497 }
34498 /* parser/parser.nit:12331 */
34499 fra.me.REG[2] = fra.me.REG[4];
34500 /* parser/parser.nit:12332 */
34501 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34502 if (UNTAG_Bool(REGB0)) {
34503 } else {
34504 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12332);
34505 }
34506 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34507 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34508 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34509 stack_frame_head = fra.me.prev;
34510 return;
34511 }
34512 void parser___ReduceAction727___action(val_t p0, val_t p1){
34513 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34514 val_t REGB0;
34515 val_t REGB1;
34516 val_t tmp;
34517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34518 fra.me.file = LOCATE_parser;
34519 fra.me.line = 12337;
34520 fra.me.meth = LOCATE_parser___ReduceAction727___action;
34521 fra.me.has_broke = 0;
34522 fra.me.REG_size = 6;
34523 fra.me.nitni_local_ref_head = NULL;
34524 fra.me.REG[0] = NIT_NULL;
34525 fra.me.REG[1] = NIT_NULL;
34526 fra.me.REG[2] = NIT_NULL;
34527 fra.me.REG[3] = NIT_NULL;
34528 fra.me.REG[4] = NIT_NULL;
34529 fra.me.REG[5] = NIT_NULL;
34530 fra.me.REG[0] = p0;
34531 fra.me.REG[1] = p1;
34532 /* parser/parser.nit:12339 */
34533 fra.me.REG[2] = NIT_NULL;
34534 /* parser/parser.nit:12340 */
34535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34536 /* parser/parser.nit:12341 */
34537 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34538 /* parser/parser.nit:12342 */
34539 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
34540 /* parser/parser.nit:12344 */
34541 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
34542 if (UNTAG_Bool(REGB0)) {
34543 } else {
34544 nit_abort("Assert failed", NULL, LOCATE_parser, 12344);
34545 }
34546 /* parser/parser.nit:12346 */
34547 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
34548 fra.me.REG[5] = fra.me.REG[4];
34549 /* parser/parser.nit:12347 */
34550 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34551 if (UNTAG_Bool(REGB0)) {
34552 } else {
34553 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34554 if (UNTAG_Bool(REGB1)) {
34555 REGB1 = TAG_Bool(false);
34556 REGB0 = REGB1;
34557 } else {
34558 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34559 REGB0 = REGB1;
34560 }
34561 }
34562 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34563 if (UNTAG_Bool(REGB0)) {
34564 /* parser/parser.nit:12348 */
34565 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
34566 }
34567 /* parser/parser.nit:12350 */
34568 fra.me.REG[2] = fra.me.REG[5];
34569 /* parser/parser.nit:12351 */
34570 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34571 if (UNTAG_Bool(REGB0)) {
34572 } else {
34573 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12351);
34574 }
34575 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34576 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34577 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34578 stack_frame_head = fra.me.prev;
34579 return;
34580 }
34581 void parser___ReduceAction728___action(val_t p0, val_t p1){
34582 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34583 val_t REGB0;
34584 val_t REGB1;
34585 val_t tmp;
34586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34587 fra.me.file = LOCATE_parser;
34588 fra.me.line = 12356;
34589 fra.me.meth = LOCATE_parser___ReduceAction728___action;
34590 fra.me.has_broke = 0;
34591 fra.me.REG_size = 5;
34592 fra.me.nitni_local_ref_head = NULL;
34593 fra.me.REG[0] = NIT_NULL;
34594 fra.me.REG[1] = NIT_NULL;
34595 fra.me.REG[2] = NIT_NULL;
34596 fra.me.REG[3] = NIT_NULL;
34597 fra.me.REG[4] = NIT_NULL;
34598 fra.me.REG[0] = p0;
34599 fra.me.REG[1] = p1;
34600 /* parser/parser.nit:12358 */
34601 fra.me.REG[2] = NIT_NULL;
34602 /* parser/parser.nit:12359 */
34603 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34604 /* parser/parser.nit:12360 */
34605 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34606 /* parser/parser.nit:12362 */
34607 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34608 if (UNTAG_Bool(REGB0)) {
34609 } else {
34610 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34611 if (UNTAG_Bool(REGB1)) {
34612 REGB1 = TAG_Bool(false);
34613 REGB0 = REGB1;
34614 } else {
34615 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34616 REGB0 = REGB1;
34617 }
34618 }
34619 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34620 if (UNTAG_Bool(REGB0)) {
34621 /* parser/parser.nit:12363 */
34622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
34623 }
34624 /* parser/parser.nit:12365 */
34625 fra.me.REG[2] = fra.me.REG[4];
34626 /* parser/parser.nit:12366 */
34627 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34628 if (UNTAG_Bool(REGB0)) {
34629 } else {
34630 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12366);
34631 }
34632 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34633 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34634 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34635 stack_frame_head = fra.me.prev;
34636 return;
34637 }
34638 void parser___ReduceAction729___action(val_t p0, val_t p1){
34639 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34640 val_t REGB0;
34641 val_t REGB1;
34642 val_t tmp;
34643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34644 fra.me.file = LOCATE_parser;
34645 fra.me.line = 12371;
34646 fra.me.meth = LOCATE_parser___ReduceAction729___action;
34647 fra.me.has_broke = 0;
34648 fra.me.REG_size = 6;
34649 fra.me.nitni_local_ref_head = NULL;
34650 fra.me.REG[0] = NIT_NULL;
34651 fra.me.REG[1] = NIT_NULL;
34652 fra.me.REG[2] = NIT_NULL;
34653 fra.me.REG[3] = NIT_NULL;
34654 fra.me.REG[4] = NIT_NULL;
34655 fra.me.REG[5] = NIT_NULL;
34656 fra.me.REG[0] = p0;
34657 fra.me.REG[1] = p1;
34658 /* parser/parser.nit:12373 */
34659 fra.me.REG[2] = NIT_NULL;
34660 /* parser/parser.nit:12374 */
34661 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34662 /* parser/parser.nit:12375 */
34663 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34664 /* parser/parser.nit:12376 */
34665 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
34666 /* parser/parser.nit:12378 */
34667 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
34668 if (UNTAG_Bool(REGB0)) {
34669 } else {
34670 nit_abort("Assert failed", NULL, LOCATE_parser, 12378);
34671 }
34672 /* parser/parser.nit:12380 */
34673 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
34674 fra.me.REG[5] = fra.me.REG[4];
34675 /* parser/parser.nit:12381 */
34676 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34677 if (UNTAG_Bool(REGB0)) {
34678 } else {
34679 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34680 if (UNTAG_Bool(REGB1)) {
34681 REGB1 = TAG_Bool(false);
34682 REGB0 = REGB1;
34683 } else {
34684 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34685 REGB0 = REGB1;
34686 }
34687 }
34688 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34689 if (UNTAG_Bool(REGB0)) {
34690 /* parser/parser.nit:12382 */
34691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
34692 }
34693 /* parser/parser.nit:12384 */
34694 fra.me.REG[2] = fra.me.REG[5];
34695 /* parser/parser.nit:12385 */
34696 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34697 if (UNTAG_Bool(REGB0)) {
34698 } else {
34699 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12385);
34700 }
34701 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34702 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34703 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34704 stack_frame_head = fra.me.prev;
34705 return;
34706 }
34707 void parser___ReduceAction730___action(val_t p0, val_t p1){
34708 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34709 val_t REGB0;
34710 val_t REGB1;
34711 val_t tmp;
34712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34713 fra.me.file = LOCATE_parser;
34714 fra.me.line = 12390;
34715 fra.me.meth = LOCATE_parser___ReduceAction730___action;
34716 fra.me.has_broke = 0;
34717 fra.me.REG_size = 5;
34718 fra.me.nitni_local_ref_head = NULL;
34719 fra.me.REG[0] = NIT_NULL;
34720 fra.me.REG[1] = NIT_NULL;
34721 fra.me.REG[2] = NIT_NULL;
34722 fra.me.REG[3] = NIT_NULL;
34723 fra.me.REG[4] = NIT_NULL;
34724 fra.me.REG[0] = p0;
34725 fra.me.REG[1] = p1;
34726 /* parser/parser.nit:12392 */
34727 fra.me.REG[2] = NIT_NULL;
34728 /* parser/parser.nit:12393 */
34729 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34730 /* parser/parser.nit:12394 */
34731 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34732 /* parser/parser.nit:12396 */
34733 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34734 if (UNTAG_Bool(REGB0)) {
34735 } else {
34736 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34737 if (UNTAG_Bool(REGB1)) {
34738 REGB1 = TAG_Bool(false);
34739 REGB0 = REGB1;
34740 } else {
34741 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34742 REGB0 = REGB1;
34743 }
34744 }
34745 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34746 if (UNTAG_Bool(REGB0)) {
34747 /* parser/parser.nit:12397 */
34748 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
34749 }
34750 /* parser/parser.nit:12399 */
34751 fra.me.REG[2] = fra.me.REG[4];
34752 /* parser/parser.nit:12400 */
34753 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34754 if (UNTAG_Bool(REGB0)) {
34755 } else {
34756 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12400);
34757 }
34758 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34759 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34760 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34761 stack_frame_head = fra.me.prev;
34762 return;
34763 }
34764 void parser___ReduceAction731___action(val_t p0, val_t p1){
34765 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34766 val_t REGB0;
34767 val_t REGB1;
34768 val_t tmp;
34769 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34770 fra.me.file = LOCATE_parser;
34771 fra.me.line = 12405;
34772 fra.me.meth = LOCATE_parser___ReduceAction731___action;
34773 fra.me.has_broke = 0;
34774 fra.me.REG_size = 6;
34775 fra.me.nitni_local_ref_head = NULL;
34776 fra.me.REG[0] = NIT_NULL;
34777 fra.me.REG[1] = NIT_NULL;
34778 fra.me.REG[2] = NIT_NULL;
34779 fra.me.REG[3] = NIT_NULL;
34780 fra.me.REG[4] = NIT_NULL;
34781 fra.me.REG[5] = NIT_NULL;
34782 fra.me.REG[0] = p0;
34783 fra.me.REG[1] = p1;
34784 /* parser/parser.nit:12407 */
34785 fra.me.REG[2] = NIT_NULL;
34786 /* parser/parser.nit:12408 */
34787 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34788 /* parser/parser.nit:12409 */
34789 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34790 /* parser/parser.nit:12410 */
34791 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
34792 /* parser/parser.nit:12412 */
34793 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
34794 if (UNTAG_Bool(REGB0)) {
34795 } else {
34796 nit_abort("Assert failed", NULL, LOCATE_parser, 12412);
34797 }
34798 /* parser/parser.nit:12414 */
34799 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
34800 fra.me.REG[5] = fra.me.REG[4];
34801 /* parser/parser.nit:12415 */
34802 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34803 if (UNTAG_Bool(REGB0)) {
34804 } else {
34805 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34806 if (UNTAG_Bool(REGB1)) {
34807 REGB1 = TAG_Bool(false);
34808 REGB0 = REGB1;
34809 } else {
34810 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34811 REGB0 = REGB1;
34812 }
34813 }
34814 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34815 if (UNTAG_Bool(REGB0)) {
34816 /* parser/parser.nit:12416 */
34817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
34818 }
34819 /* parser/parser.nit:12418 */
34820 fra.me.REG[2] = fra.me.REG[5];
34821 /* parser/parser.nit:12419 */
34822 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34823 if (UNTAG_Bool(REGB0)) {
34824 } else {
34825 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12419);
34826 }
34827 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34828 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34829 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34830 stack_frame_head = fra.me.prev;
34831 return;
34832 }
34833 void parser___ReduceAction734___action(val_t p0, val_t p1){
34834 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34835 val_t REGB0;
34836 val_t REGB1;
34837 val_t tmp;
34838 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34839 fra.me.file = LOCATE_parser;
34840 fra.me.line = 12424;
34841 fra.me.meth = LOCATE_parser___ReduceAction734___action;
34842 fra.me.has_broke = 0;
34843 fra.me.REG_size = 5;
34844 fra.me.nitni_local_ref_head = NULL;
34845 fra.me.REG[0] = NIT_NULL;
34846 fra.me.REG[1] = NIT_NULL;
34847 fra.me.REG[2] = NIT_NULL;
34848 fra.me.REG[3] = NIT_NULL;
34849 fra.me.REG[4] = NIT_NULL;
34850 fra.me.REG[0] = p0;
34851 fra.me.REG[1] = p1;
34852 /* parser/parser.nit:12426 */
34853 fra.me.REG[2] = NIT_NULL;
34854 /* parser/parser.nit:12427 */
34855 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34856 /* parser/parser.nit:12428 */
34857 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34858 /* parser/parser.nit:12430 */
34859 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34860 if (UNTAG_Bool(REGB0)) {
34861 } else {
34862 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34863 if (UNTAG_Bool(REGB1)) {
34864 REGB1 = TAG_Bool(false);
34865 REGB0 = REGB1;
34866 } else {
34867 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34868 REGB0 = REGB1;
34869 }
34870 }
34871 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34872 if (UNTAG_Bool(REGB0)) {
34873 /* parser/parser.nit:12431 */
34874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
34875 }
34876 /* parser/parser.nit:12433 */
34877 fra.me.REG[2] = fra.me.REG[4];
34878 /* parser/parser.nit:12434 */
34879 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34880 if (UNTAG_Bool(REGB0)) {
34881 } else {
34882 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12434);
34883 }
34884 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34885 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34886 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34887 stack_frame_head = fra.me.prev;
34888 return;
34889 }
34890 void parser___ReduceAction735___action(val_t p0, val_t p1){
34891 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34892 val_t REGB0;
34893 val_t REGB1;
34894 val_t tmp;
34895 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34896 fra.me.file = LOCATE_parser;
34897 fra.me.line = 12439;
34898 fra.me.meth = LOCATE_parser___ReduceAction735___action;
34899 fra.me.has_broke = 0;
34900 fra.me.REG_size = 6;
34901 fra.me.nitni_local_ref_head = NULL;
34902 fra.me.REG[0] = NIT_NULL;
34903 fra.me.REG[1] = NIT_NULL;
34904 fra.me.REG[2] = NIT_NULL;
34905 fra.me.REG[3] = NIT_NULL;
34906 fra.me.REG[4] = NIT_NULL;
34907 fra.me.REG[5] = NIT_NULL;
34908 fra.me.REG[0] = p0;
34909 fra.me.REG[1] = p1;
34910 /* parser/parser.nit:12441 */
34911 fra.me.REG[2] = NIT_NULL;
34912 /* parser/parser.nit:12442 */
34913 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34914 /* parser/parser.nit:12443 */
34915 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34916 /* parser/parser.nit:12444 */
34917 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
34918 /* parser/parser.nit:12446 */
34919 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
34920 if (UNTAG_Bool(REGB0)) {
34921 } else {
34922 nit_abort("Assert failed", NULL, LOCATE_parser, 12446);
34923 }
34924 /* parser/parser.nit:12448 */
34925 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
34926 fra.me.REG[5] = fra.me.REG[4];
34927 /* parser/parser.nit:12449 */
34928 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34929 if (UNTAG_Bool(REGB0)) {
34930 } else {
34931 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34932 if (UNTAG_Bool(REGB1)) {
34933 REGB1 = TAG_Bool(false);
34934 REGB0 = REGB1;
34935 } else {
34936 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34937 REGB0 = REGB1;
34938 }
34939 }
34940 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34941 if (UNTAG_Bool(REGB0)) {
34942 /* parser/parser.nit:12450 */
34943 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
34944 }
34945 /* parser/parser.nit:12452 */
34946 fra.me.REG[2] = fra.me.REG[5];
34947 /* parser/parser.nit:12453 */
34948 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34949 if (UNTAG_Bool(REGB0)) {
34950 } else {
34951 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12453);
34952 }
34953 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34954 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34955 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34956 stack_frame_head = fra.me.prev;
34957 return;
34958 }
34959 void parser___ReduceAction736___action(val_t p0, val_t p1){
34960 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34961 val_t REGB0;
34962 val_t REGB1;
34963 val_t tmp;
34964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34965 fra.me.file = LOCATE_parser;
34966 fra.me.line = 12458;
34967 fra.me.meth = LOCATE_parser___ReduceAction736___action;
34968 fra.me.has_broke = 0;
34969 fra.me.REG_size = 5;
34970 fra.me.nitni_local_ref_head = NULL;
34971 fra.me.REG[0] = NIT_NULL;
34972 fra.me.REG[1] = NIT_NULL;
34973 fra.me.REG[2] = NIT_NULL;
34974 fra.me.REG[3] = NIT_NULL;
34975 fra.me.REG[4] = NIT_NULL;
34976 fra.me.REG[0] = p0;
34977 fra.me.REG[1] = p1;
34978 /* parser/parser.nit:12460 */
34979 fra.me.REG[2] = NIT_NULL;
34980 /* parser/parser.nit:12461 */
34981 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34982 /* parser/parser.nit:12462 */
34983 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34984 /* parser/parser.nit:12464 */
34985 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34986 if (UNTAG_Bool(REGB0)) {
34987 } else {
34988 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34989 if (UNTAG_Bool(REGB1)) {
34990 REGB1 = TAG_Bool(false);
34991 REGB0 = REGB1;
34992 } else {
34993 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34994 REGB0 = REGB1;
34995 }
34996 }
34997 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34998 if (UNTAG_Bool(REGB0)) {
34999 /* parser/parser.nit:12465 */
35000 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
35001 }
35002 /* parser/parser.nit:12467 */
35003 fra.me.REG[2] = fra.me.REG[4];
35004 /* parser/parser.nit:12468 */
35005 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35006 if (UNTAG_Bool(REGB0)) {
35007 } else {
35008 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12468);
35009 }
35010 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35011 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35012 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35013 stack_frame_head = fra.me.prev;
35014 return;
35015 }
35016 void parser___ReduceAction737___action(val_t p0, val_t p1){
35017 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35018 val_t REGB0;
35019 val_t REGB1;
35020 val_t tmp;
35021 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35022 fra.me.file = LOCATE_parser;
35023 fra.me.line = 12473;
35024 fra.me.meth = LOCATE_parser___ReduceAction737___action;
35025 fra.me.has_broke = 0;
35026 fra.me.REG_size = 6;
35027 fra.me.nitni_local_ref_head = NULL;
35028 fra.me.REG[0] = NIT_NULL;
35029 fra.me.REG[1] = NIT_NULL;
35030 fra.me.REG[2] = NIT_NULL;
35031 fra.me.REG[3] = NIT_NULL;
35032 fra.me.REG[4] = NIT_NULL;
35033 fra.me.REG[5] = NIT_NULL;
35034 fra.me.REG[0] = p0;
35035 fra.me.REG[1] = p1;
35036 /* parser/parser.nit:12475 */
35037 fra.me.REG[2] = NIT_NULL;
35038 /* parser/parser.nit:12476 */
35039 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35040 /* parser/parser.nit:12477 */
35041 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35042 /* parser/parser.nit:12478 */
35043 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35044 /* parser/parser.nit:12480 */
35045 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35046 if (UNTAG_Bool(REGB0)) {
35047 } else {
35048 nit_abort("Assert failed", NULL, LOCATE_parser, 12480);
35049 }
35050 /* parser/parser.nit:12482 */
35051 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35052 fra.me.REG[5] = fra.me.REG[4];
35053 /* parser/parser.nit:12483 */
35054 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35055 if (UNTAG_Bool(REGB0)) {
35056 } else {
35057 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35058 if (UNTAG_Bool(REGB1)) {
35059 REGB1 = TAG_Bool(false);
35060 REGB0 = REGB1;
35061 } else {
35062 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35063 REGB0 = REGB1;
35064 }
35065 }
35066 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35067 if (UNTAG_Bool(REGB0)) {
35068 /* parser/parser.nit:12484 */
35069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
35070 }
35071 /* parser/parser.nit:12486 */
35072 fra.me.REG[2] = fra.me.REG[5];
35073 /* parser/parser.nit:12487 */
35074 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35075 if (UNTAG_Bool(REGB0)) {
35076 } else {
35077 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12487);
35078 }
35079 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35080 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35081 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35082 stack_frame_head = fra.me.prev;
35083 return;
35084 }
35085 void parser___ReduceAction738___action(val_t p0, val_t p1){
35086 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35087 val_t REGB0;
35088 val_t REGB1;
35089 val_t tmp;
35090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35091 fra.me.file = LOCATE_parser;
35092 fra.me.line = 12492;
35093 fra.me.meth = LOCATE_parser___ReduceAction738___action;
35094 fra.me.has_broke = 0;
35095 fra.me.REG_size = 5;
35096 fra.me.nitni_local_ref_head = NULL;
35097 fra.me.REG[0] = NIT_NULL;
35098 fra.me.REG[1] = NIT_NULL;
35099 fra.me.REG[2] = NIT_NULL;
35100 fra.me.REG[3] = NIT_NULL;
35101 fra.me.REG[4] = NIT_NULL;
35102 fra.me.REG[0] = p0;
35103 fra.me.REG[1] = p1;
35104 /* parser/parser.nit:12494 */
35105 fra.me.REG[2] = NIT_NULL;
35106 /* parser/parser.nit:12495 */
35107 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35108 /* parser/parser.nit:12496 */
35109 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
35110 /* parser/parser.nit:12498 */
35111 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35112 if (UNTAG_Bool(REGB0)) {
35113 } else {
35114 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35115 if (UNTAG_Bool(REGB1)) {
35116 REGB1 = TAG_Bool(false);
35117 REGB0 = REGB1;
35118 } else {
35119 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35120 REGB0 = REGB1;
35121 }
35122 }
35123 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35124 if (UNTAG_Bool(REGB0)) {
35125 /* parser/parser.nit:12499 */
35126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
35127 }
35128 /* parser/parser.nit:12501 */
35129 fra.me.REG[2] = fra.me.REG[4];
35130 /* parser/parser.nit:12502 */
35131 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35132 if (UNTAG_Bool(REGB0)) {
35133 } else {
35134 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12502);
35135 }
35136 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35137 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35138 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35139 stack_frame_head = fra.me.prev;
35140 return;
35141 }
35142 void parser___ReduceAction739___action(val_t p0, val_t p1){
35143 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35144 val_t REGB0;
35145 val_t REGB1;
35146 val_t tmp;
35147 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35148 fra.me.file = LOCATE_parser;
35149 fra.me.line = 12507;
35150 fra.me.meth = LOCATE_parser___ReduceAction739___action;
35151 fra.me.has_broke = 0;
35152 fra.me.REG_size = 6;
35153 fra.me.nitni_local_ref_head = NULL;
35154 fra.me.REG[0] = NIT_NULL;
35155 fra.me.REG[1] = NIT_NULL;
35156 fra.me.REG[2] = NIT_NULL;
35157 fra.me.REG[3] = NIT_NULL;
35158 fra.me.REG[4] = NIT_NULL;
35159 fra.me.REG[5] = NIT_NULL;
35160 fra.me.REG[0] = p0;
35161 fra.me.REG[1] = p1;
35162 /* parser/parser.nit:12509 */
35163 fra.me.REG[2] = NIT_NULL;
35164 /* parser/parser.nit:12510 */
35165 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35166 /* parser/parser.nit:12511 */
35167 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35168 /* parser/parser.nit:12512 */
35169 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35170 /* parser/parser.nit:12514 */
35171 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35172 if (UNTAG_Bool(REGB0)) {
35173 } else {
35174 nit_abort("Assert failed", NULL, LOCATE_parser, 12514);
35175 }
35176 /* parser/parser.nit:12516 */
35177 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35178 fra.me.REG[5] = fra.me.REG[4];
35179 /* parser/parser.nit:12517 */
35180 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35181 if (UNTAG_Bool(REGB0)) {
35182 } else {
35183 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35184 if (UNTAG_Bool(REGB1)) {
35185 REGB1 = TAG_Bool(false);
35186 REGB0 = REGB1;
35187 } else {
35188 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35189 REGB0 = REGB1;
35190 }
35191 }
35192 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35193 if (UNTAG_Bool(REGB0)) {
35194 /* parser/parser.nit:12518 */
35195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
35196 }
35197 /* parser/parser.nit:12520 */
35198 fra.me.REG[2] = fra.me.REG[5];
35199 /* parser/parser.nit:12521 */
35200 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35201 if (UNTAG_Bool(REGB0)) {
35202 } else {
35203 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12521);
35204 }
35205 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35206 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35208 stack_frame_head = fra.me.prev;
35209 return;
35210 }
35211 void parser___ReduceAction740___action(val_t p0, val_t p1){
35212 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35213 val_t REGB0;
35214 val_t REGB1;
35215 val_t tmp;
35216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35217 fra.me.file = LOCATE_parser;
35218 fra.me.line = 12526;
35219 fra.me.meth = LOCATE_parser___ReduceAction740___action;
35220 fra.me.has_broke = 0;
35221 fra.me.REG_size = 5;
35222 fra.me.nitni_local_ref_head = NULL;
35223 fra.me.REG[0] = NIT_NULL;
35224 fra.me.REG[1] = NIT_NULL;
35225 fra.me.REG[2] = NIT_NULL;
35226 fra.me.REG[3] = NIT_NULL;
35227 fra.me.REG[4] = NIT_NULL;
35228 fra.me.REG[0] = p0;
35229 fra.me.REG[1] = p1;
35230 /* parser/parser.nit:12528 */
35231 fra.me.REG[2] = NIT_NULL;
35232 /* parser/parser.nit:12529 */
35233 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35234 /* parser/parser.nit:12530 */
35235 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
35236 /* parser/parser.nit:12532 */
35237 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35238 if (UNTAG_Bool(REGB0)) {
35239 } else {
35240 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35241 if (UNTAG_Bool(REGB1)) {
35242 REGB1 = TAG_Bool(false);
35243 REGB0 = REGB1;
35244 } else {
35245 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35246 REGB0 = REGB1;
35247 }
35248 }
35249 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35250 if (UNTAG_Bool(REGB0)) {
35251 /* parser/parser.nit:12533 */
35252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
35253 }
35254 /* parser/parser.nit:12535 */
35255 fra.me.REG[2] = fra.me.REG[4];
35256 /* parser/parser.nit:12536 */
35257 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35258 if (UNTAG_Bool(REGB0)) {
35259 } else {
35260 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12536);
35261 }
35262 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35263 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35264 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35265 stack_frame_head = fra.me.prev;
35266 return;
35267 }
35268 void parser___ReduceAction741___action(val_t p0, val_t p1){
35269 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35270 val_t REGB0;
35271 val_t REGB1;
35272 val_t tmp;
35273 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35274 fra.me.file = LOCATE_parser;
35275 fra.me.line = 12541;
35276 fra.me.meth = LOCATE_parser___ReduceAction741___action;
35277 fra.me.has_broke = 0;
35278 fra.me.REG_size = 6;
35279 fra.me.nitni_local_ref_head = NULL;
35280 fra.me.REG[0] = NIT_NULL;
35281 fra.me.REG[1] = NIT_NULL;
35282 fra.me.REG[2] = NIT_NULL;
35283 fra.me.REG[3] = NIT_NULL;
35284 fra.me.REG[4] = NIT_NULL;
35285 fra.me.REG[5] = NIT_NULL;
35286 fra.me.REG[0] = p0;
35287 fra.me.REG[1] = p1;
35288 /* parser/parser.nit:12543 */
35289 fra.me.REG[2] = NIT_NULL;
35290 /* parser/parser.nit:12544 */
35291 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35292 /* parser/parser.nit:12545 */
35293 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35294 /* parser/parser.nit:12546 */
35295 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35296 /* parser/parser.nit:12548 */
35297 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35298 if (UNTAG_Bool(REGB0)) {
35299 } else {
35300 nit_abort("Assert failed", NULL, LOCATE_parser, 12548);
35301 }
35302 /* parser/parser.nit:12550 */
35303 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35304 fra.me.REG[5] = fra.me.REG[4];
35305 /* parser/parser.nit:12551 */
35306 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35307 if (UNTAG_Bool(REGB0)) {
35308 } else {
35309 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35310 if (UNTAG_Bool(REGB1)) {
35311 REGB1 = TAG_Bool(false);
35312 REGB0 = REGB1;
35313 } else {
35314 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35315 REGB0 = REGB1;
35316 }
35317 }
35318 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35319 if (UNTAG_Bool(REGB0)) {
35320 /* parser/parser.nit:12552 */
35321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
35322 }
35323 /* parser/parser.nit:12554 */
35324 fra.me.REG[2] = fra.me.REG[5];
35325 /* parser/parser.nit:12555 */
35326 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35327 if (UNTAG_Bool(REGB0)) {
35328 } else {
35329 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12555);
35330 }
35331 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35332 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35333 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35334 stack_frame_head = fra.me.prev;
35335 return;
35336 }
35337 void parser___ReduceAction743___action(val_t p0, val_t p1){
35338 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35339 val_t REGB0;
35340 val_t REGB1;
35341 val_t tmp;
35342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35343 fra.me.file = LOCATE_parser;
35344 fra.me.line = 12560;
35345 fra.me.meth = LOCATE_parser___ReduceAction743___action;
35346 fra.me.has_broke = 0;
35347 fra.me.REG_size = 6;
35348 fra.me.nitni_local_ref_head = NULL;
35349 fra.me.REG[0] = NIT_NULL;
35350 fra.me.REG[1] = NIT_NULL;
35351 fra.me.REG[2] = NIT_NULL;
35352 fra.me.REG[3] = NIT_NULL;
35353 fra.me.REG[4] = NIT_NULL;
35354 fra.me.REG[5] = NIT_NULL;
35355 fra.me.REG[0] = p0;
35356 fra.me.REG[1] = p1;
35357 /* parser/parser.nit:12562 */
35358 fra.me.REG[2] = NIT_NULL;
35359 /* parser/parser.nit:12563 */
35360 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35361 /* parser/parser.nit:12564 */
35362 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35363 /* parser/parser.nit:12565 */
35364 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35365 /* parser/parser.nit:12567 */
35366 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35367 if (UNTAG_Bool(REGB0)) {
35368 } else {
35369 nit_abort("Assert failed", NULL, LOCATE_parser, 12567);
35370 }
35371 /* parser/parser.nit:12569 */
35372 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35373 fra.me.REG[5] = fra.me.REG[4];
35374 /* parser/parser.nit:12570 */
35375 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35376 if (UNTAG_Bool(REGB0)) {
35377 } else {
35378 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35379 if (UNTAG_Bool(REGB1)) {
35380 REGB1 = TAG_Bool(false);
35381 REGB0 = REGB1;
35382 } else {
35383 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35384 REGB0 = REGB1;
35385 }
35386 }
35387 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35388 if (UNTAG_Bool(REGB0)) {
35389 /* parser/parser.nit:12571 */
35390 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
35391 }
35392 /* parser/parser.nit:12573 */
35393 fra.me.REG[2] = fra.me.REG[5];
35394 /* parser/parser.nit:12574 */
35395 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35396 if (UNTAG_Bool(REGB0)) {
35397 } else {
35398 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12574);
35399 }
35400 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35401 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35402 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35403 stack_frame_head = fra.me.prev;
35404 return;
35405 }
35406 void parser___ReduceAction744___action(val_t p0, val_t p1){
35407 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35408 val_t REGB0;
35409 val_t REGB1;
35410 val_t tmp;
35411 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35412 fra.me.file = LOCATE_parser;
35413 fra.me.line = 12579;
35414 fra.me.meth = LOCATE_parser___ReduceAction744___action;
35415 fra.me.has_broke = 0;
35416 fra.me.REG_size = 5;
35417 fra.me.nitni_local_ref_head = NULL;
35418 fra.me.REG[0] = NIT_NULL;
35419 fra.me.REG[1] = NIT_NULL;
35420 fra.me.REG[2] = NIT_NULL;
35421 fra.me.REG[3] = NIT_NULL;
35422 fra.me.REG[4] = NIT_NULL;
35423 fra.me.REG[0] = p0;
35424 fra.me.REG[1] = p1;
35425 /* parser/parser.nit:12581 */
35426 fra.me.REG[2] = NIT_NULL;
35427 /* parser/parser.nit:12582 */
35428 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35429 /* parser/parser.nit:12583 */
35430 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
35431 /* parser/parser.nit:12585 */
35432 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35433 if (UNTAG_Bool(REGB0)) {
35434 } else {
35435 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35436 if (UNTAG_Bool(REGB1)) {
35437 REGB1 = TAG_Bool(false);
35438 REGB0 = REGB1;
35439 } else {
35440 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35441 REGB0 = REGB1;
35442 }
35443 }
35444 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35445 if (UNTAG_Bool(REGB0)) {
35446 /* parser/parser.nit:12586 */
35447 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
35448 }
35449 /* parser/parser.nit:12588 */
35450 fra.me.REG[2] = fra.me.REG[4];
35451 /* parser/parser.nit:12589 */
35452 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35453 if (UNTAG_Bool(REGB0)) {
35454 } else {
35455 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12589);
35456 }
35457 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35458 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35459 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35460 stack_frame_head = fra.me.prev;
35461 return;
35462 }
35463 void parser___ReduceAction745___action(val_t p0, val_t p1){
35464 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35465 val_t REGB0;
35466 val_t REGB1;
35467 val_t tmp;
35468 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35469 fra.me.file = LOCATE_parser;
35470 fra.me.line = 12594;
35471 fra.me.meth = LOCATE_parser___ReduceAction745___action;
35472 fra.me.has_broke = 0;
35473 fra.me.REG_size = 6;
35474 fra.me.nitni_local_ref_head = NULL;
35475 fra.me.REG[0] = NIT_NULL;
35476 fra.me.REG[1] = NIT_NULL;
35477 fra.me.REG[2] = NIT_NULL;
35478 fra.me.REG[3] = NIT_NULL;
35479 fra.me.REG[4] = NIT_NULL;
35480 fra.me.REG[5] = NIT_NULL;
35481 fra.me.REG[0] = p0;
35482 fra.me.REG[1] = p1;
35483 /* parser/parser.nit:12596 */
35484 fra.me.REG[2] = NIT_NULL;
35485 /* parser/parser.nit:12597 */
35486 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35487 /* parser/parser.nit:12598 */
35488 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35489 /* parser/parser.nit:12599 */
35490 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35491 /* parser/parser.nit:12601 */
35492 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35493 if (UNTAG_Bool(REGB0)) {
35494 } else {
35495 nit_abort("Assert failed", NULL, LOCATE_parser, 12601);
35496 }
35497 /* parser/parser.nit:12603 */
35498 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35499 fra.me.REG[5] = fra.me.REG[4];
35500 /* parser/parser.nit:12604 */
35501 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35502 if (UNTAG_Bool(REGB0)) {
35503 } else {
35504 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35505 if (UNTAG_Bool(REGB1)) {
35506 REGB1 = TAG_Bool(false);
35507 REGB0 = REGB1;
35508 } else {
35509 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35510 REGB0 = REGB1;
35511 }
35512 }
35513 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35514 if (UNTAG_Bool(REGB0)) {
35515 /* parser/parser.nit:12605 */
35516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
35517 }
35518 /* parser/parser.nit:12607 */
35519 fra.me.REG[2] = fra.me.REG[5];
35520 /* parser/parser.nit:12608 */
35521 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35522 if (UNTAG_Bool(REGB0)) {
35523 } else {
35524 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12608);
35525 }
35526 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35527 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35528 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35529 stack_frame_head = fra.me.prev;
35530 return;
35531 }
35532 void parser___ReduceAction747___action(val_t p0, val_t p1){
35533 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35534 val_t REGB0;
35535 val_t tmp;
35536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35537 fra.me.file = LOCATE_parser;
35538 fra.me.line = 12613;
35539 fra.me.meth = LOCATE_parser___ReduceAction747___action;
35540 fra.me.has_broke = 0;
35541 fra.me.REG_size = 6;
35542 fra.me.nitni_local_ref_head = NULL;
35543 fra.me.REG[0] = NIT_NULL;
35544 fra.me.REG[1] = NIT_NULL;
35545 fra.me.REG[2] = NIT_NULL;
35546 fra.me.REG[3] = NIT_NULL;
35547 fra.me.REG[4] = NIT_NULL;
35548 fra.me.REG[5] = NIT_NULL;
35549 fra.me.REG[0] = p0;
35550 fra.me.REG[1] = p1;
35551 /* parser/parser.nit:12615 */
35552 fra.me.REG[2] = NIT_NULL;
35553 /* parser/parser.nit:12616 */
35554 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35555 /* parser/parser.nit:12617 */
35556 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35557 /* parser/parser.nit:12618 */
35558 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35559 /* parser/parser.nit:12620 */
35560 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35561 if (UNTAG_Bool(REGB0)) {
35562 } else {
35563 nit_abort("Assert failed", NULL, LOCATE_parser, 12620);
35564 }
35565 /* parser/parser.nit:12622 */
35566 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35567 if (UNTAG_Bool(REGB0)) {
35568 } else {
35569 nit_abort("Assert failed", NULL, LOCATE_parser, 12622);
35570 }
35571 /* parser/parser.nit:12623 */
35572 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35573 fra.me.REG[5] = fra.me.REG[4];
35574 /* parser/parser.nit:12624 */
35575 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
35576 fra.me.REG[5] = fra.me.REG[3];
35577 /* parser/parser.nit:12625 */
35578 fra.me.REG[2] = fra.me.REG[5];
35579 /* parser/parser.nit:12626 */
35580 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35581 if (UNTAG_Bool(REGB0)) {
35582 } else {
35583 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12626);
35584 }
35585 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35586 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35587 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35588 stack_frame_head = fra.me.prev;
35589 return;
35590 }
35591 void parser___ReduceAction751___action(val_t p0, val_t p1){
35592 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35593 val_t REGB0;
35594 val_t REGB1;
35595 val_t tmp;
35596 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35597 fra.me.file = LOCATE_parser;
35598 fra.me.line = 12631;
35599 fra.me.meth = LOCATE_parser___ReduceAction751___action;
35600 fra.me.has_broke = 0;
35601 fra.me.REG_size = 6;
35602 fra.me.nitni_local_ref_head = NULL;
35603 fra.me.REG[0] = NIT_NULL;
35604 fra.me.REG[1] = NIT_NULL;
35605 fra.me.REG[2] = NIT_NULL;
35606 fra.me.REG[3] = NIT_NULL;
35607 fra.me.REG[4] = NIT_NULL;
35608 fra.me.REG[5] = NIT_NULL;
35609 fra.me.REG[0] = p0;
35610 fra.me.REG[1] = p1;
35611 /* parser/parser.nit:12633 */
35612 fra.me.REG[2] = NIT_NULL;
35613 /* parser/parser.nit:12634 */
35614 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35615 /* parser/parser.nit:12635 */
35616 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35617 /* parser/parser.nit:12636 */
35618 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35619 /* parser/parser.nit:12638 */
35620 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35621 if (UNTAG_Bool(REGB0)) {
35622 } else {
35623 nit_abort("Assert failed", NULL, LOCATE_parser, 12638);
35624 }
35625 /* parser/parser.nit:12640 */
35626 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35627 fra.me.REG[5] = fra.me.REG[4];
35628 /* parser/parser.nit:12641 */
35629 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35630 if (UNTAG_Bool(REGB0)) {
35631 } else {
35632 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35633 if (UNTAG_Bool(REGB1)) {
35634 REGB1 = TAG_Bool(false);
35635 REGB0 = REGB1;
35636 } else {
35637 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35638 REGB0 = REGB1;
35639 }
35640 }
35641 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35642 if (UNTAG_Bool(REGB0)) {
35643 /* parser/parser.nit:12642 */
35644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
35645 }
35646 /* parser/parser.nit:12644 */
35647 fra.me.REG[2] = fra.me.REG[5];
35648 /* parser/parser.nit:12645 */
35649 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35650 if (UNTAG_Bool(REGB0)) {
35651 } else {
35652 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12645);
35653 }
35654 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35655 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35656 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35657 stack_frame_head = fra.me.prev;
35658 return;
35659 }
35660 void parser___ReduceAction752___action(val_t p0, val_t p1){
35661 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35662 val_t REGB0;
35663 val_t REGB1;
35664 val_t tmp;
35665 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35666 fra.me.file = LOCATE_parser;
35667 fra.me.line = 12650;
35668 fra.me.meth = LOCATE_parser___ReduceAction752___action;
35669 fra.me.has_broke = 0;
35670 fra.me.REG_size = 5;
35671 fra.me.nitni_local_ref_head = NULL;
35672 fra.me.REG[0] = NIT_NULL;
35673 fra.me.REG[1] = NIT_NULL;
35674 fra.me.REG[2] = NIT_NULL;
35675 fra.me.REG[3] = NIT_NULL;
35676 fra.me.REG[4] = NIT_NULL;
35677 fra.me.REG[0] = p0;
35678 fra.me.REG[1] = p1;
35679 /* parser/parser.nit:12652 */
35680 fra.me.REG[2] = NIT_NULL;
35681 /* parser/parser.nit:12653 */
35682 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35683 /* parser/parser.nit:12654 */
35684 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
35685 /* parser/parser.nit:12656 */
35686 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35687 if (UNTAG_Bool(REGB0)) {
35688 } else {
35689 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35690 if (UNTAG_Bool(REGB1)) {
35691 REGB1 = TAG_Bool(false);
35692 REGB0 = REGB1;
35693 } else {
35694 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35695 REGB0 = REGB1;
35696 }
35697 }
35698 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35699 if (UNTAG_Bool(REGB0)) {
35700 /* parser/parser.nit:12657 */
35701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
35702 }
35703 /* parser/parser.nit:12659 */
35704 fra.me.REG[2] = fra.me.REG[4];
35705 /* parser/parser.nit:12660 */
35706 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35707 if (UNTAG_Bool(REGB0)) {
35708 } else {
35709 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12660);
35710 }
35711 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35712 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35713 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35714 stack_frame_head = fra.me.prev;
35715 return;
35716 }
35717 void parser___ReduceAction753___action(val_t p0, val_t p1){
35718 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35719 val_t REGB0;
35720 val_t REGB1;
35721 val_t tmp;
35722 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35723 fra.me.file = LOCATE_parser;
35724 fra.me.line = 12665;
35725 fra.me.meth = LOCATE_parser___ReduceAction753___action;
35726 fra.me.has_broke = 0;
35727 fra.me.REG_size = 6;
35728 fra.me.nitni_local_ref_head = NULL;
35729 fra.me.REG[0] = NIT_NULL;
35730 fra.me.REG[1] = NIT_NULL;
35731 fra.me.REG[2] = NIT_NULL;
35732 fra.me.REG[3] = NIT_NULL;
35733 fra.me.REG[4] = NIT_NULL;
35734 fra.me.REG[5] = NIT_NULL;
35735 fra.me.REG[0] = p0;
35736 fra.me.REG[1] = p1;
35737 /* parser/parser.nit:12667 */
35738 fra.me.REG[2] = NIT_NULL;
35739 /* parser/parser.nit:12668 */
35740 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35741 /* parser/parser.nit:12669 */
35742 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35743 /* parser/parser.nit:12670 */
35744 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35745 /* parser/parser.nit:12672 */
35746 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35747 if (UNTAG_Bool(REGB0)) {
35748 } else {
35749 nit_abort("Assert failed", NULL, LOCATE_parser, 12672);
35750 }
35751 /* parser/parser.nit:12674 */
35752 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35753 fra.me.REG[5] = fra.me.REG[4];
35754 /* parser/parser.nit:12675 */
35755 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35756 if (UNTAG_Bool(REGB0)) {
35757 } else {
35758 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35759 if (UNTAG_Bool(REGB1)) {
35760 REGB1 = TAG_Bool(false);
35761 REGB0 = REGB1;
35762 } else {
35763 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35764 REGB0 = REGB1;
35765 }
35766 }
35767 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35768 if (UNTAG_Bool(REGB0)) {
35769 /* parser/parser.nit:12676 */
35770 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
35771 }
35772 /* parser/parser.nit:12678 */
35773 fra.me.REG[2] = fra.me.REG[5];
35774 /* parser/parser.nit:12679 */
35775 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35776 if (UNTAG_Bool(REGB0)) {
35777 } else {
35778 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12679);
35779 }
35780 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35781 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35782 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35783 stack_frame_head = fra.me.prev;
35784 return;
35785 }
35786 void parser___ReduceAction754___action(val_t p0, val_t p1){
35787 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35788 val_t REGB0;
35789 val_t REGB1;
35790 val_t tmp;
35791 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35792 fra.me.file = LOCATE_parser;
35793 fra.me.line = 12684;
35794 fra.me.meth = LOCATE_parser___ReduceAction754___action;
35795 fra.me.has_broke = 0;
35796 fra.me.REG_size = 5;
35797 fra.me.nitni_local_ref_head = NULL;
35798 fra.me.REG[0] = NIT_NULL;
35799 fra.me.REG[1] = NIT_NULL;
35800 fra.me.REG[2] = NIT_NULL;
35801 fra.me.REG[3] = NIT_NULL;
35802 fra.me.REG[4] = NIT_NULL;
35803 fra.me.REG[0] = p0;
35804 fra.me.REG[1] = p1;
35805 /* parser/parser.nit:12686 */
35806 fra.me.REG[2] = NIT_NULL;
35807 /* parser/parser.nit:12687 */
35808 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35809 /* parser/parser.nit:12688 */
35810 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
35811 /* parser/parser.nit:12690 */
35812 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35813 if (UNTAG_Bool(REGB0)) {
35814 } else {
35815 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35816 if (UNTAG_Bool(REGB1)) {
35817 REGB1 = TAG_Bool(false);
35818 REGB0 = REGB1;
35819 } else {
35820 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35821 REGB0 = REGB1;
35822 }
35823 }
35824 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35825 if (UNTAG_Bool(REGB0)) {
35826 /* parser/parser.nit:12691 */
35827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
35828 }
35829 /* parser/parser.nit:12693 */
35830 fra.me.REG[2] = fra.me.REG[4];
35831 /* parser/parser.nit:12694 */
35832 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35833 if (UNTAG_Bool(REGB0)) {
35834 } else {
35835 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12694);
35836 }
35837 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35838 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35839 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35840 stack_frame_head = fra.me.prev;
35841 return;
35842 }
35843 void parser___ReduceAction755___action(val_t p0, val_t p1){
35844 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35845 val_t REGB0;
35846 val_t REGB1;
35847 val_t tmp;
35848 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35849 fra.me.file = LOCATE_parser;
35850 fra.me.line = 12699;
35851 fra.me.meth = LOCATE_parser___ReduceAction755___action;
35852 fra.me.has_broke = 0;
35853 fra.me.REG_size = 6;
35854 fra.me.nitni_local_ref_head = NULL;
35855 fra.me.REG[0] = NIT_NULL;
35856 fra.me.REG[1] = NIT_NULL;
35857 fra.me.REG[2] = NIT_NULL;
35858 fra.me.REG[3] = NIT_NULL;
35859 fra.me.REG[4] = NIT_NULL;
35860 fra.me.REG[5] = NIT_NULL;
35861 fra.me.REG[0] = p0;
35862 fra.me.REG[1] = p1;
35863 /* parser/parser.nit:12701 */
35864 fra.me.REG[2] = NIT_NULL;
35865 /* parser/parser.nit:12702 */
35866 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35867 /* parser/parser.nit:12703 */
35868 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35869 /* parser/parser.nit:12704 */
35870 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35871 /* parser/parser.nit:12706 */
35872 REGB0 = TAG_Bool((fra.me.REG[4]!=NIT_NULL) && VAL_ISA(fra.me.REG[4], COLOR_standard___collection___array___Array, ID_standard___collection___array___Array)) /*cast Array[Object]*/;
35873 if (UNTAG_Bool(REGB0)) {
35874 } else {
35875 nit_abort("Assert failed", NULL, LOCATE_parser, 12706);
35876 }
35877 /* parser/parser.nit:12708 */
35878 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
35879 fra.me.REG[5] = fra.me.REG[4];
35880 /* parser/parser.nit:12709 */
35881 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35882 if (UNTAG_Bool(REGB0)) {
35883 } else {
35884 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35885 if (UNTAG_Bool(REGB1)) {
35886 REGB1 = TAG_Bool(false);
35887 REGB0 = REGB1;
35888 } else {
35889 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35890 REGB0 = REGB1;
35891 }
35892 }
35893 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35894 if (UNTAG_Bool(REGB0)) {
35895 /* parser/parser.nit:12710 */
35896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
35897 }
35898 /* parser/parser.nit:12712 */
35899 fra.me.REG[2] = fra.me.REG[5];
35900 /* parser/parser.nit:12713 */
35901 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35902 if (UNTAG_Bool(REGB0)) {
35903 } else {
35904 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12713);
35905 }
35906 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35907 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35908 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35909 stack_frame_head = fra.me.prev;
35910 return;
35911 }