Merge branch 'nitdoc2' into wip
[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.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 /* ./parser//parser.nit:9 */
16 REGB0 = TAG_Bool(ATTR_parser___State____state(fra.me.REG[0])!=NIT_NULL);
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 nit_abort("Uninitialized attribute %s", "_state", LOCATE_parser, 9);
20 }
21 REGB0 = ATTR_parser___State____state(fra.me.REG[0]);
22 stack_frame_head = fra.me.prev;
23 return REGB0;
24 }
25 void parser___State___state__eq(val_t p0, val_t p1){
26 struct {struct stack_frame_t me;} fra;
27 val_t REGB0;
28 val_t tmp;
29 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30 fra.me.file = LOCATE_parser;
31 fra.me.line = 9;
32 fra.me.meth = LOCATE_parser___State___state__eq;
33 fra.me.has_broke = 0;
34 fra.me.REG_size = 1;
35 fra.me.REG[0] = NIT_NULL;
36 fra.me.REG[0] = p0;
37 REGB0 = p1;
38 /* ./parser//parser.nit:9 */
39 ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
40 stack_frame_head = fra.me.prev;
41 return;
42 }
43 val_t parser___State___nodes(val_t p0){
44 struct {struct stack_frame_t me;} fra;
45 val_t tmp;
46 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47 fra.me.file = LOCATE_parser;
48 fra.me.line = 12;
49 fra.me.meth = LOCATE_parser___State___nodes;
50 fra.me.has_broke = 0;
51 fra.me.REG_size = 1;
52 fra.me.REG[0] = NIT_NULL;
53 fra.me.REG[0] = p0;
54 /* ./parser//parser.nit:12 */
55 fra.me.REG[0] = ATTR_parser___State____nodes(fra.me.REG[0]);
56 stack_frame_head = fra.me.prev;
57 return fra.me.REG[0];
58 }
59 void parser___State___nodes__eq(val_t p0, val_t p1){
60 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
61 val_t tmp;
62 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
63 fra.me.file = LOCATE_parser;
64 fra.me.line = 12;
65 fra.me.meth = LOCATE_parser___State___nodes__eq;
66 fra.me.has_broke = 0;
67 fra.me.REG_size = 2;
68 fra.me.REG[0] = NIT_NULL;
69 fra.me.REG[1] = NIT_NULL;
70 fra.me.REG[0] = p0;
71 fra.me.REG[1] = p1;
72 /* ./parser//parser.nit:12 */
73 ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
74 stack_frame_head = fra.me.prev;
75 return;
76 }
77 void parser___State___init(val_t p0, val_t p1, val_t p2, int* init_table){
78 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___State].i;
79 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
80 val_t REGB0;
81 val_t tmp;
82 if (init_table[itpos0]) return;
83 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
84 fra.me.file = LOCATE_parser;
85 fra.me.line = 15;
86 fra.me.meth = LOCATE_parser___State___init;
87 fra.me.has_broke = 0;
88 fra.me.REG_size = 2;
89 fra.me.REG[0] = NIT_NULL;
90 fra.me.REG[1] = NIT_NULL;
91 fra.me.REG[0] = p0;
92 REGB0 = p1;
93 fra.me.REG[1] = p2;
94 /* ./parser//parser.nit:17 */
95 ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
96 /* ./parser//parser.nit:18 */
97 ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
98 stack_frame_head = fra.me.prev;
99 init_table[itpos0] = 1;
100 return;
101 }
102 void parser___Parser___init(val_t p0, val_t p1, int* init_table){
103 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___Parser].i;
104 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
105 val_t REGB0;
106 val_t tmp;
107 if (init_table[itpos1]) return;
108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
109 fra.me.file = LOCATE_parser;
110 fra.me.line = 33;
111 fra.me.meth = LOCATE_parser___Parser___init;
112 fra.me.has_broke = 0;
113 fra.me.REG_size = 2;
114 fra.me.REG[0] = NIT_NULL;
115 fra.me.REG[1] = NIT_NULL;
116 fra.me.REG[0] = p0;
117 fra.me.REG[1] = p1;
118 /* ./parser//parser.nit:36 */
119 ATTR_parser___Parser____lexer(fra.me.REG[0]) = fra.me.REG[1];
120 /* ./parser//parser.nit:37 */
121 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___init();
122 ATTR_parser___Parser____stack(fra.me.REG[0]) = fra.me.REG[1];
123 /* ./parser//parser.nit:38 */
124 REGB0 = TAG_Int(1);
125 /* ./../lib/standard//kernel.nit:219 */
126 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
127 /* ./parser//parser.nit:38 */
128 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB0;
129 /* ./parser//parser.nit:39 */
130 CALL_parser___Parser___build_reduce_table(fra.me.REG[0])(fra.me.REG[0]);
131 stack_frame_head = fra.me.prev;
132 init_table[itpos1] = 1;
133 return;
134 }
135 val_t parser___Parser___go_to(val_t p0, val_t p1){
136 struct {struct stack_frame_t me;} fra;
137 val_t REGB0;
138 val_t REGB1;
139 val_t REGB2;
140 val_t REGB3;
141 val_t REGB4;
142 val_t REGB5;
143 val_t REGB6;
144 val_t REGB7;
145 val_t tmp;
146 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
147 fra.me.file = LOCATE_parser;
148 fra.me.line = 42;
149 fra.me.meth = LOCATE_parser___Parser___go_to;
150 fra.me.has_broke = 0;
151 fra.me.REG_size = 1;
152 fra.me.REG[0] = NIT_NULL;
153 fra.me.REG[0] = p0;
154 REGB0 = p1;
155 /* ./parser//parser.nit:45 */
156 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
157 /* ./parser//parser.nit:46 */
158 REGB2 = TAG_Int(1);
159 /* ./parser//parser.nit:47 */
160 REGB3 = TAG_Int(0);
161 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
162 REGB4 = TAG_Int(1);
163 /* ./../lib/standard//kernel.nit:220 */
164 REGB4 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB4));
165 /* ./parser//parser.nit:49 */
166 while(1) {
167 REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
168 if (UNTAG_Bool(REGB3)) {
169 } else {
170 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
171 }
172 /* ./../lib/standard//kernel.nit:214 */
173 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<=UNTAG_Int(REGB4));
174 /* ./parser//parser.nit:49 */
175 if (UNTAG_Bool(REGB3)) {
176 /* ./../lib/standard//kernel.nit:218 */
177 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
178 /* ./parser//parser.nit:50 */
179 REGB5 = TAG_Int(2);
180 /* ./../lib/standard//kernel.nit:222 */
181 REGB5 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB5));
182 /* ./parser//parser.nit:51 */
183 REGB3 = TAG_Int(2);
184 /* ./../lib/standard//kernel.nit:221 */
185 REGB3 = TAG_Int(UNTAG_Int(REGB5)*UNTAG_Int(REGB3));
186 /* ./parser//parser.nit:51 */
187 REGB6 = TAG_Int(1);
188 /* ./../lib/standard//kernel.nit:218 */
189 REGB6 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB6));
190 /* ./parser//parser.nit:53 */
191 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB6);
192 REGB7 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
193 if (UNTAG_Bool(REGB7)) {
194 } else {
195 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
196 }
197 /* ./../lib/standard//kernel.nit:215 */
198 REGB7 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB3));
199 /* ./parser//parser.nit:54 */
200 if (UNTAG_Bool(REGB7)) {
201 /* ./parser//parser.nit:55 */
202 REGB7 = TAG_Int(1);
203 /* ./../lib/standard//kernel.nit:220 */
204 REGB7 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB7));
205 /* ./parser//parser.nit:55 */
206 REGB4 = REGB7;
207 } else {
208 REGB7 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
209 if (UNTAG_Bool(REGB7)) {
210 } else {
211 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
212 }
213 /* ./../lib/standard//kernel.nit:217 */
214 REGB3 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB3));
215 /* ./parser//parser.nit:56 */
216 if (UNTAG_Bool(REGB3)) {
217 /* ./parser//parser.nit:57 */
218 REGB3 = TAG_Int(1);
219 /* ./../lib/standard//kernel.nit:218 */
220 REGB3 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB3));
221 /* ./parser//parser.nit:57 */
222 REGB2 = REGB3;
223 } else {
224 /* ./parser//parser.nit:59 */
225 REGB3 = TAG_Int(1);
226 /* ./../lib/standard//kernel.nit:218 */
227 REGB3 = TAG_Int(UNTAG_Int(REGB6)+UNTAG_Int(REGB3));
228 /* ./parser//parser.nit:59 */
229 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
230 goto label1;
231 }
232 }
233 } else {
234 /* ./parser//parser.nit:49 */
235 goto label2;
236 }
237 }
238 label2: while(0);
239 /* ./parser//parser.nit:63 */
240 REGB2 = TAG_Int(2);
241 REGB2 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
242 REGB3 = REGB2;
243 goto label1;
244 label1: while(0);
245 stack_frame_head = fra.me.prev;
246 return REGB3;
247 }
248 void parser___Parser___push(val_t p0, val_t p1, val_t p2){
249 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
250 val_t REGB0;
251 val_t REGB1;
252 val_t REGB2;
253 val_t REGB3;
254 val_t tmp;
255 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
256 fra.me.file = LOCATE_parser;
257 fra.me.line = 66;
258 fra.me.meth = LOCATE_parser___Parser___push;
259 fra.me.has_broke = 0;
260 fra.me.REG_size = 3;
261 fra.me.REG[0] = NIT_NULL;
262 fra.me.REG[1] = NIT_NULL;
263 fra.me.REG[2] = NIT_NULL;
264 fra.me.REG[0] = p0;
265 REGB0 = p1;
266 fra.me.REG[1] = p2;
267 /* ./parser//parser.nit:69 */
268 REGB1 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
269 if (UNTAG_Bool(REGB1)) {
270 } else {
271 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 69);
272 }
273 REGB1 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
274 REGB2 = TAG_Int(1);
275 /* ./../lib/standard//kernel.nit:218 */
276 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
277 /* ./parser//parser.nit:70 */
278 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB2;
279 /* ./parser//parser.nit:71 */
280 REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
281 if (UNTAG_Bool(REGB1)) {
282 } else {
283 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 71);
284 }
285 fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
286 /* ./../lib/standard//collection//array.nit:23 */
287 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
288 if (UNTAG_Bool(REGB1)) {
289 } else {
290 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
291 }
292 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
293 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
294 if (UNTAG_Bool(REGB3)) {
295 } else {
296 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
297 }
298 /* ./../lib/standard//kernel.nit:215 */
299 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
300 /* ./parser//parser.nit:71 */
301 if (UNTAG_Bool(REGB1)) {
302 /* ./parser//parser.nit:72 */
303 REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
304 if (UNTAG_Bool(REGB1)) {
305 } else {
306 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 72);
307 }
308 fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
309 /* ./../lib/standard//collection//array.nit:243 */
310 REGB1 = TAG_Int(0);
311 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
312 if (UNTAG_Bool(REGB3)) {
313 } else {
314 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
315 }
316 /* ./../lib/standard//kernel.nit:216 */
317 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
318 /* ./../lib/standard//collection//array.nit:243 */
319 if (UNTAG_Bool(REGB1)) {
320 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
321 if (UNTAG_Bool(REGB1)) {
322 } else {
323 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
324 }
325 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
326 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
327 if (UNTAG_Bool(REGB3)) {
328 } else {
329 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
330 }
331 /* ./../lib/standard//kernel.nit:215 */
332 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
333 } else {
334 /* ./../lib/standard//collection//array.nit:243 */
335 REGB3 = TAG_Bool(false);
336 REGB1 = REGB3;
337 }
338 if (UNTAG_Bool(REGB1)) {
339 } else {
340 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array, 243);
341 }
342 /* ./../lib/standard//collection//array.nit:244 */
343 fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
344 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
345 if (UNTAG_Bool(REGB1)) {
346 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
347 }
348 /* ./../lib/standard//collection//array.nit:652 */
349 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)];
350 /* ./../lib/standard//collection//array.nit:244 */
351 goto label1;
352 label1: while(0);
353 /* ./parser//parser.nit:73 */
354 CALL_parser___State___state__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
355 /* ./parser//parser.nit:74 */
356 CALL_parser___State___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
357 } else {
358 /* ./parser//parser.nit:76 */
359 REGB2 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
360 if (UNTAG_Bool(REGB2)) {
361 } else {
362 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 76);
363 }
364 fra.me.REG[0] = ATTR_parser___Parser____stack(fra.me.REG[0]);
365 fra.me.REG[1] = NEW_State_parser___State___init(REGB0, fra.me.REG[1]);
366 CALL_standard___collection___abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
367 }
368 stack_frame_head = fra.me.prev;
369 return;
370 }
371 val_t parser___Parser___state(val_t p0){
372 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
373 val_t REGB0;
374 val_t REGB1;
375 val_t REGB2;
376 val_t tmp;
377 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
378 fra.me.file = LOCATE_parser;
379 fra.me.line = 80;
380 fra.me.meth = LOCATE_parser___Parser___state;
381 fra.me.has_broke = 0;
382 fra.me.REG_size = 2;
383 fra.me.REG[0] = NIT_NULL;
384 fra.me.REG[1] = NIT_NULL;
385 fra.me.REG[0] = p0;
386 /* ./parser//parser.nit:83 */
387 REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
388 if (UNTAG_Bool(REGB0)) {
389 } else {
390 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 83);
391 }
392 fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]);
393 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
394 if (UNTAG_Bool(REGB0)) {
395 } else {
396 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 83);
397 }
398 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
399 /* ./../lib/standard//collection//array.nit:243 */
400 REGB1 = TAG_Int(0);
401 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
402 if (UNTAG_Bool(REGB2)) {
403 } else {
404 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
405 }
406 /* ./../lib/standard//kernel.nit:216 */
407 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
408 /* ./../lib/standard//collection//array.nit:243 */
409 if (UNTAG_Bool(REGB1)) {
410 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
411 if (UNTAG_Bool(REGB1)) {
412 } else {
413 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
414 }
415 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
416 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
417 if (UNTAG_Bool(REGB2)) {
418 } else {
419 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
420 }
421 /* ./../lib/standard//kernel.nit:215 */
422 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
423 } else {
424 /* ./../lib/standard//collection//array.nit:243 */
425 REGB2 = TAG_Bool(false);
426 REGB1 = REGB2;
427 }
428 if (UNTAG_Bool(REGB1)) {
429 } else {
430 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array, 243);
431 }
432 /* ./../lib/standard//collection//array.nit:244 */
433 fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
434 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
435 if (UNTAG_Bool(REGB1)) {
436 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
437 }
438 /* ./../lib/standard//collection//array.nit:652 */
439 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
440 /* ./../lib/standard//collection//array.nit:244 */
441 goto label1;
442 label1: while(0);
443 /* ./parser//parser.nit:83 */
444 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
445 if (UNTAG_Bool(REGB0)) {
446 nit_abort("Reciever is null", NULL, LOCATE_parser, 83);
447 }
448 REGB0 = CALL_parser___State___state(fra.me.REG[1])(fra.me.REG[1]);
449 goto label2;
450 label2: while(0);
451 stack_frame_head = fra.me.prev;
452 return REGB0;
453 }
454 val_t parser___Parser___pop(val_t p0){
455 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
456 val_t REGB0;
457 val_t REGB1;
458 val_t REGB2;
459 val_t tmp;
460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
461 fra.me.file = LOCATE_parser;
462 fra.me.line = 86;
463 fra.me.meth = LOCATE_parser___Parser___pop;
464 fra.me.has_broke = 0;
465 fra.me.REG_size = 2;
466 fra.me.REG[0] = NIT_NULL;
467 fra.me.REG[1] = NIT_NULL;
468 fra.me.REG[0] = p0;
469 /* ./parser//parser.nit:89 */
470 REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
471 if (UNTAG_Bool(REGB0)) {
472 } else {
473 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 89);
474 }
475 fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]);
476 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
477 if (UNTAG_Bool(REGB0)) {
478 } else {
479 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 89);
480 }
481 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
482 /* ./../lib/standard//collection//array.nit:243 */
483 REGB1 = TAG_Int(0);
484 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
485 if (UNTAG_Bool(REGB2)) {
486 } else {
487 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
488 }
489 /* ./../lib/standard//kernel.nit:216 */
490 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
491 /* ./../lib/standard//collection//array.nit:243 */
492 if (UNTAG_Bool(REGB1)) {
493 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
494 if (UNTAG_Bool(REGB1)) {
495 } else {
496 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
497 }
498 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
499 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
500 if (UNTAG_Bool(REGB2)) {
501 } else {
502 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
503 }
504 /* ./../lib/standard//kernel.nit:215 */
505 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
506 } else {
507 /* ./../lib/standard//collection//array.nit:243 */
508 REGB2 = TAG_Bool(false);
509 REGB1 = REGB2;
510 }
511 if (UNTAG_Bool(REGB1)) {
512 } else {
513 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array, 243);
514 }
515 /* ./../lib/standard//collection//array.nit:244 */
516 fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
517 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
518 if (UNTAG_Bool(REGB1)) {
519 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
520 }
521 /* ./../lib/standard//collection//array.nit:652 */
522 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
523 /* ./../lib/standard//collection//array.nit:244 */
524 goto label1;
525 label1: while(0);
526 /* ./parser//parser.nit:89 */
527 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
528 if (UNTAG_Bool(REGB0)) {
529 nit_abort("Reciever is null", NULL, LOCATE_parser, 89);
530 }
531 fra.me.REG[1] = CALL_parser___State___nodes(fra.me.REG[1])(fra.me.REG[1]);
532 /* ./parser//parser.nit:90 */
533 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
534 if (UNTAG_Bool(REGB0)) {
535 } else {
536 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 90);
537 }
538 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
539 REGB1 = TAG_Int(1);
540 /* ./../lib/standard//kernel.nit:220 */
541 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
542 /* ./parser//parser.nit:90 */
543 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB1;
544 /* ./parser//parser.nit:91 */
545 goto label2;
546 label2: while(0);
547 stack_frame_head = fra.me.prev;
548 return fra.me.REG[1];
549 }
550 val_t parser___Parser___parse(val_t p0){
551 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
552 val_t REGB0;
553 val_t REGB1;
554 val_t REGB2;
555 val_t REGB3;
556 val_t REGB4;
557 val_t REGB5;
558 val_t REGB6;
559 val_t REGB7;
560 val_t REGB8;
561 val_t tmp;
562 static val_t once_value_4; /* Once value */
563 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
564 fra.me.file = LOCATE_parser;
565 fra.me.line = 94;
566 fra.me.meth = LOCATE_parser___Parser___parse;
567 fra.me.has_broke = 0;
568 fra.me.REG_size = 6;
569 fra.me.REG[0] = NIT_NULL;
570 fra.me.REG[1] = NIT_NULL;
571 fra.me.REG[2] = NIT_NULL;
572 fra.me.REG[3] = NIT_NULL;
573 fra.me.REG[4] = NIT_NULL;
574 fra.me.REG[5] = NIT_NULL;
575 fra.me.REG[0] = p0;
576 /* ./parser//parser.nit:97 */
577 REGB0 = TAG_Int(0);
578 CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB0, NIT_NULL);
579 /* ./parser//parser.nit:99 */
580 REGB0 = TAG_Bool(ATTR_parser___Parser____lexer(fra.me.REG[0])!=NIT_NULL);
581 if (UNTAG_Bool(REGB0)) {
582 } else {
583 nit_abort("Uninitialized attribute %s", "_lexer", LOCATE_parser, 99);
584 }
585 fra.me.REG[1] = ATTR_parser___Parser____lexer(fra.me.REG[0]);
586 /* ./parser//parser.nit:100 */
587 while(1) {
588 /* ./parser//parser.nit:101 */
589 fra.me.REG[2] = CALL_parser___lexer___Lexer___peek(fra.me.REG[1])(fra.me.REG[1]);
590 /* ./parser//parser.nit:102 */
591 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_parser___parser_nodes___AError, ID_parser___parser_nodes___AError)) /*cast AError*/;
592 if (UNTAG_Bool(REGB0)) {
593 /* ./parser//parser.nit:103 */
594 fra.me.REG[3] = NEW_Start_parser___parser_prod___Start___init(NIT_NULL, fra.me.REG[2]);
595 goto label1;
596 }
597 /* ./parser//parser.nit:106 */
598 REGB0 = CALL_parser___lexer___Token___parser_index(fra.me.REG[2])(fra.me.REG[2]);
599 /* ./parser//parser.nit:107 */
600 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
601 REGB2 = TAG_Int(2);
602 REGB2 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB1, REGB2);
603 /* ./parser//parser.nit:108 */
604 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
605 REGB3 = TAG_Int(3);
606 REGB3 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB1, REGB3);
607 /* ./parser//parser.nit:110 */
608 REGB1 = TAG_Int(1);
609 /* ./parser//parser.nit:111 */
610 REGB4 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
611 REGB5 = TAG_Int(0);
612 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB4, REGB5);
613 REGB4 = TAG_Int(1);
614 /* ./../lib/standard//kernel.nit:220 */
615 REGB4 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB4));
616 /* ./parser//parser.nit:113 */
617 while(1) {
618 REGB5 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
619 if (UNTAG_Bool(REGB5)) {
620 } else {
621 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
622 }
623 /* ./../lib/standard//kernel.nit:214 */
624 REGB5 = TAG_Bool(UNTAG_Int(REGB1)<=UNTAG_Int(REGB4));
625 /* ./parser//parser.nit:113 */
626 if (UNTAG_Bool(REGB5)) {
627 /* ./../lib/standard//kernel.nit:218 */
628 REGB5 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB4));
629 /* ./parser//parser.nit:114 */
630 REGB6 = TAG_Int(2);
631 /* ./../lib/standard//kernel.nit:222 */
632 REGB6 = TAG_Int(UNTAG_Int(REGB5)/UNTAG_Int(REGB6));
633 /* ./parser//parser.nit:115 */
634 REGB5 = TAG_Int(3);
635 /* ./../lib/standard//kernel.nit:221 */
636 REGB5 = TAG_Int(UNTAG_Int(REGB6)*UNTAG_Int(REGB5));
637 /* ./parser//parser.nit:115 */
638 REGB7 = TAG_Int(1);
639 /* ./../lib/standard//kernel.nit:218 */
640 REGB7 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB7));
641 /* ./parser//parser.nit:117 */
642 REGB5 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
643 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB5, REGB7);
644 REGB8 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
645 if (UNTAG_Bool(REGB8)) {
646 } else {
647 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
648 }
649 /* ./../lib/standard//kernel.nit:215 */
650 REGB8 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB5));
651 /* ./parser//parser.nit:118 */
652 if (UNTAG_Bool(REGB8)) {
653 /* ./parser//parser.nit:119 */
654 REGB8 = TAG_Int(1);
655 /* ./../lib/standard//kernel.nit:220 */
656 REGB8 = TAG_Int(UNTAG_Int(REGB6)-UNTAG_Int(REGB8));
657 /* ./parser//parser.nit:119 */
658 REGB4 = REGB8;
659 } else {
660 REGB8 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
661 if (UNTAG_Bool(REGB8)) {
662 } else {
663 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
664 }
665 /* ./../lib/standard//kernel.nit:217 */
666 REGB5 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB5));
667 /* ./parser//parser.nit:120 */
668 if (UNTAG_Bool(REGB5)) {
669 /* ./parser//parser.nit:121 */
670 REGB5 = TAG_Int(1);
671 /* ./../lib/standard//kernel.nit:218 */
672 REGB5 = TAG_Int(UNTAG_Int(REGB6)+UNTAG_Int(REGB5));
673 /* ./parser//parser.nit:121 */
674 REGB1 = REGB5;
675 } else {
676 /* ./parser//parser.nit:123 */
677 REGB5 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
678 REGB6 = TAG_Int(1);
679 /* ./../lib/standard//kernel.nit:218 */
680 REGB6 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB6));
681 /* ./parser//parser.nit:123 */
682 REGB6 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB5, REGB6);
683 REGB2 = REGB6;
684 /* ./parser//parser.nit:124 */
685 REGB6 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
686 REGB5 = TAG_Int(2);
687 /* ./../lib/standard//kernel.nit:218 */
688 REGB5 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB5));
689 /* ./parser//parser.nit:124 */
690 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB6, REGB5);
691 REGB3 = REGB5;
692 /* ./parser//parser.nit:125 */
693 goto label2;
694 }
695 }
696 } else {
697 /* ./parser//parser.nit:113 */
698 goto label2;
699 }
700 }
701 label2: while(0);
702 /* ./parser//parser.nit:129 */
703 REGB1 = TAG_Int(0);
704 REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
705 if (UNTAG_Bool(REGB0)) {
706 } else {
707 /* ./../lib/standard//kernel.nit:210 */
708 REGB1 = TAG_Bool((REGB2)==(REGB1));
709 /* ./parser//parser.nit:129 */
710 REGB0 = REGB1;
711 }
712 if (UNTAG_Bool(REGB0)) {
713 /* ./parser//parser.nit:130 */
714 fra.me.REG[4] = CALL_parser___lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
715 CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB3, fra.me.REG[4]);
716 } else {
717 /* ./parser//parser.nit:131 */
718 REGB0 = TAG_Int(1);
719 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB0));
720 if (UNTAG_Bool(REGB1)) {
721 } else {
722 /* ./../lib/standard//kernel.nit:210 */
723 REGB0 = TAG_Bool((REGB2)==(REGB0));
724 /* ./parser//parser.nit:131 */
725 REGB1 = REGB0;
726 }
727 if (UNTAG_Bool(REGB1)) {
728 /* ./parser//parser.nit:132 */
729 REGB1 = TAG_Bool(ATTR_parser___Parser____reduce_table(fra.me.REG[0])!=NIT_NULL);
730 if (UNTAG_Bool(REGB1)) {
731 } else {
732 nit_abort("Uninitialized attribute %s", "_reduce_table", LOCATE_parser, 132);
733 }
734 fra.me.REG[4] = ATTR_parser___Parser____reduce_table(fra.me.REG[0]);
735 /* ./../lib/standard//collection//array.nit:243 */
736 REGB1 = TAG_Int(0);
737 REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
738 if (UNTAG_Bool(REGB0)) {
739 } else {
740 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
741 }
742 /* ./../lib/standard//kernel.nit:216 */
743 REGB1 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB1));
744 /* ./../lib/standard//collection//array.nit:243 */
745 if (UNTAG_Bool(REGB1)) {
746 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
747 if (UNTAG_Bool(REGB1)) {
748 } else {
749 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 243);
750 }
751 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
752 REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
753 if (UNTAG_Bool(REGB0)) {
754 } else {
755 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
756 }
757 /* ./../lib/standard//kernel.nit:215 */
758 REGB1 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB1));
759 } else {
760 /* ./../lib/standard//collection//array.nit:243 */
761 REGB0 = TAG_Bool(false);
762 REGB1 = REGB0;
763 }
764 if (UNTAG_Bool(REGB1)) {
765 } else {
766 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array, 243);
767 }
768 /* ./../lib/standard//collection//array.nit:244 */
769 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
770 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
771 if (UNTAG_Bool(REGB1)) {
772 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 244);
773 }
774 /* ./../lib/standard//collection//array.nit:652 */
775 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB3)];
776 /* ./../lib/standard//collection//array.nit:244 */
777 goto label3;
778 label3: while(0);
779 /* ./parser//parser.nit:132 */
780 REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
781 if (UNTAG_Bool(REGB3)) {
782 nit_abort("Reciever is null", NULL, LOCATE_parser, 132);
783 }
784 CALL_parser___ReduceAction___action(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
785 } else {
786 /* ./parser//parser.nit:133 */
787 REGB3 = TAG_Int(2);
788 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
789 if (UNTAG_Bool(REGB1)) {
790 } else {
791 /* ./../lib/standard//kernel.nit:210 */
792 REGB3 = TAG_Bool((REGB2)==(REGB3));
793 /* ./parser//parser.nit:133 */
794 REGB1 = REGB3;
795 }
796 if (UNTAG_Bool(REGB1)) {
797 /* ./parser//parser.nit:134 */
798 fra.me.REG[4] = CALL_parser___lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
799 /* ./parser//parser.nit:135 */
800 REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___EOF, ID_parser___parser_nodes___EOF)) /*cast EOF*/;
801 if (UNTAG_Bool(REGB1)) {
802 } else {
803 nit_abort("Assert failed", NULL, LOCATE_parser, 135);
804 }
805 /* ./parser//parser.nit:136 */
806 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[0])(fra.me.REG[0]);
807 /* ./parser//parser.nit:137 */
808 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*/;
809 if (UNTAG_Bool(REGB1)) {
810 } else {
811 nit_abort("Assert failed", NULL, LOCATE_parser, 137);
812 }
813 /* ./parser//parser.nit:138 */
814 fra.me.REG[4] = NEW_Start_parser___parser_prod___Start___init(fra.me.REG[5], fra.me.REG[4]);
815 /* ./parser//parser.nit:139 */
816 fra.me.REG[5] = NEW_ComputeProdLocationVisitor_parser___ComputeProdLocationVisitor___init();
817 CALL_parser___parser_prod___Visitor___enter_visit(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
818 /* ./parser//parser.nit:140 */
819 fra.me.REG[3] = fra.me.REG[4];
820 goto label1;
821 } else {
822 /* ./parser//parser.nit:141 */
823 REGB1 = TAG_Int(3);
824 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
825 if (UNTAG_Bool(REGB3)) {
826 } else {
827 /* ./../lib/standard//kernel.nit:210 */
828 REGB1 = TAG_Bool((REGB2)==(REGB1));
829 /* ./parser//parser.nit:141 */
830 REGB3 = REGB1;
831 }
832 if (UNTAG_Bool(REGB3)) {
833 /* ./parser//parser.nit:142 */
834 if (!once_value_4) {
835 fra.me.REG[4] = BOX_NativeString("Syntax error: unexpected token.");
836 REGB3 = TAG_Int(31);
837 fra.me.REG[4] = NEW_String_standard___string___String___with_native(fra.me.REG[4], REGB3);
838 once_value_4 = fra.me.REG[4];
839 register_static_object(&once_value_4);
840 } else fra.me.REG[4] = once_value_4;
841 fra.me.REG[4] = fra.me.REG[4];
842 fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]);
843 fra.me.REG[2] = NEW_AError_parser___lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]);
844 /* ./parser//parser.nit:143 */
845 fra.me.REG[2] = NEW_Start_parser___parser_prod___Start___init(NIT_NULL, fra.me.REG[2]);
846 /* ./parser//parser.nit:144 */
847 fra.me.REG[3] = fra.me.REG[2];
848 goto label1;
849 }
850 }
851 }
852 }
853 }
854 label1: while(0);
855 stack_frame_head = fra.me.prev;
856 return fra.me.REG[3];
857 }
858 void parser___Parser___build_reduce_table(val_t p0){
859 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
860 val_t REGB0;
861 val_t tmp;
862 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
863 fra.me.file = LOCATE_parser;
864 fra.me.line = 150;
865 fra.me.meth = LOCATE_parser___Parser___build_reduce_table;
866 fra.me.has_broke = 0;
867 fra.me.REG_size = 3;
868 fra.me.REG[0] = NIT_NULL;
869 fra.me.REG[1] = NIT_NULL;
870 fra.me.REG[2] = NIT_NULL;
871 fra.me.REG[0] = p0;
872 /* ./parser//parser.nit:152 */
873 REGB0 = TAG_Int(706);
874 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
875 /* ./parser//parser.nit:153 */
876 REGB0 = TAG_Int(0);
877 fra.me.REG[2] = NEW_ReduceAction0_parser___ReduceAction___init(REGB0);
878 /* ./parser//parser.nit:152 */
879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
880 /* ./parser//parser.nit:154 */
881 REGB0 = TAG_Int(0);
882 fra.me.REG[2] = NEW_ReduceAction1_parser___ReduceAction___init(REGB0);
883 /* ./parser//parser.nit:152 */
884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
885 /* ./parser//parser.nit:155 */
886 REGB0 = TAG_Int(0);
887 fra.me.REG[2] = NEW_ReduceAction2_parser___ReduceAction___init(REGB0);
888 /* ./parser//parser.nit:152 */
889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
890 /* ./parser//parser.nit:156 */
891 REGB0 = TAG_Int(0);
892 fra.me.REG[2] = NEW_ReduceAction3_parser___ReduceAction___init(REGB0);
893 /* ./parser//parser.nit:152 */
894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
895 /* ./parser//parser.nit:157 */
896 REGB0 = TAG_Int(0);
897 fra.me.REG[2] = NEW_ReduceAction4_parser___ReduceAction___init(REGB0);
898 /* ./parser//parser.nit:152 */
899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
900 /* ./parser//parser.nit:158 */
901 REGB0 = TAG_Int(0);
902 fra.me.REG[2] = NEW_ReduceAction5_parser___ReduceAction___init(REGB0);
903 /* ./parser//parser.nit:152 */
904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
905 /* ./parser//parser.nit:159 */
906 REGB0 = TAG_Int(0);
907 fra.me.REG[2] = NEW_ReduceAction6_parser___ReduceAction___init(REGB0);
908 /* ./parser//parser.nit:152 */
909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
910 /* ./parser//parser.nit:160 */
911 REGB0 = TAG_Int(0);
912 fra.me.REG[2] = NEW_ReduceAction7_parser___ReduceAction___init(REGB0);
913 /* ./parser//parser.nit:152 */
914 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
915 /* ./parser//parser.nit:161 */
916 REGB0 = TAG_Int(0);
917 fra.me.REG[2] = NEW_ReduceAction8_parser___ReduceAction___init(REGB0);
918 /* ./parser//parser.nit:152 */
919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
920 /* ./parser//parser.nit:162 */
921 REGB0 = TAG_Int(0);
922 fra.me.REG[2] = NEW_ReduceAction9_parser___ReduceAction___init(REGB0);
923 /* ./parser//parser.nit:152 */
924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
925 /* ./parser//parser.nit:163 */
926 REGB0 = TAG_Int(0);
927 fra.me.REG[2] = NEW_ReduceAction10_parser___ReduceAction___init(REGB0);
928 /* ./parser//parser.nit:152 */
929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
930 /* ./parser//parser.nit:164 */
931 REGB0 = TAG_Int(0);
932 fra.me.REG[2] = NEW_ReduceAction11_parser___ReduceAction___init(REGB0);
933 /* ./parser//parser.nit:152 */
934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
935 /* ./parser//parser.nit:165 */
936 REGB0 = TAG_Int(0);
937 fra.me.REG[2] = NEW_ReduceAction12_parser___ReduceAction___init(REGB0);
938 /* ./parser//parser.nit:152 */
939 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
940 /* ./parser//parser.nit:166 */
941 REGB0 = TAG_Int(0);
942 fra.me.REG[2] = NEW_ReduceAction13_parser___ReduceAction___init(REGB0);
943 /* ./parser//parser.nit:152 */
944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
945 /* ./parser//parser.nit:167 */
946 REGB0 = TAG_Int(0);
947 fra.me.REG[2] = NEW_ReduceAction14_parser___ReduceAction___init(REGB0);
948 /* ./parser//parser.nit:152 */
949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
950 /* ./parser//parser.nit:168 */
951 REGB0 = TAG_Int(0);
952 fra.me.REG[2] = NEW_ReduceAction15_parser___ReduceAction___init(REGB0);
953 /* ./parser//parser.nit:152 */
954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
955 /* ./parser//parser.nit:169 */
956 REGB0 = TAG_Int(0);
957 fra.me.REG[2] = NEW_ReduceAction16_parser___ReduceAction___init(REGB0);
958 /* ./parser//parser.nit:152 */
959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
960 /* ./parser//parser.nit:170 */
961 REGB0 = TAG_Int(0);
962 fra.me.REG[2] = NEW_ReduceAction17_parser___ReduceAction___init(REGB0);
963 /* ./parser//parser.nit:152 */
964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
965 /* ./parser//parser.nit:171 */
966 REGB0 = TAG_Int(0);
967 fra.me.REG[2] = NEW_ReduceAction18_parser___ReduceAction___init(REGB0);
968 /* ./parser//parser.nit:152 */
969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
970 /* ./parser//parser.nit:172 */
971 REGB0 = TAG_Int(0);
972 fra.me.REG[2] = NEW_ReduceAction19_parser___ReduceAction___init(REGB0);
973 /* ./parser//parser.nit:152 */
974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
975 /* ./parser//parser.nit:173 */
976 REGB0 = TAG_Int(0);
977 fra.me.REG[2] = NEW_ReduceAction20_parser___ReduceAction___init(REGB0);
978 /* ./parser//parser.nit:152 */
979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
980 /* ./parser//parser.nit:174 */
981 REGB0 = TAG_Int(0);
982 fra.me.REG[2] = NEW_ReduceAction21_parser___ReduceAction___init(REGB0);
983 /* ./parser//parser.nit:152 */
984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
985 /* ./parser//parser.nit:175 */
986 REGB0 = TAG_Int(0);
987 fra.me.REG[2] = NEW_ReduceAction22_parser___ReduceAction___init(REGB0);
988 /* ./parser//parser.nit:152 */
989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
990 /* ./parser//parser.nit:176 */
991 REGB0 = TAG_Int(0);
992 fra.me.REG[2] = NEW_ReduceAction23_parser___ReduceAction___init(REGB0);
993 /* ./parser//parser.nit:152 */
994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
995 /* ./parser//parser.nit:177 */
996 REGB0 = TAG_Int(0);
997 fra.me.REG[2] = NEW_ReduceAction24_parser___ReduceAction___init(REGB0);
998 /* ./parser//parser.nit:152 */
999 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1000 /* ./parser//parser.nit:178 */
1001 REGB0 = TAG_Int(0);
1002 fra.me.REG[2] = NEW_ReduceAction25_parser___ReduceAction___init(REGB0);
1003 /* ./parser//parser.nit:152 */
1004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1005 /* ./parser//parser.nit:179 */
1006 REGB0 = TAG_Int(0);
1007 fra.me.REG[2] = NEW_ReduceAction26_parser___ReduceAction___init(REGB0);
1008 /* ./parser//parser.nit:152 */
1009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1010 /* ./parser//parser.nit:180 */
1011 REGB0 = TAG_Int(0);
1012 fra.me.REG[2] = NEW_ReduceAction27_parser___ReduceAction___init(REGB0);
1013 /* ./parser//parser.nit:152 */
1014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1015 /* ./parser//parser.nit:181 */
1016 REGB0 = TAG_Int(0);
1017 fra.me.REG[2] = NEW_ReduceAction28_parser___ReduceAction___init(REGB0);
1018 /* ./parser//parser.nit:152 */
1019 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1020 /* ./parser//parser.nit:182 */
1021 REGB0 = TAG_Int(0);
1022 fra.me.REG[2] = NEW_ReduceAction29_parser___ReduceAction___init(REGB0);
1023 /* ./parser//parser.nit:152 */
1024 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1025 /* ./parser//parser.nit:183 */
1026 REGB0 = TAG_Int(0);
1027 fra.me.REG[2] = NEW_ReduceAction30_parser___ReduceAction___init(REGB0);
1028 /* ./parser//parser.nit:152 */
1029 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1030 /* ./parser//parser.nit:184 */
1031 REGB0 = TAG_Int(0);
1032 fra.me.REG[2] = NEW_ReduceAction31_parser___ReduceAction___init(REGB0);
1033 /* ./parser//parser.nit:152 */
1034 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1035 /* ./parser//parser.nit:185 */
1036 REGB0 = TAG_Int(1);
1037 fra.me.REG[2] = NEW_ReduceAction32_parser___ReduceAction___init(REGB0);
1038 /* ./parser//parser.nit:152 */
1039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1040 /* ./parser//parser.nit:186 */
1041 REGB0 = TAG_Int(2);
1042 fra.me.REG[2] = NEW_ReduceAction33_parser___ReduceAction___init(REGB0);
1043 /* ./parser//parser.nit:152 */
1044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1045 /* ./parser//parser.nit:187 */
1046 REGB0 = TAG_Int(2);
1047 fra.me.REG[2] = NEW_ReduceAction34_parser___ReduceAction___init(REGB0);
1048 /* ./parser//parser.nit:152 */
1049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1050 /* ./parser//parser.nit:188 */
1051 REGB0 = TAG_Int(3);
1052 fra.me.REG[2] = NEW_ReduceAction35_parser___ReduceAction___init(REGB0);
1053 /* ./parser//parser.nit:152 */
1054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1055 /* ./parser//parser.nit:189 */
1056 REGB0 = TAG_Int(3);
1057 fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction___init(REGB0);
1058 /* ./parser//parser.nit:152 */
1059 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1060 /* ./parser//parser.nit:190 */
1061 REGB0 = TAG_Int(4);
1062 fra.me.REG[2] = NEW_ReduceAction37_parser___ReduceAction___init(REGB0);
1063 /* ./parser//parser.nit:152 */
1064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1065 /* ./parser//parser.nit:191 */
1066 REGB0 = TAG_Int(4);
1067 fra.me.REG[2] = NEW_ReduceAction37_parser___ReduceAction___init(REGB0);
1068 /* ./parser//parser.nit:152 */
1069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1070 /* ./parser//parser.nit:192 */
1071 REGB0 = TAG_Int(5);
1072 fra.me.REG[2] = NEW_ReduceAction39_parser___ReduceAction___init(REGB0);
1073 /* ./parser//parser.nit:152 */
1074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1075 /* ./parser//parser.nit:193 */
1076 REGB0 = TAG_Int(5);
1077 fra.me.REG[2] = NEW_ReduceAction40_parser___ReduceAction___init(REGB0);
1078 /* ./parser//parser.nit:152 */
1079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1080 /* ./parser//parser.nit:194 */
1081 REGB0 = TAG_Int(5);
1082 fra.me.REG[2] = NEW_ReduceAction41_parser___ReduceAction___init(REGB0);
1083 /* ./parser//parser.nit:152 */
1084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1085 /* ./parser//parser.nit:195 */
1086 REGB0 = TAG_Int(5);
1087 fra.me.REG[2] = NEW_ReduceAction42_parser___ReduceAction___init(REGB0);
1088 /* ./parser//parser.nit:152 */
1089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1090 /* ./parser//parser.nit:196 */
1091 REGB0 = TAG_Int(5);
1092 fra.me.REG[2] = NEW_ReduceAction43_parser___ReduceAction___init(REGB0);
1093 /* ./parser//parser.nit:152 */
1094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1095 /* ./parser//parser.nit:197 */
1096 REGB0 = TAG_Int(5);
1097 fra.me.REG[2] = NEW_ReduceAction44_parser___ReduceAction___init(REGB0);
1098 /* ./parser//parser.nit:152 */
1099 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1100 /* ./parser//parser.nit:198 */
1101 REGB0 = TAG_Int(5);
1102 fra.me.REG[2] = NEW_ReduceAction45_parser___ReduceAction___init(REGB0);
1103 /* ./parser//parser.nit:152 */
1104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1105 /* ./parser//parser.nit:199 */
1106 REGB0 = TAG_Int(5);
1107 fra.me.REG[2] = NEW_ReduceAction46_parser___ReduceAction___init(REGB0);
1108 /* ./parser//parser.nit:152 */
1109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1110 /* ./parser//parser.nit:200 */
1111 REGB0 = TAG_Int(5);
1112 fra.me.REG[2] = NEW_ReduceAction47_parser___ReduceAction___init(REGB0);
1113 /* ./parser//parser.nit:152 */
1114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1115 /* ./parser//parser.nit:201 */
1116 REGB0 = TAG_Int(5);
1117 fra.me.REG[2] = NEW_ReduceAction48_parser___ReduceAction___init(REGB0);
1118 /* ./parser//parser.nit:152 */
1119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1120 /* ./parser//parser.nit:202 */
1121 REGB0 = TAG_Int(5);
1122 fra.me.REG[2] = NEW_ReduceAction49_parser___ReduceAction___init(REGB0);
1123 /* ./parser//parser.nit:152 */
1124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1125 /* ./parser//parser.nit:203 */
1126 REGB0 = TAG_Int(5);
1127 fra.me.REG[2] = NEW_ReduceAction50_parser___ReduceAction___init(REGB0);
1128 /* ./parser//parser.nit:152 */
1129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1130 /* ./parser//parser.nit:204 */
1131 REGB0 = TAG_Int(5);
1132 fra.me.REG[2] = NEW_ReduceAction51_parser___ReduceAction___init(REGB0);
1133 /* ./parser//parser.nit:152 */
1134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1135 /* ./parser//parser.nit:205 */
1136 REGB0 = TAG_Int(5);
1137 fra.me.REG[2] = NEW_ReduceAction52_parser___ReduceAction___init(REGB0);
1138 /* ./parser//parser.nit:152 */
1139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1140 /* ./parser//parser.nit:206 */
1141 REGB0 = TAG_Int(5);
1142 fra.me.REG[2] = NEW_ReduceAction53_parser___ReduceAction___init(REGB0);
1143 /* ./parser//parser.nit:152 */
1144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1145 /* ./parser//parser.nit:207 */
1146 REGB0 = TAG_Int(5);
1147 fra.me.REG[2] = NEW_ReduceAction54_parser___ReduceAction___init(REGB0);
1148 /* ./parser//parser.nit:152 */
1149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1150 /* ./parser//parser.nit:208 */
1151 REGB0 = TAG_Int(6);
1152 fra.me.REG[2] = NEW_ReduceAction55_parser___ReduceAction___init(REGB0);
1153 /* ./parser//parser.nit:152 */
1154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1155 /* ./parser//parser.nit:209 */
1156 REGB0 = TAG_Int(6);
1157 fra.me.REG[2] = NEW_ReduceAction56_parser___ReduceAction___init(REGB0);
1158 /* ./parser//parser.nit:152 */
1159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1160 /* ./parser//parser.nit:210 */
1161 REGB0 = TAG_Int(6);
1162 fra.me.REG[2] = NEW_ReduceAction57_parser___ReduceAction___init(REGB0);
1163 /* ./parser//parser.nit:152 */
1164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1165 /* ./parser//parser.nit:211 */
1166 REGB0 = TAG_Int(6);
1167 fra.me.REG[2] = NEW_ReduceAction58_parser___ReduceAction___init(REGB0);
1168 /* ./parser//parser.nit:152 */
1169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1170 /* ./parser//parser.nit:212 */
1171 REGB0 = TAG_Int(7);
1172 fra.me.REG[2] = NEW_ReduceAction59_parser___ReduceAction___init(REGB0);
1173 /* ./parser//parser.nit:152 */
1174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1175 /* ./parser//parser.nit:213 */
1176 REGB0 = TAG_Int(7);
1177 fra.me.REG[2] = NEW_ReduceAction60_parser___ReduceAction___init(REGB0);
1178 /* ./parser//parser.nit:152 */
1179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1180 /* ./parser//parser.nit:214 */
1181 REGB0 = TAG_Int(8);
1182 fra.me.REG[2] = NEW_ReduceAction61_parser___ReduceAction___init(REGB0);
1183 /* ./parser//parser.nit:152 */
1184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1185 /* ./parser//parser.nit:215 */
1186 REGB0 = TAG_Int(9);
1187 fra.me.REG[2] = NEW_ReduceAction62_parser___ReduceAction___init(REGB0);
1188 /* ./parser//parser.nit:152 */
1189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1190 /* ./parser//parser.nit:216 */
1191 REGB0 = TAG_Int(9);
1192 fra.me.REG[2] = NEW_ReduceAction63_parser___ReduceAction___init(REGB0);
1193 /* ./parser//parser.nit:152 */
1194 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1195 /* ./parser//parser.nit:217 */
1196 REGB0 = TAG_Int(10);
1197 fra.me.REG[2] = NEW_ReduceAction64_parser___ReduceAction___init(REGB0);
1198 /* ./parser//parser.nit:152 */
1199 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1200 /* ./parser//parser.nit:218 */
1201 REGB0 = TAG_Int(10);
1202 fra.me.REG[2] = NEW_ReduceAction65_parser___ReduceAction___init(REGB0);
1203 /* ./parser//parser.nit:152 */
1204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1205 /* ./parser//parser.nit:219 */
1206 REGB0 = TAG_Int(11);
1207 fra.me.REG[2] = NEW_ReduceAction66_parser___ReduceAction___init(REGB0);
1208 /* ./parser//parser.nit:152 */
1209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1210 /* ./parser//parser.nit:220 */
1211 REGB0 = TAG_Int(12);
1212 fra.me.REG[2] = NEW_ReduceAction67_parser___ReduceAction___init(REGB0);
1213 /* ./parser//parser.nit:152 */
1214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1215 /* ./parser//parser.nit:221 */
1216 REGB0 = TAG_Int(12);
1217 fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction___init(REGB0);
1218 /* ./parser//parser.nit:152 */
1219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1220 /* ./parser//parser.nit:222 */
1221 REGB0 = TAG_Int(12);
1222 fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction___init(REGB0);
1223 /* ./parser//parser.nit:152 */
1224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1225 /* ./parser//parser.nit:223 */
1226 REGB0 = TAG_Int(12);
1227 fra.me.REG[2] = NEW_ReduceAction70_parser___ReduceAction___init(REGB0);
1228 /* ./parser//parser.nit:152 */
1229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1230 /* ./parser//parser.nit:224 */
1231 REGB0 = TAG_Int(12);
1232 fra.me.REG[2] = NEW_ReduceAction71_parser___ReduceAction___init(REGB0);
1233 /* ./parser//parser.nit:152 */
1234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1235 /* ./parser//parser.nit:225 */
1236 REGB0 = TAG_Int(12);
1237 fra.me.REG[2] = NEW_ReduceAction72_parser___ReduceAction___init(REGB0);
1238 /* ./parser//parser.nit:152 */
1239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1240 /* ./parser//parser.nit:226 */
1241 REGB0 = TAG_Int(12);
1242 fra.me.REG[2] = NEW_ReduceAction73_parser___ReduceAction___init(REGB0);
1243 /* ./parser//parser.nit:152 */
1244 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1245 /* ./parser//parser.nit:227 */
1246 REGB0 = TAG_Int(12);
1247 fra.me.REG[2] = NEW_ReduceAction74_parser___ReduceAction___init(REGB0);
1248 /* ./parser//parser.nit:152 */
1249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1250 /* ./parser//parser.nit:228 */
1251 REGB0 = TAG_Int(12);
1252 fra.me.REG[2] = NEW_ReduceAction75_parser___ReduceAction___init(REGB0);
1253 /* ./parser//parser.nit:152 */
1254 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1255 /* ./parser//parser.nit:229 */
1256 REGB0 = TAG_Int(12);
1257 fra.me.REG[2] = NEW_ReduceAction76_parser___ReduceAction___init(REGB0);
1258 /* ./parser//parser.nit:152 */
1259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1260 /* ./parser//parser.nit:230 */
1261 REGB0 = TAG_Int(12);
1262 fra.me.REG[2] = NEW_ReduceAction77_parser___ReduceAction___init(REGB0);
1263 /* ./parser//parser.nit:152 */
1264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1265 /* ./parser//parser.nit:231 */
1266 REGB0 = TAG_Int(12);
1267 fra.me.REG[2] = NEW_ReduceAction78_parser___ReduceAction___init(REGB0);
1268 /* ./parser//parser.nit:152 */
1269 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1270 /* ./parser//parser.nit:232 */
1271 REGB0 = TAG_Int(12);
1272 fra.me.REG[2] = NEW_ReduceAction79_parser___ReduceAction___init(REGB0);
1273 /* ./parser//parser.nit:152 */
1274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1275 /* ./parser//parser.nit:233 */
1276 REGB0 = TAG_Int(12);
1277 fra.me.REG[2] = NEW_ReduceAction80_parser___ReduceAction___init(REGB0);
1278 /* ./parser//parser.nit:152 */
1279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1280 /* ./parser//parser.nit:234 */
1281 REGB0 = TAG_Int(12);
1282 fra.me.REG[2] = NEW_ReduceAction81_parser___ReduceAction___init(REGB0);
1283 /* ./parser//parser.nit:152 */
1284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1285 /* ./parser//parser.nit:235 */
1286 REGB0 = TAG_Int(12);
1287 fra.me.REG[2] = NEW_ReduceAction82_parser___ReduceAction___init(REGB0);
1288 /* ./parser//parser.nit:152 */
1289 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1290 /* ./parser//parser.nit:236 */
1291 REGB0 = TAG_Int(12);
1292 fra.me.REG[2] = NEW_ReduceAction83_parser___ReduceAction___init(REGB0);
1293 /* ./parser//parser.nit:152 */
1294 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1295 /* ./parser//parser.nit:237 */
1296 REGB0 = TAG_Int(12);
1297 fra.me.REG[2] = NEW_ReduceAction84_parser___ReduceAction___init(REGB0);
1298 /* ./parser//parser.nit:152 */
1299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1300 /* ./parser//parser.nit:238 */
1301 REGB0 = TAG_Int(12);
1302 fra.me.REG[2] = NEW_ReduceAction85_parser___ReduceAction___init(REGB0);
1303 /* ./parser//parser.nit:152 */
1304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1305 /* ./parser//parser.nit:239 */
1306 REGB0 = TAG_Int(12);
1307 fra.me.REG[2] = NEW_ReduceAction86_parser___ReduceAction___init(REGB0);
1308 /* ./parser//parser.nit:152 */
1309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1310 /* ./parser//parser.nit:240 */
1311 REGB0 = TAG_Int(12);
1312 fra.me.REG[2] = NEW_ReduceAction87_parser___ReduceAction___init(REGB0);
1313 /* ./parser//parser.nit:152 */
1314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1315 /* ./parser//parser.nit:241 */
1316 REGB0 = TAG_Int(12);
1317 fra.me.REG[2] = NEW_ReduceAction88_parser___ReduceAction___init(REGB0);
1318 /* ./parser//parser.nit:152 */
1319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1320 /* ./parser//parser.nit:242 */
1321 REGB0 = TAG_Int(12);
1322 fra.me.REG[2] = NEW_ReduceAction89_parser___ReduceAction___init(REGB0);
1323 /* ./parser//parser.nit:152 */
1324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1325 /* ./parser//parser.nit:243 */
1326 REGB0 = TAG_Int(12);
1327 fra.me.REG[2] = NEW_ReduceAction90_parser___ReduceAction___init(REGB0);
1328 /* ./parser//parser.nit:152 */
1329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1330 /* ./parser//parser.nit:244 */
1331 REGB0 = TAG_Int(12);
1332 fra.me.REG[2] = NEW_ReduceAction91_parser___ReduceAction___init(REGB0);
1333 /* ./parser//parser.nit:152 */
1334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1335 /* ./parser//parser.nit:245 */
1336 REGB0 = TAG_Int(12);
1337 fra.me.REG[2] = NEW_ReduceAction92_parser___ReduceAction___init(REGB0);
1338 /* ./parser//parser.nit:152 */
1339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1340 /* ./parser//parser.nit:246 */
1341 REGB0 = TAG_Int(12);
1342 fra.me.REG[2] = NEW_ReduceAction93_parser___ReduceAction___init(REGB0);
1343 /* ./parser//parser.nit:152 */
1344 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1345 /* ./parser//parser.nit:247 */
1346 REGB0 = TAG_Int(12);
1347 fra.me.REG[2] = NEW_ReduceAction94_parser___ReduceAction___init(REGB0);
1348 /* ./parser//parser.nit:152 */
1349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1350 /* ./parser//parser.nit:248 */
1351 REGB0 = TAG_Int(12);
1352 fra.me.REG[2] = NEW_ReduceAction95_parser___ReduceAction___init(REGB0);
1353 /* ./parser//parser.nit:152 */
1354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1355 /* ./parser//parser.nit:249 */
1356 REGB0 = TAG_Int(12);
1357 fra.me.REG[2] = NEW_ReduceAction96_parser___ReduceAction___init(REGB0);
1358 /* ./parser//parser.nit:152 */
1359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1360 /* ./parser//parser.nit:250 */
1361 REGB0 = TAG_Int(12);
1362 fra.me.REG[2] = NEW_ReduceAction97_parser___ReduceAction___init(REGB0);
1363 /* ./parser//parser.nit:152 */
1364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1365 /* ./parser//parser.nit:251 */
1366 REGB0 = TAG_Int(12);
1367 fra.me.REG[2] = NEW_ReduceAction98_parser___ReduceAction___init(REGB0);
1368 /* ./parser//parser.nit:152 */
1369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1370 /* ./parser//parser.nit:252 */
1371 REGB0 = TAG_Int(12);
1372 fra.me.REG[2] = NEW_ReduceAction99_parser___ReduceAction___init(REGB0);
1373 /* ./parser//parser.nit:152 */
1374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1375 /* ./parser//parser.nit:253 */
1376 REGB0 = TAG_Int(12);
1377 fra.me.REG[2] = NEW_ReduceAction100_parser___ReduceAction___init(REGB0);
1378 /* ./parser//parser.nit:152 */
1379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1380 /* ./parser//parser.nit:254 */
1381 REGB0 = TAG_Int(12);
1382 fra.me.REG[2] = NEW_ReduceAction101_parser___ReduceAction___init(REGB0);
1383 /* ./parser//parser.nit:152 */
1384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1385 /* ./parser//parser.nit:255 */
1386 REGB0 = TAG_Int(12);
1387 fra.me.REG[2] = NEW_ReduceAction102_parser___ReduceAction___init(REGB0);
1388 /* ./parser//parser.nit:152 */
1389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1390 /* ./parser//parser.nit:256 */
1391 REGB0 = TAG_Int(12);
1392 fra.me.REG[2] = NEW_ReduceAction103_parser___ReduceAction___init(REGB0);
1393 /* ./parser//parser.nit:152 */
1394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1395 /* ./parser//parser.nit:257 */
1396 REGB0 = TAG_Int(12);
1397 fra.me.REG[2] = NEW_ReduceAction104_parser___ReduceAction___init(REGB0);
1398 /* ./parser//parser.nit:152 */
1399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1400 /* ./parser//parser.nit:258 */
1401 REGB0 = TAG_Int(12);
1402 fra.me.REG[2] = NEW_ReduceAction105_parser___ReduceAction___init(REGB0);
1403 /* ./parser//parser.nit:152 */
1404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1405 /* ./parser//parser.nit:259 */
1406 REGB0 = TAG_Int(12);
1407 fra.me.REG[2] = NEW_ReduceAction106_parser___ReduceAction___init(REGB0);
1408 /* ./parser//parser.nit:152 */
1409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1410 /* ./parser//parser.nit:260 */
1411 REGB0 = TAG_Int(12);
1412 fra.me.REG[2] = NEW_ReduceAction107_parser___ReduceAction___init(REGB0);
1413 /* ./parser//parser.nit:152 */
1414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1415 /* ./parser//parser.nit:261 */
1416 REGB0 = TAG_Int(12);
1417 fra.me.REG[2] = NEW_ReduceAction108_parser___ReduceAction___init(REGB0);
1418 /* ./parser//parser.nit:152 */
1419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1420 /* ./parser//parser.nit:262 */
1421 REGB0 = TAG_Int(12);
1422 fra.me.REG[2] = NEW_ReduceAction109_parser___ReduceAction___init(REGB0);
1423 /* ./parser//parser.nit:152 */
1424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1425 /* ./parser//parser.nit:263 */
1426 REGB0 = TAG_Int(12);
1427 fra.me.REG[2] = NEW_ReduceAction110_parser___ReduceAction___init(REGB0);
1428 /* ./parser//parser.nit:152 */
1429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1430 /* ./parser//parser.nit:264 */
1431 REGB0 = TAG_Int(12);
1432 fra.me.REG[2] = NEW_ReduceAction111_parser___ReduceAction___init(REGB0);
1433 /* ./parser//parser.nit:152 */
1434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1435 /* ./parser//parser.nit:265 */
1436 REGB0 = TAG_Int(12);
1437 fra.me.REG[2] = NEW_ReduceAction112_parser___ReduceAction___init(REGB0);
1438 /* ./parser//parser.nit:152 */
1439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1440 /* ./parser//parser.nit:266 */
1441 REGB0 = TAG_Int(12);
1442 fra.me.REG[2] = NEW_ReduceAction113_parser___ReduceAction___init(REGB0);
1443 /* ./parser//parser.nit:152 */
1444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1445 /* ./parser//parser.nit:267 */
1446 REGB0 = TAG_Int(12);
1447 fra.me.REG[2] = NEW_ReduceAction114_parser___ReduceAction___init(REGB0);
1448 /* ./parser//parser.nit:152 */
1449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1450 /* ./parser//parser.nit:268 */
1451 REGB0 = TAG_Int(12);
1452 fra.me.REG[2] = NEW_ReduceAction115_parser___ReduceAction___init(REGB0);
1453 /* ./parser//parser.nit:152 */
1454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1455 /* ./parser//parser.nit:269 */
1456 REGB0 = TAG_Int(12);
1457 fra.me.REG[2] = NEW_ReduceAction116_parser___ReduceAction___init(REGB0);
1458 /* ./parser//parser.nit:152 */
1459 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1460 /* ./parser//parser.nit:270 */
1461 REGB0 = TAG_Int(12);
1462 fra.me.REG[2] = NEW_ReduceAction117_parser___ReduceAction___init(REGB0);
1463 /* ./parser//parser.nit:152 */
1464 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1465 /* ./parser//parser.nit:271 */
1466 REGB0 = TAG_Int(12);
1467 fra.me.REG[2] = NEW_ReduceAction118_parser___ReduceAction___init(REGB0);
1468 /* ./parser//parser.nit:152 */
1469 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1470 /* ./parser//parser.nit:272 */
1471 REGB0 = TAG_Int(12);
1472 fra.me.REG[2] = NEW_ReduceAction119_parser___ReduceAction___init(REGB0);
1473 /* ./parser//parser.nit:152 */
1474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1475 /* ./parser//parser.nit:273 */
1476 REGB0 = TAG_Int(12);
1477 fra.me.REG[2] = NEW_ReduceAction120_parser___ReduceAction___init(REGB0);
1478 /* ./parser//parser.nit:152 */
1479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1480 /* ./parser//parser.nit:274 */
1481 REGB0 = TAG_Int(12);
1482 fra.me.REG[2] = NEW_ReduceAction121_parser___ReduceAction___init(REGB0);
1483 /* ./parser//parser.nit:152 */
1484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1485 /* ./parser//parser.nit:275 */
1486 REGB0 = TAG_Int(12);
1487 fra.me.REG[2] = NEW_ReduceAction122_parser___ReduceAction___init(REGB0);
1488 /* ./parser//parser.nit:152 */
1489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1490 /* ./parser//parser.nit:276 */
1491 REGB0 = TAG_Int(12);
1492 fra.me.REG[2] = NEW_ReduceAction123_parser___ReduceAction___init(REGB0);
1493 /* ./parser//parser.nit:152 */
1494 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1495 /* ./parser//parser.nit:277 */
1496 REGB0 = TAG_Int(12);
1497 fra.me.REG[2] = NEW_ReduceAction124_parser___ReduceAction___init(REGB0);
1498 /* ./parser//parser.nit:152 */
1499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1500 /* ./parser//parser.nit:278 */
1501 REGB0 = TAG_Int(12);
1502 fra.me.REG[2] = NEW_ReduceAction125_parser___ReduceAction___init(REGB0);
1503 /* ./parser//parser.nit:152 */
1504 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1505 /* ./parser//parser.nit:279 */
1506 REGB0 = TAG_Int(12);
1507 fra.me.REG[2] = NEW_ReduceAction126_parser___ReduceAction___init(REGB0);
1508 /* ./parser//parser.nit:152 */
1509 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1510 /* ./parser//parser.nit:280 */
1511 REGB0 = TAG_Int(12);
1512 fra.me.REG[2] = NEW_ReduceAction127_parser___ReduceAction___init(REGB0);
1513 /* ./parser//parser.nit:152 */
1514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1515 /* ./parser//parser.nit:281 */
1516 REGB0 = TAG_Int(12);
1517 fra.me.REG[2] = NEW_ReduceAction128_parser___ReduceAction___init(REGB0);
1518 /* ./parser//parser.nit:152 */
1519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1520 /* ./parser//parser.nit:282 */
1521 REGB0 = TAG_Int(12);
1522 fra.me.REG[2] = NEW_ReduceAction129_parser___ReduceAction___init(REGB0);
1523 /* ./parser//parser.nit:152 */
1524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1525 /* ./parser//parser.nit:283 */
1526 REGB0 = TAG_Int(12);
1527 fra.me.REG[2] = NEW_ReduceAction130_parser___ReduceAction___init(REGB0);
1528 /* ./parser//parser.nit:152 */
1529 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1530 /* ./parser//parser.nit:284 */
1531 REGB0 = TAG_Int(12);
1532 fra.me.REG[2] = NEW_ReduceAction131_parser___ReduceAction___init(REGB0);
1533 /* ./parser//parser.nit:152 */
1534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1535 /* ./parser//parser.nit:285 */
1536 REGB0 = TAG_Int(12);
1537 fra.me.REG[2] = NEW_ReduceAction132_parser___ReduceAction___init(REGB0);
1538 /* ./parser//parser.nit:152 */
1539 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1540 /* ./parser//parser.nit:286 */
1541 REGB0 = TAG_Int(12);
1542 fra.me.REG[2] = NEW_ReduceAction133_parser___ReduceAction___init(REGB0);
1543 /* ./parser//parser.nit:152 */
1544 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1545 /* ./parser//parser.nit:287 */
1546 REGB0 = TAG_Int(12);
1547 fra.me.REG[2] = NEW_ReduceAction134_parser___ReduceAction___init(REGB0);
1548 /* ./parser//parser.nit:152 */
1549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1550 /* ./parser//parser.nit:288 */
1551 REGB0 = TAG_Int(12);
1552 fra.me.REG[2] = NEW_ReduceAction135_parser___ReduceAction___init(REGB0);
1553 /* ./parser//parser.nit:152 */
1554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1555 /* ./parser//parser.nit:289 */
1556 REGB0 = TAG_Int(12);
1557 fra.me.REG[2] = NEW_ReduceAction136_parser___ReduceAction___init(REGB0);
1558 /* ./parser//parser.nit:152 */
1559 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1560 /* ./parser//parser.nit:290 */
1561 REGB0 = TAG_Int(12);
1562 fra.me.REG[2] = NEW_ReduceAction137_parser___ReduceAction___init(REGB0);
1563 /* ./parser//parser.nit:152 */
1564 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1565 /* ./parser//parser.nit:291 */
1566 REGB0 = TAG_Int(12);
1567 fra.me.REG[2] = NEW_ReduceAction138_parser___ReduceAction___init(REGB0);
1568 /* ./parser//parser.nit:152 */
1569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1570 /* ./parser//parser.nit:292 */
1571 REGB0 = TAG_Int(13);
1572 fra.me.REG[2] = NEW_ReduceAction139_parser___ReduceAction___init(REGB0);
1573 /* ./parser//parser.nit:152 */
1574 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1575 /* ./parser//parser.nit:293 */
1576 REGB0 = TAG_Int(13);
1577 fra.me.REG[2] = NEW_ReduceAction140_parser___ReduceAction___init(REGB0);
1578 /* ./parser//parser.nit:152 */
1579 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1580 /* ./parser//parser.nit:294 */
1581 REGB0 = TAG_Int(14);
1582 fra.me.REG[2] = NEW_ReduceAction141_parser___ReduceAction___init(REGB0);
1583 /* ./parser//parser.nit:152 */
1584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1585 /* ./parser//parser.nit:295 */
1586 REGB0 = TAG_Int(14);
1587 fra.me.REG[2] = NEW_ReduceAction142_parser___ReduceAction___init(REGB0);
1588 /* ./parser//parser.nit:152 */
1589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1590 /* ./parser//parser.nit:296 */
1591 REGB0 = TAG_Int(15);
1592 fra.me.REG[2] = NEW_ReduceAction143_parser___ReduceAction___init(REGB0);
1593 /* ./parser//parser.nit:152 */
1594 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1595 /* ./parser//parser.nit:297 */
1596 REGB0 = TAG_Int(15);
1597 fra.me.REG[2] = NEW_ReduceAction144_parser___ReduceAction___init(REGB0);
1598 /* ./parser//parser.nit:152 */
1599 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1600 /* ./parser//parser.nit:298 */
1601 REGB0 = TAG_Int(16);
1602 fra.me.REG[2] = NEW_ReduceAction145_parser___ReduceAction___init(REGB0);
1603 /* ./parser//parser.nit:152 */
1604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1605 /* ./parser//parser.nit:299 */
1606 REGB0 = TAG_Int(16);
1607 fra.me.REG[2] = NEW_ReduceAction146_parser___ReduceAction___init(REGB0);
1608 /* ./parser//parser.nit:152 */
1609 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1610 /* ./parser//parser.nit:300 */
1611 REGB0 = TAG_Int(16);
1612 fra.me.REG[2] = NEW_ReduceAction147_parser___ReduceAction___init(REGB0);
1613 /* ./parser//parser.nit:152 */
1614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1615 /* ./parser//parser.nit:301 */
1616 REGB0 = TAG_Int(16);
1617 fra.me.REG[2] = NEW_ReduceAction148_parser___ReduceAction___init(REGB0);
1618 /* ./parser//parser.nit:152 */
1619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1620 /* ./parser//parser.nit:302 */
1621 REGB0 = TAG_Int(17);
1622 fra.me.REG[2] = NEW_ReduceAction149_parser___ReduceAction___init(REGB0);
1623 /* ./parser//parser.nit:152 */
1624 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1625 /* ./parser//parser.nit:303 */
1626 REGB0 = TAG_Int(17);
1627 fra.me.REG[2] = NEW_ReduceAction150_parser___ReduceAction___init(REGB0);
1628 /* ./parser//parser.nit:152 */
1629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1630 /* ./parser//parser.nit:304 */
1631 REGB0 = TAG_Int(17);
1632 fra.me.REG[2] = NEW_ReduceAction151_parser___ReduceAction___init(REGB0);
1633 /* ./parser//parser.nit:152 */
1634 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1635 /* ./parser//parser.nit:305 */
1636 REGB0 = TAG_Int(17);
1637 fra.me.REG[2] = NEW_ReduceAction152_parser___ReduceAction___init(REGB0);
1638 /* ./parser//parser.nit:152 */
1639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1640 /* ./parser//parser.nit:306 */
1641 REGB0 = TAG_Int(17);
1642 fra.me.REG[2] = NEW_ReduceAction153_parser___ReduceAction___init(REGB0);
1643 /* ./parser//parser.nit:152 */
1644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1645 /* ./parser//parser.nit:307 */
1646 REGB0 = TAG_Int(17);
1647 fra.me.REG[2] = NEW_ReduceAction154_parser___ReduceAction___init(REGB0);
1648 /* ./parser//parser.nit:152 */
1649 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1650 /* ./parser//parser.nit:308 */
1651 REGB0 = TAG_Int(17);
1652 fra.me.REG[2] = NEW_ReduceAction155_parser___ReduceAction___init(REGB0);
1653 /* ./parser//parser.nit:152 */
1654 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1655 /* ./parser//parser.nit:309 */
1656 REGB0 = TAG_Int(17);
1657 fra.me.REG[2] = NEW_ReduceAction156_parser___ReduceAction___init(REGB0);
1658 /* ./parser//parser.nit:152 */
1659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1660 /* ./parser//parser.nit:310 */
1661 REGB0 = TAG_Int(17);
1662 fra.me.REG[2] = NEW_ReduceAction157_parser___ReduceAction___init(REGB0);
1663 /* ./parser//parser.nit:152 */
1664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1665 /* ./parser//parser.nit:311 */
1666 REGB0 = TAG_Int(17);
1667 fra.me.REG[2] = NEW_ReduceAction158_parser___ReduceAction___init(REGB0);
1668 /* ./parser//parser.nit:152 */
1669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1670 /* ./parser//parser.nit:312 */
1671 REGB0 = TAG_Int(17);
1672 fra.me.REG[2] = NEW_ReduceAction159_parser___ReduceAction___init(REGB0);
1673 /* ./parser//parser.nit:152 */
1674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1675 /* ./parser//parser.nit:313 */
1676 REGB0 = TAG_Int(17);
1677 fra.me.REG[2] = NEW_ReduceAction160_parser___ReduceAction___init(REGB0);
1678 /* ./parser//parser.nit:152 */
1679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1680 /* ./parser//parser.nit:314 */
1681 REGB0 = TAG_Int(17);
1682 fra.me.REG[2] = NEW_ReduceAction161_parser___ReduceAction___init(REGB0);
1683 /* ./parser//parser.nit:152 */
1684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1685 /* ./parser//parser.nit:315 */
1686 REGB0 = TAG_Int(17);
1687 fra.me.REG[2] = NEW_ReduceAction162_parser___ReduceAction___init(REGB0);
1688 /* ./parser//parser.nit:152 */
1689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1690 /* ./parser//parser.nit:316 */
1691 REGB0 = TAG_Int(17);
1692 fra.me.REG[2] = NEW_ReduceAction163_parser___ReduceAction___init(REGB0);
1693 /* ./parser//parser.nit:152 */
1694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1695 /* ./parser//parser.nit:317 */
1696 REGB0 = TAG_Int(17);
1697 fra.me.REG[2] = NEW_ReduceAction164_parser___ReduceAction___init(REGB0);
1698 /* ./parser//parser.nit:152 */
1699 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1700 /* ./parser//parser.nit:318 */
1701 REGB0 = TAG_Int(17);
1702 fra.me.REG[2] = NEW_ReduceAction165_parser___ReduceAction___init(REGB0);
1703 /* ./parser//parser.nit:152 */
1704 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1705 /* ./parser//parser.nit:319 */
1706 REGB0 = TAG_Int(17);
1707 fra.me.REG[2] = NEW_ReduceAction166_parser___ReduceAction___init(REGB0);
1708 /* ./parser//parser.nit:152 */
1709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1710 /* ./parser//parser.nit:320 */
1711 REGB0 = TAG_Int(18);
1712 fra.me.REG[2] = NEW_ReduceAction167_parser___ReduceAction___init(REGB0);
1713 /* ./parser//parser.nit:152 */
1714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1715 /* ./parser//parser.nit:321 */
1716 REGB0 = TAG_Int(18);
1717 fra.me.REG[2] = NEW_ReduceAction168_parser___ReduceAction___init(REGB0);
1718 /* ./parser//parser.nit:152 */
1719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1720 /* ./parser//parser.nit:322 */
1721 REGB0 = TAG_Int(18);
1722 fra.me.REG[2] = NEW_ReduceAction169_parser___ReduceAction___init(REGB0);
1723 /* ./parser//parser.nit:152 */
1724 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1725 /* ./parser//parser.nit:323 */
1726 REGB0 = TAG_Int(18);
1727 fra.me.REG[2] = NEW_ReduceAction170_parser___ReduceAction___init(REGB0);
1728 /* ./parser//parser.nit:152 */
1729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1730 /* ./parser//parser.nit:324 */
1731 REGB0 = TAG_Int(18);
1732 fra.me.REG[2] = NEW_ReduceAction171_parser___ReduceAction___init(REGB0);
1733 /* ./parser//parser.nit:152 */
1734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1735 /* ./parser//parser.nit:325 */
1736 REGB0 = TAG_Int(18);
1737 fra.me.REG[2] = NEW_ReduceAction172_parser___ReduceAction___init(REGB0);
1738 /* ./parser//parser.nit:152 */
1739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1740 /* ./parser//parser.nit:326 */
1741 REGB0 = TAG_Int(18);
1742 fra.me.REG[2] = NEW_ReduceAction173_parser___ReduceAction___init(REGB0);
1743 /* ./parser//parser.nit:152 */
1744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1745 /* ./parser//parser.nit:327 */
1746 REGB0 = TAG_Int(18);
1747 fra.me.REG[2] = NEW_ReduceAction174_parser___ReduceAction___init(REGB0);
1748 /* ./parser//parser.nit:152 */
1749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1750 /* ./parser//parser.nit:328 */
1751 REGB0 = TAG_Int(19);
1752 fra.me.REG[2] = NEW_ReduceAction175_parser___ReduceAction___init(REGB0);
1753 /* ./parser//parser.nit:152 */
1754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1755 /* ./parser//parser.nit:329 */
1756 REGB0 = TAG_Int(19);
1757 fra.me.REG[2] = NEW_ReduceAction176_parser___ReduceAction___init(REGB0);
1758 /* ./parser//parser.nit:152 */
1759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1760 /* ./parser//parser.nit:330 */
1761 REGB0 = TAG_Int(19);
1762 fra.me.REG[2] = NEW_ReduceAction177_parser___ReduceAction___init(REGB0);
1763 /* ./parser//parser.nit:152 */
1764 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1765 /* ./parser//parser.nit:331 */
1766 REGB0 = TAG_Int(19);
1767 fra.me.REG[2] = NEW_ReduceAction178_parser___ReduceAction___init(REGB0);
1768 /* ./parser//parser.nit:152 */
1769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1770 /* ./parser//parser.nit:332 */
1771 REGB0 = TAG_Int(20);
1772 fra.me.REG[2] = NEW_ReduceAction179_parser___ReduceAction___init(REGB0);
1773 /* ./parser//parser.nit:152 */
1774 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1775 /* ./parser//parser.nit:333 */
1776 REGB0 = TAG_Int(20);
1777 fra.me.REG[2] = NEW_ReduceAction180_parser___ReduceAction___init(REGB0);
1778 /* ./parser//parser.nit:152 */
1779 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1780 /* ./parser//parser.nit:334 */
1781 REGB0 = TAG_Int(20);
1782 fra.me.REG[2] = NEW_ReduceAction181_parser___ReduceAction___init(REGB0);
1783 /* ./parser//parser.nit:152 */
1784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1785 /* ./parser//parser.nit:335 */
1786 REGB0 = TAG_Int(21);
1787 fra.me.REG[2] = NEW_ReduceAction182_parser___ReduceAction___init(REGB0);
1788 /* ./parser//parser.nit:152 */
1789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1790 /* ./parser//parser.nit:336 */
1791 REGB0 = TAG_Int(22);
1792 fra.me.REG[2] = NEW_ReduceAction183_parser___ReduceAction___init(REGB0);
1793 /* ./parser//parser.nit:152 */
1794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1795 /* ./parser//parser.nit:337 */
1796 REGB0 = TAG_Int(22);
1797 fra.me.REG[2] = NEW_ReduceAction184_parser___ReduceAction___init(REGB0);
1798 /* ./parser//parser.nit:152 */
1799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1800 /* ./parser//parser.nit:338 */
1801 REGB0 = TAG_Int(22);
1802 fra.me.REG[2] = NEW_ReduceAction185_parser___ReduceAction___init(REGB0);
1803 /* ./parser//parser.nit:152 */
1804 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1805 /* ./parser//parser.nit:339 */
1806 REGB0 = TAG_Int(23);
1807 fra.me.REG[2] = NEW_ReduceAction186_parser___ReduceAction___init(REGB0);
1808 /* ./parser//parser.nit:152 */
1809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1810 /* ./parser//parser.nit:340 */
1811 REGB0 = TAG_Int(24);
1812 fra.me.REG[2] = NEW_ReduceAction187_parser___ReduceAction___init(REGB0);
1813 /* ./parser//parser.nit:152 */
1814 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1815 /* ./parser//parser.nit:341 */
1816 REGB0 = TAG_Int(24);
1817 fra.me.REG[2] = NEW_ReduceAction188_parser___ReduceAction___init(REGB0);
1818 /* ./parser//parser.nit:152 */
1819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1820 /* ./parser//parser.nit:342 */
1821 REGB0 = TAG_Int(24);
1822 fra.me.REG[2] = NEW_ReduceAction189_parser___ReduceAction___init(REGB0);
1823 /* ./parser//parser.nit:152 */
1824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1825 /* ./parser//parser.nit:343 */
1826 REGB0 = TAG_Int(24);
1827 fra.me.REG[2] = NEW_ReduceAction190_parser___ReduceAction___init(REGB0);
1828 /* ./parser//parser.nit:152 */
1829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1830 /* ./parser//parser.nit:344 */
1831 REGB0 = TAG_Int(24);
1832 fra.me.REG[2] = NEW_ReduceAction191_parser___ReduceAction___init(REGB0);
1833 /* ./parser//parser.nit:152 */
1834 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1835 /* ./parser//parser.nit:345 */
1836 REGB0 = TAG_Int(24);
1837 fra.me.REG[2] = NEW_ReduceAction192_parser___ReduceAction___init(REGB0);
1838 /* ./parser//parser.nit:152 */
1839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1840 /* ./parser//parser.nit:346 */
1841 REGB0 = TAG_Int(25);
1842 fra.me.REG[2] = NEW_ReduceAction193_parser___ReduceAction___init(REGB0);
1843 /* ./parser//parser.nit:152 */
1844 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1845 /* ./parser//parser.nit:347 */
1846 REGB0 = TAG_Int(26);
1847 fra.me.REG[2] = NEW_ReduceAction194_parser___ReduceAction___init(REGB0);
1848 /* ./parser//parser.nit:152 */
1849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1850 /* ./parser//parser.nit:348 */
1851 REGB0 = TAG_Int(26);
1852 fra.me.REG[2] = NEW_ReduceAction195_parser___ReduceAction___init(REGB0);
1853 /* ./parser//parser.nit:152 */
1854 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1855 /* ./parser//parser.nit:349 */
1856 REGB0 = TAG_Int(26);
1857 fra.me.REG[2] = NEW_ReduceAction196_parser___ReduceAction___init(REGB0);
1858 /* ./parser//parser.nit:152 */
1859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1860 /* ./parser//parser.nit:350 */
1861 REGB0 = TAG_Int(26);
1862 fra.me.REG[2] = NEW_ReduceAction197_parser___ReduceAction___init(REGB0);
1863 /* ./parser//parser.nit:152 */
1864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1865 /* ./parser//parser.nit:351 */
1866 REGB0 = TAG_Int(27);
1867 fra.me.REG[2] = NEW_ReduceAction198_parser___ReduceAction___init(REGB0);
1868 /* ./parser//parser.nit:152 */
1869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1870 /* ./parser//parser.nit:352 */
1871 REGB0 = TAG_Int(27);
1872 fra.me.REG[2] = NEW_ReduceAction199_parser___ReduceAction___init(REGB0);
1873 /* ./parser//parser.nit:152 */
1874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1875 /* ./parser//parser.nit:353 */
1876 REGB0 = TAG_Int(28);
1877 fra.me.REG[2] = NEW_ReduceAction200_parser___ReduceAction___init(REGB0);
1878 /* ./parser//parser.nit:152 */
1879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1880 /* ./parser//parser.nit:354 */
1881 REGB0 = TAG_Int(29);
1882 fra.me.REG[2] = NEW_ReduceAction200_parser___ReduceAction___init(REGB0);
1883 /* ./parser//parser.nit:152 */
1884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1885 /* ./parser//parser.nit:355 */
1886 REGB0 = TAG_Int(30);
1887 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
1888 /* ./parser//parser.nit:152 */
1889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1890 /* ./parser//parser.nit:356 */
1891 REGB0 = TAG_Int(30);
1892 fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction___init(REGB0);
1893 /* ./parser//parser.nit:152 */
1894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1895 /* ./parser//parser.nit:357 */
1896 REGB0 = TAG_Int(30);
1897 fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction___init(REGB0);
1898 /* ./parser//parser.nit:152 */
1899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1900 /* ./parser//parser.nit:358 */
1901 REGB0 = TAG_Int(30);
1902 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
1903 /* ./parser//parser.nit:152 */
1904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1905 /* ./parser//parser.nit:359 */
1906 REGB0 = TAG_Int(31);
1907 fra.me.REG[2] = NEW_ReduceAction206_parser___ReduceAction___init(REGB0);
1908 /* ./parser//parser.nit:152 */
1909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1910 /* ./parser//parser.nit:360 */
1911 REGB0 = TAG_Int(31);
1912 fra.me.REG[2] = NEW_ReduceAction207_parser___ReduceAction___init(REGB0);
1913 /* ./parser//parser.nit:152 */
1914 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1915 /* ./parser//parser.nit:361 */
1916 REGB0 = TAG_Int(32);
1917 fra.me.REG[2] = NEW_ReduceAction208_parser___ReduceAction___init(REGB0);
1918 /* ./parser//parser.nit:152 */
1919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1920 /* ./parser//parser.nit:362 */
1921 REGB0 = TAG_Int(32);
1922 fra.me.REG[2] = NEW_ReduceAction209_parser___ReduceAction___init(REGB0);
1923 /* ./parser//parser.nit:152 */
1924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1925 /* ./parser//parser.nit:363 */
1926 REGB0 = TAG_Int(33);
1927 fra.me.REG[2] = NEW_ReduceAction210_parser___ReduceAction___init(REGB0);
1928 /* ./parser//parser.nit:152 */
1929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1930 /* ./parser//parser.nit:364 */
1931 REGB0 = TAG_Int(34);
1932 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
1933 /* ./parser//parser.nit:152 */
1934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1935 /* ./parser//parser.nit:365 */
1936 REGB0 = TAG_Int(34);
1937 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
1938 /* ./parser//parser.nit:152 */
1939 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1940 /* ./parser//parser.nit:366 */
1941 REGB0 = TAG_Int(34);
1942 fra.me.REG[2] = NEW_ReduceAction213_parser___ReduceAction___init(REGB0);
1943 /* ./parser//parser.nit:152 */
1944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1945 /* ./parser//parser.nit:367 */
1946 REGB0 = TAG_Int(34);
1947 fra.me.REG[2] = NEW_ReduceAction214_parser___ReduceAction___init(REGB0);
1948 /* ./parser//parser.nit:152 */
1949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1950 /* ./parser//parser.nit:368 */
1951 REGB0 = TAG_Int(34);
1952 fra.me.REG[2] = NEW_ReduceAction215_parser___ReduceAction___init(REGB0);
1953 /* ./parser//parser.nit:152 */
1954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1955 /* ./parser//parser.nit:369 */
1956 REGB0 = TAG_Int(34);
1957 fra.me.REG[2] = NEW_ReduceAction216_parser___ReduceAction___init(REGB0);
1958 /* ./parser//parser.nit:152 */
1959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1960 /* ./parser//parser.nit:370 */
1961 REGB0 = TAG_Int(34);
1962 fra.me.REG[2] = NEW_ReduceAction217_parser___ReduceAction___init(REGB0);
1963 /* ./parser//parser.nit:152 */
1964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1965 /* ./parser//parser.nit:371 */
1966 REGB0 = TAG_Int(34);
1967 fra.me.REG[2] = NEW_ReduceAction218_parser___ReduceAction___init(REGB0);
1968 /* ./parser//parser.nit:152 */
1969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1970 /* ./parser//parser.nit:372 */
1971 REGB0 = TAG_Int(34);
1972 fra.me.REG[2] = NEW_ReduceAction219_parser___ReduceAction___init(REGB0);
1973 /* ./parser//parser.nit:152 */
1974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1975 /* ./parser//parser.nit:373 */
1976 REGB0 = TAG_Int(34);
1977 fra.me.REG[2] = NEW_ReduceAction220_parser___ReduceAction___init(REGB0);
1978 /* ./parser//parser.nit:152 */
1979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1980 /* ./parser//parser.nit:374 */
1981 REGB0 = TAG_Int(34);
1982 fra.me.REG[2] = NEW_ReduceAction221_parser___ReduceAction___init(REGB0);
1983 /* ./parser//parser.nit:152 */
1984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1985 /* ./parser//parser.nit:375 */
1986 REGB0 = TAG_Int(34);
1987 fra.me.REG[2] = NEW_ReduceAction222_parser___ReduceAction___init(REGB0);
1988 /* ./parser//parser.nit:152 */
1989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1990 /* ./parser//parser.nit:376 */
1991 REGB0 = TAG_Int(34);
1992 fra.me.REG[2] = NEW_ReduceAction223_parser___ReduceAction___init(REGB0);
1993 /* ./parser//parser.nit:152 */
1994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1995 /* ./parser//parser.nit:377 */
1996 REGB0 = TAG_Int(34);
1997 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
1998 /* ./parser//parser.nit:152 */
1999 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2000 /* ./parser//parser.nit:378 */
2001 REGB0 = TAG_Int(34);
2002 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2003 /* ./parser//parser.nit:152 */
2004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2005 /* ./parser//parser.nit:379 */
2006 REGB0 = TAG_Int(34);
2007 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2008 /* ./parser//parser.nit:152 */
2009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2010 /* ./parser//parser.nit:380 */
2011 REGB0 = TAG_Int(34);
2012 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2013 /* ./parser//parser.nit:152 */
2014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2015 /* ./parser//parser.nit:381 */
2016 REGB0 = TAG_Int(34);
2017 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2018 /* ./parser//parser.nit:152 */
2019 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2020 /* ./parser//parser.nit:382 */
2021 REGB0 = TAG_Int(34);
2022 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2023 /* ./parser//parser.nit:152 */
2024 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2025 /* ./parser//parser.nit:383 */
2026 REGB0 = TAG_Int(34);
2027 fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction___init(REGB0);
2028 /* ./parser//parser.nit:152 */
2029 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2030 /* ./parser//parser.nit:384 */
2031 REGB0 = TAG_Int(34);
2032 fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction___init(REGB0);
2033 /* ./parser//parser.nit:152 */
2034 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2035 /* ./parser//parser.nit:385 */
2036 REGB0 = TAG_Int(34);
2037 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
2038 /* ./parser//parser.nit:152 */
2039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2040 /* ./parser//parser.nit:386 */
2041 REGB0 = TAG_Int(34);
2042 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
2043 /* ./parser//parser.nit:152 */
2044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2045 /* ./parser//parser.nit:387 */
2046 REGB0 = TAG_Int(34);
2047 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
2048 /* ./parser//parser.nit:152 */
2049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2050 /* ./parser//parser.nit:388 */
2051 REGB0 = TAG_Int(34);
2052 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
2053 /* ./parser//parser.nit:152 */
2054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2055 /* ./parser//parser.nit:389 */
2056 REGB0 = TAG_Int(34);
2057 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
2058 /* ./parser//parser.nit:152 */
2059 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2060 /* ./parser//parser.nit:390 */
2061 REGB0 = TAG_Int(34);
2062 fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction___init(REGB0);
2063 /* ./parser//parser.nit:152 */
2064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2065 /* ./parser//parser.nit:391 */
2066 REGB0 = TAG_Int(35);
2067 fra.me.REG[2] = NEW_ReduceAction238_parser___ReduceAction___init(REGB0);
2068 /* ./parser//parser.nit:152 */
2069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2070 /* ./parser//parser.nit:392 */
2071 REGB0 = TAG_Int(36);
2072 fra.me.REG[2] = NEW_ReduceAction239_parser___ReduceAction___init(REGB0);
2073 /* ./parser//parser.nit:152 */
2074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2075 /* ./parser//parser.nit:393 */
2076 REGB0 = TAG_Int(36);
2077 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
2078 /* ./parser//parser.nit:152 */
2079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2080 /* ./parser//parser.nit:394 */
2081 REGB0 = TAG_Int(37);
2082 fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction___init(REGB0);
2083 /* ./parser//parser.nit:152 */
2084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2085 /* ./parser//parser.nit:395 */
2086 REGB0 = TAG_Int(37);
2087 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
2088 /* ./parser//parser.nit:152 */
2089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2090 /* ./parser//parser.nit:396 */
2091 REGB0 = TAG_Int(37);
2092 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2093 /* ./parser//parser.nit:152 */
2094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2095 /* ./parser//parser.nit:397 */
2096 REGB0 = TAG_Int(37);
2097 fra.me.REG[2] = NEW_ReduceAction244_parser___ReduceAction___init(REGB0);
2098 /* ./parser//parser.nit:152 */
2099 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2100 /* ./parser//parser.nit:398 */
2101 REGB0 = TAG_Int(37);
2102 fra.me.REG[2] = NEW_ReduceAction245_parser___ReduceAction___init(REGB0);
2103 /* ./parser//parser.nit:152 */
2104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2105 /* ./parser//parser.nit:399 */
2106 REGB0 = TAG_Int(37);
2107 fra.me.REG[2] = NEW_ReduceAction246_parser___ReduceAction___init(REGB0);
2108 /* ./parser//parser.nit:152 */
2109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2110 /* ./parser//parser.nit:400 */
2111 REGB0 = TAG_Int(37);
2112 fra.me.REG[2] = NEW_ReduceAction247_parser___ReduceAction___init(REGB0);
2113 /* ./parser//parser.nit:152 */
2114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2115 /* ./parser//parser.nit:401 */
2116 REGB0 = TAG_Int(37);
2117 fra.me.REG[2] = NEW_ReduceAction248_parser___ReduceAction___init(REGB0);
2118 /* ./parser//parser.nit:152 */
2119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2120 /* ./parser//parser.nit:402 */
2121 REGB0 = TAG_Int(37);
2122 fra.me.REG[2] = NEW_ReduceAction249_parser___ReduceAction___init(REGB0);
2123 /* ./parser//parser.nit:152 */
2124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2125 /* ./parser//parser.nit:403 */
2126 REGB0 = TAG_Int(38);
2127 fra.me.REG[2] = NEW_ReduceAction250_parser___ReduceAction___init(REGB0);
2128 /* ./parser//parser.nit:152 */
2129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2130 /* ./parser//parser.nit:404 */
2131 REGB0 = TAG_Int(38);
2132 fra.me.REG[2] = NEW_ReduceAction251_parser___ReduceAction___init(REGB0);
2133 /* ./parser//parser.nit:152 */
2134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2135 /* ./parser//parser.nit:405 */
2136 REGB0 = TAG_Int(38);
2137 fra.me.REG[2] = NEW_ReduceAction252_parser___ReduceAction___init(REGB0);
2138 /* ./parser//parser.nit:152 */
2139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2140 /* ./parser//parser.nit:406 */
2141 REGB0 = TAG_Int(38);
2142 fra.me.REG[2] = NEW_ReduceAction253_parser___ReduceAction___init(REGB0);
2143 /* ./parser//parser.nit:152 */
2144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2145 /* ./parser//parser.nit:407 */
2146 REGB0 = TAG_Int(38);
2147 fra.me.REG[2] = NEW_ReduceAction254_parser___ReduceAction___init(REGB0);
2148 /* ./parser//parser.nit:152 */
2149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2150 /* ./parser//parser.nit:408 */
2151 REGB0 = TAG_Int(38);
2152 fra.me.REG[2] = NEW_ReduceAction255_parser___ReduceAction___init(REGB0);
2153 /* ./parser//parser.nit:152 */
2154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2155 /* ./parser//parser.nit:409 */
2156 REGB0 = TAG_Int(39);
2157 fra.me.REG[2] = NEW_ReduceAction256_parser___ReduceAction___init(REGB0);
2158 /* ./parser//parser.nit:152 */
2159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2160 /* ./parser//parser.nit:410 */
2161 REGB0 = TAG_Int(39);
2162 fra.me.REG[2] = NEW_ReduceAction257_parser___ReduceAction___init(REGB0);
2163 /* ./parser//parser.nit:152 */
2164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2165 /* ./parser//parser.nit:411 */
2166 REGB0 = TAG_Int(40);
2167 fra.me.REG[2] = NEW_ReduceAction258_parser___ReduceAction___init(REGB0);
2168 /* ./parser//parser.nit:152 */
2169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2170 /* ./parser//parser.nit:412 */
2171 REGB0 = TAG_Int(41);
2172 fra.me.REG[2] = NEW_ReduceAction259_parser___ReduceAction___init(REGB0);
2173 /* ./parser//parser.nit:152 */
2174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2175 /* ./parser//parser.nit:413 */
2176 REGB0 = TAG_Int(41);
2177 fra.me.REG[2] = NEW_ReduceAction260_parser___ReduceAction___init(REGB0);
2178 /* ./parser//parser.nit:152 */
2179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2180 /* ./parser//parser.nit:414 */
2181 REGB0 = TAG_Int(41);
2182 fra.me.REG[2] = NEW_ReduceAction261_parser___ReduceAction___init(REGB0);
2183 /* ./parser//parser.nit:152 */
2184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2185 /* ./parser//parser.nit:415 */
2186 REGB0 = TAG_Int(41);
2187 fra.me.REG[2] = NEW_ReduceAction262_parser___ReduceAction___init(REGB0);
2188 /* ./parser//parser.nit:152 */
2189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2190 /* ./parser//parser.nit:416 */
2191 REGB0 = TAG_Int(42);
2192 fra.me.REG[2] = NEW_ReduceAction263_parser___ReduceAction___init(REGB0);
2193 /* ./parser//parser.nit:152 */
2194 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2195 /* ./parser//parser.nit:417 */
2196 REGB0 = TAG_Int(42);
2197 fra.me.REG[2] = NEW_ReduceAction264_parser___ReduceAction___init(REGB0);
2198 /* ./parser//parser.nit:152 */
2199 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2200 /* ./parser//parser.nit:418 */
2201 REGB0 = TAG_Int(42);
2202 fra.me.REG[2] = NEW_ReduceAction265_parser___ReduceAction___init(REGB0);
2203 /* ./parser//parser.nit:152 */
2204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2205 /* ./parser//parser.nit:419 */
2206 REGB0 = TAG_Int(42);
2207 fra.me.REG[2] = NEW_ReduceAction266_parser___ReduceAction___init(REGB0);
2208 /* ./parser//parser.nit:152 */
2209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2210 /* ./parser//parser.nit:420 */
2211 REGB0 = TAG_Int(42);
2212 fra.me.REG[2] = NEW_ReduceAction267_parser___ReduceAction___init(REGB0);
2213 /* ./parser//parser.nit:152 */
2214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2215 /* ./parser//parser.nit:421 */
2216 REGB0 = TAG_Int(42);
2217 fra.me.REG[2] = NEW_ReduceAction268_parser___ReduceAction___init(REGB0);
2218 /* ./parser//parser.nit:152 */
2219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2220 /* ./parser//parser.nit:422 */
2221 REGB0 = TAG_Int(42);
2222 fra.me.REG[2] = NEW_ReduceAction269_parser___ReduceAction___init(REGB0);
2223 /* ./parser//parser.nit:152 */
2224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2225 /* ./parser//parser.nit:423 */
2226 REGB0 = TAG_Int(42);
2227 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
2228 /* ./parser//parser.nit:152 */
2229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2230 /* ./parser//parser.nit:424 */
2231 REGB0 = TAG_Int(42);
2232 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
2233 /* ./parser//parser.nit:152 */
2234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2235 /* ./parser//parser.nit:425 */
2236 REGB0 = TAG_Int(42);
2237 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
2238 /* ./parser//parser.nit:152 */
2239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2240 /* ./parser//parser.nit:426 */
2241 REGB0 = TAG_Int(43);
2242 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
2243 /* ./parser//parser.nit:152 */
2244 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2245 /* ./parser//parser.nit:427 */
2246 REGB0 = TAG_Int(43);
2247 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
2248 /* ./parser//parser.nit:152 */
2249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2250 /* ./parser//parser.nit:428 */
2251 REGB0 = TAG_Int(44);
2252 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
2253 /* ./parser//parser.nit:152 */
2254 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2255 /* ./parser//parser.nit:429 */
2256 REGB0 = TAG_Int(44);
2257 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
2258 /* ./parser//parser.nit:152 */
2259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2260 /* ./parser//parser.nit:430 */
2261 REGB0 = TAG_Int(45);
2262 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
2263 /* ./parser//parser.nit:152 */
2264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2265 /* ./parser//parser.nit:431 */
2266 REGB0 = TAG_Int(45);
2267 fra.me.REG[2] = NEW_ReduceAction278_parser___ReduceAction___init(REGB0);
2268 /* ./parser//parser.nit:152 */
2269 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2270 /* ./parser//parser.nit:432 */
2271 REGB0 = TAG_Int(45);
2272 fra.me.REG[2] = NEW_ReduceAction279_parser___ReduceAction___init(REGB0);
2273 /* ./parser//parser.nit:152 */
2274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2275 /* ./parser//parser.nit:433 */
2276 REGB0 = TAG_Int(45);
2277 fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction___init(REGB0);
2278 /* ./parser//parser.nit:152 */
2279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2280 /* ./parser//parser.nit:434 */
2281 REGB0 = TAG_Int(45);
2282 fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction___init(REGB0);
2283 /* ./parser//parser.nit:152 */
2284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2285 /* ./parser//parser.nit:435 */
2286 REGB0 = TAG_Int(46);
2287 fra.me.REG[2] = NEW_ReduceAction210_parser___ReduceAction___init(REGB0);
2288 /* ./parser//parser.nit:152 */
2289 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2290 /* ./parser//parser.nit:436 */
2291 REGB0 = TAG_Int(46);
2292 fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction___init(REGB0);
2293 /* ./parser//parser.nit:152 */
2294 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2295 /* ./parser//parser.nit:437 */
2296 REGB0 = TAG_Int(47);
2297 fra.me.REG[2] = NEW_ReduceAction284_parser___ReduceAction___init(REGB0);
2298 /* ./parser//parser.nit:152 */
2299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2300 /* ./parser//parser.nit:438 */
2301 REGB0 = TAG_Int(47);
2302 fra.me.REG[2] = NEW_ReduceAction285_parser___ReduceAction___init(REGB0);
2303 /* ./parser//parser.nit:152 */
2304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2305 /* ./parser//parser.nit:439 */
2306 REGB0 = TAG_Int(48);
2307 fra.me.REG[2] = NEW_ReduceAction286_parser___ReduceAction___init(REGB0);
2308 /* ./parser//parser.nit:152 */
2309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2310 /* ./parser//parser.nit:440 */
2311 REGB0 = TAG_Int(48);
2312 fra.me.REG[2] = NEW_ReduceAction287_parser___ReduceAction___init(REGB0);
2313 /* ./parser//parser.nit:152 */
2314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2315 /* ./parser//parser.nit:441 */
2316 REGB0 = TAG_Int(49);
2317 fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction___init(REGB0);
2318 /* ./parser//parser.nit:152 */
2319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2320 /* ./parser//parser.nit:442 */
2321 REGB0 = TAG_Int(49);
2322 fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction___init(REGB0);
2323 /* ./parser//parser.nit:152 */
2324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2325 /* ./parser//parser.nit:443 */
2326 REGB0 = TAG_Int(49);
2327 fra.me.REG[2] = NEW_ReduceAction290_parser___ReduceAction___init(REGB0);
2328 /* ./parser//parser.nit:152 */
2329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2330 /* ./parser//parser.nit:444 */
2331 REGB0 = TAG_Int(49);
2332 fra.me.REG[2] = NEW_ReduceAction291_parser___ReduceAction___init(REGB0);
2333 /* ./parser//parser.nit:152 */
2334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2335 /* ./parser//parser.nit:445 */
2336 REGB0 = TAG_Int(50);
2337 fra.me.REG[2] = NEW_ReduceAction292_parser___ReduceAction___init(REGB0);
2338 /* ./parser//parser.nit:152 */
2339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2340 /* ./parser//parser.nit:446 */
2341 REGB0 = TAG_Int(50);
2342 fra.me.REG[2] = NEW_ReduceAction293_parser___ReduceAction___init(REGB0);
2343 /* ./parser//parser.nit:152 */
2344 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2345 /* ./parser//parser.nit:447 */
2346 REGB0 = TAG_Int(50);
2347 fra.me.REG[2] = NEW_ReduceAction294_parser___ReduceAction___init(REGB0);
2348 /* ./parser//parser.nit:152 */
2349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2350 /* ./parser//parser.nit:448 */
2351 REGB0 = TAG_Int(50);
2352 fra.me.REG[2] = NEW_ReduceAction295_parser___ReduceAction___init(REGB0);
2353 /* ./parser//parser.nit:152 */
2354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2355 /* ./parser//parser.nit:449 */
2356 REGB0 = TAG_Int(51);
2357 fra.me.REG[2] = NEW_ReduceAction296_parser___ReduceAction___init(REGB0);
2358 /* ./parser//parser.nit:152 */
2359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2360 /* ./parser//parser.nit:450 */
2361 REGB0 = TAG_Int(52);
2362 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2363 /* ./parser//parser.nit:152 */
2364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2365 /* ./parser//parser.nit:451 */
2366 REGB0 = TAG_Int(52);
2367 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
2368 /* ./parser//parser.nit:152 */
2369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2370 /* ./parser//parser.nit:452 */
2371 REGB0 = TAG_Int(52);
2372 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
2373 /* ./parser//parser.nit:152 */
2374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2375 /* ./parser//parser.nit:453 */
2376 REGB0 = TAG_Int(52);
2377 fra.me.REG[2] = NEW_ReduceAction300_parser___ReduceAction___init(REGB0);
2378 /* ./parser//parser.nit:152 */
2379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2380 /* ./parser//parser.nit:454 */
2381 REGB0 = TAG_Int(53);
2382 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2383 /* ./parser//parser.nit:152 */
2384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2385 /* ./parser//parser.nit:455 */
2386 REGB0 = TAG_Int(53);
2387 fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction___init(REGB0);
2388 /* ./parser//parser.nit:152 */
2389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2390 /* ./parser//parser.nit:456 */
2391 REGB0 = TAG_Int(54);
2392 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2393 /* ./parser//parser.nit:152 */
2394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2395 /* ./parser//parser.nit:457 */
2396 REGB0 = TAG_Int(54);
2397 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
2398 /* ./parser//parser.nit:152 */
2399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2400 /* ./parser//parser.nit:458 */
2401 REGB0 = TAG_Int(54);
2402 fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction___init(REGB0);
2403 /* ./parser//parser.nit:152 */
2404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2405 /* ./parser//parser.nit:459 */
2406 REGB0 = TAG_Int(54);
2407 fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction___init(REGB0);
2408 /* ./parser//parser.nit:152 */
2409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2410 /* ./parser//parser.nit:460 */
2411 REGB0 = TAG_Int(55);
2412 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2413 /* ./parser//parser.nit:152 */
2414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2415 /* ./parser//parser.nit:461 */
2416 REGB0 = TAG_Int(55);
2417 fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction___init(REGB0);
2418 /* ./parser//parser.nit:152 */
2419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2420 /* ./parser//parser.nit:462 */
2421 REGB0 = TAG_Int(56);
2422 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2423 /* ./parser//parser.nit:152 */
2424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2425 /* ./parser//parser.nit:463 */
2426 REGB0 = TAG_Int(56);
2427 fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction___init(REGB0);
2428 /* ./parser//parser.nit:152 */
2429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2430 /* ./parser//parser.nit:464 */
2431 REGB0 = TAG_Int(56);
2432 fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction___init(REGB0);
2433 /* ./parser//parser.nit:152 */
2434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2435 /* ./parser//parser.nit:465 */
2436 REGB0 = TAG_Int(56);
2437 fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction___init(REGB0);
2438 /* ./parser//parser.nit:152 */
2439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2440 /* ./parser//parser.nit:466 */
2441 REGB0 = TAG_Int(56);
2442 fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction___init(REGB0);
2443 /* ./parser//parser.nit:152 */
2444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2445 /* ./parser//parser.nit:467 */
2446 REGB0 = TAG_Int(56);
2447 fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction___init(REGB0);
2448 /* ./parser//parser.nit:152 */
2449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2450 /* ./parser//parser.nit:468 */
2451 REGB0 = TAG_Int(56);
2452 fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
2453 /* ./parser//parser.nit:152 */
2454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2455 /* ./parser//parser.nit:469 */
2456 REGB0 = TAG_Int(56);
2457 fra.me.REG[2] = NEW_ReduceAction316_parser___ReduceAction___init(REGB0);
2458 /* ./parser//parser.nit:152 */
2459 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2460 /* ./parser//parser.nit:470 */
2461 REGB0 = TAG_Int(56);
2462 fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction___init(REGB0);
2463 /* ./parser//parser.nit:152 */
2464 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2465 /* ./parser//parser.nit:471 */
2466 REGB0 = TAG_Int(56);
2467 fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction___init(REGB0);
2468 /* ./parser//parser.nit:152 */
2469 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2470 /* ./parser//parser.nit:472 */
2471 REGB0 = TAG_Int(56);
2472 fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction___init(REGB0);
2473 /* ./parser//parser.nit:152 */
2474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2475 /* ./parser//parser.nit:473 */
2476 REGB0 = TAG_Int(56);
2477 fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction___init(REGB0);
2478 /* ./parser//parser.nit:152 */
2479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2480 /* ./parser//parser.nit:474 */
2481 REGB0 = TAG_Int(57);
2482 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2483 /* ./parser//parser.nit:152 */
2484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2485 /* ./parser//parser.nit:475 */
2486 REGB0 = TAG_Int(57);
2487 fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction___init(REGB0);
2488 /* ./parser//parser.nit:152 */
2489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2490 /* ./parser//parser.nit:476 */
2491 REGB0 = TAG_Int(57);
2492 fra.me.REG[2] = NEW_ReduceAction323_parser___ReduceAction___init(REGB0);
2493 /* ./parser//parser.nit:152 */
2494 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2495 /* ./parser//parser.nit:477 */
2496 REGB0 = TAG_Int(58);
2497 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2498 /* ./parser//parser.nit:152 */
2499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2500 /* ./parser//parser.nit:478 */
2501 REGB0 = TAG_Int(58);
2502 fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction___init(REGB0);
2503 /* ./parser//parser.nit:152 */
2504 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2505 /* ./parser//parser.nit:479 */
2506 REGB0 = TAG_Int(58);
2507 fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction___init(REGB0);
2508 /* ./parser//parser.nit:152 */
2509 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2510 /* ./parser//parser.nit:480 */
2511 REGB0 = TAG_Int(58);
2512 fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction___init(REGB0);
2513 /* ./parser//parser.nit:152 */
2514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2515 /* ./parser//parser.nit:481 */
2516 REGB0 = TAG_Int(59);
2517 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2518 /* ./parser//parser.nit:152 */
2519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2520 /* ./parser//parser.nit:482 */
2521 REGB0 = TAG_Int(59);
2522 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
2523 /* ./parser//parser.nit:152 */
2524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2525 /* ./parser//parser.nit:483 */
2526 REGB0 = TAG_Int(59);
2527 fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction___init(REGB0);
2528 /* ./parser//parser.nit:152 */
2529 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2530 /* ./parser//parser.nit:484 */
2531 REGB0 = TAG_Int(60);
2532 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2533 /* ./parser//parser.nit:152 */
2534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2535 /* ./parser//parser.nit:485 */
2536 REGB0 = TAG_Int(60);
2537 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
2538 /* ./parser//parser.nit:152 */
2539 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2540 /* ./parser//parser.nit:486 */
2541 REGB0 = TAG_Int(60);
2542 fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction___init(REGB0);
2543 /* ./parser//parser.nit:152 */
2544 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2545 /* ./parser//parser.nit:487 */
2546 REGB0 = TAG_Int(60);
2547 fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
2548 /* ./parser//parser.nit:152 */
2549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2550 /* ./parser//parser.nit:488 */
2551 REGB0 = TAG_Int(61);
2552 fra.me.REG[2] = NEW_ReduceAction335_parser___ReduceAction___init(REGB0);
2553 /* ./parser//parser.nit:152 */
2554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2555 /* ./parser//parser.nit:489 */
2556 REGB0 = TAG_Int(61);
2557 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
2558 /* ./parser//parser.nit:152 */
2559 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2560 /* ./parser//parser.nit:490 */
2561 REGB0 = TAG_Int(61);
2562 fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction___init(REGB0);
2563 /* ./parser//parser.nit:152 */
2564 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2565 /* ./parser//parser.nit:491 */
2566 REGB0 = TAG_Int(61);
2567 fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction___init(REGB0);
2568 /* ./parser//parser.nit:152 */
2569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2570 /* ./parser//parser.nit:492 */
2571 REGB0 = TAG_Int(61);
2572 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
2573 /* ./parser//parser.nit:152 */
2574 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2575 /* ./parser//parser.nit:493 */
2576 REGB0 = TAG_Int(61);
2577 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
2578 /* ./parser//parser.nit:152 */
2579 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2580 /* ./parser//parser.nit:494 */
2581 REGB0 = TAG_Int(61);
2582 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
2583 /* ./parser//parser.nit:152 */
2584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2585 /* ./parser//parser.nit:495 */
2586 REGB0 = TAG_Int(61);
2587 fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction___init(REGB0);
2588 /* ./parser//parser.nit:152 */
2589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2590 /* ./parser//parser.nit:496 */
2591 REGB0 = TAG_Int(61);
2592 fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction___init(REGB0);
2593 /* ./parser//parser.nit:152 */
2594 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2595 /* ./parser//parser.nit:497 */
2596 REGB0 = TAG_Int(61);
2597 fra.me.REG[2] = NEW_ReduceAction344_parser___ReduceAction___init(REGB0);
2598 /* ./parser//parser.nit:152 */
2599 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2600 /* ./parser//parser.nit:498 */
2601 REGB0 = TAG_Int(61);
2602 fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction___init(REGB0);
2603 /* ./parser//parser.nit:152 */
2604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2605 /* ./parser//parser.nit:499 */
2606 REGB0 = TAG_Int(61);
2607 fra.me.REG[2] = NEW_ReduceAction346_parser___ReduceAction___init(REGB0);
2608 /* ./parser//parser.nit:152 */
2609 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2610 /* ./parser//parser.nit:500 */
2611 REGB0 = TAG_Int(61);
2612 fra.me.REG[2] = NEW_ReduceAction347_parser___ReduceAction___init(REGB0);
2613 /* ./parser//parser.nit:152 */
2614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2615 /* ./parser//parser.nit:501 */
2616 REGB0 = TAG_Int(61);
2617 fra.me.REG[2] = NEW_ReduceAction348_parser___ReduceAction___init(REGB0);
2618 /* ./parser//parser.nit:152 */
2619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2620 /* ./parser//parser.nit:502 */
2621 REGB0 = TAG_Int(61);
2622 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
2623 /* ./parser//parser.nit:152 */
2624 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2625 /* ./parser//parser.nit:503 */
2626 REGB0 = TAG_Int(61);
2627 fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction___init(REGB0);
2628 /* ./parser//parser.nit:152 */
2629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2630 /* ./parser//parser.nit:504 */
2631 REGB0 = TAG_Int(61);
2632 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
2633 /* ./parser//parser.nit:152 */
2634 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2635 /* ./parser//parser.nit:505 */
2636 REGB0 = TAG_Int(61);
2637 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
2638 /* ./parser//parser.nit:152 */
2639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2640 /* ./parser//parser.nit:506 */
2641 REGB0 = TAG_Int(61);
2642 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
2643 /* ./parser//parser.nit:152 */
2644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2645 /* ./parser//parser.nit:507 */
2646 REGB0 = TAG_Int(61);
2647 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
2648 /* ./parser//parser.nit:152 */
2649 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2650 /* ./parser//parser.nit:508 */
2651 REGB0 = TAG_Int(61);
2652 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
2653 /* ./parser//parser.nit:152 */
2654 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2655 /* ./parser//parser.nit:509 */
2656 REGB0 = TAG_Int(61);
2657 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2658 /* ./parser//parser.nit:152 */
2659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2660 /* ./parser//parser.nit:510 */
2661 REGB0 = TAG_Int(61);
2662 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
2663 /* ./parser//parser.nit:152 */
2664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2665 /* ./parser//parser.nit:511 */
2666 REGB0 = TAG_Int(61);
2667 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
2668 /* ./parser//parser.nit:152 */
2669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2670 /* ./parser//parser.nit:512 */
2671 REGB0 = TAG_Int(61);
2672 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
2673 /* ./parser//parser.nit:152 */
2674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2675 /* ./parser//parser.nit:513 */
2676 REGB0 = TAG_Int(62);
2677 fra.me.REG[2] = NEW_ReduceAction360_parser___ReduceAction___init(REGB0);
2678 /* ./parser//parser.nit:152 */
2679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2680 /* ./parser//parser.nit:514 */
2681 REGB0 = TAG_Int(62);
2682 fra.me.REG[2] = NEW_ReduceAction361_parser___ReduceAction___init(REGB0);
2683 /* ./parser//parser.nit:152 */
2684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2685 /* ./parser//parser.nit:515 */
2686 REGB0 = TAG_Int(63);
2687 fra.me.REG[2] = NEW_ReduceAction362_parser___ReduceAction___init(REGB0);
2688 /* ./parser//parser.nit:152 */
2689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2690 /* ./parser//parser.nit:516 */
2691 REGB0 = TAG_Int(64);
2692 fra.me.REG[2] = NEW_ReduceAction363_parser___ReduceAction___init(REGB0);
2693 /* ./parser//parser.nit:152 */
2694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2695 /* ./parser//parser.nit:517 */
2696 REGB0 = TAG_Int(65);
2697 fra.me.REG[2] = NEW_ReduceAction362_parser___ReduceAction___init(REGB0);
2698 /* ./parser//parser.nit:152 */
2699 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2700 /* ./parser//parser.nit:518 */
2701 REGB0 = TAG_Int(66);
2702 fra.me.REG[2] = NEW_ReduceAction365_parser___ReduceAction___init(REGB0);
2703 /* ./parser//parser.nit:152 */
2704 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2705 /* ./parser//parser.nit:519 */
2706 REGB0 = TAG_Int(67);
2707 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
2708 /* ./parser//parser.nit:152 */
2709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2710 /* ./parser//parser.nit:520 */
2711 REGB0 = TAG_Int(68);
2712 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
2713 /* ./parser//parser.nit:152 */
2714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2715 /* ./parser//parser.nit:521 */
2716 REGB0 = TAG_Int(68);
2717 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
2718 /* ./parser//parser.nit:152 */
2719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2720 /* ./parser//parser.nit:522 */
2721 REGB0 = TAG_Int(68);
2722 fra.me.REG[2] = NEW_ReduceAction181_parser___ReduceAction___init(REGB0);
2723 /* ./parser//parser.nit:152 */
2724 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2725 /* ./parser//parser.nit:523 */
2726 REGB0 = TAG_Int(68);
2727 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
2728 /* ./parser//parser.nit:152 */
2729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2730 /* ./parser//parser.nit:524 */
2731 REGB0 = TAG_Int(69);
2732 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
2733 /* ./parser//parser.nit:152 */
2734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2735 /* ./parser//parser.nit:525 */
2736 REGB0 = TAG_Int(69);
2737 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
2738 /* ./parser//parser.nit:152 */
2739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2740 /* ./parser//parser.nit:526 */
2741 REGB0 = TAG_Int(69);
2742 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
2743 /* ./parser//parser.nit:152 */
2744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2745 /* ./parser//parser.nit:527 */
2746 REGB0 = TAG_Int(69);
2747 fra.me.REG[2] = NEW_ReduceAction181_parser___ReduceAction___init(REGB0);
2748 /* ./parser//parser.nit:152 */
2749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2750 /* ./parser//parser.nit:528 */
2751 REGB0 = TAG_Int(69);
2752 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
2753 /* ./parser//parser.nit:152 */
2754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2755 /* ./parser//parser.nit:529 */
2756 REGB0 = TAG_Int(70);
2757 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
2758 /* ./parser//parser.nit:152 */
2759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2760 /* ./parser//parser.nit:530 */
2761 REGB0 = TAG_Int(70);
2762 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
2763 /* ./parser//parser.nit:152 */
2764 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2765 /* ./parser//parser.nit:531 */
2766 REGB0 = TAG_Int(71);
2767 fra.me.REG[2] = NEW_ReduceAction378_parser___ReduceAction___init(REGB0);
2768 /* ./parser//parser.nit:152 */
2769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2770 /* ./parser//parser.nit:532 */
2771 REGB0 = TAG_Int(72);
2772 fra.me.REG[2] = NEW_ReduceAction379_parser___ReduceAction___init(REGB0);
2773 /* ./parser//parser.nit:152 */
2774 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2775 /* ./parser//parser.nit:533 */
2776 REGB0 = TAG_Int(72);
2777 fra.me.REG[2] = NEW_ReduceAction380_parser___ReduceAction___init(REGB0);
2778 /* ./parser//parser.nit:152 */
2779 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2780 /* ./parser//parser.nit:534 */
2781 REGB0 = TAG_Int(73);
2782 fra.me.REG[2] = NEW_ReduceAction381_parser___ReduceAction___init(REGB0);
2783 /* ./parser//parser.nit:152 */
2784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2785 /* ./parser//parser.nit:535 */
2786 REGB0 = TAG_Int(73);
2787 fra.me.REG[2] = NEW_ReduceAction382_parser___ReduceAction___init(REGB0);
2788 /* ./parser//parser.nit:152 */
2789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2790 /* ./parser//parser.nit:536 */
2791 REGB0 = TAG_Int(73);
2792 fra.me.REG[2] = NEW_ReduceAction383_parser___ReduceAction___init(REGB0);
2793 /* ./parser//parser.nit:152 */
2794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2795 /* ./parser//parser.nit:537 */
2796 REGB0 = TAG_Int(73);
2797 fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction___init(REGB0);
2798 /* ./parser//parser.nit:152 */
2799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2800 /* ./parser//parser.nit:538 */
2801 REGB0 = TAG_Int(74);
2802 fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
2803 /* ./parser//parser.nit:152 */
2804 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2805 /* ./parser//parser.nit:539 */
2806 REGB0 = TAG_Int(74);
2807 fra.me.REG[2] = NEW_ReduceAction386_parser___ReduceAction___init(REGB0);
2808 /* ./parser//parser.nit:152 */
2809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2810 /* ./parser//parser.nit:540 */
2811 REGB0 = TAG_Int(74);
2812 fra.me.REG[2] = NEW_ReduceAction387_parser___ReduceAction___init(REGB0);
2813 /* ./parser//parser.nit:152 */
2814 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2815 /* ./parser//parser.nit:541 */
2816 REGB0 = TAG_Int(75);
2817 fra.me.REG[2] = NEW_ReduceAction388_parser___ReduceAction___init(REGB0);
2818 /* ./parser//parser.nit:152 */
2819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2820 /* ./parser//parser.nit:542 */
2821 REGB0 = TAG_Int(76);
2822 fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction___init(REGB0);
2823 /* ./parser//parser.nit:152 */
2824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2825 /* ./parser//parser.nit:543 */
2826 REGB0 = TAG_Int(77);
2827 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
2828 /* ./parser//parser.nit:152 */
2829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2830 /* ./parser//parser.nit:544 */
2831 REGB0 = TAG_Int(77);
2832 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
2833 /* ./parser//parser.nit:152 */
2834 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2835 /* ./parser//parser.nit:545 */
2836 REGB0 = TAG_Int(78);
2837 fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction___init(REGB0);
2838 /* ./parser//parser.nit:152 */
2839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2840 /* ./parser//parser.nit:546 */
2841 REGB0 = TAG_Int(78);
2842 fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction___init(REGB0);
2843 /* ./parser//parser.nit:152 */
2844 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2845 /* ./parser//parser.nit:547 */
2846 REGB0 = TAG_Int(78);
2847 fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction___init(REGB0);
2848 /* ./parser//parser.nit:152 */
2849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2850 /* ./parser//parser.nit:548 */
2851 REGB0 = TAG_Int(79);
2852 fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
2853 /* ./parser//parser.nit:152 */
2854 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2855 /* ./parser//parser.nit:549 */
2856 REGB0 = TAG_Int(79);
2857 fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
2858 /* ./parser//parser.nit:152 */
2859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2860 /* ./parser//parser.nit:550 */
2861 REGB0 = TAG_Int(80);
2862 fra.me.REG[2] = NEW_ReduceAction397_parser___ReduceAction___init(REGB0);
2863 /* ./parser//parser.nit:152 */
2864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2865 /* ./parser//parser.nit:551 */
2866 REGB0 = TAG_Int(80);
2867 fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction___init(REGB0);
2868 /* ./parser//parser.nit:152 */
2869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2870 /* ./parser//parser.nit:552 */
2871 REGB0 = TAG_Int(80);
2872 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
2873 /* ./parser//parser.nit:152 */
2874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2875 /* ./parser//parser.nit:553 */
2876 REGB0 = TAG_Int(81);
2877 fra.me.REG[2] = NEW_ReduceAction66_parser___ReduceAction___init(REGB0);
2878 /* ./parser//parser.nit:152 */
2879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2880 /* ./parser//parser.nit:554 */
2881 REGB0 = TAG_Int(82);
2882 fra.me.REG[2] = NEW_ReduceAction67_parser___ReduceAction___init(REGB0);
2883 /* ./parser//parser.nit:152 */
2884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2885 /* ./parser//parser.nit:555 */
2886 REGB0 = TAG_Int(82);
2887 fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction___init(REGB0);
2888 /* ./parser//parser.nit:152 */
2889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2890 /* ./parser//parser.nit:556 */
2891 REGB0 = TAG_Int(82);
2892 fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction___init(REGB0);
2893 /* ./parser//parser.nit:152 */
2894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2895 /* ./parser//parser.nit:557 */
2896 REGB0 = TAG_Int(82);
2897 fra.me.REG[2] = NEW_ReduceAction70_parser___ReduceAction___init(REGB0);
2898 /* ./parser//parser.nit:152 */
2899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2900 /* ./parser//parser.nit:558 */
2901 REGB0 = TAG_Int(82);
2902 fra.me.REG[2] = NEW_ReduceAction71_parser___ReduceAction___init(REGB0);
2903 /* ./parser//parser.nit:152 */
2904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2905 /* ./parser//parser.nit:559 */
2906 REGB0 = TAG_Int(82);
2907 fra.me.REG[2] = NEW_ReduceAction72_parser___ReduceAction___init(REGB0);
2908 /* ./parser//parser.nit:152 */
2909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2910 /* ./parser//parser.nit:560 */
2911 REGB0 = TAG_Int(82);
2912 fra.me.REG[2] = NEW_ReduceAction77_parser___ReduceAction___init(REGB0);
2913 /* ./parser//parser.nit:152 */
2914 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2915 /* ./parser//parser.nit:561 */
2916 REGB0 = TAG_Int(82);
2917 fra.me.REG[2] = NEW_ReduceAction78_parser___ReduceAction___init(REGB0);
2918 /* ./parser//parser.nit:152 */
2919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2920 /* ./parser//parser.nit:562 */
2921 REGB0 = TAG_Int(82);
2922 fra.me.REG[2] = NEW_ReduceAction79_parser___ReduceAction___init(REGB0);
2923 /* ./parser//parser.nit:152 */
2924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2925 /* ./parser//parser.nit:563 */
2926 REGB0 = TAG_Int(82);
2927 fra.me.REG[2] = NEW_ReduceAction80_parser___ReduceAction___init(REGB0);
2928 /* ./parser//parser.nit:152 */
2929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2930 /* ./parser//parser.nit:564 */
2931 REGB0 = TAG_Int(83);
2932 fra.me.REG[2] = NEW_ReduceAction167_parser___ReduceAction___init(REGB0);
2933 /* ./parser//parser.nit:152 */
2934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2935 /* ./parser//parser.nit:565 */
2936 REGB0 = TAG_Int(83);
2937 fra.me.REG[2] = NEW_ReduceAction168_parser___ReduceAction___init(REGB0);
2938 /* ./parser//parser.nit:152 */
2939 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2940 /* ./parser//parser.nit:566 */
2941 REGB0 = TAG_Int(83);
2942 fra.me.REG[2] = NEW_ReduceAction169_parser___ReduceAction___init(REGB0);
2943 /* ./parser//parser.nit:152 */
2944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2945 /* ./parser//parser.nit:567 */
2946 REGB0 = TAG_Int(83);
2947 fra.me.REG[2] = NEW_ReduceAction170_parser___ReduceAction___init(REGB0);
2948 /* ./parser//parser.nit:152 */
2949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2950 /* ./parser//parser.nit:568 */
2951 REGB0 = TAG_Int(84);
2952 fra.me.REG[2] = NEW_ReduceAction194_parser___ReduceAction___init(REGB0);
2953 /* ./parser//parser.nit:152 */
2954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2955 /* ./parser//parser.nit:569 */
2956 REGB0 = TAG_Int(84);
2957 fra.me.REG[2] = NEW_ReduceAction195_parser___ReduceAction___init(REGB0);
2958 /* ./parser//parser.nit:152 */
2959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2960 /* ./parser//parser.nit:570 */
2961 REGB0 = TAG_Int(85);
2962 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2963 /* ./parser//parser.nit:152 */
2964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2965 /* ./parser//parser.nit:571 */
2966 REGB0 = TAG_Int(85);
2967 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
2968 /* ./parser//parser.nit:152 */
2969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2970 /* ./parser//parser.nit:572 */
2971 REGB0 = TAG_Int(85);
2972 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
2973 /* ./parser//parser.nit:152 */
2974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2975 /* ./parser//parser.nit:573 */
2976 REGB0 = TAG_Int(86);
2977 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2978 /* ./parser//parser.nit:152 */
2979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2980 /* ./parser//parser.nit:574 */
2981 REGB0 = TAG_Int(86);
2982 fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction___init(REGB0);
2983 /* ./parser//parser.nit:152 */
2984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2985 /* ./parser//parser.nit:575 */
2986 REGB0 = TAG_Int(87);
2987 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
2988 /* ./parser//parser.nit:152 */
2989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2990 /* ./parser//parser.nit:576 */
2991 REGB0 = TAG_Int(87);
2992 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
2993 /* ./parser//parser.nit:152 */
2994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2995 /* ./parser//parser.nit:577 */
2996 REGB0 = TAG_Int(87);
2997 fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction___init(REGB0);
2998 /* ./parser//parser.nit:152 */
2999 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3000 /* ./parser//parser.nit:578 */
3001 REGB0 = TAG_Int(87);
3002 fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction___init(REGB0);
3003 /* ./parser//parser.nit:152 */
3004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3005 /* ./parser//parser.nit:579 */
3006 REGB0 = TAG_Int(88);
3007 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3008 /* ./parser//parser.nit:152 */
3009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3010 /* ./parser//parser.nit:580 */
3011 REGB0 = TAG_Int(88);
3012 fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction___init(REGB0);
3013 /* ./parser//parser.nit:152 */
3014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3015 /* ./parser//parser.nit:581 */
3016 REGB0 = TAG_Int(89);
3017 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3018 /* ./parser//parser.nit:152 */
3019 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3020 /* ./parser//parser.nit:582 */
3021 REGB0 = TAG_Int(89);
3022 fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction___init(REGB0);
3023 /* ./parser//parser.nit:152 */
3024 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3025 /* ./parser//parser.nit:583 */
3026 REGB0 = TAG_Int(89);
3027 fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction___init(REGB0);
3028 /* ./parser//parser.nit:152 */
3029 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3030 /* ./parser//parser.nit:584 */
3031 REGB0 = TAG_Int(89);
3032 fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction___init(REGB0);
3033 /* ./parser//parser.nit:152 */
3034 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3035 /* ./parser//parser.nit:585 */
3036 REGB0 = TAG_Int(89);
3037 fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction___init(REGB0);
3038 /* ./parser//parser.nit:152 */
3039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3040 /* ./parser//parser.nit:586 */
3041 REGB0 = TAG_Int(89);
3042 fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction___init(REGB0);
3043 /* ./parser//parser.nit:152 */
3044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3045 /* ./parser//parser.nit:587 */
3046 REGB0 = TAG_Int(89);
3047 fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
3048 /* ./parser//parser.nit:152 */
3049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3050 /* ./parser//parser.nit:588 */
3051 REGB0 = TAG_Int(89);
3052 fra.me.REG[2] = NEW_ReduceAction316_parser___ReduceAction___init(REGB0);
3053 /* ./parser//parser.nit:152 */
3054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3055 /* ./parser//parser.nit:589 */
3056 REGB0 = TAG_Int(89);
3057 fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction___init(REGB0);
3058 /* ./parser//parser.nit:152 */
3059 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3060 /* ./parser//parser.nit:590 */
3061 REGB0 = TAG_Int(89);
3062 fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction___init(REGB0);
3063 /* ./parser//parser.nit:152 */
3064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3065 /* ./parser//parser.nit:591 */
3066 REGB0 = TAG_Int(89);
3067 fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction___init(REGB0);
3068 /* ./parser//parser.nit:152 */
3069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3070 /* ./parser//parser.nit:592 */
3071 REGB0 = TAG_Int(89);
3072 fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction___init(REGB0);
3073 /* ./parser//parser.nit:152 */
3074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3075 /* ./parser//parser.nit:593 */
3076 REGB0 = TAG_Int(90);
3077 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3078 /* ./parser//parser.nit:152 */
3079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3080 /* ./parser//parser.nit:594 */
3081 REGB0 = TAG_Int(90);
3082 fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction___init(REGB0);
3083 /* ./parser//parser.nit:152 */
3084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3085 /* ./parser//parser.nit:595 */
3086 REGB0 = TAG_Int(90);
3087 fra.me.REG[2] = NEW_ReduceAction323_parser___ReduceAction___init(REGB0);
3088 /* ./parser//parser.nit:152 */
3089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3090 /* ./parser//parser.nit:596 */
3091 REGB0 = TAG_Int(91);
3092 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3093 /* ./parser//parser.nit:152 */
3094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3095 /* ./parser//parser.nit:597 */
3096 REGB0 = TAG_Int(91);
3097 fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction___init(REGB0);
3098 /* ./parser//parser.nit:152 */
3099 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3100 /* ./parser//parser.nit:598 */
3101 REGB0 = TAG_Int(91);
3102 fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction___init(REGB0);
3103 /* ./parser//parser.nit:152 */
3104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3105 /* ./parser//parser.nit:599 */
3106 REGB0 = TAG_Int(91);
3107 fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction___init(REGB0);
3108 /* ./parser//parser.nit:152 */
3109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3110 /* ./parser//parser.nit:600 */
3111 REGB0 = TAG_Int(92);
3112 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3113 /* ./parser//parser.nit:152 */
3114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3115 /* ./parser//parser.nit:601 */
3116 REGB0 = TAG_Int(92);
3117 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
3118 /* ./parser//parser.nit:152 */
3119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3120 /* ./parser//parser.nit:602 */
3121 REGB0 = TAG_Int(92);
3122 fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction___init(REGB0);
3123 /* ./parser//parser.nit:152 */
3124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3125 /* ./parser//parser.nit:603 */
3126 REGB0 = TAG_Int(93);
3127 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3128 /* ./parser//parser.nit:152 */
3129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3130 /* ./parser//parser.nit:604 */
3131 REGB0 = TAG_Int(93);
3132 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
3133 /* ./parser//parser.nit:152 */
3134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3135 /* ./parser//parser.nit:605 */
3136 REGB0 = TAG_Int(93);
3137 fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction___init(REGB0);
3138 /* ./parser//parser.nit:152 */
3139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3140 /* ./parser//parser.nit:606 */
3141 REGB0 = TAG_Int(93);
3142 fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
3143 /* ./parser//parser.nit:152 */
3144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3145 /* ./parser//parser.nit:607 */
3146 REGB0 = TAG_Int(94);
3147 fra.me.REG[2] = NEW_ReduceAction335_parser___ReduceAction___init(REGB0);
3148 /* ./parser//parser.nit:152 */
3149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3150 /* ./parser//parser.nit:608 */
3151 REGB0 = TAG_Int(94);
3152 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
3153 /* ./parser//parser.nit:152 */
3154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3155 /* ./parser//parser.nit:609 */
3156 REGB0 = TAG_Int(94);
3157 fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction___init(REGB0);
3158 /* ./parser//parser.nit:152 */
3159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3160 /* ./parser//parser.nit:610 */
3161 REGB0 = TAG_Int(94);
3162 fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction___init(REGB0);
3163 /* ./parser//parser.nit:152 */
3164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3165 /* ./parser//parser.nit:611 */
3166 REGB0 = TAG_Int(94);
3167 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
3168 /* ./parser//parser.nit:152 */
3169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3170 /* ./parser//parser.nit:612 */
3171 REGB0 = TAG_Int(94);
3172 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
3173 /* ./parser//parser.nit:152 */
3174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3175 /* ./parser//parser.nit:613 */
3176 REGB0 = TAG_Int(94);
3177 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
3178 /* ./parser//parser.nit:152 */
3179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3180 /* ./parser//parser.nit:614 */
3181 REGB0 = TAG_Int(94);
3182 fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction___init(REGB0);
3183 /* ./parser//parser.nit:152 */
3184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3185 /* ./parser//parser.nit:615 */
3186 REGB0 = TAG_Int(94);
3187 fra.me.REG[2] = NEW_ReduceAction344_parser___ReduceAction___init(REGB0);
3188 /* ./parser//parser.nit:152 */
3189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3190 /* ./parser//parser.nit:616 */
3191 REGB0 = TAG_Int(94);
3192 fra.me.REG[2] = NEW_ReduceAction348_parser___ReduceAction___init(REGB0);
3193 /* ./parser//parser.nit:152 */
3194 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3195 /* ./parser//parser.nit:617 */
3196 REGB0 = TAG_Int(94);
3197 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
3198 /* ./parser//parser.nit:152 */
3199 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3200 /* ./parser//parser.nit:618 */
3201 REGB0 = TAG_Int(94);
3202 fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction___init(REGB0);
3203 /* ./parser//parser.nit:152 */
3204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3205 /* ./parser//parser.nit:619 */
3206 REGB0 = TAG_Int(94);
3207 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
3208 /* ./parser//parser.nit:152 */
3209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3210 /* ./parser//parser.nit:620 */
3211 REGB0 = TAG_Int(94);
3212 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
3213 /* ./parser//parser.nit:152 */
3214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3215 /* ./parser//parser.nit:621 */
3216 REGB0 = TAG_Int(94);
3217 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
3218 /* ./parser//parser.nit:152 */
3219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3220 /* ./parser//parser.nit:622 */
3221 REGB0 = TAG_Int(94);
3222 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
3223 /* ./parser//parser.nit:152 */
3224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3225 /* ./parser//parser.nit:623 */
3226 REGB0 = TAG_Int(94);
3227 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
3228 /* ./parser//parser.nit:152 */
3229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3230 /* ./parser//parser.nit:624 */
3231 REGB0 = TAG_Int(94);
3232 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3233 /* ./parser//parser.nit:152 */
3234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3235 /* ./parser//parser.nit:625 */
3236 REGB0 = TAG_Int(94);
3237 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
3238 /* ./parser//parser.nit:152 */
3239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3240 /* ./parser//parser.nit:626 */
3241 REGB0 = TAG_Int(94);
3242 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
3243 /* ./parser//parser.nit:152 */
3244 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3245 /* ./parser//parser.nit:627 */
3246 REGB0 = TAG_Int(94);
3247 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
3248 /* ./parser//parser.nit:152 */
3249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3250 /* ./parser//parser.nit:628 */
3251 REGB0 = TAG_Int(95);
3252 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
3253 /* ./parser//parser.nit:152 */
3254 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3255 /* ./parser//parser.nit:629 */
3256 REGB0 = TAG_Int(95);
3257 fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction___init(REGB0);
3258 /* ./parser//parser.nit:152 */
3259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3260 /* ./parser//parser.nit:630 */
3261 REGB0 = TAG_Int(95);
3262 fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction___init(REGB0);
3263 /* ./parser//parser.nit:152 */
3264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3265 /* ./parser//parser.nit:631 */
3266 REGB0 = TAG_Int(95);
3267 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3268 /* ./parser//parser.nit:152 */
3269 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3270 /* ./parser//parser.nit:632 */
3271 REGB0 = TAG_Int(96);
3272 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3273 /* ./parser//parser.nit:152 */
3274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3275 /* ./parser//parser.nit:633 */
3276 REGB0 = TAG_Int(96);
3277 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3278 /* ./parser//parser.nit:152 */
3279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3280 /* ./parser//parser.nit:634 */
3281 REGB0 = TAG_Int(96);
3282 fra.me.REG[2] = NEW_ReduceAction213_parser___ReduceAction___init(REGB0);
3283 /* ./parser//parser.nit:152 */
3284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3285 /* ./parser//parser.nit:635 */
3286 REGB0 = TAG_Int(96);
3287 fra.me.REG[2] = NEW_ReduceAction214_parser___ReduceAction___init(REGB0);
3288 /* ./parser//parser.nit:152 */
3289 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3290 /* ./parser//parser.nit:636 */
3291 REGB0 = TAG_Int(96);
3292 fra.me.REG[2] = NEW_ReduceAction215_parser___ReduceAction___init(REGB0);
3293 /* ./parser//parser.nit:152 */
3294 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3295 /* ./parser//parser.nit:637 */
3296 REGB0 = TAG_Int(96);
3297 fra.me.REG[2] = NEW_ReduceAction216_parser___ReduceAction___init(REGB0);
3298 /* ./parser//parser.nit:152 */
3299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3300 /* ./parser//parser.nit:638 */
3301 REGB0 = TAG_Int(96);
3302 fra.me.REG[2] = NEW_ReduceAction217_parser___ReduceAction___init(REGB0);
3303 /* ./parser//parser.nit:152 */
3304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3305 /* ./parser//parser.nit:639 */
3306 REGB0 = TAG_Int(96);
3307 fra.me.REG[2] = NEW_ReduceAction218_parser___ReduceAction___init(REGB0);
3308 /* ./parser//parser.nit:152 */
3309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3310 /* ./parser//parser.nit:640 */
3311 REGB0 = TAG_Int(96);
3312 fra.me.REG[2] = NEW_ReduceAction219_parser___ReduceAction___init(REGB0);
3313 /* ./parser//parser.nit:152 */
3314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3315 /* ./parser//parser.nit:641 */
3316 REGB0 = TAG_Int(96);
3317 fra.me.REG[2] = NEW_ReduceAction220_parser___ReduceAction___init(REGB0);
3318 /* ./parser//parser.nit:152 */
3319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3320 /* ./parser//parser.nit:642 */
3321 REGB0 = TAG_Int(96);
3322 fra.me.REG[2] = NEW_ReduceAction221_parser___ReduceAction___init(REGB0);
3323 /* ./parser//parser.nit:152 */
3324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3325 /* ./parser//parser.nit:643 */
3326 REGB0 = TAG_Int(96);
3327 fra.me.REG[2] = NEW_ReduceAction222_parser___ReduceAction___init(REGB0);
3328 /* ./parser//parser.nit:152 */
3329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3330 /* ./parser//parser.nit:644 */
3331 REGB0 = TAG_Int(96);
3332 fra.me.REG[2] = NEW_ReduceAction223_parser___ReduceAction___init(REGB0);
3333 /* ./parser//parser.nit:152 */
3334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3335 /* ./parser//parser.nit:645 */
3336 REGB0 = TAG_Int(96);
3337 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3338 /* ./parser//parser.nit:152 */
3339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3340 /* ./parser//parser.nit:646 */
3341 REGB0 = TAG_Int(96);
3342 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3343 /* ./parser//parser.nit:152 */
3344 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3345 /* ./parser//parser.nit:647 */
3346 REGB0 = TAG_Int(96);
3347 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3348 /* ./parser//parser.nit:152 */
3349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3350 /* ./parser//parser.nit:648 */
3351 REGB0 = TAG_Int(96);
3352 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3353 /* ./parser//parser.nit:152 */
3354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3355 /* ./parser//parser.nit:649 */
3356 REGB0 = TAG_Int(96);
3357 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3358 /* ./parser//parser.nit:152 */
3359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3360 /* ./parser//parser.nit:650 */
3361 REGB0 = TAG_Int(96);
3362 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3363 /* ./parser//parser.nit:152 */
3364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3365 /* ./parser//parser.nit:651 */
3366 REGB0 = TAG_Int(96);
3367 fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction___init(REGB0);
3368 /* ./parser//parser.nit:152 */
3369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3370 /* ./parser//parser.nit:652 */
3371 REGB0 = TAG_Int(96);
3372 fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction___init(REGB0);
3373 /* ./parser//parser.nit:152 */
3374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3375 /* ./parser//parser.nit:653 */
3376 REGB0 = TAG_Int(96);
3377 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
3378 /* ./parser//parser.nit:152 */
3379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3380 /* ./parser//parser.nit:654 */
3381 REGB0 = TAG_Int(96);
3382 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
3383 /* ./parser//parser.nit:152 */
3384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3385 /* ./parser//parser.nit:655 */
3386 REGB0 = TAG_Int(96);
3387 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
3388 /* ./parser//parser.nit:152 */
3389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3390 /* ./parser//parser.nit:656 */
3391 REGB0 = TAG_Int(96);
3392 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
3393 /* ./parser//parser.nit:152 */
3394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3395 /* ./parser//parser.nit:657 */
3396 REGB0 = TAG_Int(96);
3397 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
3398 /* ./parser//parser.nit:152 */
3399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3400 /* ./parser//parser.nit:658 */
3401 REGB0 = TAG_Int(96);
3402 fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction___init(REGB0);
3403 /* ./parser//parser.nit:152 */
3404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3405 /* ./parser//parser.nit:659 */
3406 REGB0 = TAG_Int(97);
3407 fra.me.REG[2] = NEW_ReduceAction239_parser___ReduceAction___init(REGB0);
3408 /* ./parser//parser.nit:152 */
3409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3410 /* ./parser//parser.nit:660 */
3411 REGB0 = TAG_Int(97);
3412 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
3413 /* ./parser//parser.nit:152 */
3414 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3415 /* ./parser//parser.nit:661 */
3416 REGB0 = TAG_Int(98);
3417 fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction___init(REGB0);
3418 /* ./parser//parser.nit:152 */
3419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3420 /* ./parser//parser.nit:662 */
3421 REGB0 = TAG_Int(98);
3422 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
3423 /* ./parser//parser.nit:152 */
3424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3425 /* ./parser//parser.nit:663 */
3426 REGB0 = TAG_Int(98);
3427 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
3428 /* ./parser//parser.nit:152 */
3429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3430 /* ./parser//parser.nit:664 */
3431 REGB0 = TAG_Int(98);
3432 fra.me.REG[2] = NEW_ReduceAction244_parser___ReduceAction___init(REGB0);
3433 /* ./parser//parser.nit:152 */
3434 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3435 /* ./parser//parser.nit:665 */
3436 REGB0 = TAG_Int(98);
3437 fra.me.REG[2] = NEW_ReduceAction245_parser___ReduceAction___init(REGB0);
3438 /* ./parser//parser.nit:152 */
3439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3440 /* ./parser//parser.nit:666 */
3441 REGB0 = TAG_Int(98);
3442 fra.me.REG[2] = NEW_ReduceAction246_parser___ReduceAction___init(REGB0);
3443 /* ./parser//parser.nit:152 */
3444 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3445 /* ./parser//parser.nit:667 */
3446 REGB0 = TAG_Int(98);
3447 fra.me.REG[2] = NEW_ReduceAction247_parser___ReduceAction___init(REGB0);
3448 /* ./parser//parser.nit:152 */
3449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3450 /* ./parser//parser.nit:668 */
3451 REGB0 = TAG_Int(98);
3452 fra.me.REG[2] = NEW_ReduceAction248_parser___ReduceAction___init(REGB0);
3453 /* ./parser//parser.nit:152 */
3454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3455 /* ./parser//parser.nit:669 */
3456 REGB0 = TAG_Int(98);
3457 fra.me.REG[2] = NEW_ReduceAction249_parser___ReduceAction___init(REGB0);
3458 /* ./parser//parser.nit:152 */
3459 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3460 /* ./parser//parser.nit:670 */
3461 REGB0 = TAG_Int(99);
3462 fra.me.REG[2] = NEW_ReduceAction258_parser___ReduceAction___init(REGB0);
3463 /* ./parser//parser.nit:152 */
3464 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3465 /* ./parser//parser.nit:671 */
3466 REGB0 = TAG_Int(100);
3467 fra.me.REG[2] = NEW_ReduceAction259_parser___ReduceAction___init(REGB0);
3468 /* ./parser//parser.nit:152 */
3469 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3470 /* ./parser//parser.nit:672 */
3471 REGB0 = TAG_Int(100);
3472 fra.me.REG[2] = NEW_ReduceAction260_parser___ReduceAction___init(REGB0);
3473 /* ./parser//parser.nit:152 */
3474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3475 /* ./parser//parser.nit:673 */
3476 REGB0 = TAG_Int(100);
3477 fra.me.REG[2] = NEW_ReduceAction261_parser___ReduceAction___init(REGB0);
3478 /* ./parser//parser.nit:152 */
3479 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3480 /* ./parser//parser.nit:674 */
3481 REGB0 = TAG_Int(100);
3482 fra.me.REG[2] = NEW_ReduceAction262_parser___ReduceAction___init(REGB0);
3483 /* ./parser//parser.nit:152 */
3484 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3485 /* ./parser//parser.nit:675 */
3486 REGB0 = TAG_Int(101);
3487 fra.me.REG[2] = NEW_ReduceAction263_parser___ReduceAction___init(REGB0);
3488 /* ./parser//parser.nit:152 */
3489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3490 /* ./parser//parser.nit:676 */
3491 REGB0 = TAG_Int(101);
3492 fra.me.REG[2] = NEW_ReduceAction264_parser___ReduceAction___init(REGB0);
3493 /* ./parser//parser.nit:152 */
3494 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3495 /* ./parser//parser.nit:677 */
3496 REGB0 = TAG_Int(101);
3497 fra.me.REG[2] = NEW_ReduceAction265_parser___ReduceAction___init(REGB0);
3498 /* ./parser//parser.nit:152 */
3499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3500 /* ./parser//parser.nit:678 */
3501 REGB0 = TAG_Int(101);
3502 fra.me.REG[2] = NEW_ReduceAction266_parser___ReduceAction___init(REGB0);
3503 /* ./parser//parser.nit:152 */
3504 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3505 /* ./parser//parser.nit:679 */
3506 REGB0 = TAG_Int(101);
3507 fra.me.REG[2] = NEW_ReduceAction267_parser___ReduceAction___init(REGB0);
3508 /* ./parser//parser.nit:152 */
3509 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3510 /* ./parser//parser.nit:680 */
3511 REGB0 = TAG_Int(101);
3512 fra.me.REG[2] = NEW_ReduceAction268_parser___ReduceAction___init(REGB0);
3513 /* ./parser//parser.nit:152 */
3514 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3515 /* ./parser//parser.nit:681 */
3516 REGB0 = TAG_Int(101);
3517 fra.me.REG[2] = NEW_ReduceAction269_parser___ReduceAction___init(REGB0);
3518 /* ./parser//parser.nit:152 */
3519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3520 /* ./parser//parser.nit:682 */
3521 REGB0 = TAG_Int(101);
3522 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
3523 /* ./parser//parser.nit:152 */
3524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3525 /* ./parser//parser.nit:683 */
3526 REGB0 = TAG_Int(101);
3527 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
3528 /* ./parser//parser.nit:152 */
3529 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3530 /* ./parser//parser.nit:684 */
3531 REGB0 = TAG_Int(101);
3532 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
3533 /* ./parser//parser.nit:152 */
3534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3535 /* ./parser//parser.nit:685 */
3536 REGB0 = TAG_Int(102);
3537 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
3538 /* ./parser//parser.nit:152 */
3539 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3540 /* ./parser//parser.nit:686 */
3541 REGB0 = TAG_Int(102);
3542 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
3543 /* ./parser//parser.nit:152 */
3544 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3545 /* ./parser//parser.nit:687 */
3546 REGB0 = TAG_Int(103);
3547 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
3548 /* ./parser//parser.nit:152 */
3549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3550 /* ./parser//parser.nit:688 */
3551 REGB0 = TAG_Int(104);
3552 fra.me.REG[2] = NEW_ReduceAction284_parser___ReduceAction___init(REGB0);
3553 /* ./parser//parser.nit:152 */
3554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3555 /* ./parser//parser.nit:689 */
3556 REGB0 = TAG_Int(104);
3557 fra.me.REG[2] = NEW_ReduceAction285_parser___ReduceAction___init(REGB0);
3558 /* ./parser//parser.nit:152 */
3559 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3560 /* ./parser//parser.nit:690 */
3561 REGB0 = TAG_Int(105);
3562 fra.me.REG[2] = NEW_ReduceAction286_parser___ReduceAction___init(REGB0);
3563 /* ./parser//parser.nit:152 */
3564 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3565 /* ./parser//parser.nit:691 */
3566 REGB0 = TAG_Int(105);
3567 fra.me.REG[2] = NEW_ReduceAction287_parser___ReduceAction___init(REGB0);
3568 /* ./parser//parser.nit:152 */
3569 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3570 /* ./parser//parser.nit:692 */
3571 REGB0 = TAG_Int(106);
3572 fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction___init(REGB0);
3573 /* ./parser//parser.nit:152 */
3574 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3575 /* ./parser//parser.nit:693 */
3576 REGB0 = TAG_Int(106);
3577 fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction___init(REGB0);
3578 /* ./parser//parser.nit:152 */
3579 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3580 /* ./parser//parser.nit:694 */
3581 REGB0 = TAG_Int(106);
3582 fra.me.REG[2] = NEW_ReduceAction290_parser___ReduceAction___init(REGB0);
3583 /* ./parser//parser.nit:152 */
3584 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3585 /* ./parser//parser.nit:695 */
3586 REGB0 = TAG_Int(106);
3587 fra.me.REG[2] = NEW_ReduceAction291_parser___ReduceAction___init(REGB0);
3588 /* ./parser//parser.nit:152 */
3589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3590 /* ./parser//parser.nit:696 */
3591 REGB0 = TAG_Int(107);
3592 fra.me.REG[2] = NEW_ReduceAction292_parser___ReduceAction___init(REGB0);
3593 /* ./parser//parser.nit:152 */
3594 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3595 /* ./parser//parser.nit:697 */
3596 REGB0 = TAG_Int(107);
3597 fra.me.REG[2] = NEW_ReduceAction293_parser___ReduceAction___init(REGB0);
3598 /* ./parser//parser.nit:152 */
3599 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3600 /* ./parser//parser.nit:698 */
3601 REGB0 = TAG_Int(108);
3602 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3603 /* ./parser//parser.nit:152 */
3604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3605 /* ./parser//parser.nit:699 */
3606 REGB0 = TAG_Int(108);
3607 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
3608 /* ./parser//parser.nit:152 */
3609 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3610 /* ./parser//parser.nit:700 */
3611 REGB0 = TAG_Int(108);
3612 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
3613 /* ./parser//parser.nit:152 */
3614 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3615 /* ./parser//parser.nit:701 */
3616 REGB0 = TAG_Int(108);
3617 fra.me.REG[2] = NEW_ReduceAction300_parser___ReduceAction___init(REGB0);
3618 /* ./parser//parser.nit:152 */
3619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3620 /* ./parser//parser.nit:702 */
3621 REGB0 = TAG_Int(109);
3622 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3623 /* ./parser//parser.nit:152 */
3624 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3625 /* ./parser//parser.nit:703 */
3626 REGB0 = TAG_Int(109);
3627 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
3628 /* ./parser//parser.nit:152 */
3629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3630 /* ./parser//parser.nit:704 */
3631 REGB0 = TAG_Int(109);
3632 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
3633 /* ./parser//parser.nit:152 */
3634 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3635 /* ./parser//parser.nit:705 */
3636 REGB0 = TAG_Int(110);
3637 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
3638 /* ./parser//parser.nit:152 */
3639 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3640 /* ./parser//parser.nit:706 */
3641 REGB0 = TAG_Int(110);
3642 fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction___init(REGB0);
3643 /* ./parser//parser.nit:152 */
3644 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3645 /* ./parser//parser.nit:707 */
3646 REGB0 = TAG_Int(110);
3647 fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction___init(REGB0);
3648 /* ./parser//parser.nit:152 */
3649 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3650 /* ./parser//parser.nit:708 */
3651 REGB0 = TAG_Int(111);
3652 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
3653 /* ./parser//parser.nit:152 */
3654 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3655 /* ./parser//parser.nit:709 */
3656 REGB0 = TAG_Int(111);
3657 fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction___init(REGB0);
3658 /* ./parser//parser.nit:152 */
3659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3660 /* ./parser//parser.nit:710 */
3661 REGB0 = TAG_Int(111);
3662 fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction___init(REGB0);
3663 /* ./parser//parser.nit:152 */
3664 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3665 /* ./parser//parser.nit:711 */
3666 REGB0 = TAG_Int(112);
3667 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3668 /* ./parser//parser.nit:152 */
3669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3670 /* ./parser//parser.nit:712 */
3671 REGB0 = TAG_Int(112);
3672 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
3673 /* ./parser//parser.nit:152 */
3674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3675 /* ./parser//parser.nit:713 */
3676 REGB0 = TAG_Int(112);
3677 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
3678 /* ./parser//parser.nit:152 */
3679 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3680 /* ./parser//parser.nit:714 */
3681 REGB0 = TAG_Int(113);
3682 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3683 /* ./parser//parser.nit:152 */
3684 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3685 /* ./parser//parser.nit:715 */
3686 REGB0 = TAG_Int(113);
3687 fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction___init(REGB0);
3688 /* ./parser//parser.nit:152 */
3689 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3690 /* ./parser//parser.nit:716 */
3691 REGB0 = TAG_Int(114);
3692 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3693 /* ./parser//parser.nit:152 */
3694 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3695 /* ./parser//parser.nit:717 */
3696 REGB0 = TAG_Int(114);
3697 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
3698 /* ./parser//parser.nit:152 */
3699 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3700 /* ./parser//parser.nit:718 */
3701 REGB0 = TAG_Int(114);
3702 fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction___init(REGB0);
3703 /* ./parser//parser.nit:152 */
3704 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3705 /* ./parser//parser.nit:719 */
3706 REGB0 = TAG_Int(114);
3707 fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction___init(REGB0);
3708 /* ./parser//parser.nit:152 */
3709 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3710 /* ./parser//parser.nit:720 */
3711 REGB0 = TAG_Int(115);
3712 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3713 /* ./parser//parser.nit:152 */
3714 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3715 /* ./parser//parser.nit:721 */
3716 REGB0 = TAG_Int(115);
3717 fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction___init(REGB0);
3718 /* ./parser//parser.nit:152 */
3719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3720 /* ./parser//parser.nit:722 */
3721 REGB0 = TAG_Int(116);
3722 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3723 /* ./parser//parser.nit:152 */
3724 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3725 /* ./parser//parser.nit:723 */
3726 REGB0 = TAG_Int(116);
3727 fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction___init(REGB0);
3728 /* ./parser//parser.nit:152 */
3729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3730 /* ./parser//parser.nit:724 */
3731 REGB0 = TAG_Int(116);
3732 fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction___init(REGB0);
3733 /* ./parser//parser.nit:152 */
3734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3735 /* ./parser//parser.nit:725 */
3736 REGB0 = TAG_Int(116);
3737 fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction___init(REGB0);
3738 /* ./parser//parser.nit:152 */
3739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3740 /* ./parser//parser.nit:726 */
3741 REGB0 = TAG_Int(116);
3742 fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction___init(REGB0);
3743 /* ./parser//parser.nit:152 */
3744 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3745 /* ./parser//parser.nit:727 */
3746 REGB0 = TAG_Int(116);
3747 fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction___init(REGB0);
3748 /* ./parser//parser.nit:152 */
3749 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3750 /* ./parser//parser.nit:728 */
3751 REGB0 = TAG_Int(116);
3752 fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
3753 /* ./parser//parser.nit:152 */
3754 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3755 /* ./parser//parser.nit:729 */
3756 REGB0 = TAG_Int(116);
3757 fra.me.REG[2] = NEW_ReduceAction316_parser___ReduceAction___init(REGB0);
3758 /* ./parser//parser.nit:152 */
3759 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3760 /* ./parser//parser.nit:730 */
3761 REGB0 = TAG_Int(116);
3762 fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction___init(REGB0);
3763 /* ./parser//parser.nit:152 */
3764 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3765 /* ./parser//parser.nit:731 */
3766 REGB0 = TAG_Int(116);
3767 fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction___init(REGB0);
3768 /* ./parser//parser.nit:152 */
3769 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3770 /* ./parser//parser.nit:732 */
3771 REGB0 = TAG_Int(116);
3772 fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction___init(REGB0);
3773 /* ./parser//parser.nit:152 */
3774 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3775 /* ./parser//parser.nit:733 */
3776 REGB0 = TAG_Int(116);
3777 fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction___init(REGB0);
3778 /* ./parser//parser.nit:152 */
3779 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3780 /* ./parser//parser.nit:734 */
3781 REGB0 = TAG_Int(117);
3782 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3783 /* ./parser//parser.nit:152 */
3784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3785 /* ./parser//parser.nit:735 */
3786 REGB0 = TAG_Int(117);
3787 fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction___init(REGB0);
3788 /* ./parser//parser.nit:152 */
3789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3790 /* ./parser//parser.nit:736 */
3791 REGB0 = TAG_Int(117);
3792 fra.me.REG[2] = NEW_ReduceAction323_parser___ReduceAction___init(REGB0);
3793 /* ./parser//parser.nit:152 */
3794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3795 /* ./parser//parser.nit:737 */
3796 REGB0 = TAG_Int(118);
3797 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3798 /* ./parser//parser.nit:152 */
3799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3800 /* ./parser//parser.nit:738 */
3801 REGB0 = TAG_Int(118);
3802 fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction___init(REGB0);
3803 /* ./parser//parser.nit:152 */
3804 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3805 /* ./parser//parser.nit:739 */
3806 REGB0 = TAG_Int(118);
3807 fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction___init(REGB0);
3808 /* ./parser//parser.nit:152 */
3809 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3810 /* ./parser//parser.nit:740 */
3811 REGB0 = TAG_Int(118);
3812 fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction___init(REGB0);
3813 /* ./parser//parser.nit:152 */
3814 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3815 /* ./parser//parser.nit:741 */
3816 REGB0 = TAG_Int(119);
3817 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3818 /* ./parser//parser.nit:152 */
3819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3820 /* ./parser//parser.nit:742 */
3821 REGB0 = TAG_Int(119);
3822 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
3823 /* ./parser//parser.nit:152 */
3824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3825 /* ./parser//parser.nit:743 */
3826 REGB0 = TAG_Int(119);
3827 fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction___init(REGB0);
3828 /* ./parser//parser.nit:152 */
3829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3830 /* ./parser//parser.nit:744 */
3831 REGB0 = TAG_Int(120);
3832 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3833 /* ./parser//parser.nit:152 */
3834 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3835 /* ./parser//parser.nit:745 */
3836 REGB0 = TAG_Int(120);
3837 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
3838 /* ./parser//parser.nit:152 */
3839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3840 /* ./parser//parser.nit:746 */
3841 REGB0 = TAG_Int(120);
3842 fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction___init(REGB0);
3843 /* ./parser//parser.nit:152 */
3844 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3845 /* ./parser//parser.nit:747 */
3846 REGB0 = TAG_Int(120);
3847 fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
3848 /* ./parser//parser.nit:152 */
3849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3850 /* ./parser//parser.nit:748 */
3851 REGB0 = TAG_Int(121);
3852 fra.me.REG[2] = NEW_ReduceAction335_parser___ReduceAction___init(REGB0);
3853 /* ./parser//parser.nit:152 */
3854 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3855 /* ./parser//parser.nit:749 */
3856 REGB0 = TAG_Int(121);
3857 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
3858 /* ./parser//parser.nit:152 */
3859 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3860 /* ./parser//parser.nit:750 */
3861 REGB0 = TAG_Int(121);
3862 fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction___init(REGB0);
3863 /* ./parser//parser.nit:152 */
3864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3865 /* ./parser//parser.nit:751 */
3866 REGB0 = TAG_Int(121);
3867 fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction___init(REGB0);
3868 /* ./parser//parser.nit:152 */
3869 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3870 /* ./parser//parser.nit:752 */
3871 REGB0 = TAG_Int(121);
3872 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
3873 /* ./parser//parser.nit:152 */
3874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3875 /* ./parser//parser.nit:753 */
3876 REGB0 = TAG_Int(121);
3877 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
3878 /* ./parser//parser.nit:152 */
3879 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3880 /* ./parser//parser.nit:754 */
3881 REGB0 = TAG_Int(121);
3882 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
3883 /* ./parser//parser.nit:152 */
3884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3885 /* ./parser//parser.nit:755 */
3886 REGB0 = TAG_Int(121);
3887 fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction___init(REGB0);
3888 /* ./parser//parser.nit:152 */
3889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3890 /* ./parser//parser.nit:756 */
3891 REGB0 = TAG_Int(121);
3892 fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction___init(REGB0);
3893 /* ./parser//parser.nit:152 */
3894 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3895 /* ./parser//parser.nit:757 */
3896 REGB0 = TAG_Int(121);
3897 fra.me.REG[2] = NEW_ReduceAction344_parser___ReduceAction___init(REGB0);
3898 /* ./parser//parser.nit:152 */
3899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3900 /* ./parser//parser.nit:758 */
3901 REGB0 = TAG_Int(121);
3902 fra.me.REG[2] = NEW_ReduceAction348_parser___ReduceAction___init(REGB0);
3903 /* ./parser//parser.nit:152 */
3904 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3905 /* ./parser//parser.nit:759 */
3906 REGB0 = TAG_Int(121);
3907 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
3908 /* ./parser//parser.nit:152 */
3909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3910 /* ./parser//parser.nit:760 */
3911 REGB0 = TAG_Int(121);
3912 fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction___init(REGB0);
3913 /* ./parser//parser.nit:152 */
3914 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3915 /* ./parser//parser.nit:761 */
3916 REGB0 = TAG_Int(121);
3917 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
3918 /* ./parser//parser.nit:152 */
3919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3920 /* ./parser//parser.nit:762 */
3921 REGB0 = TAG_Int(121);
3922 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
3923 /* ./parser//parser.nit:152 */
3924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3925 /* ./parser//parser.nit:763 */
3926 REGB0 = TAG_Int(121);
3927 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
3928 /* ./parser//parser.nit:152 */
3929 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3930 /* ./parser//parser.nit:764 */
3931 REGB0 = TAG_Int(121);
3932 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
3933 /* ./parser//parser.nit:152 */
3934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3935 /* ./parser//parser.nit:765 */
3936 REGB0 = TAG_Int(121);
3937 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
3938 /* ./parser//parser.nit:152 */
3939 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3940 /* ./parser//parser.nit:766 */
3941 REGB0 = TAG_Int(121);
3942 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3943 /* ./parser//parser.nit:152 */
3944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3945 /* ./parser//parser.nit:767 */
3946 REGB0 = TAG_Int(121);
3947 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
3948 /* ./parser//parser.nit:152 */
3949 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3950 /* ./parser//parser.nit:768 */
3951 REGB0 = TAG_Int(121);
3952 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
3953 /* ./parser//parser.nit:152 */
3954 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3955 /* ./parser//parser.nit:769 */
3956 REGB0 = TAG_Int(122);
3957 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3958 /* ./parser//parser.nit:152 */
3959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3960 /* ./parser//parser.nit:770 */
3961 REGB0 = TAG_Int(122);
3962 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
3963 /* ./parser//parser.nit:152 */
3964 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3965 /* ./parser//parser.nit:771 */
3966 REGB0 = TAG_Int(122);
3967 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
3968 /* ./parser//parser.nit:152 */
3969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3970 /* ./parser//parser.nit:772 */
3971 REGB0 = TAG_Int(123);
3972 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3973 /* ./parser//parser.nit:152 */
3974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3975 /* ./parser//parser.nit:773 */
3976 REGB0 = TAG_Int(123);
3977 fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction___init(REGB0);
3978 /* ./parser//parser.nit:152 */
3979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3980 /* ./parser//parser.nit:774 */
3981 REGB0 = TAG_Int(124);
3982 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
3983 /* ./parser//parser.nit:152 */
3984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3985 /* ./parser//parser.nit:775 */
3986 REGB0 = TAG_Int(124);
3987 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
3988 /* ./parser//parser.nit:152 */
3989 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3990 /* ./parser//parser.nit:776 */
3991 REGB0 = TAG_Int(124);
3992 fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction___init(REGB0);
3993 /* ./parser//parser.nit:152 */
3994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3995 /* ./parser//parser.nit:777 */
3996 REGB0 = TAG_Int(124);
3997 fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction___init(REGB0);
3998 /* ./parser//parser.nit:152 */
3999 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4000 /* ./parser//parser.nit:778 */
4001 REGB0 = TAG_Int(125);
4002 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4003 /* ./parser//parser.nit:152 */
4004 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4005 /* ./parser//parser.nit:779 */
4006 REGB0 = TAG_Int(125);
4007 fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction___init(REGB0);
4008 /* ./parser//parser.nit:152 */
4009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4010 /* ./parser//parser.nit:780 */
4011 REGB0 = TAG_Int(126);
4012 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4013 /* ./parser//parser.nit:152 */
4014 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4015 /* ./parser//parser.nit:781 */
4016 REGB0 = TAG_Int(126);
4017 fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction___init(REGB0);
4018 /* ./parser//parser.nit:152 */
4019 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4020 /* ./parser//parser.nit:782 */
4021 REGB0 = TAG_Int(126);
4022 fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction___init(REGB0);
4023 /* ./parser//parser.nit:152 */
4024 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4025 /* ./parser//parser.nit:783 */
4026 REGB0 = TAG_Int(126);
4027 fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction___init(REGB0);
4028 /* ./parser//parser.nit:152 */
4029 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4030 /* ./parser//parser.nit:784 */
4031 REGB0 = TAG_Int(126);
4032 fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction___init(REGB0);
4033 /* ./parser//parser.nit:152 */
4034 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4035 /* ./parser//parser.nit:785 */
4036 REGB0 = TAG_Int(126);
4037 fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction___init(REGB0);
4038 /* ./parser//parser.nit:152 */
4039 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4040 /* ./parser//parser.nit:786 */
4041 REGB0 = TAG_Int(126);
4042 fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
4043 /* ./parser//parser.nit:152 */
4044 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4045 /* ./parser//parser.nit:787 */
4046 REGB0 = TAG_Int(126);
4047 fra.me.REG[2] = NEW_ReduceAction316_parser___ReduceAction___init(REGB0);
4048 /* ./parser//parser.nit:152 */
4049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4050 /* ./parser//parser.nit:788 */
4051 REGB0 = TAG_Int(126);
4052 fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction___init(REGB0);
4053 /* ./parser//parser.nit:152 */
4054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4055 /* ./parser//parser.nit:789 */
4056 REGB0 = TAG_Int(126);
4057 fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction___init(REGB0);
4058 /* ./parser//parser.nit:152 */
4059 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4060 /* ./parser//parser.nit:790 */
4061 REGB0 = TAG_Int(126);
4062 fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction___init(REGB0);
4063 /* ./parser//parser.nit:152 */
4064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4065 /* ./parser//parser.nit:791 */
4066 REGB0 = TAG_Int(126);
4067 fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction___init(REGB0);
4068 /* ./parser//parser.nit:152 */
4069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4070 /* ./parser//parser.nit:792 */
4071 REGB0 = TAG_Int(127);
4072 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4073 /* ./parser//parser.nit:152 */
4074 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4075 /* ./parser//parser.nit:793 */
4076 REGB0 = TAG_Int(127);
4077 fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction___init(REGB0);
4078 /* ./parser//parser.nit:152 */
4079 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4080 /* ./parser//parser.nit:794 */
4081 REGB0 = TAG_Int(127);
4082 fra.me.REG[2] = NEW_ReduceAction323_parser___ReduceAction___init(REGB0);
4083 /* ./parser//parser.nit:152 */
4084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4085 /* ./parser//parser.nit:795 */
4086 REGB0 = TAG_Int(128);
4087 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4088 /* ./parser//parser.nit:152 */
4089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4090 /* ./parser//parser.nit:796 */
4091 REGB0 = TAG_Int(128);
4092 fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction___init(REGB0);
4093 /* ./parser//parser.nit:152 */
4094 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4095 /* ./parser//parser.nit:797 */
4096 REGB0 = TAG_Int(128);
4097 fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction___init(REGB0);
4098 /* ./parser//parser.nit:152 */
4099 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4100 /* ./parser//parser.nit:798 */
4101 REGB0 = TAG_Int(128);
4102 fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction___init(REGB0);
4103 /* ./parser//parser.nit:152 */
4104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4105 /* ./parser//parser.nit:799 */
4106 REGB0 = TAG_Int(129);
4107 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4108 /* ./parser//parser.nit:152 */
4109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4110 /* ./parser//parser.nit:800 */
4111 REGB0 = TAG_Int(129);
4112 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
4113 /* ./parser//parser.nit:152 */
4114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4115 /* ./parser//parser.nit:801 */
4116 REGB0 = TAG_Int(129);
4117 fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction___init(REGB0);
4118 /* ./parser//parser.nit:152 */
4119 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4120 /* ./parser//parser.nit:802 */
4121 REGB0 = TAG_Int(130);
4122 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4123 /* ./parser//parser.nit:152 */
4124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4125 /* ./parser//parser.nit:803 */
4126 REGB0 = TAG_Int(130);
4127 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
4128 /* ./parser//parser.nit:152 */
4129 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4130 /* ./parser//parser.nit:804 */
4131 REGB0 = TAG_Int(130);
4132 fra.me.REG[2] = NEW_ReduceAction651_parser___ReduceAction___init(REGB0);
4133 /* ./parser//parser.nit:152 */
4134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4135 /* ./parser//parser.nit:805 */
4136 REGB0 = TAG_Int(131);
4137 fra.me.REG[2] = NEW_ReduceAction652_parser___ReduceAction___init(REGB0);
4138 /* ./parser//parser.nit:152 */
4139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4140 /* ./parser//parser.nit:806 */
4141 REGB0 = TAG_Int(131);
4142 fra.me.REG[2] = NEW_ReduceAction653_parser___ReduceAction___init(REGB0);
4143 /* ./parser//parser.nit:152 */
4144 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4145 /* ./parser//parser.nit:807 */
4146 REGB0 = TAG_Int(131);
4147 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
4148 /* ./parser//parser.nit:152 */
4149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4150 /* ./parser//parser.nit:808 */
4151 REGB0 = TAG_Int(131);
4152 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
4153 /* ./parser//parser.nit:152 */
4154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4155 /* ./parser//parser.nit:809 */
4156 REGB0 = TAG_Int(131);
4157 fra.me.REG[2] = NEW_ReduceAction656_parser___ReduceAction___init(REGB0);
4158 /* ./parser//parser.nit:152 */
4159 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4160 /* ./parser//parser.nit:810 */
4161 REGB0 = TAG_Int(131);
4162 fra.me.REG[2] = NEW_ReduceAction344_parser___ReduceAction___init(REGB0);
4163 /* ./parser//parser.nit:152 */
4164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4165 /* ./parser//parser.nit:811 */
4166 REGB0 = TAG_Int(131);
4167 fra.me.REG[2] = NEW_ReduceAction348_parser___ReduceAction___init(REGB0);
4168 /* ./parser//parser.nit:152 */
4169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4170 /* ./parser//parser.nit:812 */
4171 REGB0 = TAG_Int(131);
4172 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
4173 /* ./parser//parser.nit:152 */
4174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4175 /* ./parser//parser.nit:813 */
4176 REGB0 = TAG_Int(131);
4177 fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction___init(REGB0);
4178 /* ./parser//parser.nit:152 */
4179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4180 /* ./parser//parser.nit:814 */
4181 REGB0 = TAG_Int(131);
4182 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
4183 /* ./parser//parser.nit:152 */
4184 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4185 /* ./parser//parser.nit:815 */
4186 REGB0 = TAG_Int(131);
4187 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
4188 /* ./parser//parser.nit:152 */
4189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4190 /* ./parser//parser.nit:816 */
4191 REGB0 = TAG_Int(131);
4192 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
4193 /* ./parser//parser.nit:152 */
4194 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4195 /* ./parser//parser.nit:817 */
4196 REGB0 = TAG_Int(131);
4197 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
4198 /* ./parser//parser.nit:152 */
4199 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4200 /* ./parser//parser.nit:818 */
4201 REGB0 = TAG_Int(131);
4202 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
4203 /* ./parser//parser.nit:152 */
4204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4205 /* ./parser//parser.nit:819 */
4206 REGB0 = TAG_Int(131);
4207 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4208 /* ./parser//parser.nit:152 */
4209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4210 /* ./parser//parser.nit:820 */
4211 REGB0 = TAG_Int(131);
4212 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
4213 /* ./parser//parser.nit:152 */
4214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4215 /* ./parser//parser.nit:821 */
4216 REGB0 = TAG_Int(131);
4217 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
4218 /* ./parser//parser.nit:152 */
4219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4220 /* ./parser//parser.nit:822 */
4221 REGB0 = TAG_Int(132);
4222 fra.me.REG[2] = NEW_ReduceAction669_parser___ReduceAction___init(REGB0);
4223 /* ./parser//parser.nit:152 */
4224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4225 /* ./parser//parser.nit:823 */
4226 REGB0 = TAG_Int(132);
4227 fra.me.REG[2] = NEW_ReduceAction670_parser___ReduceAction___init(REGB0);
4228 /* ./parser//parser.nit:152 */
4229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4230 /* ./parser//parser.nit:824 */
4231 REGB0 = TAG_Int(133);
4232 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4233 /* ./parser//parser.nit:152 */
4234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4235 /* ./parser//parser.nit:825 */
4236 REGB0 = TAG_Int(133);
4237 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
4238 /* ./parser//parser.nit:152 */
4239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4240 /* ./parser//parser.nit:826 */
4241 REGB0 = TAG_Int(133);
4242 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
4243 /* ./parser//parser.nit:152 */
4244 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4245 /* ./parser//parser.nit:827 */
4246 REGB0 = TAG_Int(134);
4247 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
4248 /* ./parser//parser.nit:152 */
4249 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4250 /* ./parser//parser.nit:828 */
4251 REGB0 = TAG_Int(134);
4252 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
4253 /* ./parser//parser.nit:152 */
4254 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4255 /* ./parser//parser.nit:829 */
4256 REGB0 = TAG_Int(134);
4257 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
4258 /* ./parser//parser.nit:152 */
4259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4260 /* ./parser//parser.nit:830 */
4261 REGB0 = TAG_Int(135);
4262 fra.me.REG[2] = NEW_ReduceAction677_parser___ReduceAction___init(REGB0);
4263 /* ./parser//parser.nit:152 */
4264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4265 /* ./parser//parser.nit:831 */
4266 REGB0 = TAG_Int(135);
4267 fra.me.REG[2] = NEW_ReduceAction678_parser___ReduceAction___init(REGB0);
4268 /* ./parser//parser.nit:152 */
4269 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4270 /* ./parser//parser.nit:832 */
4271 REGB0 = TAG_Int(136);
4272 fra.me.REG[2] = NEW_ReduceAction679_parser___ReduceAction___init(REGB0);
4273 /* ./parser//parser.nit:152 */
4274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4275 /* ./parser//parser.nit:833 */
4276 REGB0 = TAG_Int(136);
4277 fra.me.REG[2] = NEW_ReduceAction680_parser___ReduceAction___init(REGB0);
4278 /* ./parser//parser.nit:152 */
4279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4280 /* ./parser//parser.nit:834 */
4281 REGB0 = TAG_Int(137);
4282 fra.me.REG[2] = NEW_ReduceAction681_parser___ReduceAction___init(REGB0);
4283 /* ./parser//parser.nit:152 */
4284 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4285 /* ./parser//parser.nit:835 */
4286 REGB0 = TAG_Int(137);
4287 fra.me.REG[2] = NEW_ReduceAction682_parser___ReduceAction___init(REGB0);
4288 /* ./parser//parser.nit:152 */
4289 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4290 /* ./parser//parser.nit:836 */
4291 REGB0 = TAG_Int(138);
4292 fra.me.REG[2] = NEW_ReduceAction683_parser___ReduceAction___init(REGB0);
4293 /* ./parser//parser.nit:152 */
4294 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4295 /* ./parser//parser.nit:837 */
4296 REGB0 = TAG_Int(138);
4297 fra.me.REG[2] = NEW_ReduceAction684_parser___ReduceAction___init(REGB0);
4298 /* ./parser//parser.nit:152 */
4299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4300 /* ./parser//parser.nit:838 */
4301 REGB0 = TAG_Int(139);
4302 fra.me.REG[2] = NEW_ReduceAction681_parser___ReduceAction___init(REGB0);
4303 /* ./parser//parser.nit:152 */
4304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4305 /* ./parser//parser.nit:839 */
4306 REGB0 = TAG_Int(139);
4307 fra.me.REG[2] = NEW_ReduceAction682_parser___ReduceAction___init(REGB0);
4308 /* ./parser//parser.nit:152 */
4309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4310 /* ./parser//parser.nit:840 */
4311 REGB0 = TAG_Int(140);
4312 fra.me.REG[2] = NEW_ReduceAction687_parser___ReduceAction___init(REGB0);
4313 /* ./parser//parser.nit:152 */
4314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4315 /* ./parser//parser.nit:841 */
4316 REGB0 = TAG_Int(140);
4317 fra.me.REG[2] = NEW_ReduceAction688_parser___ReduceAction___init(REGB0);
4318 /* ./parser//parser.nit:152 */
4319 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4320 /* ./parser//parser.nit:842 */
4321 REGB0 = TAG_Int(141);
4322 fra.me.REG[2] = NEW_ReduceAction689_parser___ReduceAction___init(REGB0);
4323 /* ./parser//parser.nit:152 */
4324 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4325 /* ./parser//parser.nit:843 */
4326 REGB0 = TAG_Int(141);
4327 fra.me.REG[2] = NEW_ReduceAction690_parser___ReduceAction___init(REGB0);
4328 /* ./parser//parser.nit:152 */
4329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4330 /* ./parser//parser.nit:844 */
4331 REGB0 = TAG_Int(142);
4332 fra.me.REG[2] = NEW_ReduceAction691_parser___ReduceAction___init(REGB0);
4333 /* ./parser//parser.nit:152 */
4334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4335 /* ./parser//parser.nit:845 */
4336 REGB0 = TAG_Int(142);
4337 fra.me.REG[2] = NEW_ReduceAction692_parser___ReduceAction___init(REGB0);
4338 /* ./parser//parser.nit:152 */
4339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4340 /* ./parser//parser.nit:846 */
4341 REGB0 = TAG_Int(143);
4342 fra.me.REG[2] = NEW_ReduceAction198_parser___ReduceAction___init(REGB0);
4343 /* ./parser//parser.nit:152 */
4344 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4345 /* ./parser//parser.nit:847 */
4346 REGB0 = TAG_Int(143);
4347 fra.me.REG[2] = NEW_ReduceAction694_parser___ReduceAction___init(REGB0);
4348 /* ./parser//parser.nit:152 */
4349 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4350 /* ./parser//parser.nit:848 */
4351 REGB0 = TAG_Int(144);
4352 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
4353 /* ./parser//parser.nit:152 */
4354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4355 /* ./parser//parser.nit:849 */
4356 REGB0 = TAG_Int(144);
4357 fra.me.REG[2] = NEW_ReduceAction696_parser___ReduceAction___init(REGB0);
4358 /* ./parser//parser.nit:152 */
4359 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4360 /* ./parser//parser.nit:850 */
4361 REGB0 = TAG_Int(145);
4362 fra.me.REG[2] = NEW_ReduceAction697_parser___ReduceAction___init(REGB0);
4363 /* ./parser//parser.nit:152 */
4364 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4365 /* ./parser//parser.nit:851 */
4366 REGB0 = TAG_Int(145);
4367 fra.me.REG[2] = NEW_ReduceAction698_parser___ReduceAction___init(REGB0);
4368 /* ./parser//parser.nit:152 */
4369 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4370 /* ./parser//parser.nit:852 */
4371 REGB0 = TAG_Int(146);
4372 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
4373 /* ./parser//parser.nit:152 */
4374 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4375 /* ./parser//parser.nit:853 */
4376 REGB0 = TAG_Int(146);
4377 fra.me.REG[2] = NEW_ReduceAction696_parser___ReduceAction___init(REGB0);
4378 /* ./parser//parser.nit:152 */
4379 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4380 /* ./parser//parser.nit:854 */
4381 REGB0 = TAG_Int(147);
4382 fra.me.REG[2] = NEW_ReduceAction379_parser___ReduceAction___init(REGB0);
4383 /* ./parser//parser.nit:152 */
4384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4385 /* ./parser//parser.nit:855 */
4386 REGB0 = TAG_Int(147);
4387 fra.me.REG[2] = NEW_ReduceAction702_parser___ReduceAction___init(REGB0);
4388 /* ./parser//parser.nit:152 */
4389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4390 /* ./parser//parser.nit:856 */
4391 REGB0 = TAG_Int(148);
4392 fra.me.REG[2] = NEW_ReduceAction703_parser___ReduceAction___init(REGB0);
4393 /* ./parser//parser.nit:152 */
4394 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4395 /* ./parser//parser.nit:857 */
4396 REGB0 = TAG_Int(148);
4397 fra.me.REG[2] = NEW_ReduceAction704_parser___ReduceAction___init(REGB0);
4398 /* ./parser//parser.nit:152 */
4399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4400 /* ./parser//parser.nit:858 */
4401 REGB0 = TAG_Int(149);
4402 fra.me.REG[2] = NEW_ReduceAction705_parser___ReduceAction___init(REGB0);
4403 /* ./parser//parser.nit:152 */
4404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4405 /* ./parser//parser.nit:859 */
4406 REGB0 = TAG_Int(149);
4407 fra.me.REG[2] = NEW_ReduceAction706_parser___ReduceAction___init(REGB0);
4408 /* ./parser//parser.nit:152 */
4409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4410 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_items(fra.me.REG[1]);
4411 ATTR_parser___Parser____reduce_table(fra.me.REG[0]) = fra.me.REG[1];
4412 stack_frame_head = fra.me.prev;
4413 return;
4414 }
4415 void parser___ComputeProdLocationVisitor___visit(val_t p0, val_t p1){
4416 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
4417 val_t REGB0;
4418 val_t REGB1;
4419 val_t REGB2;
4420 val_t REGB3;
4421 val_t REGB4;
4422 val_t tmp;
4423 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4424 fra.me.file = LOCATE_parser;
4425 fra.me.line = 890;
4426 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___visit;
4427 fra.me.has_broke = 0;
4428 fra.me.REG_size = 9;
4429 fra.me.REG[0] = NIT_NULL;
4430 fra.me.REG[1] = NIT_NULL;
4431 fra.me.REG[2] = NIT_NULL;
4432 fra.me.REG[3] = NIT_NULL;
4433 fra.me.REG[4] = NIT_NULL;
4434 fra.me.REG[5] = NIT_NULL;
4435 fra.me.REG[6] = NIT_NULL;
4436 fra.me.REG[7] = NIT_NULL;
4437 fra.me.REG[8] = NIT_NULL;
4438 fra.me.REG[0] = p0;
4439 fra.me.REG[1] = p1;
4440 /* ./parser//parser.nit:892 */
4441 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4442 if (UNTAG_Bool(REGB0)) {
4443 } else {
4444 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4445 if (UNTAG_Bool(REGB1)) {
4446 REGB1 = TAG_Bool(false);
4447 REGB0 = REGB1;
4448 } else {
4449 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
4450 REGB0 = REGB1;
4451 }
4452 }
4453 if (UNTAG_Bool(REGB0)) {
4454 /* ./parser//parser.nit:893 */
4455 goto label1;
4456 } else {
4457 /* ./parser//parser.nit:894 */
4458 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*/;
4459 if (UNTAG_Bool(REGB0)) {
4460 /* ./parser//parser.nit:895 */
4461 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4462 if (UNTAG_Bool(REGB0)) {
4463 nit_abort("Reciever is null", NULL, LOCATE_parser, 895);
4464 }
4465 fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]);
4466 /* ./parser//parser.nit:896 */
4467 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
4468 /* ./parser//parser.nit:899 */
4469 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
4470 if (UNTAG_Bool(REGB0)) {
4471 } else {
4472 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 899);
4473 }
4474 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
4475 /* ./../lib/standard//collection//array.nit:232 */
4476 REGB0 = TAG_Int(0);
4477 /* ./../lib/standard//collection//array.nit:233 */
4478 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
4479 if (UNTAG_Bool(REGB1)) {
4480 } else {
4481 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 233);
4482 }
4483 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
4484 /* ./../lib/standard//collection//array.nit:234 */
4485 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
4486 /* ./../lib/standard//collection//array.nit:235 */
4487 while(1) {
4488 /* ./../lib/standard//collection//array.nit:23 */
4489 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
4490 if (UNTAG_Bool(REGB1)) {
4491 } else {
4492 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
4493 }
4494 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
4495 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
4496 if (UNTAG_Bool(REGB2)) {
4497 } else {
4498 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4499 }
4500 /* ./../lib/standard//kernel.nit:215 */
4501 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
4502 /* ./../lib/standard//collection//array.nit:235 */
4503 if (UNTAG_Bool(REGB1)) {
4504 /* ./../lib/standard//collection//array.nit:236 */
4505 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4506 if (UNTAG_Bool(REGB1)) {
4507 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 236);
4508 }
4509 /* ./../lib/standard//collection//array.nit:652 */
4510 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
4511 /* ./parser//parser.nit:900 */
4512 ATTR_parser___Prod____first_location(fra.me.REG[5]) = fra.me.REG[2];
4513 /* ./../lib/standard//collection//array.nit:237 */
4514 REGB1 = TAG_Int(1);
4515 /* ./../lib/standard//kernel.nit:218 */
4516 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
4517 /* ./../lib/standard//collection//array.nit:237 */
4518 REGB0 = REGB1;
4519 } else {
4520 /* ./../lib/standard//collection//array.nit:235 */
4521 goto label2;
4522 }
4523 }
4524 label2: while(0);
4525 /* ./parser//parser.nit:902 */
4526 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
4527 if (UNTAG_Bool(REGB0)) {
4528 } else {
4529 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 902);
4530 }
4531 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
4532 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
4533 /* ./parser//parser.nit:905 */
4534 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4535 if (UNTAG_Bool(REGB0)) {
4536 } else {
4537 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 905);
4538 }
4539 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4540 /* ./../lib/standard//collection//array.nit:232 */
4541 REGB0 = TAG_Int(0);
4542 /* ./../lib/standard//collection//array.nit:233 */
4543 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
4544 if (UNTAG_Bool(REGB1)) {
4545 } else {
4546 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 233);
4547 }
4548 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
4549 /* ./../lib/standard//collection//array.nit:234 */
4550 fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
4551 /* ./../lib/standard//collection//array.nit:235 */
4552 while(1) {
4553 /* ./../lib/standard//collection//array.nit:23 */
4554 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
4555 if (UNTAG_Bool(REGB1)) {
4556 } else {
4557 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
4558 }
4559 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
4560 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
4561 if (UNTAG_Bool(REGB2)) {
4562 } else {
4563 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4564 }
4565 /* ./../lib/standard//kernel.nit:215 */
4566 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
4567 /* ./../lib/standard//collection//array.nit:235 */
4568 if (UNTAG_Bool(REGB1)) {
4569 /* ./../lib/standard//collection//array.nit:236 */
4570 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4571 if (UNTAG_Bool(REGB1)) {
4572 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 236);
4573 }
4574 /* ./../lib/standard//collection//array.nit:652 */
4575 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
4576 /* ./parser//parser.nit:908 */
4577 fra.me.REG[6] = fra.me.REG[2];
4578 /* ./parser//parser.nit:909 */
4579 fra.me.REG[7] = ATTR_parser___Prod____last_location(fra.me.REG[5]);
4580 /* ./parser//parser.nit:910 */
4581 fra.me.REG[8] = CALL_location___Location___file(fra.me.REG[6])(fra.me.REG[6]);
4582 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
4583 if (UNTAG_Bool(REGB1)) {
4584 nit_abort("Reciever is null", NULL, LOCATE_parser, 910);
4585 }
4586 REGB1 = CALL_location___Location___line_end(fra.me.REG[7])(fra.me.REG[7]);
4587 REGB2 = CALL_location___Location___line_start(fra.me.REG[6])(fra.me.REG[6]);
4588 REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
4589 if (UNTAG_Bool(REGB3)) {
4590 nit_abort("Reciever is null", NULL, LOCATE_parser, 910);
4591 }
4592 REGB3 = CALL_location___Location___column_end(fra.me.REG[7])(fra.me.REG[7]);
4593 REGB4 = CALL_location___Location___column_start(fra.me.REG[6])(fra.me.REG[6]);
4594 fra.me.REG[8] = NEW_Location_location___Location___init(fra.me.REG[8], REGB1, REGB2, REGB3, REGB4);
4595 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[8]);
4596 /* ./../lib/standard//collection//array.nit:237 */
4597 REGB4 = TAG_Int(1);
4598 /* ./../lib/standard//kernel.nit:218 */
4599 REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
4600 /* ./../lib/standard//collection//array.nit:237 */
4601 REGB0 = REGB4;
4602 } else {
4603 /* ./../lib/standard//collection//array.nit:235 */
4604 goto label3;
4605 }
4606 }
4607 label3: while(0);
4608 /* ./parser//parser.nit:912 */
4609 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4610 if (UNTAG_Bool(REGB0)) {
4611 } else {
4612 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 912);
4613 }
4614 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4615 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[2])(fra.me.REG[2]);
4616 } else {
4617 /* ./parser//parser.nit:914 */
4618 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*/;
4619 if (UNTAG_Bool(REGB0)) {
4620 } else {
4621 nit_abort("Assert failed", NULL, LOCATE_parser, 914);
4622 }
4623 /* ./parser//parser.nit:915 */
4624 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
4625 if (UNTAG_Bool(REGB0)) {
4626 } else {
4627 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 915);
4628 }
4629 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
4630 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
4631 /* ./parser//parser.nit:917 */
4632 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
4633 /* ./parser//parser.nit:918 */
4634 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = NIT_NULL;
4635 /* ./parser//parser.nit:919 */
4636 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4637 if (UNTAG_Bool(REGB0)) {
4638 nit_abort("Reciever is null", NULL, LOCATE_parser, 919);
4639 }
4640 CALL_parser___parser_prod___ANode___visit_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
4641 /* ./parser//parser.nit:920 */
4642 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
4643 /* ./parser//parser.nit:921 */
4644 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4645 if (UNTAG_Bool(REGB0)) {
4646 } else {
4647 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4648 if (UNTAG_Bool(REGB4)) {
4649 REGB4 = TAG_Bool(false);
4650 REGB0 = REGB4;
4651 } else {
4652 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
4653 REGB0 = REGB4;
4654 }
4655 }
4656 if (UNTAG_Bool(REGB0)) {
4657 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
4658 }
4659 /* ./parser//parser.nit:923 */
4660 ATTR_parser___Prod____last_location(fra.me.REG[1]) = fra.me.REG[3];
4661 /* ./parser//parser.nit:924 */
4662 fra.me.REG[2] = ATTR_parser___Prod____first_location(fra.me.REG[1]);
4663 /* ./parser//parser.nit:925 */
4664 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4665 if (UNTAG_Bool(REGB0)) {
4666 } else {
4667 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4668 if (UNTAG_Bool(REGB4)) {
4669 REGB4 = TAG_Bool(false);
4670 REGB0 = REGB4;
4671 } else {
4672 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4673 REGB0 = REGB4;
4674 }
4675 }
4676 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4677 if (UNTAG_Bool(REGB0)) {
4678 /* ./parser//parser.nit:927 */
4679 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4680 if (UNTAG_Bool(REGB0)) {
4681 } else {
4682 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4683 if (UNTAG_Bool(REGB4)) {
4684 REGB4 = TAG_Bool(false);
4685 REGB0 = REGB4;
4686 } else {
4687 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
4688 REGB0 = REGB4;
4689 }
4690 }
4691 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4692 if (UNTAG_Bool(REGB0)) {
4693 } else {
4694 nit_abort("Assert failed", NULL, LOCATE_parser, 927);
4695 }
4696 /* ./parser//parser.nit:929 */
4697 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4698 if (UNTAG_Bool(REGB0)) {
4699 nit_abort("Reciever is null", NULL, LOCATE_parser, 929);
4700 }
4701 fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
4702 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4703 if (UNTAG_Bool(REGB0)) {
4704 nit_abort("Reciever is null", NULL, LOCATE_parser, 929);
4705 }
4706 REGB0 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
4707 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4708 if (UNTAG_Bool(REGB4)) {
4709 nit_abort("Reciever is null", NULL, LOCATE_parser, 929);
4710 }
4711 REGB4 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
4712 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4713 if (UNTAG_Bool(REGB3)) {
4714 nit_abort("Reciever is null", NULL, LOCATE_parser, 929);
4715 }
4716 REGB3 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
4717 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4718 if (UNTAG_Bool(REGB2)) {
4719 nit_abort("Reciever is null", NULL, LOCATE_parser, 929);
4720 }
4721 REGB2 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
4722 fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB0, REGB4, REGB3, REGB2);
4723 REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4724 if (UNTAG_Bool(REGB2)) {
4725 nit_abort("Reciever is null", NULL, LOCATE_parser, 929);
4726 }
4727 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
4728 /* ./parser//parser.nit:931 */
4729 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
4730 if (UNTAG_Bool(REGB2)) {
4731 } else {
4732 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 931);
4733 }
4734 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
4735 /* ./../lib/standard//collection//array.nit:232 */
4736 REGB2 = TAG_Int(0);
4737 /* ./../lib/standard//collection//array.nit:233 */
4738 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
4739 if (UNTAG_Bool(REGB3)) {
4740 } else {
4741 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 233);
4742 }
4743 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
4744 /* ./../lib/standard//collection//array.nit:234 */
4745 fra.me.REG[8] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
4746 /* ./../lib/standard//collection//array.nit:235 */
4747 while(1) {
4748 /* ./../lib/standard//collection//array.nit:23 */
4749 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
4750 if (UNTAG_Bool(REGB3)) {
4751 } else {
4752 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
4753 }
4754 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
4755 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
4756 if (UNTAG_Bool(REGB4)) {
4757 } else {
4758 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4759 }
4760 /* ./../lib/standard//kernel.nit:215 */
4761 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
4762 /* ./../lib/standard//collection//array.nit:235 */
4763 if (UNTAG_Bool(REGB3)) {
4764 /* ./../lib/standard//collection//array.nit:236 */
4765 REGB3 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
4766 if (UNTAG_Bool(REGB3)) {
4767 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 236);
4768 }
4769 /* ./../lib/standard//collection//array.nit:652 */
4770 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[8])->val[UNTAG_Int(REGB2)];
4771 /* ./parser//parser.nit:934 */
4772 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4773 if (UNTAG_Bool(REGB3)) {
4774 nit_abort("Reciever is null", NULL, LOCATE_parser, 934);
4775 }
4776 fra.me.REG[6] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
4777 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4778 if (UNTAG_Bool(REGB3)) {
4779 nit_abort("Reciever is null", NULL, LOCATE_parser, 934);
4780 }
4781 REGB3 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
4782 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4783 if (UNTAG_Bool(REGB4)) {
4784 nit_abort("Reciever is null", NULL, LOCATE_parser, 934);
4785 }
4786 REGB4 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
4787 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4788 if (UNTAG_Bool(REGB0)) {
4789 nit_abort("Reciever is null", NULL, LOCATE_parser, 934);
4790 }
4791 REGB0 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
4792 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4793 if (UNTAG_Bool(REGB1)) {
4794 nit_abort("Reciever is null", NULL, LOCATE_parser, 934);
4795 }
4796 REGB1 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
4797 fra.me.REG[6] = NEW_Location_location___Location___init(fra.me.REG[6], REGB3, REGB4, REGB0, REGB1);
4798 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
4799 /* ./../lib/standard//collection//array.nit:237 */
4800 REGB1 = TAG_Int(1);
4801 /* ./../lib/standard//kernel.nit:218 */
4802 REGB1 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB1));
4803 /* ./../lib/standard//collection//array.nit:237 */
4804 REGB2 = REGB1;
4805 } else {
4806 /* ./../lib/standard//collection//array.nit:235 */
4807 goto label4;
4808 }
4809 }
4810 label4: while(0);
4811 /* ./parser//parser.nit:936 */
4812 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
4813 if (UNTAG_Bool(REGB2)) {
4814 } else {
4815 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 936);
4816 }
4817 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
4818 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[2])(fra.me.REG[2]);
4819 /* ./parser//parser.nit:938 */
4820 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4821 if (UNTAG_Bool(REGB2)) {
4822 } else {
4823 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 938);
4824 }
4825 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4826 /* ./../lib/standard//collection//array.nit:232 */
4827 REGB2 = TAG_Int(0);
4828 /* ./../lib/standard//collection//array.nit:233 */
4829 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
4830 if (UNTAG_Bool(REGB1)) {
4831 } else {
4832 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 233);
4833 }
4834 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
4835 /* ./../lib/standard//collection//array.nit:234 */
4836 fra.me.REG[8] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
4837 /* ./../lib/standard//collection//array.nit:235 */
4838 while(1) {
4839 /* ./../lib/standard//collection//array.nit:23 */
4840 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
4841 if (UNTAG_Bool(REGB1)) {
4842 } else {
4843 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
4844 }
4845 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
4846 REGB0 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
4847 if (UNTAG_Bool(REGB0)) {
4848 } else {
4849 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
4850 }
4851 /* ./../lib/standard//kernel.nit:215 */
4852 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
4853 /* ./../lib/standard//collection//array.nit:235 */
4854 if (UNTAG_Bool(REGB1)) {
4855 /* ./../lib/standard//collection//array.nit:236 */
4856 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
4857 if (UNTAG_Bool(REGB1)) {
4858 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 236);
4859 }
4860 /* ./../lib/standard//collection//array.nit:652 */
4861 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[8])->val[UNTAG_Int(REGB2)];
4862 /* ./parser//parser.nit:941 */
4863 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4864 if (UNTAG_Bool(REGB1)) {
4865 nit_abort("Reciever is null", NULL, LOCATE_parser, 941);
4866 }
4867 fra.me.REG[6] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]);
4868 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4869 if (UNTAG_Bool(REGB1)) {
4870 nit_abort("Reciever is null", NULL, LOCATE_parser, 941);
4871 }
4872 REGB1 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
4873 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4874 if (UNTAG_Bool(REGB0)) {
4875 nit_abort("Reciever is null", NULL, LOCATE_parser, 941);
4876 }
4877 REGB0 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
4878 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4879 if (UNTAG_Bool(REGB4)) {
4880 nit_abort("Reciever is null", NULL, LOCATE_parser, 941);
4881 }
4882 REGB4 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
4883 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4884 if (UNTAG_Bool(REGB3)) {
4885 nit_abort("Reciever is null", NULL, LOCATE_parser, 941);
4886 }
4887 REGB3 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
4888 fra.me.REG[6] = NEW_Location_location___Location___init(fra.me.REG[6], REGB1, REGB0, REGB4, REGB3);
4889 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[6]);
4890 /* ./../lib/standard//collection//array.nit:237 */
4891 REGB3 = TAG_Int(1);
4892 /* ./../lib/standard//kernel.nit:218 */
4893 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
4894 /* ./../lib/standard//collection//array.nit:237 */
4895 REGB2 = REGB3;
4896 } else {
4897 /* ./../lib/standard//collection//array.nit:235 */
4898 goto label5;
4899 }
4900 }
4901 label5: while(0);
4902 /* ./parser//parser.nit:943 */
4903 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4904 if (UNTAG_Bool(REGB2)) {
4905 } else {
4906 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 943);
4907 }
4908 fra.me.REG[8] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4909 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[8])(fra.me.REG[8]);
4910 } else {
4911 /* ./parser//parser.nit:947 */
4912 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4913 if (UNTAG_Bool(REGB2)) {
4914 } else {
4915 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4916 if (UNTAG_Bool(REGB3)) {
4917 REGB3 = TAG_Bool(false);
4918 REGB2 = REGB3;
4919 } else {
4920 REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
4921 REGB2 = REGB3;
4922 }
4923 }
4924 if (UNTAG_Bool(REGB2)) {
4925 /* ./parser//parser.nit:949 */
4926 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
4927 if (UNTAG_Bool(REGB2)) {
4928 } else {
4929 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 949);
4930 }
4931 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
4932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
4933 } else {
4934 /* ./parser//parser.nit:952 */
4935 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
4936 if (UNTAG_Bool(REGB2)) {
4937 } else {
4938 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 952);
4939 }
4940 fra.me.REG[0] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
4941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
4942 }
4943 }
4944 }
4945 }
4946 label1: while(0);
4947 stack_frame_head = fra.me.prev;
4948 return;
4949 }
4950 void parser___ComputeProdLocationVisitor___init(val_t p0, int* init_table){
4951 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ComputeProdLocationVisitor].i;
4952 struct {struct stack_frame_t me;} fra;
4953 val_t tmp;
4954 if (init_table[itpos2]) return;
4955 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4956 fra.me.file = LOCATE_parser;
4957 fra.me.line = 958;
4958 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___init;
4959 fra.me.has_broke = 0;
4960 fra.me.REG_size = 1;
4961 fra.me.REG[0] = NIT_NULL;
4962 fra.me.REG[0] = p0;
4963 /* ./parser//parser.nit:958 */
4964 CALL_parser___parser_prod___Visitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
4965 stack_frame_head = fra.me.prev;
4966 init_table[itpos2] = 1;
4967 return;
4968 }
4969 void parser___ReduceAction___action(val_t p0, val_t p1){
4970 struct {struct stack_frame_t me;} fra;
4971 val_t tmp;
4972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4973 fra.me.file = LOCATE_parser;
4974 fra.me.line = 963;
4975 fra.me.meth = LOCATE_parser___ReduceAction___action;
4976 fra.me.has_broke = 0;
4977 fra.me.REG_size = 0;
4978 /* ./parser//parser.nit:963 */
4979 nit_abort("Deferred method called", NULL, LOCATE_parser, 963);
4980 stack_frame_head = fra.me.prev;
4981 return;
4982 }
4983 val_t parser___ReduceAction___concat(val_t p0, val_t p1, val_t p2){
4984 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4985 val_t REGB0;
4986 val_t tmp;
4987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4988 fra.me.file = LOCATE_parser;
4989 fra.me.line = 964;
4990 fra.me.meth = LOCATE_parser___ReduceAction___concat;
4991 fra.me.has_broke = 0;
4992 fra.me.REG_size = 3;
4993 fra.me.REG[0] = NIT_NULL;
4994 fra.me.REG[1] = NIT_NULL;
4995 fra.me.REG[2] = NIT_NULL;
4996 fra.me.REG[0] = p0;
4997 fra.me.REG[1] = p1;
4998 fra.me.REG[2] = p2;
4999 /* ./parser//parser.nit:966 */
5000 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
5001 if (UNTAG_Bool(REGB0)) {
5002 fra.me.REG[0] = fra.me.REG[2];
5003 goto label1;
5004 }
5005 /* ./parser//parser.nit:967 */
5006 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5007 /* ./parser//parser.nit:968 */
5008 fra.me.REG[0] = fra.me.REG[1];
5009 goto label1;
5010 label1: while(0);
5011 stack_frame_head = fra.me.prev;
5012 return fra.me.REG[0];
5013 }
5014 void parser___ReduceAction___init(val_t p0, val_t p1, int* init_table){
5015 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ReduceAction].i;
5016 struct {struct stack_frame_t me;} fra;
5017 val_t REGB0;
5018 val_t tmp;
5019 if (init_table[itpos3]) return;
5020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5021 fra.me.file = LOCATE_parser;
5022 fra.me.line = 971;
5023 fra.me.meth = LOCATE_parser___ReduceAction___init;
5024 fra.me.has_broke = 0;
5025 fra.me.REG_size = 1;
5026 fra.me.REG[0] = NIT_NULL;
5027 fra.me.REG[0] = p0;
5028 REGB0 = p1;
5029 /* ./parser//parser.nit:971 */
5030 ATTR_parser___ReduceAction____goto(fra.me.REG[0]) = REGB0;
5031 stack_frame_head = fra.me.prev;
5032 init_table[itpos3] = 1;
5033 return;
5034 }
5035 void parser___ReduceAction0___action(val_t p0, val_t p1){
5036 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
5037 val_t REGB0;
5038 val_t tmp;
5039 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5040 fra.me.file = LOCATE_parser;
5041 fra.me.line = 976;
5042 fra.me.meth = LOCATE_parser___ReduceAction0___action;
5043 fra.me.has_broke = 0;
5044 fra.me.REG_size = 5;
5045 fra.me.REG[0] = NIT_NULL;
5046 fra.me.REG[1] = NIT_NULL;
5047 fra.me.REG[2] = NIT_NULL;
5048 fra.me.REG[3] = NIT_NULL;
5049 fra.me.REG[4] = NIT_NULL;
5050 fra.me.REG[0] = p0;
5051 fra.me.REG[1] = p1;
5052 /* ./parser//parser.nit:978 */
5053 fra.me.REG[2] = NIT_NULL;
5054 /* ./parser//parser.nit:979 */
5055 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
5056 /* ./parser//parser.nit:980 */
5057 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5058 /* ./parser//parser.nit:981 */
5059 fra.me.REG[4] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
5060 /* ./parser//parser.nit:986 */
5061 fra.me.REG[2] = fra.me.REG[4];
5062 /* ./parser//parser.nit:987 */
5063 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5064 if (UNTAG_Bool(REGB0)) {
5065 } else {
5066 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 987);
5067 }
5068 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5069 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5070 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5071 stack_frame_head = fra.me.prev;
5072 return;
5073 }
5074 void parser___ReduceAction1___action(val_t p0, val_t p1){
5075 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5076 val_t REGB0;
5077 val_t tmp;
5078 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5079 fra.me.file = LOCATE_parser;
5080 fra.me.line = 992;
5081 fra.me.meth = LOCATE_parser___ReduceAction1___action;
5082 fra.me.has_broke = 0;
5083 fra.me.REG_size = 6;
5084 fra.me.REG[0] = NIT_NULL;
5085 fra.me.REG[1] = NIT_NULL;
5086 fra.me.REG[2] = NIT_NULL;
5087 fra.me.REG[3] = NIT_NULL;
5088 fra.me.REG[4] = NIT_NULL;
5089 fra.me.REG[5] = NIT_NULL;
5090 fra.me.REG[0] = p0;
5091 fra.me.REG[1] = p1;
5092 /* ./parser//parser.nit:994 */
5093 fra.me.REG[2] = NIT_NULL;
5094 /* ./parser//parser.nit:995 */
5095 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5096 /* ./parser//parser.nit:996 */
5097 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5098 /* ./parser//parser.nit:997 */
5099 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5100 /* ./parser//parser.nit:999 */
5101 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*/;
5102 if (UNTAG_Bool(REGB0)) {
5103 } else {
5104 nit_abort("Assert failed", NULL, LOCATE_parser, 999);
5105 }
5106 /* ./parser//parser.nit:1000 */
5107 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
5108 /* ./parser//parser.nit:1005 */
5109 fra.me.REG[2] = fra.me.REG[5];
5110 /* ./parser//parser.nit:1006 */
5111 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5112 if (UNTAG_Bool(REGB0)) {
5113 } else {
5114 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1006);
5115 }
5116 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5117 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5118 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5119 stack_frame_head = fra.me.prev;
5120 return;
5121 }
5122 void parser___ReduceAction2___action(val_t p0, val_t p1){
5123 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5124 val_t REGB0;
5125 val_t tmp;
5126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5127 fra.me.file = LOCATE_parser;
5128 fra.me.line = 1011;
5129 fra.me.meth = LOCATE_parser___ReduceAction2___action;
5130 fra.me.has_broke = 0;
5131 fra.me.REG_size = 6;
5132 fra.me.REG[0] = NIT_NULL;
5133 fra.me.REG[1] = NIT_NULL;
5134 fra.me.REG[2] = NIT_NULL;
5135 fra.me.REG[3] = NIT_NULL;
5136 fra.me.REG[4] = NIT_NULL;
5137 fra.me.REG[5] = NIT_NULL;
5138 fra.me.REG[0] = p0;
5139 fra.me.REG[1] = p1;
5140 /* ./parser//parser.nit:1013 */
5141 fra.me.REG[2] = NIT_NULL;
5142 /* ./parser//parser.nit:1014 */
5143 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5144 /* ./parser//parser.nit:1015 */
5145 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5146 /* ./parser//parser.nit:1016 */
5147 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5148 /* ./parser//parser.nit:1018 */
5149 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]*/;
5150 if (UNTAG_Bool(REGB0)) {
5151 } else {
5152 nit_abort("Assert failed", NULL, LOCATE_parser, 1018);
5153 }
5154 /* ./parser//parser.nit:1019 */
5155 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
5156 fra.me.REG[4] = fra.me.REG[3];
5157 /* ./parser//parser.nit:1020 */
5158 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
5159 /* ./parser//parser.nit:1025 */
5160 fra.me.REG[2] = fra.me.REG[5];
5161 /* ./parser//parser.nit:1026 */
5162 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5163 if (UNTAG_Bool(REGB0)) {
5164 } else {
5165 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1026);
5166 }
5167 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5168 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5169 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5170 stack_frame_head = fra.me.prev;
5171 return;
5172 }
5173 void parser___ReduceAction3___action(val_t p0, val_t p1){
5174 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5175 val_t REGB0;
5176 val_t tmp;
5177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5178 fra.me.file = LOCATE_parser;
5179 fra.me.line = 1031;
5180 fra.me.meth = LOCATE_parser___ReduceAction3___action;
5181 fra.me.has_broke = 0;
5182 fra.me.REG_size = 7;
5183 fra.me.REG[0] = NIT_NULL;
5184 fra.me.REG[1] = NIT_NULL;
5185 fra.me.REG[2] = NIT_NULL;
5186 fra.me.REG[3] = NIT_NULL;
5187 fra.me.REG[4] = NIT_NULL;
5188 fra.me.REG[5] = NIT_NULL;
5189 fra.me.REG[6] = NIT_NULL;
5190 fra.me.REG[0] = p0;
5191 fra.me.REG[1] = p1;
5192 /* ./parser//parser.nit:1033 */
5193 fra.me.REG[2] = NIT_NULL;
5194 /* ./parser//parser.nit:1034 */
5195 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5196 /* ./parser//parser.nit:1035 */
5197 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5198 /* ./parser//parser.nit:1036 */
5199 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5200 /* ./parser//parser.nit:1037 */
5201 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5202 /* ./parser//parser.nit:1039 */
5203 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*/;
5204 if (UNTAG_Bool(REGB0)) {
5205 } else {
5206 nit_abort("Assert failed", NULL, LOCATE_parser, 1039);
5207 }
5208 /* ./parser//parser.nit:1041 */
5209 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]*/;
5210 if (UNTAG_Bool(REGB0)) {
5211 } else {
5212 nit_abort("Assert failed", NULL, LOCATE_parser, 1041);
5213 }
5214 /* ./parser//parser.nit:1042 */
5215 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
5216 fra.me.REG[5] = fra.me.REG[3];
5217 /* ./parser//parser.nit:1043 */
5218 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
5219 /* ./parser//parser.nit:1048 */
5220 fra.me.REG[2] = fra.me.REG[6];
5221 /* ./parser//parser.nit:1049 */
5222 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5223 if (UNTAG_Bool(REGB0)) {
5224 } else {
5225 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1049);
5226 }
5227 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5228 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5229 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5230 stack_frame_head = fra.me.prev;
5231 return;
5232 }
5233 void parser___ReduceAction4___action(val_t p0, val_t p1){
5234 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5235 val_t REGB0;
5236 val_t tmp;
5237 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5238 fra.me.file = LOCATE_parser;
5239 fra.me.line = 1054;
5240 fra.me.meth = LOCATE_parser___ReduceAction4___action;
5241 fra.me.has_broke = 0;
5242 fra.me.REG_size = 6;
5243 fra.me.REG[0] = NIT_NULL;
5244 fra.me.REG[1] = NIT_NULL;
5245 fra.me.REG[2] = NIT_NULL;
5246 fra.me.REG[3] = NIT_NULL;
5247 fra.me.REG[4] = NIT_NULL;
5248 fra.me.REG[5] = NIT_NULL;
5249 fra.me.REG[0] = p0;
5250 fra.me.REG[1] = p1;
5251 /* ./parser//parser.nit:1056 */
5252 fra.me.REG[2] = NIT_NULL;
5253 /* ./parser//parser.nit:1057 */
5254 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5255 /* ./parser//parser.nit:1058 */
5256 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5257 /* ./parser//parser.nit:1059 */
5258 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5259 /* ./parser//parser.nit:1061 */
5260 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]*/;
5261 if (UNTAG_Bool(REGB0)) {
5262 } else {
5263 nit_abort("Assert failed", NULL, LOCATE_parser, 1061);
5264 }
5265 /* ./parser//parser.nit:1062 */
5266 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
5267 fra.me.REG[5] = fra.me.REG[3];
5268 /* ./parser//parser.nit:1063 */
5269 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
5270 /* ./parser//parser.nit:1068 */
5271 fra.me.REG[2] = fra.me.REG[5];
5272 /* ./parser//parser.nit:1069 */
5273 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5274 if (UNTAG_Bool(REGB0)) {
5275 } else {
5276 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1069);
5277 }
5278 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5279 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5280 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5281 stack_frame_head = fra.me.prev;
5282 return;
5283 }
5284 void parser___ReduceAction5___action(val_t p0, val_t p1){
5285 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5286 val_t REGB0;
5287 val_t tmp;
5288 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5289 fra.me.file = LOCATE_parser;
5290 fra.me.line = 1074;
5291 fra.me.meth = LOCATE_parser___ReduceAction5___action;
5292 fra.me.has_broke = 0;
5293 fra.me.REG_size = 7;
5294 fra.me.REG[0] = NIT_NULL;
5295 fra.me.REG[1] = NIT_NULL;
5296 fra.me.REG[2] = NIT_NULL;
5297 fra.me.REG[3] = NIT_NULL;
5298 fra.me.REG[4] = NIT_NULL;
5299 fra.me.REG[5] = NIT_NULL;
5300 fra.me.REG[6] = NIT_NULL;
5301 fra.me.REG[0] = p0;
5302 fra.me.REG[1] = p1;
5303 /* ./parser//parser.nit:1076 */
5304 fra.me.REG[2] = NIT_NULL;
5305 /* ./parser//parser.nit:1077 */
5306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5307 /* ./parser//parser.nit:1078 */
5308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5309 /* ./parser//parser.nit:1079 */
5310 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5311 /* ./parser//parser.nit:1080 */
5312 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5313 /* ./parser//parser.nit:1082 */
5314 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*/;
5315 if (UNTAG_Bool(REGB0)) {
5316 } else {
5317 nit_abort("Assert failed", NULL, LOCATE_parser, 1082);
5318 }
5319 /* ./parser//parser.nit:1084 */
5320 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]*/;
5321 if (UNTAG_Bool(REGB0)) {
5322 } else {
5323 nit_abort("Assert failed", NULL, LOCATE_parser, 1084);
5324 }
5325 /* ./parser//parser.nit:1085 */
5326 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
5327 fra.me.REG[6] = fra.me.REG[3];
5328 /* ./parser//parser.nit:1086 */
5329 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
5330 /* ./parser//parser.nit:1091 */
5331 fra.me.REG[2] = fra.me.REG[6];
5332 /* ./parser//parser.nit:1092 */
5333 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5334 if (UNTAG_Bool(REGB0)) {
5335 } else {
5336 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1092);
5337 }
5338 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5339 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5340 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5341 stack_frame_head = fra.me.prev;
5342 return;
5343 }
5344 void parser___ReduceAction6___action(val_t p0, val_t p1){
5345 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5346 val_t REGB0;
5347 val_t tmp;
5348 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5349 fra.me.file = LOCATE_parser;
5350 fra.me.line = 1097;
5351 fra.me.meth = LOCATE_parser___ReduceAction6___action;
5352 fra.me.has_broke = 0;
5353 fra.me.REG_size = 7;
5354 fra.me.REG[0] = NIT_NULL;
5355 fra.me.REG[1] = NIT_NULL;
5356 fra.me.REG[2] = NIT_NULL;
5357 fra.me.REG[3] = NIT_NULL;
5358 fra.me.REG[4] = NIT_NULL;
5359 fra.me.REG[5] = NIT_NULL;
5360 fra.me.REG[6] = NIT_NULL;
5361 fra.me.REG[0] = p0;
5362 fra.me.REG[1] = p1;
5363 /* ./parser//parser.nit:1099 */
5364 fra.me.REG[2] = NIT_NULL;
5365 /* ./parser//parser.nit:1100 */
5366 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5367 /* ./parser//parser.nit:1101 */
5368 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5369 /* ./parser//parser.nit:1102 */
5370 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5371 /* ./parser//parser.nit:1103 */
5372 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5373 /* ./parser//parser.nit:1105 */
5374 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]*/;
5375 if (UNTAG_Bool(REGB0)) {
5376 } else {
5377 nit_abort("Assert failed", NULL, LOCATE_parser, 1105);
5378 }
5379 /* ./parser//parser.nit:1106 */
5380 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
5381 fra.me.REG[5] = fra.me.REG[4];
5382 /* ./parser//parser.nit:1108 */
5383 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]*/;
5384 if (UNTAG_Bool(REGB0)) {
5385 } else {
5386 nit_abort("Assert failed", NULL, LOCATE_parser, 1108);
5387 }
5388 /* ./parser//parser.nit:1109 */
5389 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
5390 fra.me.REG[6] = fra.me.REG[3];
5391 /* ./parser//parser.nit:1110 */
5392 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
5393 /* ./parser//parser.nit:1115 */
5394 fra.me.REG[2] = fra.me.REG[6];
5395 /* ./parser//parser.nit:1116 */
5396 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5397 if (UNTAG_Bool(REGB0)) {
5398 } else {
5399 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1116);
5400 }
5401 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5402 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5403 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5404 stack_frame_head = fra.me.prev;
5405 return;
5406 }
5407 void parser___ReduceAction7___action(val_t p0, val_t p1){
5408 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
5409 val_t REGB0;
5410 val_t tmp;
5411 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5412 fra.me.file = LOCATE_parser;
5413 fra.me.line = 1121;
5414 fra.me.meth = LOCATE_parser___ReduceAction7___action;
5415 fra.me.has_broke = 0;
5416 fra.me.REG_size = 8;
5417 fra.me.REG[0] = NIT_NULL;
5418 fra.me.REG[1] = NIT_NULL;
5419 fra.me.REG[2] = NIT_NULL;
5420 fra.me.REG[3] = NIT_NULL;
5421 fra.me.REG[4] = NIT_NULL;
5422 fra.me.REG[5] = NIT_NULL;
5423 fra.me.REG[6] = NIT_NULL;
5424 fra.me.REG[7] = NIT_NULL;
5425 fra.me.REG[0] = p0;
5426 fra.me.REG[1] = p1;
5427 /* ./parser//parser.nit:1123 */
5428 fra.me.REG[2] = NIT_NULL;
5429 /* ./parser//parser.nit:1124 */
5430 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5431 /* ./parser//parser.nit:1125 */
5432 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5433 /* ./parser//parser.nit:1126 */
5434 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5435 /* ./parser//parser.nit:1127 */
5436 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5437 /* ./parser//parser.nit:1128 */
5438 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
5439 /* ./parser//parser.nit:1130 */
5440 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*/;
5441 if (UNTAG_Bool(REGB0)) {
5442 } else {
5443 nit_abort("Assert failed", NULL, LOCATE_parser, 1130);
5444 }
5445 /* ./parser//parser.nit:1132 */
5446 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]*/;
5447 if (UNTAG_Bool(REGB0)) {
5448 } else {
5449 nit_abort("Assert failed", NULL, LOCATE_parser, 1132);
5450 }
5451 /* ./parser//parser.nit:1133 */
5452 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
5453 fra.me.REG[6] = fra.me.REG[4];
5454 /* ./parser//parser.nit:1135 */
5455 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]*/;
5456 if (UNTAG_Bool(REGB0)) {
5457 } else {
5458 nit_abort("Assert failed", NULL, LOCATE_parser, 1135);
5459 }
5460 /* ./parser//parser.nit:1136 */
5461 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
5462 fra.me.REG[7] = fra.me.REG[3];
5463 /* ./parser//parser.nit:1137 */
5464 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
5465 /* ./parser//parser.nit:1142 */
5466 fra.me.REG[2] = fra.me.REG[7];
5467 /* ./parser//parser.nit:1143 */
5468 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5469 if (UNTAG_Bool(REGB0)) {
5470 } else {
5471 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1143);
5472 }
5473 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5474 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5475 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5476 stack_frame_head = fra.me.prev;
5477 return;
5478 }
5479 void parser___ReduceAction8___action(val_t p0, val_t p1){
5480 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5481 val_t REGB0;
5482 val_t REGB1;
5483 val_t tmp;
5484 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5485 fra.me.file = LOCATE_parser;
5486 fra.me.line = 1148;
5487 fra.me.meth = LOCATE_parser___ReduceAction8___action;
5488 fra.me.has_broke = 0;
5489 fra.me.REG_size = 7;
5490 fra.me.REG[0] = NIT_NULL;
5491 fra.me.REG[1] = NIT_NULL;
5492 fra.me.REG[2] = NIT_NULL;
5493 fra.me.REG[3] = NIT_NULL;
5494 fra.me.REG[4] = NIT_NULL;
5495 fra.me.REG[5] = NIT_NULL;
5496 fra.me.REG[6] = NIT_NULL;
5497 fra.me.REG[0] = p0;
5498 fra.me.REG[1] = p1;
5499 /* ./parser//parser.nit:1150 */
5500 fra.me.REG[2] = NIT_NULL;
5501 /* ./parser//parser.nit:1151 */
5502 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5503 /* ./parser//parser.nit:1152 */
5504 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5505 /* ./parser//parser.nit:1153 */
5506 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5507 /* ./parser//parser.nit:1154 */
5508 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5509 /* ./parser//parser.nit:1156 */
5510 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]*/;
5511 if (UNTAG_Bool(REGB0)) {
5512 } else {
5513 nit_abort("Assert failed", NULL, LOCATE_parser, 1156);
5514 }
5515 /* ./parser//parser.nit:1157 */
5516 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
5517 fra.me.REG[6] = fra.me.REG[3];
5518 /* ./parser//parser.nit:1158 */
5519 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
5520 /* ./parser//parser.nit:1161 */
5521 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
5522 if (UNTAG_Bool(REGB0)) {
5523 } else {
5524 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
5525 if (UNTAG_Bool(REGB1)) {
5526 REGB1 = TAG_Bool(false);
5527 REGB0 = REGB1;
5528 } else {
5529 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
5530 REGB0 = REGB1;
5531 }
5532 }
5533 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5534 if (UNTAG_Bool(REGB0)) {
5535 /* ./parser//parser.nit:1162 */
5536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
5537 }
5538 /* ./parser//parser.nit:1164 */
5539 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
5540 /* ./parser//parser.nit:1169 */
5541 fra.me.REG[2] = fra.me.REG[5];
5542 /* ./parser//parser.nit:1170 */
5543 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5544 if (UNTAG_Bool(REGB0)) {
5545 } else {
5546 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1170);
5547 }
5548 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5549 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5550 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5551 stack_frame_head = fra.me.prev;
5552 return;
5553 }
5554 void parser___ReduceAction9___action(val_t p0, val_t p1){
5555 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
5556 val_t REGB0;
5557 val_t REGB1;
5558 val_t tmp;
5559 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5560 fra.me.file = LOCATE_parser;
5561 fra.me.line = 1175;
5562 fra.me.meth = LOCATE_parser___ReduceAction9___action;
5563 fra.me.has_broke = 0;
5564 fra.me.REG_size = 8;
5565 fra.me.REG[0] = NIT_NULL;
5566 fra.me.REG[1] = NIT_NULL;
5567 fra.me.REG[2] = NIT_NULL;
5568 fra.me.REG[3] = NIT_NULL;
5569 fra.me.REG[4] = NIT_NULL;
5570 fra.me.REG[5] = NIT_NULL;
5571 fra.me.REG[6] = NIT_NULL;
5572 fra.me.REG[7] = NIT_NULL;
5573 fra.me.REG[0] = p0;
5574 fra.me.REG[1] = p1;
5575 /* ./parser//parser.nit:1177 */
5576 fra.me.REG[2] = NIT_NULL;
5577 /* ./parser//parser.nit:1178 */
5578 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5579 /* ./parser//parser.nit:1179 */
5580 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5581 /* ./parser//parser.nit:1180 */
5582 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5583 /* ./parser//parser.nit:1181 */
5584 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5585 /* ./parser//parser.nit:1183 */
5586 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*/;
5587 if (UNTAG_Bool(REGB0)) {
5588 } else {
5589 nit_abort("Assert failed", NULL, LOCATE_parser, 1183);
5590 }
5591 /* ./parser//parser.nit:1184 */
5592 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
5593 /* ./parser//parser.nit:1186 */
5594 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]*/;
5595 if (UNTAG_Bool(REGB0)) {
5596 } else {
5597 nit_abort("Assert failed", NULL, LOCATE_parser, 1186);
5598 }
5599 /* ./parser//parser.nit:1187 */
5600 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
5601 fra.me.REG[7] = fra.me.REG[3];
5602 /* ./parser//parser.nit:1188 */
5603 fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
5604 /* ./parser//parser.nit:1191 */
5605 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
5606 if (UNTAG_Bool(REGB0)) {
5607 } else {
5608 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
5609 if (UNTAG_Bool(REGB1)) {
5610 REGB1 = TAG_Bool(false);
5611 REGB0 = REGB1;
5612 } else {
5613 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
5614 REGB0 = REGB1;
5615 }
5616 }
5617 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5618 if (UNTAG_Bool(REGB0)) {
5619 /* ./parser//parser.nit:1192 */
5620 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
5621 }
5622 /* ./parser//parser.nit:1194 */
5623 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
5624 /* ./parser//parser.nit:1199 */
5625 fra.me.REG[2] = fra.me.REG[6];
5626 /* ./parser//parser.nit:1200 */
5627 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5628 if (UNTAG_Bool(REGB0)) {
5629 } else {
5630 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1200);
5631 }
5632 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5633 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5634 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5635 stack_frame_head = fra.me.prev;
5636 return;
5637 }
5638 void parser___ReduceAction10___action(val_t p0, val_t p1){
5639 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5640 val_t REGB0;
5641 val_t REGB1;
5642 val_t tmp;
5643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5644 fra.me.file = LOCATE_parser;
5645 fra.me.line = 1205;
5646 fra.me.meth = LOCATE_parser___ReduceAction10___action;
5647 fra.me.has_broke = 0;
5648 fra.me.REG_size = 7;
5649 fra.me.REG[0] = NIT_NULL;
5650 fra.me.REG[1] = NIT_NULL;
5651 fra.me.REG[2] = NIT_NULL;
5652 fra.me.REG[3] = NIT_NULL;
5653 fra.me.REG[4] = NIT_NULL;
5654 fra.me.REG[5] = NIT_NULL;
5655 fra.me.REG[6] = NIT_NULL;
5656 fra.me.REG[0] = p0;
5657 fra.me.REG[1] = p1;
5658 /* ./parser//parser.nit:1207 */
5659 fra.me.REG[2] = NIT_NULL;
5660 /* ./parser//parser.nit:1208 */
5661 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5662 /* ./parser//parser.nit:1209 */
5663 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5664 /* ./parser//parser.nit:1210 */
5665 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5666 /* ./parser//parser.nit:1211 */
5667 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5668 /* ./parser//parser.nit:1213 */
5669 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]*/;
5670 if (UNTAG_Bool(REGB0)) {
5671 } else {
5672 nit_abort("Assert failed", NULL, LOCATE_parser, 1213);
5673 }
5674 /* ./parser//parser.nit:1214 */
5675 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
5676 fra.me.REG[5] = fra.me.REG[4];
5677 /* ./parser//parser.nit:1215 */
5678 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5679 /* ./parser//parser.nit:1217 */
5680 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]*/;
5681 if (UNTAG_Bool(REGB0)) {
5682 } else {
5683 nit_abort("Assert failed", NULL, LOCATE_parser, 1217);
5684 }
5685 /* ./parser//parser.nit:1218 */
5686 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
5687 fra.me.REG[4] = fra.me.REG[3];
5688 /* ./parser//parser.nit:1219 */
5689 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
5690 /* ./parser//parser.nit:1222 */
5691 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
5692 if (UNTAG_Bool(REGB0)) {
5693 } else {
5694 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
5695 if (UNTAG_Bool(REGB1)) {
5696 REGB1 = TAG_Bool(false);
5697 REGB0 = REGB1;
5698 } else {
5699 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
5700 REGB0 = REGB1;
5701 }
5702 }
5703 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5704 if (UNTAG_Bool(REGB0)) {
5705 /* ./parser//parser.nit:1223 */
5706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
5707 }
5708 /* ./parser//parser.nit:1225 */
5709 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
5710 /* ./parser//parser.nit:1230 */
5711 fra.me.REG[2] = fra.me.REG[6];
5712 /* ./parser//parser.nit:1231 */
5713 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5714 if (UNTAG_Bool(REGB0)) {
5715 } else {
5716 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1231);
5717 }
5718 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5719 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5720 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5721 stack_frame_head = fra.me.prev;
5722 return;
5723 }
5724 void parser___ReduceAction11___action(val_t p0, val_t p1){
5725 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
5726 val_t REGB0;
5727 val_t REGB1;
5728 val_t tmp;
5729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5730 fra.me.file = LOCATE_parser;
5731 fra.me.line = 1236;
5732 fra.me.meth = LOCATE_parser___ReduceAction11___action;
5733 fra.me.has_broke = 0;
5734 fra.me.REG_size = 8;
5735 fra.me.REG[0] = NIT_NULL;
5736 fra.me.REG[1] = NIT_NULL;
5737 fra.me.REG[2] = NIT_NULL;
5738 fra.me.REG[3] = NIT_NULL;
5739 fra.me.REG[4] = NIT_NULL;
5740 fra.me.REG[5] = NIT_NULL;
5741 fra.me.REG[6] = NIT_NULL;
5742 fra.me.REG[7] = NIT_NULL;
5743 fra.me.REG[0] = p0;
5744 fra.me.REG[1] = p1;
5745 /* ./parser//parser.nit:1238 */
5746 fra.me.REG[2] = NIT_NULL;
5747 /* ./parser//parser.nit:1239 */
5748 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5749 /* ./parser//parser.nit:1240 */
5750 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5751 /* ./parser//parser.nit:1241 */
5752 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5753 /* ./parser//parser.nit:1242 */
5754 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5755 /* ./parser//parser.nit:1243 */
5756 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
5757 /* ./parser//parser.nit:1245 */
5758 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*/;
5759 if (UNTAG_Bool(REGB0)) {
5760 } else {
5761 nit_abort("Assert failed", NULL, LOCATE_parser, 1245);
5762 }
5763 /* ./parser//parser.nit:1247 */
5764 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]*/;
5765 if (UNTAG_Bool(REGB0)) {
5766 } else {
5767 nit_abort("Assert failed", NULL, LOCATE_parser, 1247);
5768 }
5769 /* ./parser//parser.nit:1248 */
5770 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
5771 fra.me.REG[6] = fra.me.REG[4];
5772 /* ./parser//parser.nit:1249 */
5773 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5774 /* ./parser//parser.nit:1251 */
5775 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]*/;
5776 if (UNTAG_Bool(REGB0)) {
5777 } else {
5778 nit_abort("Assert failed", NULL, LOCATE_parser, 1251);
5779 }
5780 /* ./parser//parser.nit:1252 */
5781 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
5782 fra.me.REG[4] = fra.me.REG[3];
5783 /* ./parser//parser.nit:1253 */
5784 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
5785 /* ./parser//parser.nit:1256 */
5786 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
5787 if (UNTAG_Bool(REGB0)) {
5788 } else {
5789 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
5790 if (UNTAG_Bool(REGB1)) {
5791 REGB1 = TAG_Bool(false);
5792 REGB0 = REGB1;
5793 } else {
5794 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
5795 REGB0 = REGB1;
5796 }
5797 }
5798 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5799 if (UNTAG_Bool(REGB0)) {
5800 /* ./parser//parser.nit:1257 */
5801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
5802 }
5803 /* ./parser//parser.nit:1259 */
5804 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
5805 /* ./parser//parser.nit:1264 */
5806 fra.me.REG[2] = fra.me.REG[7];
5807 /* ./parser//parser.nit:1265 */
5808 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5809 if (UNTAG_Bool(REGB0)) {
5810 } else {
5811 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1265);
5812 }
5813 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5814 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5815 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5816 stack_frame_head = fra.me.prev;
5817 return;
5818 }
5819 void parser___ReduceAction12___action(val_t p0, val_t p1){
5820 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
5821 val_t REGB0;
5822 val_t REGB1;
5823 val_t tmp;
5824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5825 fra.me.file = LOCATE_parser;
5826 fra.me.line = 1270;
5827 fra.me.meth = LOCATE_parser___ReduceAction12___action;
5828 fra.me.has_broke = 0;
5829 fra.me.REG_size = 8;
5830 fra.me.REG[0] = NIT_NULL;
5831 fra.me.REG[1] = NIT_NULL;
5832 fra.me.REG[2] = NIT_NULL;
5833 fra.me.REG[3] = NIT_NULL;
5834 fra.me.REG[4] = NIT_NULL;
5835 fra.me.REG[5] = NIT_NULL;
5836 fra.me.REG[6] = NIT_NULL;
5837 fra.me.REG[7] = NIT_NULL;
5838 fra.me.REG[0] = p0;
5839 fra.me.REG[1] = p1;
5840 /* ./parser//parser.nit:1272 */
5841 fra.me.REG[2] = NIT_NULL;
5842 /* ./parser//parser.nit:1273 */
5843 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5844 /* ./parser//parser.nit:1274 */
5845 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5846 /* ./parser//parser.nit:1275 */
5847 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5848 /* ./parser//parser.nit:1276 */
5849 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5850 /* ./parser//parser.nit:1278 */
5851 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]*/;
5852 if (UNTAG_Bool(REGB0)) {
5853 } else {
5854 nit_abort("Assert failed", NULL, LOCATE_parser, 1278);
5855 }
5856 /* ./parser//parser.nit:1279 */
5857 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
5858 /* ./parser//parser.nit:1281 */
5859 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]*/;
5860 if (UNTAG_Bool(REGB0)) {
5861 } else {
5862 nit_abort("Assert failed", NULL, LOCATE_parser, 1281);
5863 }
5864 /* ./parser//parser.nit:1282 */
5865 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
5866 fra.me.REG[7] = fra.me.REG[3];
5867 /* ./parser//parser.nit:1283 */
5868 fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
5869 /* ./parser//parser.nit:1286 */
5870 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
5871 fra.me.REG[6] = fra.me.REG[4];
5872 /* ./parser//parser.nit:1287 */
5873 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
5874 if (UNTAG_Bool(REGB0)) {
5875 } else {
5876 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
5877 if (UNTAG_Bool(REGB1)) {
5878 REGB1 = TAG_Bool(false);
5879 REGB0 = REGB1;
5880 } else {
5881 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
5882 REGB0 = REGB1;
5883 }
5884 }
5885 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5886 if (UNTAG_Bool(REGB0)) {
5887 /* ./parser//parser.nit:1288 */
5888 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
5889 }
5890 /* ./parser//parser.nit:1290 */
5891 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
5892 /* ./parser//parser.nit:1295 */
5893 fra.me.REG[2] = fra.me.REG[6];
5894 /* ./parser//parser.nit:1296 */
5895 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5896 if (UNTAG_Bool(REGB0)) {
5897 } else {
5898 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1296);
5899 }
5900 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5901 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5902 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5903 stack_frame_head = fra.me.prev;
5904 return;
5905 }
5906 void parser___ReduceAction13___action(val_t p0, val_t p1){
5907 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
5908 val_t REGB0;
5909 val_t REGB1;
5910 val_t tmp;
5911 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5912 fra.me.file = LOCATE_parser;
5913 fra.me.line = 1301;
5914 fra.me.meth = LOCATE_parser___ReduceAction13___action;
5915 fra.me.has_broke = 0;
5916 fra.me.REG_size = 9;
5917 fra.me.REG[0] = NIT_NULL;
5918 fra.me.REG[1] = NIT_NULL;
5919 fra.me.REG[2] = NIT_NULL;
5920 fra.me.REG[3] = NIT_NULL;
5921 fra.me.REG[4] = NIT_NULL;
5922 fra.me.REG[5] = NIT_NULL;
5923 fra.me.REG[6] = NIT_NULL;
5924 fra.me.REG[7] = NIT_NULL;
5925 fra.me.REG[8] = NIT_NULL;
5926 fra.me.REG[0] = p0;
5927 fra.me.REG[1] = p1;
5928 /* ./parser//parser.nit:1303 */
5929 fra.me.REG[2] = NIT_NULL;
5930 /* ./parser//parser.nit:1304 */
5931 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5932 /* ./parser//parser.nit:1305 */
5933 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5934 /* ./parser//parser.nit:1306 */
5935 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5936 /* ./parser//parser.nit:1307 */
5937 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5938 /* ./parser//parser.nit:1308 */
5939 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
5940 /* ./parser//parser.nit:1310 */
5941 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*/;
5942 if (UNTAG_Bool(REGB0)) {
5943 } else {
5944 nit_abort("Assert failed", NULL, LOCATE_parser, 1310);
5945 }
5946 /* ./parser//parser.nit:1312 */
5947 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]*/;
5948 if (UNTAG_Bool(REGB0)) {
5949 } else {
5950 nit_abort("Assert failed", NULL, LOCATE_parser, 1312);
5951 }
5952 /* ./parser//parser.nit:1313 */
5953 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
5954 /* ./parser//parser.nit:1315 */
5955 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]*/;
5956 if (UNTAG_Bool(REGB0)) {
5957 } else {
5958 nit_abort("Assert failed", NULL, LOCATE_parser, 1315);
5959 }
5960 /* ./parser//parser.nit:1316 */
5961 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
5962 fra.me.REG[8] = fra.me.REG[3];
5963 /* ./parser//parser.nit:1317 */
5964 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
5965 /* ./parser//parser.nit:1320 */
5966 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
5967 fra.me.REG[7] = fra.me.REG[4];
5968 /* ./parser//parser.nit:1321 */
5969 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
5970 if (UNTAG_Bool(REGB0)) {
5971 } else {
5972 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
5973 if (UNTAG_Bool(REGB1)) {
5974 REGB1 = TAG_Bool(false);
5975 REGB0 = REGB1;
5976 } else {
5977 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
5978 REGB0 = REGB1;
5979 }
5980 }
5981 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5982 if (UNTAG_Bool(REGB0)) {
5983 /* ./parser//parser.nit:1322 */
5984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
5985 }
5986 /* ./parser//parser.nit:1324 */
5987 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
5988 /* ./parser//parser.nit:1329 */
5989 fra.me.REG[2] = fra.me.REG[7];
5990 /* ./parser//parser.nit:1330 */
5991 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5992 if (UNTAG_Bool(REGB0)) {
5993 } else {
5994 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1330);
5995 }
5996 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5997 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5998 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5999 stack_frame_head = fra.me.prev;
6000 return;
6001 }
6002 void parser___ReduceAction14___action(val_t p0, val_t p1){
6003 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6004 val_t REGB0;
6005 val_t REGB1;
6006 val_t tmp;
6007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6008 fra.me.file = LOCATE_parser;
6009 fra.me.line = 1335;
6010 fra.me.meth = LOCATE_parser___ReduceAction14___action;
6011 fra.me.has_broke = 0;
6012 fra.me.REG_size = 8;
6013 fra.me.REG[0] = NIT_NULL;
6014 fra.me.REG[1] = NIT_NULL;
6015 fra.me.REG[2] = NIT_NULL;
6016 fra.me.REG[3] = NIT_NULL;
6017 fra.me.REG[4] = NIT_NULL;
6018 fra.me.REG[5] = NIT_NULL;
6019 fra.me.REG[6] = NIT_NULL;
6020 fra.me.REG[7] = NIT_NULL;
6021 fra.me.REG[0] = p0;
6022 fra.me.REG[1] = p1;
6023 /* ./parser//parser.nit:1337 */
6024 fra.me.REG[2] = NIT_NULL;
6025 /* ./parser//parser.nit:1338 */
6026 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6027 /* ./parser//parser.nit:1339 */
6028 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6029 /* ./parser//parser.nit:1340 */
6030 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6031 /* ./parser//parser.nit:1341 */
6032 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6033 /* ./parser//parser.nit:1342 */
6034 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6035 /* ./parser//parser.nit:1344 */
6036 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]*/;
6037 if (UNTAG_Bool(REGB0)) {
6038 } else {
6039 nit_abort("Assert failed", NULL, LOCATE_parser, 1344);
6040 }
6041 /* ./parser//parser.nit:1345 */
6042 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
6043 fra.me.REG[6] = fra.me.REG[5];
6044 /* ./parser//parser.nit:1347 */
6045 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]*/;
6046 if (UNTAG_Bool(REGB0)) {
6047 } else {
6048 nit_abort("Assert failed", NULL, LOCATE_parser, 1347);
6049 }
6050 /* ./parser//parser.nit:1348 */
6051 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6052 /* ./parser//parser.nit:1350 */
6053 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]*/;
6054 if (UNTAG_Bool(REGB0)) {
6055 } else {
6056 nit_abort("Assert failed", NULL, LOCATE_parser, 1350);
6057 }
6058 /* ./parser//parser.nit:1351 */
6059 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
6060 fra.me.REG[5] = fra.me.REG[3];
6061 /* ./parser//parser.nit:1352 */
6062 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
6063 /* ./parser//parser.nit:1355 */
6064 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6065 fra.me.REG[7] = fra.me.REG[4];
6066 /* ./parser//parser.nit:1356 */
6067 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
6068 if (UNTAG_Bool(REGB0)) {
6069 } else {
6070 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
6071 if (UNTAG_Bool(REGB1)) {
6072 REGB1 = TAG_Bool(false);
6073 REGB0 = REGB1;
6074 } else {
6075 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
6076 REGB0 = REGB1;
6077 }
6078 }
6079 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6080 if (UNTAG_Bool(REGB0)) {
6081 /* ./parser//parser.nit:1357 */
6082 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
6083 }
6084 /* ./parser//parser.nit:1359 */
6085 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
6086 /* ./parser//parser.nit:1364 */
6087 fra.me.REG[2] = fra.me.REG[7];
6088 /* ./parser//parser.nit:1365 */
6089 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6090 if (UNTAG_Bool(REGB0)) {
6091 } else {
6092 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1365);
6093 }
6094 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6095 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6096 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6097 stack_frame_head = fra.me.prev;
6098 return;
6099 }
6100 void parser___ReduceAction15___action(val_t p0, val_t p1){
6101 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6102 val_t REGB0;
6103 val_t REGB1;
6104 val_t tmp;
6105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6106 fra.me.file = LOCATE_parser;
6107 fra.me.line = 1370;
6108 fra.me.meth = LOCATE_parser___ReduceAction15___action;
6109 fra.me.has_broke = 0;
6110 fra.me.REG_size = 9;
6111 fra.me.REG[0] = NIT_NULL;
6112 fra.me.REG[1] = NIT_NULL;
6113 fra.me.REG[2] = NIT_NULL;
6114 fra.me.REG[3] = NIT_NULL;
6115 fra.me.REG[4] = NIT_NULL;
6116 fra.me.REG[5] = NIT_NULL;
6117 fra.me.REG[6] = NIT_NULL;
6118 fra.me.REG[7] = NIT_NULL;
6119 fra.me.REG[8] = NIT_NULL;
6120 fra.me.REG[0] = p0;
6121 fra.me.REG[1] = p1;
6122 /* ./parser//parser.nit:1372 */
6123 fra.me.REG[2] = NIT_NULL;
6124 /* ./parser//parser.nit:1373 */
6125 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6126 /* ./parser//parser.nit:1374 */
6127 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6128 /* ./parser//parser.nit:1375 */
6129 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6130 /* ./parser//parser.nit:1376 */
6131 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6132 /* ./parser//parser.nit:1377 */
6133 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6134 /* ./parser//parser.nit:1378 */
6135 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6136 /* ./parser//parser.nit:1380 */
6137 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*/;
6138 if (UNTAG_Bool(REGB0)) {
6139 } else {
6140 nit_abort("Assert failed", NULL, LOCATE_parser, 1380);
6141 }
6142 /* ./parser//parser.nit:1382 */
6143 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]*/;
6144 if (UNTAG_Bool(REGB0)) {
6145 } else {
6146 nit_abort("Assert failed", NULL, LOCATE_parser, 1382);
6147 }
6148 /* ./parser//parser.nit:1383 */
6149 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
6150 fra.me.REG[7] = fra.me.REG[5];
6151 /* ./parser//parser.nit:1385 */
6152 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]*/;
6153 if (UNTAG_Bool(REGB0)) {
6154 } else {
6155 nit_abort("Assert failed", NULL, LOCATE_parser, 1385);
6156 }
6157 /* ./parser//parser.nit:1386 */
6158 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6159 /* ./parser//parser.nit:1388 */
6160 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]*/;
6161 if (UNTAG_Bool(REGB0)) {
6162 } else {
6163 nit_abort("Assert failed", NULL, LOCATE_parser, 1388);
6164 }
6165 /* ./parser//parser.nit:1389 */
6166 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
6167 fra.me.REG[5] = fra.me.REG[3];
6168 /* ./parser//parser.nit:1390 */
6169 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
6170 /* ./parser//parser.nit:1393 */
6171 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
6172 fra.me.REG[8] = fra.me.REG[4];
6173 /* ./parser//parser.nit:1394 */
6174 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
6175 if (UNTAG_Bool(REGB0)) {
6176 } else {
6177 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
6178 if (UNTAG_Bool(REGB1)) {
6179 REGB1 = TAG_Bool(false);
6180 REGB0 = REGB1;
6181 } else {
6182 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
6183 REGB0 = REGB1;
6184 }
6185 }
6186 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6187 if (UNTAG_Bool(REGB0)) {
6188 /* ./parser//parser.nit:1395 */
6189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
6190 }
6191 /* ./parser//parser.nit:1397 */
6192 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
6193 /* ./parser//parser.nit:1402 */
6194 fra.me.REG[2] = fra.me.REG[8];
6195 /* ./parser//parser.nit:1403 */
6196 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6197 if (UNTAG_Bool(REGB0)) {
6198 } else {
6199 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1403);
6200 }
6201 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6202 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6203 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6204 stack_frame_head = fra.me.prev;
6205 return;
6206 }
6207 void parser___ReduceAction16___action(val_t p0, val_t p1){
6208 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
6209 val_t REGB0;
6210 val_t REGB1;
6211 val_t tmp;
6212 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6213 fra.me.file = LOCATE_parser;
6214 fra.me.line = 1408;
6215 fra.me.meth = LOCATE_parser___ReduceAction16___action;
6216 fra.me.has_broke = 0;
6217 fra.me.REG_size = 6;
6218 fra.me.REG[0] = NIT_NULL;
6219 fra.me.REG[1] = NIT_NULL;
6220 fra.me.REG[2] = NIT_NULL;
6221 fra.me.REG[3] = NIT_NULL;
6222 fra.me.REG[4] = NIT_NULL;
6223 fra.me.REG[5] = NIT_NULL;
6224 fra.me.REG[0] = p0;
6225 fra.me.REG[1] = p1;
6226 /* ./parser//parser.nit:1410 */
6227 fra.me.REG[2] = NIT_NULL;
6228 /* ./parser//parser.nit:1411 */
6229 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6230 /* ./parser//parser.nit:1412 */
6231 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
6232 /* ./parser//parser.nit:1413 */
6233 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6234 /* ./parser//parser.nit:1415 */
6235 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*/;
6236 if (UNTAG_Bool(REGB0)) {
6237 } else {
6238 nit_abort("Assert failed", NULL, LOCATE_parser, 1415);
6239 }
6240 /* ./parser//parser.nit:1416 */
6241 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6242 if (UNTAG_Bool(REGB0)) {
6243 } else {
6244 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6245 if (UNTAG_Bool(REGB1)) {
6246 REGB1 = TAG_Bool(false);
6247 REGB0 = REGB1;
6248 } else {
6249 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6250 REGB0 = REGB1;
6251 }
6252 }
6253 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6254 if (UNTAG_Bool(REGB0)) {
6255 /* ./parser//parser.nit:1417 */
6256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
6257 }
6258 /* ./parser//parser.nit:1419 */
6259 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
6260 /* ./parser//parser.nit:1424 */
6261 fra.me.REG[2] = fra.me.REG[5];
6262 /* ./parser//parser.nit:1425 */
6263 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6264 if (UNTAG_Bool(REGB0)) {
6265 } else {
6266 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1425);
6267 }
6268 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6269 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6270 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6271 stack_frame_head = fra.me.prev;
6272 return;
6273 }
6274 void parser___ReduceAction17___action(val_t p0, val_t p1){
6275 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6276 val_t REGB0;
6277 val_t REGB1;
6278 val_t tmp;
6279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6280 fra.me.file = LOCATE_parser;
6281 fra.me.line = 1430;
6282 fra.me.meth = LOCATE_parser___ReduceAction17___action;
6283 fra.me.has_broke = 0;
6284 fra.me.REG_size = 7;
6285 fra.me.REG[0] = NIT_NULL;
6286 fra.me.REG[1] = NIT_NULL;
6287 fra.me.REG[2] = NIT_NULL;
6288 fra.me.REG[3] = NIT_NULL;
6289 fra.me.REG[4] = NIT_NULL;
6290 fra.me.REG[5] = NIT_NULL;
6291 fra.me.REG[6] = NIT_NULL;
6292 fra.me.REG[0] = p0;
6293 fra.me.REG[1] = p1;
6294 /* ./parser//parser.nit:1432 */
6295 fra.me.REG[2] = NIT_NULL;
6296 /* ./parser//parser.nit:1433 */
6297 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6298 /* ./parser//parser.nit:1434 */
6299 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6300 /* ./parser//parser.nit:1435 */
6301 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6302 /* ./parser//parser.nit:1436 */
6303 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6304 /* ./parser//parser.nit:1438 */
6305 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*/;
6306 if (UNTAG_Bool(REGB0)) {
6307 } else {
6308 nit_abort("Assert failed", NULL, LOCATE_parser, 1438);
6309 }
6310 /* ./parser//parser.nit:1440 */
6311 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*/;
6312 if (UNTAG_Bool(REGB0)) {
6313 } else {
6314 nit_abort("Assert failed", NULL, LOCATE_parser, 1440);
6315 }
6316 /* ./parser//parser.nit:1441 */
6317 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6318 if (UNTAG_Bool(REGB0)) {
6319 } else {
6320 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6321 if (UNTAG_Bool(REGB1)) {
6322 REGB1 = TAG_Bool(false);
6323 REGB0 = REGB1;
6324 } else {
6325 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6326 REGB0 = REGB1;
6327 }
6328 }
6329 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6330 if (UNTAG_Bool(REGB0)) {
6331 /* ./parser//parser.nit:1442 */
6332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
6333 }
6334 /* ./parser//parser.nit:1444 */
6335 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
6336 /* ./parser//parser.nit:1449 */
6337 fra.me.REG[2] = fra.me.REG[6];
6338 /* ./parser//parser.nit:1450 */
6339 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6340 if (UNTAG_Bool(REGB0)) {
6341 } else {
6342 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1450);
6343 }
6344 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6345 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6346 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6347 stack_frame_head = fra.me.prev;
6348 return;
6349 }
6350 void parser___ReduceAction18___action(val_t p0, val_t p1){
6351 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6352 val_t REGB0;
6353 val_t REGB1;
6354 val_t tmp;
6355 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6356 fra.me.file = LOCATE_parser;
6357 fra.me.line = 1455;
6358 fra.me.meth = LOCATE_parser___ReduceAction18___action;
6359 fra.me.has_broke = 0;
6360 fra.me.REG_size = 7;
6361 fra.me.REG[0] = NIT_NULL;
6362 fra.me.REG[1] = NIT_NULL;
6363 fra.me.REG[2] = NIT_NULL;
6364 fra.me.REG[3] = NIT_NULL;
6365 fra.me.REG[4] = NIT_NULL;
6366 fra.me.REG[5] = NIT_NULL;
6367 fra.me.REG[6] = NIT_NULL;
6368 fra.me.REG[0] = p0;
6369 fra.me.REG[1] = p1;
6370 /* ./parser//parser.nit:1457 */
6371 fra.me.REG[2] = NIT_NULL;
6372 /* ./parser//parser.nit:1458 */
6373 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6374 /* ./parser//parser.nit:1459 */
6375 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6376 /* ./parser//parser.nit:1460 */
6377 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6378 /* ./parser//parser.nit:1461 */
6379 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6380 /* ./parser//parser.nit:1463 */
6381 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]*/;
6382 if (UNTAG_Bool(REGB0)) {
6383 } else {
6384 nit_abort("Assert failed", NULL, LOCATE_parser, 1463);
6385 }
6386 /* ./parser//parser.nit:1464 */
6387 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
6388 fra.me.REG[5] = fra.me.REG[4];
6389 /* ./parser//parser.nit:1466 */
6390 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*/;
6391 if (UNTAG_Bool(REGB0)) {
6392 } else {
6393 nit_abort("Assert failed", NULL, LOCATE_parser, 1466);
6394 }
6395 /* ./parser//parser.nit:1467 */
6396 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6397 if (UNTAG_Bool(REGB0)) {
6398 } else {
6399 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6400 if (UNTAG_Bool(REGB1)) {
6401 REGB1 = TAG_Bool(false);
6402 REGB0 = REGB1;
6403 } else {
6404 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6405 REGB0 = REGB1;
6406 }
6407 }
6408 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6409 if (UNTAG_Bool(REGB0)) {
6410 /* ./parser//parser.nit:1468 */
6411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
6412 }
6413 /* ./parser//parser.nit:1470 */
6414 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
6415 /* ./parser//parser.nit:1475 */
6416 fra.me.REG[2] = fra.me.REG[6];
6417 /* ./parser//parser.nit:1476 */
6418 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6419 if (UNTAG_Bool(REGB0)) {
6420 } else {
6421 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1476);
6422 }
6423 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6424 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6425 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6426 stack_frame_head = fra.me.prev;
6427 return;
6428 }
6429 void parser___ReduceAction19___action(val_t p0, val_t p1){
6430 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6431 val_t REGB0;
6432 val_t REGB1;
6433 val_t tmp;
6434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6435 fra.me.file = LOCATE_parser;
6436 fra.me.line = 1481;
6437 fra.me.meth = LOCATE_parser___ReduceAction19___action;
6438 fra.me.has_broke = 0;
6439 fra.me.REG_size = 8;
6440 fra.me.REG[0] = NIT_NULL;
6441 fra.me.REG[1] = NIT_NULL;
6442 fra.me.REG[2] = NIT_NULL;
6443 fra.me.REG[3] = NIT_NULL;
6444 fra.me.REG[4] = NIT_NULL;
6445 fra.me.REG[5] = NIT_NULL;
6446 fra.me.REG[6] = NIT_NULL;
6447 fra.me.REG[7] = NIT_NULL;
6448 fra.me.REG[0] = p0;
6449 fra.me.REG[1] = p1;
6450 /* ./parser//parser.nit:1483 */
6451 fra.me.REG[2] = NIT_NULL;
6452 /* ./parser//parser.nit:1484 */
6453 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6454 /* ./parser//parser.nit:1485 */
6455 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6456 /* ./parser//parser.nit:1486 */
6457 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6458 /* ./parser//parser.nit:1487 */
6459 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6460 /* ./parser//parser.nit:1488 */
6461 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6462 /* ./parser//parser.nit:1490 */
6463 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*/;
6464 if (UNTAG_Bool(REGB0)) {
6465 } else {
6466 nit_abort("Assert failed", NULL, LOCATE_parser, 1490);
6467 }
6468 /* ./parser//parser.nit:1492 */
6469 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]*/;
6470 if (UNTAG_Bool(REGB0)) {
6471 } else {
6472 nit_abort("Assert failed", NULL, LOCATE_parser, 1492);
6473 }
6474 /* ./parser//parser.nit:1493 */
6475 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6476 fra.me.REG[6] = fra.me.REG[4];
6477 /* ./parser//parser.nit:1495 */
6478 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*/;
6479 if (UNTAG_Bool(REGB0)) {
6480 } else {
6481 nit_abort("Assert failed", NULL, LOCATE_parser, 1495);
6482 }
6483 /* ./parser//parser.nit:1496 */
6484 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6485 if (UNTAG_Bool(REGB0)) {
6486 } else {
6487 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6488 if (UNTAG_Bool(REGB1)) {
6489 REGB1 = TAG_Bool(false);
6490 REGB0 = REGB1;
6491 } else {
6492 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6493 REGB0 = REGB1;
6494 }
6495 }
6496 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6497 if (UNTAG_Bool(REGB0)) {
6498 /* ./parser//parser.nit:1497 */
6499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
6500 }
6501 /* ./parser//parser.nit:1499 */
6502 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6503 /* ./parser//parser.nit:1504 */
6504 fra.me.REG[2] = fra.me.REG[7];
6505 /* ./parser//parser.nit:1505 */
6506 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6507 if (UNTAG_Bool(REGB0)) {
6508 } else {
6509 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1505);
6510 }
6511 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6512 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6513 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6514 stack_frame_head = fra.me.prev;
6515 return;
6516 }
6517 void parser___ReduceAction20___action(val_t p0, val_t p1){
6518 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6519 val_t REGB0;
6520 val_t REGB1;
6521 val_t tmp;
6522 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6523 fra.me.file = LOCATE_parser;
6524 fra.me.line = 1510;
6525 fra.me.meth = LOCATE_parser___ReduceAction20___action;
6526 fra.me.has_broke = 0;
6527 fra.me.REG_size = 7;
6528 fra.me.REG[0] = NIT_NULL;
6529 fra.me.REG[1] = NIT_NULL;
6530 fra.me.REG[2] = NIT_NULL;
6531 fra.me.REG[3] = NIT_NULL;
6532 fra.me.REG[4] = NIT_NULL;
6533 fra.me.REG[5] = NIT_NULL;
6534 fra.me.REG[6] = NIT_NULL;
6535 fra.me.REG[0] = p0;
6536 fra.me.REG[1] = p1;
6537 /* ./parser//parser.nit:1512 */
6538 fra.me.REG[2] = NIT_NULL;
6539 /* ./parser//parser.nit:1513 */
6540 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6541 /* ./parser//parser.nit:1514 */
6542 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6543 /* ./parser//parser.nit:1515 */
6544 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6545 /* ./parser//parser.nit:1516 */
6546 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6547 /* ./parser//parser.nit:1518 */
6548 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]*/;
6549 if (UNTAG_Bool(REGB0)) {
6550 } else {
6551 nit_abort("Assert failed", NULL, LOCATE_parser, 1518);
6552 }
6553 /* ./parser//parser.nit:1520 */
6554 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*/;
6555 if (UNTAG_Bool(REGB0)) {
6556 } else {
6557 nit_abort("Assert failed", NULL, LOCATE_parser, 1520);
6558 }
6559 /* ./parser//parser.nit:1521 */
6560 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6561 fra.me.REG[6] = fra.me.REG[4];
6562 /* ./parser//parser.nit:1522 */
6563 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6564 if (UNTAG_Bool(REGB0)) {
6565 } else {
6566 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6567 if (UNTAG_Bool(REGB1)) {
6568 REGB1 = TAG_Bool(false);
6569 REGB0 = REGB1;
6570 } else {
6571 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6572 REGB0 = REGB1;
6573 }
6574 }
6575 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6576 if (UNTAG_Bool(REGB0)) {
6577 /* ./parser//parser.nit:1523 */
6578 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
6579 }
6580 /* ./parser//parser.nit:1525 */
6581 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
6582 /* ./parser//parser.nit:1530 */
6583 fra.me.REG[2] = fra.me.REG[6];
6584 /* ./parser//parser.nit:1531 */
6585 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6586 if (UNTAG_Bool(REGB0)) {
6587 } else {
6588 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1531);
6589 }
6590 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6591 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6592 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6593 stack_frame_head = fra.me.prev;
6594 return;
6595 }
6596 void parser___ReduceAction21___action(val_t p0, val_t p1){
6597 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6598 val_t REGB0;
6599 val_t REGB1;
6600 val_t tmp;
6601 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6602 fra.me.file = LOCATE_parser;
6603 fra.me.line = 1536;
6604 fra.me.meth = LOCATE_parser___ReduceAction21___action;
6605 fra.me.has_broke = 0;
6606 fra.me.REG_size = 8;
6607 fra.me.REG[0] = NIT_NULL;
6608 fra.me.REG[1] = NIT_NULL;
6609 fra.me.REG[2] = NIT_NULL;
6610 fra.me.REG[3] = NIT_NULL;
6611 fra.me.REG[4] = NIT_NULL;
6612 fra.me.REG[5] = NIT_NULL;
6613 fra.me.REG[6] = NIT_NULL;
6614 fra.me.REG[7] = NIT_NULL;
6615 fra.me.REG[0] = p0;
6616 fra.me.REG[1] = p1;
6617 /* ./parser//parser.nit:1538 */
6618 fra.me.REG[2] = NIT_NULL;
6619 /* ./parser//parser.nit:1539 */
6620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6621 /* ./parser//parser.nit:1540 */
6622 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6623 /* ./parser//parser.nit:1541 */
6624 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6625 /* ./parser//parser.nit:1542 */
6626 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6627 /* ./parser//parser.nit:1543 */
6628 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6629 /* ./parser//parser.nit:1545 */
6630 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*/;
6631 if (UNTAG_Bool(REGB0)) {
6632 } else {
6633 nit_abort("Assert failed", NULL, LOCATE_parser, 1545);
6634 }
6635 /* ./parser//parser.nit:1547 */
6636 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]*/;
6637 if (UNTAG_Bool(REGB0)) {
6638 } else {
6639 nit_abort("Assert failed", NULL, LOCATE_parser, 1547);
6640 }
6641 /* ./parser//parser.nit:1549 */
6642 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*/;
6643 if (UNTAG_Bool(REGB0)) {
6644 } else {
6645 nit_abort("Assert failed", NULL, LOCATE_parser, 1549);
6646 }
6647 /* ./parser//parser.nit:1550 */
6648 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6649 fra.me.REG[7] = fra.me.REG[4];
6650 /* ./parser//parser.nit:1551 */
6651 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6652 if (UNTAG_Bool(REGB0)) {
6653 } else {
6654 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6655 if (UNTAG_Bool(REGB1)) {
6656 REGB1 = TAG_Bool(false);
6657 REGB0 = REGB1;
6658 } else {
6659 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6660 REGB0 = REGB1;
6661 }
6662 }
6663 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6664 if (UNTAG_Bool(REGB0)) {
6665 /* ./parser//parser.nit:1552 */
6666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
6667 }
6668 /* ./parser//parser.nit:1554 */
6669 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6670 /* ./parser//parser.nit:1559 */
6671 fra.me.REG[2] = fra.me.REG[7];
6672 /* ./parser//parser.nit:1560 */
6673 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6674 if (UNTAG_Bool(REGB0)) {
6675 } else {
6676 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1560);
6677 }
6678 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6679 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6680 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6681 stack_frame_head = fra.me.prev;
6682 return;
6683 }
6684 void parser___ReduceAction22___action(val_t p0, val_t p1){
6685 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6686 val_t REGB0;
6687 val_t REGB1;
6688 val_t tmp;
6689 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6690 fra.me.file = LOCATE_parser;
6691 fra.me.line = 1565;
6692 fra.me.meth = LOCATE_parser___ReduceAction22___action;
6693 fra.me.has_broke = 0;
6694 fra.me.REG_size = 8;
6695 fra.me.REG[0] = NIT_NULL;
6696 fra.me.REG[1] = NIT_NULL;
6697 fra.me.REG[2] = NIT_NULL;
6698 fra.me.REG[3] = NIT_NULL;
6699 fra.me.REG[4] = NIT_NULL;
6700 fra.me.REG[5] = NIT_NULL;
6701 fra.me.REG[6] = NIT_NULL;
6702 fra.me.REG[7] = NIT_NULL;
6703 fra.me.REG[0] = p0;
6704 fra.me.REG[1] = p1;
6705 /* ./parser//parser.nit:1567 */
6706 fra.me.REG[2] = NIT_NULL;
6707 /* ./parser//parser.nit:1568 */
6708 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6709 /* ./parser//parser.nit:1569 */
6710 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6711 /* ./parser//parser.nit:1570 */
6712 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6713 /* ./parser//parser.nit:1571 */
6714 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6715 /* ./parser//parser.nit:1572 */
6716 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6717 /* ./parser//parser.nit:1574 */
6718 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]*/;
6719 if (UNTAG_Bool(REGB0)) {
6720 } else {
6721 nit_abort("Assert failed", NULL, LOCATE_parser, 1574);
6722 }
6723 /* ./parser//parser.nit:1575 */
6724 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
6725 fra.me.REG[6] = fra.me.REG[5];
6726 /* ./parser//parser.nit:1577 */
6727 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]*/;
6728 if (UNTAG_Bool(REGB0)) {
6729 } else {
6730 nit_abort("Assert failed", NULL, LOCATE_parser, 1577);
6731 }
6732 /* ./parser//parser.nit:1579 */
6733 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*/;
6734 if (UNTAG_Bool(REGB0)) {
6735 } else {
6736 nit_abort("Assert failed", NULL, LOCATE_parser, 1579);
6737 }
6738 /* ./parser//parser.nit:1580 */
6739 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6740 fra.me.REG[7] = fra.me.REG[4];
6741 /* ./parser//parser.nit:1581 */
6742 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6743 if (UNTAG_Bool(REGB0)) {
6744 } else {
6745 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6746 if (UNTAG_Bool(REGB1)) {
6747 REGB1 = TAG_Bool(false);
6748 REGB0 = REGB1;
6749 } else {
6750 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6751 REGB0 = REGB1;
6752 }
6753 }
6754 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6755 if (UNTAG_Bool(REGB0)) {
6756 /* ./parser//parser.nit:1582 */
6757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
6758 }
6759 /* ./parser//parser.nit:1584 */
6760 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
6761 /* ./parser//parser.nit:1589 */
6762 fra.me.REG[2] = fra.me.REG[7];
6763 /* ./parser//parser.nit:1590 */
6764 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6765 if (UNTAG_Bool(REGB0)) {
6766 } else {
6767 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1590);
6768 }
6769 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6770 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6771 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6772 stack_frame_head = fra.me.prev;
6773 return;
6774 }
6775 void parser___ReduceAction23___action(val_t p0, val_t p1){
6776 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6777 val_t REGB0;
6778 val_t REGB1;
6779 val_t tmp;
6780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6781 fra.me.file = LOCATE_parser;
6782 fra.me.line = 1595;
6783 fra.me.meth = LOCATE_parser___ReduceAction23___action;
6784 fra.me.has_broke = 0;
6785 fra.me.REG_size = 9;
6786 fra.me.REG[0] = NIT_NULL;
6787 fra.me.REG[1] = NIT_NULL;
6788 fra.me.REG[2] = NIT_NULL;
6789 fra.me.REG[3] = NIT_NULL;
6790 fra.me.REG[4] = NIT_NULL;
6791 fra.me.REG[5] = NIT_NULL;
6792 fra.me.REG[6] = NIT_NULL;
6793 fra.me.REG[7] = NIT_NULL;
6794 fra.me.REG[8] = NIT_NULL;
6795 fra.me.REG[0] = p0;
6796 fra.me.REG[1] = p1;
6797 /* ./parser//parser.nit:1597 */
6798 fra.me.REG[2] = NIT_NULL;
6799 /* ./parser//parser.nit:1598 */
6800 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6801 /* ./parser//parser.nit:1599 */
6802 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6803 /* ./parser//parser.nit:1600 */
6804 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6805 /* ./parser//parser.nit:1601 */
6806 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6807 /* ./parser//parser.nit:1602 */
6808 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6809 /* ./parser//parser.nit:1603 */
6810 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6811 /* ./parser//parser.nit:1605 */
6812 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*/;
6813 if (UNTAG_Bool(REGB0)) {
6814 } else {
6815 nit_abort("Assert failed", NULL, LOCATE_parser, 1605);
6816 }
6817 /* ./parser//parser.nit:1607 */
6818 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]*/;
6819 if (UNTAG_Bool(REGB0)) {
6820 } else {
6821 nit_abort("Assert failed", NULL, LOCATE_parser, 1607);
6822 }
6823 /* ./parser//parser.nit:1608 */
6824 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
6825 fra.me.REG[7] = fra.me.REG[5];
6826 /* ./parser//parser.nit:1610 */
6827 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]*/;
6828 if (UNTAG_Bool(REGB0)) {
6829 } else {
6830 nit_abort("Assert failed", NULL, LOCATE_parser, 1610);
6831 }
6832 /* ./parser//parser.nit:1612 */
6833 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*/;
6834 if (UNTAG_Bool(REGB0)) {
6835 } else {
6836 nit_abort("Assert failed", NULL, LOCATE_parser, 1612);
6837 }
6838 /* ./parser//parser.nit:1613 */
6839 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
6840 fra.me.REG[8] = fra.me.REG[4];
6841 /* ./parser//parser.nit:1614 */
6842 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6843 if (UNTAG_Bool(REGB0)) {
6844 } else {
6845 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6846 if (UNTAG_Bool(REGB1)) {
6847 REGB1 = TAG_Bool(false);
6848 REGB0 = REGB1;
6849 } else {
6850 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6851 REGB0 = REGB1;
6852 }
6853 }
6854 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6855 if (UNTAG_Bool(REGB0)) {
6856 /* ./parser//parser.nit:1615 */
6857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
6858 }
6859 /* ./parser//parser.nit:1617 */
6860 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
6861 /* ./parser//parser.nit:1622 */
6862 fra.me.REG[2] = fra.me.REG[8];
6863 /* ./parser//parser.nit:1623 */
6864 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6865 if (UNTAG_Bool(REGB0)) {
6866 } else {
6867 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1623);
6868 }
6869 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6870 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6871 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6872 stack_frame_head = fra.me.prev;
6873 return;
6874 }
6875 void parser___ReduceAction24___action(val_t p0, val_t p1){
6876 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6877 val_t REGB0;
6878 val_t REGB1;
6879 val_t tmp;
6880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6881 fra.me.file = LOCATE_parser;
6882 fra.me.line = 1628;
6883 fra.me.meth = LOCATE_parser___ReduceAction24___action;
6884 fra.me.has_broke = 0;
6885 fra.me.REG_size = 8;
6886 fra.me.REG[0] = NIT_NULL;
6887 fra.me.REG[1] = NIT_NULL;
6888 fra.me.REG[2] = NIT_NULL;
6889 fra.me.REG[3] = NIT_NULL;
6890 fra.me.REG[4] = NIT_NULL;
6891 fra.me.REG[5] = NIT_NULL;
6892 fra.me.REG[6] = NIT_NULL;
6893 fra.me.REG[7] = NIT_NULL;
6894 fra.me.REG[0] = p0;
6895 fra.me.REG[1] = p1;
6896 /* ./parser//parser.nit:1630 */
6897 fra.me.REG[2] = NIT_NULL;
6898 /* ./parser//parser.nit:1631 */
6899 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6900 /* ./parser//parser.nit:1632 */
6901 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6902 /* ./parser//parser.nit:1633 */
6903 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6904 /* ./parser//parser.nit:1634 */
6905 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6906 /* ./parser//parser.nit:1635 */
6907 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6908 /* ./parser//parser.nit:1637 */
6909 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]*/;
6910 if (UNTAG_Bool(REGB0)) {
6911 } else {
6912 nit_abort("Assert failed", NULL, LOCATE_parser, 1637);
6913 }
6914 /* ./parser//parser.nit:1638 */
6915 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6916 fra.me.REG[7] = fra.me.REG[4];
6917 /* ./parser//parser.nit:1639 */
6918 fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
6919 /* ./parser//parser.nit:1643 */
6920 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*/;
6921 if (UNTAG_Bool(REGB0)) {
6922 } else {
6923 nit_abort("Assert failed", NULL, LOCATE_parser, 1643);
6924 }
6925 /* ./parser//parser.nit:1644 */
6926 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
6927 if (UNTAG_Bool(REGB0)) {
6928 } else {
6929 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
6930 if (UNTAG_Bool(REGB1)) {
6931 REGB1 = TAG_Bool(false);
6932 REGB0 = REGB1;
6933 } else {
6934 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
6935 REGB0 = REGB1;
6936 }
6937 }
6938 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6939 if (UNTAG_Bool(REGB0)) {
6940 /* ./parser//parser.nit:1645 */
6941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
6942 }
6943 /* ./parser//parser.nit:1647 */
6944 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6945 if (UNTAG_Bool(REGB0)) {
6946 } else {
6947 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6948 if (UNTAG_Bool(REGB1)) {
6949 REGB1 = TAG_Bool(false);
6950 REGB0 = REGB1;
6951 } else {
6952 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
6953 REGB0 = REGB1;
6954 }
6955 }
6956 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6957 if (UNTAG_Bool(REGB0)) {
6958 /* ./parser//parser.nit:1648 */
6959 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
6960 }
6961 /* ./parser//parser.nit:1650 */
6962 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6]);
6963 /* ./parser//parser.nit:1655 */
6964 fra.me.REG[2] = fra.me.REG[6];
6965 /* ./parser//parser.nit:1656 */
6966 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6967 if (UNTAG_Bool(REGB0)) {
6968 } else {
6969 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1656);
6970 }
6971 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6972 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6973 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6974 stack_frame_head = fra.me.prev;
6975 return;
6976 }
6977 void parser___ReduceAction25___action(val_t p0, val_t p1){
6978 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6979 val_t REGB0;
6980 val_t REGB1;
6981 val_t tmp;
6982 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6983 fra.me.file = LOCATE_parser;
6984 fra.me.line = 1661;
6985 fra.me.meth = LOCATE_parser___ReduceAction25___action;
6986 fra.me.has_broke = 0;
6987 fra.me.REG_size = 9;
6988 fra.me.REG[0] = NIT_NULL;
6989 fra.me.REG[1] = NIT_NULL;
6990 fra.me.REG[2] = NIT_NULL;
6991 fra.me.REG[3] = NIT_NULL;
6992 fra.me.REG[4] = NIT_NULL;
6993 fra.me.REG[5] = NIT_NULL;
6994 fra.me.REG[6] = NIT_NULL;
6995 fra.me.REG[7] = NIT_NULL;
6996 fra.me.REG[8] = NIT_NULL;
6997 fra.me.REG[0] = p0;
6998 fra.me.REG[1] = p1;
6999 /* ./parser//parser.nit:1663 */
7000 fra.me.REG[2] = NIT_NULL;
7001 /* ./parser//parser.nit:1664 */
7002 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7003 /* ./parser//parser.nit:1665 */
7004 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7005 /* ./parser//parser.nit:1666 */
7006 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7007 /* ./parser//parser.nit:1667 */
7008 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7009 /* ./parser//parser.nit:1668 */
7010 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7011 /* ./parser//parser.nit:1670 */
7012 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*/;
7013 if (UNTAG_Bool(REGB0)) {
7014 } else {
7015 nit_abort("Assert failed", NULL, LOCATE_parser, 1670);
7016 }
7017 /* ./parser//parser.nit:1671 */
7018 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7019 /* ./parser//parser.nit:1673 */
7020 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]*/;
7021 if (UNTAG_Bool(REGB0)) {
7022 } else {
7023 nit_abort("Assert failed", NULL, LOCATE_parser, 1673);
7024 }
7025 /* ./parser//parser.nit:1674 */
7026 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
7027 fra.me.REG[8] = fra.me.REG[4];
7028 /* ./parser//parser.nit:1675 */
7029 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
7030 /* ./parser//parser.nit:1679 */
7031 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*/;
7032 if (UNTAG_Bool(REGB0)) {
7033 } else {
7034 nit_abort("Assert failed", NULL, LOCATE_parser, 1679);
7035 }
7036 /* ./parser//parser.nit:1680 */
7037 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7038 if (UNTAG_Bool(REGB0)) {
7039 } else {
7040 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7041 if (UNTAG_Bool(REGB1)) {
7042 REGB1 = TAG_Bool(false);
7043 REGB0 = REGB1;
7044 } else {
7045 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
7046 REGB0 = REGB1;
7047 }
7048 }
7049 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7050 if (UNTAG_Bool(REGB0)) {
7051 /* ./parser//parser.nit:1681 */
7052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
7053 }
7054 /* ./parser//parser.nit:1683 */
7055 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7056 if (UNTAG_Bool(REGB0)) {
7057 } else {
7058 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7059 if (UNTAG_Bool(REGB1)) {
7060 REGB1 = TAG_Bool(false);
7061 REGB0 = REGB1;
7062 } else {
7063 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7064 REGB0 = REGB1;
7065 }
7066 }
7067 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7068 if (UNTAG_Bool(REGB0)) {
7069 /* ./parser//parser.nit:1684 */
7070 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
7071 }
7072 /* ./parser//parser.nit:1686 */
7073 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
7074 /* ./parser//parser.nit:1691 */
7075 fra.me.REG[2] = fra.me.REG[7];
7076 /* ./parser//parser.nit:1692 */
7077 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7078 if (UNTAG_Bool(REGB0)) {
7079 } else {
7080 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1692);
7081 }
7082 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7083 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7084 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7085 stack_frame_head = fra.me.prev;
7086 return;
7087 }
7088 void parser___ReduceAction26___action(val_t p0, val_t p1){
7089 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7090 val_t REGB0;
7091 val_t REGB1;
7092 val_t tmp;
7093 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7094 fra.me.file = LOCATE_parser;
7095 fra.me.line = 1697;
7096 fra.me.meth = LOCATE_parser___ReduceAction26___action;
7097 fra.me.has_broke = 0;
7098 fra.me.REG_size = 8;
7099 fra.me.REG[0] = NIT_NULL;
7100 fra.me.REG[1] = NIT_NULL;
7101 fra.me.REG[2] = NIT_NULL;
7102 fra.me.REG[3] = NIT_NULL;
7103 fra.me.REG[4] = NIT_NULL;
7104 fra.me.REG[5] = NIT_NULL;
7105 fra.me.REG[6] = NIT_NULL;
7106 fra.me.REG[7] = NIT_NULL;
7107 fra.me.REG[0] = p0;
7108 fra.me.REG[1] = p1;
7109 /* ./parser//parser.nit:1699 */
7110 fra.me.REG[2] = NIT_NULL;
7111 /* ./parser//parser.nit:1700 */
7112 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7113 /* ./parser//parser.nit:1701 */
7114 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7115 /* ./parser//parser.nit:1702 */
7116 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7117 /* ./parser//parser.nit:1703 */
7118 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7119 /* ./parser//parser.nit:1704 */
7120 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7121 /* ./parser//parser.nit:1706 */
7122 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]*/;
7123 if (UNTAG_Bool(REGB0)) {
7124 } else {
7125 nit_abort("Assert failed", NULL, LOCATE_parser, 1706);
7126 }
7127 /* ./parser//parser.nit:1707 */
7128 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
7129 fra.me.REG[6] = fra.me.REG[5];
7130 /* ./parser//parser.nit:1708 */
7131 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7132 /* ./parser//parser.nit:1710 */
7133 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]*/;
7134 if (UNTAG_Bool(REGB0)) {
7135 } else {
7136 nit_abort("Assert failed", NULL, LOCATE_parser, 1710);
7137 }
7138 /* ./parser//parser.nit:1711 */
7139 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
7140 fra.me.REG[5] = fra.me.REG[4];
7141 /* ./parser//parser.nit:1712 */
7142 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
7143 /* ./parser//parser.nit:1716 */
7144 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*/;
7145 if (UNTAG_Bool(REGB0)) {
7146 } else {
7147 nit_abort("Assert failed", NULL, LOCATE_parser, 1716);
7148 }
7149 /* ./parser//parser.nit:1717 */
7150 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7151 if (UNTAG_Bool(REGB0)) {
7152 } else {
7153 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7154 if (UNTAG_Bool(REGB1)) {
7155 REGB1 = TAG_Bool(false);
7156 REGB0 = REGB1;
7157 } else {
7158 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
7159 REGB0 = REGB1;
7160 }
7161 }
7162 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7163 if (UNTAG_Bool(REGB0)) {
7164 /* ./parser//parser.nit:1718 */
7165 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[5]);
7166 }
7167 /* ./parser//parser.nit:1720 */
7168 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7169 if (UNTAG_Bool(REGB0)) {
7170 } else {
7171 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7172 if (UNTAG_Bool(REGB1)) {
7173 REGB1 = TAG_Bool(false);
7174 REGB0 = REGB1;
7175 } else {
7176 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7177 REGB0 = REGB1;
7178 }
7179 }
7180 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7181 if (UNTAG_Bool(REGB0)) {
7182 /* ./parser//parser.nit:1721 */
7183 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
7184 }
7185 /* ./parser//parser.nit:1723 */
7186 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
7187 /* ./parser//parser.nit:1728 */
7188 fra.me.REG[2] = fra.me.REG[7];
7189 /* ./parser//parser.nit:1729 */
7190 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7191 if (UNTAG_Bool(REGB0)) {
7192 } else {
7193 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1729);
7194 }
7195 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7196 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7197 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7198 stack_frame_head = fra.me.prev;
7199 return;
7200 }
7201 void parser___ReduceAction27___action(val_t p0, val_t p1){
7202 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7203 val_t REGB0;
7204 val_t REGB1;
7205 val_t tmp;
7206 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7207 fra.me.file = LOCATE_parser;
7208 fra.me.line = 1734;
7209 fra.me.meth = LOCATE_parser___ReduceAction27___action;
7210 fra.me.has_broke = 0;
7211 fra.me.REG_size = 9;
7212 fra.me.REG[0] = NIT_NULL;
7213 fra.me.REG[1] = NIT_NULL;
7214 fra.me.REG[2] = NIT_NULL;
7215 fra.me.REG[3] = NIT_NULL;
7216 fra.me.REG[4] = NIT_NULL;
7217 fra.me.REG[5] = NIT_NULL;
7218 fra.me.REG[6] = NIT_NULL;
7219 fra.me.REG[7] = NIT_NULL;
7220 fra.me.REG[8] = NIT_NULL;
7221 fra.me.REG[0] = p0;
7222 fra.me.REG[1] = p1;
7223 /* ./parser//parser.nit:1736 */
7224 fra.me.REG[2] = NIT_NULL;
7225 /* ./parser//parser.nit:1737 */
7226 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7227 /* ./parser//parser.nit:1738 */
7228 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7229 /* ./parser//parser.nit:1739 */
7230 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7231 /* ./parser//parser.nit:1740 */
7232 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7233 /* ./parser//parser.nit:1741 */
7234 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7235 /* ./parser//parser.nit:1742 */
7236 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7237 /* ./parser//parser.nit:1744 */
7238 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*/;
7239 if (UNTAG_Bool(REGB0)) {
7240 } else {
7241 nit_abort("Assert failed", NULL, LOCATE_parser, 1744);
7242 }
7243 /* ./parser//parser.nit:1746 */
7244 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]*/;
7245 if (UNTAG_Bool(REGB0)) {
7246 } else {
7247 nit_abort("Assert failed", NULL, LOCATE_parser, 1746);
7248 }
7249 /* ./parser//parser.nit:1747 */
7250 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
7251 fra.me.REG[7] = fra.me.REG[5];
7252 /* ./parser//parser.nit:1748 */
7253 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7254 /* ./parser//parser.nit:1750 */
7255 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]*/;
7256 if (UNTAG_Bool(REGB0)) {
7257 } else {
7258 nit_abort("Assert failed", NULL, LOCATE_parser, 1750);
7259 }
7260 /* ./parser//parser.nit:1751 */
7261 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
7262 fra.me.REG[5] = fra.me.REG[4];
7263 /* ./parser//parser.nit:1752 */
7264 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
7265 /* ./parser//parser.nit:1756 */
7266 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*/;
7267 if (UNTAG_Bool(REGB0)) {
7268 } else {
7269 nit_abort("Assert failed", NULL, LOCATE_parser, 1756);
7270 }
7271 /* ./parser//parser.nit:1757 */
7272 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7273 if (UNTAG_Bool(REGB0)) {
7274 } else {
7275 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
7276 if (UNTAG_Bool(REGB1)) {
7277 REGB1 = TAG_Bool(false);
7278 REGB0 = REGB1;
7279 } else {
7280 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
7281 REGB0 = REGB1;
7282 }
7283 }
7284 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7285 if (UNTAG_Bool(REGB0)) {
7286 /* ./parser//parser.nit:1758 */
7287 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
7288 }
7289 /* ./parser//parser.nit:1760 */
7290 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7291 if (UNTAG_Bool(REGB0)) {
7292 } else {
7293 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7294 if (UNTAG_Bool(REGB1)) {
7295 REGB1 = TAG_Bool(false);
7296 REGB0 = REGB1;
7297 } else {
7298 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7299 REGB0 = REGB1;
7300 }
7301 }
7302 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7303 if (UNTAG_Bool(REGB0)) {
7304 /* ./parser//parser.nit:1761 */
7305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
7306 }
7307 /* ./parser//parser.nit:1763 */
7308 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7309 /* ./parser//parser.nit:1768 */
7310 fra.me.REG[2] = fra.me.REG[8];
7311 /* ./parser//parser.nit:1769 */
7312 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7313 if (UNTAG_Bool(REGB0)) {
7314 } else {
7315 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1769);
7316 }
7317 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7318 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7319 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7320 stack_frame_head = fra.me.prev;
7321 return;
7322 }
7323 void parser___ReduceAction28___action(val_t p0, val_t p1){
7324 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7325 val_t REGB0;
7326 val_t REGB1;
7327 val_t tmp;
7328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7329 fra.me.file = LOCATE_parser;
7330 fra.me.line = 1774;
7331 fra.me.meth = LOCATE_parser___ReduceAction28___action;
7332 fra.me.has_broke = 0;
7333 fra.me.REG_size = 9;
7334 fra.me.REG[0] = NIT_NULL;
7335 fra.me.REG[1] = NIT_NULL;
7336 fra.me.REG[2] = NIT_NULL;
7337 fra.me.REG[3] = NIT_NULL;
7338 fra.me.REG[4] = NIT_NULL;
7339 fra.me.REG[5] = NIT_NULL;
7340 fra.me.REG[6] = NIT_NULL;
7341 fra.me.REG[7] = NIT_NULL;
7342 fra.me.REG[8] = NIT_NULL;
7343 fra.me.REG[0] = p0;
7344 fra.me.REG[1] = p1;
7345 /* ./parser//parser.nit:1776 */
7346 fra.me.REG[2] = NIT_NULL;
7347 /* ./parser//parser.nit:1777 */
7348 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7349 /* ./parser//parser.nit:1778 */
7350 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7351 /* ./parser//parser.nit:1779 */
7352 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7353 /* ./parser//parser.nit:1780 */
7354 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7355 /* ./parser//parser.nit:1781 */
7356 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7357 /* ./parser//parser.nit:1783 */
7358 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]*/;
7359 if (UNTAG_Bool(REGB0)) {
7360 } else {
7361 nit_abort("Assert failed", NULL, LOCATE_parser, 1783);
7362 }
7363 /* ./parser//parser.nit:1784 */
7364 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7365 /* ./parser//parser.nit:1786 */
7366 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]*/;
7367 if (UNTAG_Bool(REGB0)) {
7368 } else {
7369 nit_abort("Assert failed", NULL, LOCATE_parser, 1786);
7370 }
7371 /* ./parser//parser.nit:1787 */
7372 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
7373 fra.me.REG[8] = fra.me.REG[4];
7374 /* ./parser//parser.nit:1788 */
7375 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
7376 /* ./parser//parser.nit:1792 */
7377 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*/;
7378 if (UNTAG_Bool(REGB0)) {
7379 } else {
7380 nit_abort("Assert failed", NULL, LOCATE_parser, 1792);
7381 }
7382 /* ./parser//parser.nit:1793 */
7383 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
7384 fra.me.REG[7] = fra.me.REG[5];
7385 /* ./parser//parser.nit:1794 */
7386 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7387 if (UNTAG_Bool(REGB0)) {
7388 } else {
7389 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7390 if (UNTAG_Bool(REGB1)) {
7391 REGB1 = TAG_Bool(false);
7392 REGB0 = REGB1;
7393 } else {
7394 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
7395 REGB0 = REGB1;
7396 }
7397 }
7398 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7399 if (UNTAG_Bool(REGB0)) {
7400 /* ./parser//parser.nit:1795 */
7401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
7402 }
7403 /* ./parser//parser.nit:1797 */
7404 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7405 if (UNTAG_Bool(REGB0)) {
7406 } else {
7407 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7408 if (UNTAG_Bool(REGB1)) {
7409 REGB1 = TAG_Bool(false);
7410 REGB0 = REGB1;
7411 } else {
7412 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7413 REGB0 = REGB1;
7414 }
7415 }
7416 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7417 if (UNTAG_Bool(REGB0)) {
7418 /* ./parser//parser.nit:1798 */
7419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
7420 }
7421 /* ./parser//parser.nit:1800 */
7422 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7]);
7423 /* ./parser//parser.nit:1805 */
7424 fra.me.REG[2] = fra.me.REG[7];
7425 /* ./parser//parser.nit:1806 */
7426 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7427 if (UNTAG_Bool(REGB0)) {
7428 } else {
7429 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1806);
7430 }
7431 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7432 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7433 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7434 stack_frame_head = fra.me.prev;
7435 return;
7436 }
7437 void parser___ReduceAction29___action(val_t p0, val_t p1){
7438 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
7439 val_t REGB0;
7440 val_t REGB1;
7441 val_t tmp;
7442 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7443 fra.me.file = LOCATE_parser;
7444 fra.me.line = 1811;
7445 fra.me.meth = LOCATE_parser___ReduceAction29___action;
7446 fra.me.has_broke = 0;
7447 fra.me.REG_size = 10;
7448 fra.me.REG[0] = NIT_NULL;
7449 fra.me.REG[1] = NIT_NULL;
7450 fra.me.REG[2] = NIT_NULL;
7451 fra.me.REG[3] = NIT_NULL;
7452 fra.me.REG[4] = NIT_NULL;
7453 fra.me.REG[5] = NIT_NULL;
7454 fra.me.REG[6] = NIT_NULL;
7455 fra.me.REG[7] = NIT_NULL;
7456 fra.me.REG[8] = NIT_NULL;
7457 fra.me.REG[9] = NIT_NULL;
7458 fra.me.REG[0] = p0;
7459 fra.me.REG[1] = p1;
7460 /* ./parser//parser.nit:1813 */
7461 fra.me.REG[2] = NIT_NULL;
7462 /* ./parser//parser.nit:1814 */
7463 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7464 /* ./parser//parser.nit:1815 */
7465 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7466 /* ./parser//parser.nit:1816 */
7467 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7468 /* ./parser//parser.nit:1817 */
7469 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7470 /* ./parser//parser.nit:1818 */
7471 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7472 /* ./parser//parser.nit:1819 */
7473 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7474 /* ./parser//parser.nit:1821 */
7475 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*/;
7476 if (UNTAG_Bool(REGB0)) {
7477 } else {
7478 nit_abort("Assert failed", NULL, LOCATE_parser, 1821);
7479 }
7480 /* ./parser//parser.nit:1823 */
7481 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]*/;
7482 if (UNTAG_Bool(REGB0)) {
7483 } else {
7484 nit_abort("Assert failed", NULL, LOCATE_parser, 1823);
7485 }
7486 /* ./parser//parser.nit:1824 */
7487 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
7488 /* ./parser//parser.nit:1826 */
7489 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]*/;
7490 if (UNTAG_Bool(REGB0)) {
7491 } else {
7492 nit_abort("Assert failed", NULL, LOCATE_parser, 1826);
7493 }
7494 /* ./parser//parser.nit:1827 */
7495 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
7496 fra.me.REG[9] = fra.me.REG[4];
7497 /* ./parser//parser.nit:1828 */
7498 fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
7499 /* ./parser//parser.nit:1832 */
7500 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*/;
7501 if (UNTAG_Bool(REGB0)) {
7502 } else {
7503 nit_abort("Assert failed", NULL, LOCATE_parser, 1832);
7504 }
7505 /* ./parser//parser.nit:1833 */
7506 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
7507 fra.me.REG[8] = fra.me.REG[5];
7508 /* ./parser//parser.nit:1834 */
7509 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
7510 if (UNTAG_Bool(REGB0)) {
7511 } else {
7512 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
7513 if (UNTAG_Bool(REGB1)) {
7514 REGB1 = TAG_Bool(false);
7515 REGB0 = REGB1;
7516 } else {
7517 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
7518 REGB0 = REGB1;
7519 }
7520 }
7521 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7522 if (UNTAG_Bool(REGB0)) {
7523 /* ./parser//parser.nit:1835 */
7524 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
7525 }
7526 /* ./parser//parser.nit:1837 */
7527 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7528 if (UNTAG_Bool(REGB0)) {
7529 } else {
7530 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7531 if (UNTAG_Bool(REGB1)) {
7532 REGB1 = TAG_Bool(false);
7533 REGB0 = REGB1;
7534 } else {
7535 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7536 REGB0 = REGB1;
7537 }
7538 }
7539 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7540 if (UNTAG_Bool(REGB0)) {
7541 /* ./parser//parser.nit:1838 */
7542 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
7543 }
7544 /* ./parser//parser.nit:1840 */
7545 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7546 /* ./parser//parser.nit:1845 */
7547 fra.me.REG[2] = fra.me.REG[8];
7548 /* ./parser//parser.nit:1846 */
7549 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7550 if (UNTAG_Bool(REGB0)) {
7551 } else {
7552 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1846);
7553 }
7554 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7555 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7556 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7557 stack_frame_head = fra.me.prev;
7558 return;
7559 }
7560 void parser___ReduceAction30___action(val_t p0, val_t p1){
7561 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7562 val_t REGB0;
7563 val_t REGB1;
7564 val_t tmp;
7565 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7566 fra.me.file = LOCATE_parser;
7567 fra.me.line = 1851;
7568 fra.me.meth = LOCATE_parser___ReduceAction30___action;
7569 fra.me.has_broke = 0;
7570 fra.me.REG_size = 9;
7571 fra.me.REG[0] = NIT_NULL;
7572 fra.me.REG[1] = NIT_NULL;
7573 fra.me.REG[2] = NIT_NULL;
7574 fra.me.REG[3] = NIT_NULL;
7575 fra.me.REG[4] = NIT_NULL;
7576 fra.me.REG[5] = NIT_NULL;
7577 fra.me.REG[6] = NIT_NULL;
7578 fra.me.REG[7] = NIT_NULL;
7579 fra.me.REG[8] = NIT_NULL;
7580 fra.me.REG[0] = p0;
7581 fra.me.REG[1] = p1;
7582 /* ./parser//parser.nit:1853 */
7583 fra.me.REG[2] = NIT_NULL;
7584 /* ./parser//parser.nit:1854 */
7585 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7586 /* ./parser//parser.nit:1855 */
7587 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7588 /* ./parser//parser.nit:1856 */
7589 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7590 /* ./parser//parser.nit:1857 */
7591 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7592 /* ./parser//parser.nit:1858 */
7593 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7594 /* ./parser//parser.nit:1859 */
7595 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7596 /* ./parser//parser.nit:1861 */
7597 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]*/;
7598 if (UNTAG_Bool(REGB0)) {
7599 } else {
7600 nit_abort("Assert failed", NULL, LOCATE_parser, 1861);
7601 }
7602 /* ./parser//parser.nit:1862 */
7603 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
7604 fra.me.REG[7] = fra.me.REG[6];
7605 /* ./parser//parser.nit:1864 */
7606 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]*/;
7607 if (UNTAG_Bool(REGB0)) {
7608 } else {
7609 nit_abort("Assert failed", NULL, LOCATE_parser, 1864);
7610 }
7611 /* ./parser//parser.nit:1865 */
7612 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7613 /* ./parser//parser.nit:1867 */
7614 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]*/;
7615 if (UNTAG_Bool(REGB0)) {
7616 } else {
7617 nit_abort("Assert failed", NULL, LOCATE_parser, 1867);
7618 }
7619 /* ./parser//parser.nit:1868 */
7620 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
7621 fra.me.REG[6] = fra.me.REG[4];
7622 /* ./parser//parser.nit:1869 */
7623 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
7624 /* ./parser//parser.nit:1873 */
7625 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*/;
7626 if (UNTAG_Bool(REGB0)) {
7627 } else {
7628 nit_abort("Assert failed", NULL, LOCATE_parser, 1873);
7629 }
7630 /* ./parser//parser.nit:1874 */
7631 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
7632 fra.me.REG[8] = fra.me.REG[5];
7633 /* ./parser//parser.nit:1875 */
7634 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
7635 if (UNTAG_Bool(REGB0)) {
7636 } else {
7637 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
7638 if (UNTAG_Bool(REGB1)) {
7639 REGB1 = TAG_Bool(false);
7640 REGB0 = REGB1;
7641 } else {
7642 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
7643 REGB0 = REGB1;
7644 }
7645 }
7646 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7647 if (UNTAG_Bool(REGB0)) {
7648 /* ./parser//parser.nit:1876 */
7649 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[6]);
7650 }
7651 /* ./parser//parser.nit:1878 */
7652 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7653 if (UNTAG_Bool(REGB0)) {
7654 } else {
7655 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7656 if (UNTAG_Bool(REGB1)) {
7657 REGB1 = TAG_Bool(false);
7658 REGB0 = REGB1;
7659 } else {
7660 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7661 REGB0 = REGB1;
7662 }
7663 }
7664 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7665 if (UNTAG_Bool(REGB0)) {
7666 /* ./parser//parser.nit:1879 */
7667 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
7668 }
7669 /* ./parser//parser.nit:1881 */
7670 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8]);
7671 /* ./parser//parser.nit:1886 */
7672 fra.me.REG[2] = fra.me.REG[8];
7673 /* ./parser//parser.nit:1887 */
7674 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7675 if (UNTAG_Bool(REGB0)) {
7676 } else {
7677 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1887);
7678 }
7679 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7680 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7681 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7682 stack_frame_head = fra.me.prev;
7683 return;
7684 }
7685 void parser___ReduceAction31___action(val_t p0, val_t p1){
7686 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
7687 val_t REGB0;
7688 val_t REGB1;
7689 val_t tmp;
7690 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7691 fra.me.file = LOCATE_parser;
7692 fra.me.line = 1892;
7693 fra.me.meth = LOCATE_parser___ReduceAction31___action;
7694 fra.me.has_broke = 0;
7695 fra.me.REG_size = 10;
7696 fra.me.REG[0] = NIT_NULL;
7697 fra.me.REG[1] = NIT_NULL;
7698 fra.me.REG[2] = NIT_NULL;
7699 fra.me.REG[3] = NIT_NULL;
7700 fra.me.REG[4] = NIT_NULL;
7701 fra.me.REG[5] = NIT_NULL;
7702 fra.me.REG[6] = NIT_NULL;
7703 fra.me.REG[7] = NIT_NULL;
7704 fra.me.REG[8] = NIT_NULL;
7705 fra.me.REG[9] = NIT_NULL;
7706 fra.me.REG[0] = p0;
7707 fra.me.REG[1] = p1;
7708 /* ./parser//parser.nit:1894 */
7709 fra.me.REG[2] = NIT_NULL;
7710 /* ./parser//parser.nit:1895 */
7711 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7712 /* ./parser//parser.nit:1896 */
7713 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7714 /* ./parser//parser.nit:1897 */
7715 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7716 /* ./parser//parser.nit:1898 */
7717 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7718 /* ./parser//parser.nit:1899 */
7719 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7720 /* ./parser//parser.nit:1900 */
7721 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7722 /* ./parser//parser.nit:1901 */
7723 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
7724 /* ./parser//parser.nit:1903 */
7725 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*/;
7726 if (UNTAG_Bool(REGB0)) {
7727 } else {
7728 nit_abort("Assert failed", NULL, LOCATE_parser, 1903);
7729 }
7730 /* ./parser//parser.nit:1905 */
7731 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]*/;
7732 if (UNTAG_Bool(REGB0)) {
7733 } else {
7734 nit_abort("Assert failed", NULL, LOCATE_parser, 1905);
7735 }
7736 /* ./parser//parser.nit:1906 */
7737 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
7738 fra.me.REG[8] = fra.me.REG[6];
7739 /* ./parser//parser.nit:1908 */
7740 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]*/;
7741 if (UNTAG_Bool(REGB0)) {
7742 } else {
7743 nit_abort("Assert failed", NULL, LOCATE_parser, 1908);
7744 }
7745 /* ./parser//parser.nit:1909 */
7746 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7747 /* ./parser//parser.nit:1911 */
7748 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]*/;
7749 if (UNTAG_Bool(REGB0)) {
7750 } else {
7751 nit_abort("Assert failed", NULL, LOCATE_parser, 1911);
7752 }
7753 /* ./parser//parser.nit:1912 */
7754 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
7755 fra.me.REG[6] = fra.me.REG[4];
7756 /* ./parser//parser.nit:1913 */
7757 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
7758 /* ./parser//parser.nit:1917 */
7759 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*/;
7760 if (UNTAG_Bool(REGB0)) {
7761 } else {
7762 nit_abort("Assert failed", NULL, LOCATE_parser, 1917);
7763 }
7764 /* ./parser//parser.nit:1918 */
7765 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
7766 fra.me.REG[9] = fra.me.REG[5];
7767 /* ./parser//parser.nit:1919 */
7768 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
7769 if (UNTAG_Bool(REGB0)) {
7770 } else {
7771 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
7772 if (UNTAG_Bool(REGB1)) {
7773 REGB1 = TAG_Bool(false);
7774 REGB0 = REGB1;
7775 } else {
7776 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
7777 REGB0 = REGB1;
7778 }
7779 }
7780 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7781 if (UNTAG_Bool(REGB0)) {
7782 /* ./parser//parser.nit:1920 */
7783 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
7784 }
7785 /* ./parser//parser.nit:1922 */
7786 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7787 if (UNTAG_Bool(REGB0)) {
7788 } else {
7789 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7790 if (UNTAG_Bool(REGB1)) {
7791 REGB1 = TAG_Bool(false);
7792 REGB0 = REGB1;
7793 } else {
7794 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
7795 REGB0 = REGB1;
7796 }
7797 }
7798 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7799 if (UNTAG_Bool(REGB0)) {
7800 /* ./parser//parser.nit:1923 */
7801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
7802 }
7803 /* ./parser//parser.nit:1925 */
7804 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
7805 /* ./parser//parser.nit:1930 */
7806 fra.me.REG[2] = fra.me.REG[9];
7807 /* ./parser//parser.nit:1931 */
7808 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7809 if (UNTAG_Bool(REGB0)) {
7810 } else {
7811 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1931);
7812 }
7813 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7814 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7815 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7816 stack_frame_head = fra.me.prev;
7817 return;
7818 }
7819 void parser___ReduceAction32___action(val_t p0, val_t p1){
7820 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
7821 val_t REGB0;
7822 val_t tmp;
7823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7824 fra.me.file = LOCATE_parser;
7825 fra.me.line = 1936;
7826 fra.me.meth = LOCATE_parser___ReduceAction32___action;
7827 fra.me.has_broke = 0;
7828 fra.me.REG_size = 6;
7829 fra.me.REG[0] = NIT_NULL;
7830 fra.me.REG[1] = NIT_NULL;
7831 fra.me.REG[2] = NIT_NULL;
7832 fra.me.REG[3] = NIT_NULL;
7833 fra.me.REG[4] = NIT_NULL;
7834 fra.me.REG[5] = NIT_NULL;
7835 fra.me.REG[0] = p0;
7836 fra.me.REG[1] = p1;
7837 /* ./parser//parser.nit:1938 */
7838 fra.me.REG[2] = NIT_NULL;
7839 /* ./parser//parser.nit:1939 */
7840 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7841 /* ./parser//parser.nit:1940 */
7842 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7843 /* ./parser//parser.nit:1941 */
7844 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7845 /* ./parser//parser.nit:1942 */
7846 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7847 /* ./parser//parser.nit:1943 */
7848 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7849 /* ./parser//parser.nit:1945 */
7850 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*/;
7851 if (UNTAG_Bool(REGB0)) {
7852 } else {
7853 nit_abort("Assert failed", NULL, LOCATE_parser, 1945);
7854 }
7855 /* ./parser//parser.nit:1947 */
7856 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*/;
7857 if (UNTAG_Bool(REGB0)) {
7858 } else {
7859 nit_abort("Assert failed", NULL, LOCATE_parser, 1947);
7860 }
7861 /* ./parser//parser.nit:1949 */
7862 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*/;
7863 if (UNTAG_Bool(REGB0)) {
7864 } else {
7865 nit_abort("Assert failed", NULL, LOCATE_parser, 1949);
7866 }
7867 /* ./parser//parser.nit:1950 */
7868 fra.me.REG[3] = NEW_AModuledecl_parser___parser_prod___AModuledecl___init_amoduledecl(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
7869 /* ./parser//parser.nit:1955 */
7870 fra.me.REG[2] = fra.me.REG[3];
7871 /* ./parser//parser.nit:1956 */
7872 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7873 if (UNTAG_Bool(REGB0)) {
7874 } else {
7875 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1956);
7876 }
7877 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7878 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7879 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7880 stack_frame_head = fra.me.prev;
7881 return;
7882 }
7883 void parser___ReduceAction33___action(val_t p0, val_t p1){
7884 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
7885 val_t REGB0;
7886 val_t tmp;
7887 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7888 fra.me.file = LOCATE_parser;
7889 fra.me.line = 1961;
7890 fra.me.meth = LOCATE_parser___ReduceAction33___action;
7891 fra.me.has_broke = 0;
7892 fra.me.REG_size = 7;
7893 fra.me.REG[0] = NIT_NULL;
7894 fra.me.REG[1] = NIT_NULL;
7895 fra.me.REG[2] = NIT_NULL;
7896 fra.me.REG[3] = NIT_NULL;
7897 fra.me.REG[4] = NIT_NULL;
7898 fra.me.REG[5] = NIT_NULL;
7899 fra.me.REG[6] = NIT_NULL;
7900 fra.me.REG[0] = p0;
7901 fra.me.REG[1] = p1;
7902 /* ./parser//parser.nit:1963 */
7903 fra.me.REG[2] = NIT_NULL;
7904 /* ./parser//parser.nit:1964 */
7905 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7906 /* ./parser//parser.nit:1965 */
7907 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7908 /* ./parser//parser.nit:1966 */
7909 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7910 /* ./parser//parser.nit:1967 */
7911 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7912 /* ./parser//parser.nit:1968 */
7913 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7914 /* ./parser//parser.nit:1969 */
7915 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7916 /* ./parser//parser.nit:1971 */
7917 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*/;
7918 if (UNTAG_Bool(REGB0)) {
7919 } else {
7920 nit_abort("Assert failed", NULL, LOCATE_parser, 1971);
7921 }
7922 /* ./parser//parser.nit:1973 */
7923 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*/;
7924 if (UNTAG_Bool(REGB0)) {
7925 } else {
7926 nit_abort("Assert failed", NULL, LOCATE_parser, 1973);
7927 }
7928 /* ./parser//parser.nit:1975 */
7929 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*/;
7930 if (UNTAG_Bool(REGB0)) {
7931 } else {
7932 nit_abort("Assert failed", NULL, LOCATE_parser, 1975);
7933 }
7934 /* ./parser//parser.nit:1976 */
7935 fra.me.REG[3] = NEW_AStdImport_parser___parser_prod___AStdImport___init_astdimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
7936 /* ./parser//parser.nit:1981 */
7937 fra.me.REG[2] = fra.me.REG[3];
7938 /* ./parser//parser.nit:1982 */
7939 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7940 if (UNTAG_Bool(REGB0)) {
7941 } else {
7942 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1982);
7943 }
7944 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7945 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7946 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7947 stack_frame_head = fra.me.prev;
7948 return;
7949 }
7950 void parser___ReduceAction34___action(val_t p0, val_t p1){
7951 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
7952 val_t REGB0;
7953 val_t tmp;
7954 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7955 fra.me.file = LOCATE_parser;
7956 fra.me.line = 1987;
7957 fra.me.meth = LOCATE_parser___ReduceAction34___action;
7958 fra.me.has_broke = 0;
7959 fra.me.REG_size = 7;
7960 fra.me.REG[0] = NIT_NULL;
7961 fra.me.REG[1] = NIT_NULL;
7962 fra.me.REG[2] = NIT_NULL;
7963 fra.me.REG[3] = NIT_NULL;
7964 fra.me.REG[4] = NIT_NULL;
7965 fra.me.REG[5] = NIT_NULL;
7966 fra.me.REG[6] = NIT_NULL;
7967 fra.me.REG[0] = p0;
7968 fra.me.REG[1] = p1;
7969 /* ./parser//parser.nit:1989 */
7970 fra.me.REG[2] = NIT_NULL;
7971 /* ./parser//parser.nit:1990 */
7972 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7973 /* ./parser//parser.nit:1991 */
7974 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7975 /* ./parser//parser.nit:1992 */
7976 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7977 /* ./parser//parser.nit:1993 */
7978 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7979 /* ./parser//parser.nit:1994 */
7980 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7981 /* ./parser//parser.nit:1995 */
7982 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7983 /* ./parser//parser.nit:1997 */
7984 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*/;
7985 if (UNTAG_Bool(REGB0)) {
7986 } else {
7987 nit_abort("Assert failed", NULL, LOCATE_parser, 1997);
7988 }
7989 /* ./parser//parser.nit:1999 */
7990 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*/;
7991 if (UNTAG_Bool(REGB0)) {
7992 } else {
7993 nit_abort("Assert failed", NULL, LOCATE_parser, 1999);
7994 }
7995 /* ./parser//parser.nit:2001 */
7996 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*/;
7997 if (UNTAG_Bool(REGB0)) {
7998 } else {
7999 nit_abort("Assert failed", NULL, LOCATE_parser, 2001);
8000 }
8001 /* ./parser//parser.nit:2002 */
8002 fra.me.REG[3] = NEW_ANoImport_parser___parser_prod___ANoImport___init_anoimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
8003 /* ./parser//parser.nit:2007 */
8004 fra.me.REG[2] = fra.me.REG[3];
8005 /* ./parser//parser.nit:2008 */
8006 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8007 if (UNTAG_Bool(REGB0)) {
8008 } else {
8009 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2008);
8010 }
8011 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8012 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8013 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8014 stack_frame_head = fra.me.prev;
8015 return;
8016 }
8017 void parser___ReduceAction35___action(val_t p0, val_t p1){
8018 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
8019 val_t REGB0;
8020 val_t REGB1;
8021 val_t tmp;
8022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8023 fra.me.file = LOCATE_parser;
8024 fra.me.line = 2013;
8025 fra.me.meth = LOCATE_parser___ReduceAction35___action;
8026 fra.me.has_broke = 0;
8027 fra.me.REG_size = 5;
8028 fra.me.REG[0] = NIT_NULL;
8029 fra.me.REG[1] = NIT_NULL;
8030 fra.me.REG[2] = NIT_NULL;
8031 fra.me.REG[3] = NIT_NULL;
8032 fra.me.REG[4] = NIT_NULL;
8033 fra.me.REG[0] = p0;
8034 fra.me.REG[1] = p1;
8035 /* ./parser//parser.nit:2015 */
8036 fra.me.REG[2] = NIT_NULL;
8037 /* ./parser//parser.nit:2016 */
8038 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8039 /* ./parser//parser.nit:2017 */
8040 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
8041 /* ./parser//parser.nit:2019 */
8042 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*/;
8043 if (UNTAG_Bool(REGB0)) {
8044 } else {
8045 nit_abort("Assert failed", NULL, LOCATE_parser, 2019);
8046 }
8047 /* ./parser//parser.nit:2020 */
8048 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8049 if (UNTAG_Bool(REGB0)) {
8050 } else {
8051 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8052 if (UNTAG_Bool(REGB1)) {
8053 REGB1 = TAG_Bool(false);
8054 REGB0 = REGB1;
8055 } else {
8056 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8057 REGB0 = REGB1;
8058 }
8059 }
8060 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8061 if (UNTAG_Bool(REGB0)) {
8062 /* ./parser//parser.nit:2021 */
8063 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
8064 }
8065 /* ./parser//parser.nit:2023 */
8066 fra.me.REG[4] = NEW_AMainClassdef_parser___parser_prod___AMainClassdef___init_amainclassdef(fra.me.REG[4]);
8067 /* ./parser//parser.nit:2026 */
8068 fra.me.REG[2] = fra.me.REG[4];
8069 /* ./parser//parser.nit:2027 */
8070 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8071 if (UNTAG_Bool(REGB0)) {
8072 } else {
8073 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2027);
8074 }
8075 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8076 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8077 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8078 stack_frame_head = fra.me.prev;
8079 return;
8080 }
8081 void parser___ReduceAction36___action(val_t p0, val_t p1){
8082 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
8083 val_t REGB0;
8084 val_t tmp;
8085 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8086 fra.me.file = LOCATE_parser;
8087 fra.me.line = 2032;
8088 fra.me.meth = LOCATE_parser___ReduceAction36___action;
8089 fra.me.has_broke = 0;
8090 fra.me.REG_size = 4;
8091 fra.me.REG[0] = NIT_NULL;
8092 fra.me.REG[1] = NIT_NULL;
8093 fra.me.REG[2] = NIT_NULL;
8094 fra.me.REG[3] = NIT_NULL;
8095 fra.me.REG[0] = p0;
8096 fra.me.REG[1] = p1;
8097 /* ./parser//parser.nit:2034 */
8098 fra.me.REG[2] = NIT_NULL;
8099 /* ./parser//parser.nit:2035 */
8100 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8101 /* ./parser//parser.nit:2036 */
8102 fra.me.REG[2] = NIT_NULL;
8103 /* ./parser//parser.nit:2037 */
8104 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8105 if (UNTAG_Bool(REGB0)) {
8106 } else {
8107 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2037);
8108 }
8109 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8110 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8111 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8112 stack_frame_head = fra.me.prev;
8113 return;
8114 }
8115 void parser___ReduceAction37___action(val_t p0, val_t p1){
8116 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
8117 val_t REGB0;
8118 val_t tmp;
8119 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8120 fra.me.file = LOCATE_parser;
8121 fra.me.line = 2042;
8122 fra.me.meth = LOCATE_parser___ReduceAction37___action;
8123 fra.me.has_broke = 0;
8124 fra.me.REG_size = 5;
8125 fra.me.REG[0] = NIT_NULL;
8126 fra.me.REG[1] = NIT_NULL;
8127 fra.me.REG[2] = NIT_NULL;
8128 fra.me.REG[3] = NIT_NULL;
8129 fra.me.REG[4] = NIT_NULL;
8130 fra.me.REG[0] = p0;
8131 fra.me.REG[1] = p1;
8132 /* ./parser//parser.nit:2044 */
8133 fra.me.REG[2] = NIT_NULL;
8134 /* ./parser//parser.nit:2045 */
8135 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8136 /* ./parser//parser.nit:2046 */
8137 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8138 /* ./parser//parser.nit:2048 */
8139 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*/;
8140 if (UNTAG_Bool(REGB0)) {
8141 } else {
8142 nit_abort("Assert failed", NULL, LOCATE_parser, 2048);
8143 }
8144 /* ./parser//parser.nit:2049 */
8145 fra.me.REG[3] = NEW_AMainMethPropdef_parser___parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[3]);
8146 /* ./parser//parser.nit:2053 */
8147 fra.me.REG[2] = fra.me.REG[3];
8148 /* ./parser//parser.nit:2054 */
8149 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8150 if (UNTAG_Bool(REGB0)) {
8151 } else {
8152 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2054);
8153 }
8154 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8155 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8156 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8157 stack_frame_head = fra.me.prev;
8158 return;
8159 }
8160 void parser___ReduceAction39___action(val_t p0, val_t p1){
8161 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
8162 val_t REGB0;
8163 val_t tmp;
8164 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8165 fra.me.file = LOCATE_parser;
8166 fra.me.line = 2059;
8167 fra.me.meth = LOCATE_parser___ReduceAction39___action;
8168 fra.me.has_broke = 0;
8169 fra.me.REG_size = 10;
8170 fra.me.REG[0] = NIT_NULL;
8171 fra.me.REG[1] = NIT_NULL;
8172 fra.me.REG[2] = NIT_NULL;
8173 fra.me.REG[3] = NIT_NULL;
8174 fra.me.REG[4] = NIT_NULL;
8175 fra.me.REG[5] = NIT_NULL;
8176 fra.me.REG[6] = NIT_NULL;
8177 fra.me.REG[7] = NIT_NULL;
8178 fra.me.REG[8] = NIT_NULL;
8179 fra.me.REG[9] = NIT_NULL;
8180 fra.me.REG[0] = p0;
8181 fra.me.REG[1] = p1;
8182 /* ./parser//parser.nit:2061 */
8183 fra.me.REG[2] = NIT_NULL;
8184 /* ./parser//parser.nit:2062 */
8185 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8186 /* ./parser//parser.nit:2063 */
8187 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8188 /* ./parser//parser.nit:2064 */
8189 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8190 /* ./parser//parser.nit:2065 */
8191 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8192 /* ./parser//parser.nit:2066 */
8193 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8194 /* ./parser//parser.nit:2067 */
8195 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8196 /* ./parser//parser.nit:2068 */
8197 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8198 /* ./parser//parser.nit:2069 */
8199 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8200 /* ./parser//parser.nit:2070 */
8201 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8202 /* ./parser//parser.nit:2071 */
8203 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8204 /* ./parser//parser.nit:2073 */
8205 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*/;
8206 if (UNTAG_Bool(REGB0)) {
8207 } else {
8208 nit_abort("Assert failed", NULL, LOCATE_parser, 2073);
8209 }
8210 /* ./parser//parser.nit:2075 */
8211 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*/;
8212 if (UNTAG_Bool(REGB0)) {
8213 } else {
8214 nit_abort("Assert failed", NULL, LOCATE_parser, 2075);
8215 }
8216 /* ./parser//parser.nit:2077 */
8217 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
8218 if (UNTAG_Bool(REGB0)) {
8219 } else {
8220 nit_abort("Assert failed", NULL, LOCATE_parser, 2077);
8221 }
8222 /* ./parser//parser.nit:2079 */
8223 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*/;
8224 if (UNTAG_Bool(REGB0)) {
8225 } else {
8226 nit_abort("Assert failed", NULL, LOCATE_parser, 2079);
8227 }
8228 /* ./parser//parser.nit:2080 */
8229 fra.me.REG[9] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
8230 /* ./parser//parser.nit:2090 */
8231 fra.me.REG[2] = fra.me.REG[9];
8232 /* ./parser//parser.nit:2091 */
8233 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8234 if (UNTAG_Bool(REGB0)) {
8235 } else {
8236 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2091);
8237 }
8238 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8239 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8240 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8241 stack_frame_head = fra.me.prev;
8242 return;
8243 }
8244 void parser___ReduceAction40___action(val_t p0, val_t p1){
8245 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
8246 val_t REGB0;
8247 val_t tmp;
8248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8249 fra.me.file = LOCATE_parser;
8250 fra.me.line = 2096;
8251 fra.me.meth = LOCATE_parser___ReduceAction40___action;
8252 fra.me.has_broke = 0;
8253 fra.me.REG_size = 11;
8254 fra.me.REG[0] = NIT_NULL;
8255 fra.me.REG[1] = NIT_NULL;
8256 fra.me.REG[2] = NIT_NULL;
8257 fra.me.REG[3] = NIT_NULL;
8258 fra.me.REG[4] = NIT_NULL;
8259 fra.me.REG[5] = NIT_NULL;
8260 fra.me.REG[6] = NIT_NULL;
8261 fra.me.REG[7] = NIT_NULL;
8262 fra.me.REG[8] = NIT_NULL;
8263 fra.me.REG[9] = NIT_NULL;
8264 fra.me.REG[10] = NIT_NULL;
8265 fra.me.REG[0] = p0;
8266 fra.me.REG[1] = p1;
8267 /* ./parser//parser.nit:2098 */
8268 fra.me.REG[2] = NIT_NULL;
8269 /* ./parser//parser.nit:2099 */
8270 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8271 /* ./parser//parser.nit:2100 */
8272 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8273 /* ./parser//parser.nit:2101 */
8274 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8275 /* ./parser//parser.nit:2102 */
8276 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8277 /* ./parser//parser.nit:2103 */
8278 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8279 /* ./parser//parser.nit:2104 */
8280 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8281 /* ./parser//parser.nit:2105 */
8282 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8283 /* ./parser//parser.nit:2106 */
8284 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8285 /* ./parser//parser.nit:2107 */
8286 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8287 /* ./parser//parser.nit:2108 */
8288 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8289 /* ./parser//parser.nit:2109 */
8290 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8291 /* ./parser//parser.nit:2111 */
8292 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*/;
8293 if (UNTAG_Bool(REGB0)) {
8294 } else {
8295 nit_abort("Assert failed", NULL, LOCATE_parser, 2111);
8296 }
8297 /* ./parser//parser.nit:2113 */
8298 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*/;
8299 if (UNTAG_Bool(REGB0)) {
8300 } else {
8301 nit_abort("Assert failed", NULL, LOCATE_parser, 2113);
8302 }
8303 /* ./parser//parser.nit:2115 */
8304 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*/;
8305 if (UNTAG_Bool(REGB0)) {
8306 } else {
8307 nit_abort("Assert failed", NULL, LOCATE_parser, 2115);
8308 }
8309 /* ./parser//parser.nit:2117 */
8310 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
8311 if (UNTAG_Bool(REGB0)) {
8312 } else {
8313 nit_abort("Assert failed", NULL, LOCATE_parser, 2117);
8314 }
8315 /* ./parser//parser.nit:2119 */
8316 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*/;
8317 if (UNTAG_Bool(REGB0)) {
8318 } else {
8319 nit_abort("Assert failed", NULL, LOCATE_parser, 2119);
8320 }
8321 /* ./parser//parser.nit:2120 */
8322 fra.me.REG[10] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
8323 /* ./parser//parser.nit:2130 */
8324 fra.me.REG[2] = fra.me.REG[10];
8325 /* ./parser//parser.nit:2131 */
8326 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8327 if (UNTAG_Bool(REGB0)) {
8328 } else {
8329 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2131);
8330 }
8331 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8332 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8333 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8334 stack_frame_head = fra.me.prev;
8335 return;
8336 }
8337 void parser___ReduceAction41___action(val_t p0, val_t p1){
8338 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
8339 val_t REGB0;
8340 val_t tmp;
8341 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8342 fra.me.file = LOCATE_parser;
8343 fra.me.line = 2136;
8344 fra.me.meth = LOCATE_parser___ReduceAction41___action;
8345 fra.me.has_broke = 0;
8346 fra.me.REG_size = 11;
8347 fra.me.REG[0] = NIT_NULL;
8348 fra.me.REG[1] = NIT_NULL;
8349 fra.me.REG[2] = NIT_NULL;
8350 fra.me.REG[3] = NIT_NULL;
8351 fra.me.REG[4] = NIT_NULL;
8352 fra.me.REG[5] = NIT_NULL;
8353 fra.me.REG[6] = NIT_NULL;
8354 fra.me.REG[7] = NIT_NULL;
8355 fra.me.REG[8] = NIT_NULL;
8356 fra.me.REG[9] = NIT_NULL;
8357 fra.me.REG[10] = NIT_NULL;
8358 fra.me.REG[0] = p0;
8359 fra.me.REG[1] = p1;
8360 /* ./parser//parser.nit:2138 */
8361 fra.me.REG[2] = NIT_NULL;
8362 /* ./parser//parser.nit:2139 */
8363 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8364 /* ./parser//parser.nit:2140 */
8365 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8366 /* ./parser//parser.nit:2141 */
8367 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8368 /* ./parser//parser.nit:2142 */
8369 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8370 /* ./parser//parser.nit:2143 */
8371 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8372 /* ./parser//parser.nit:2144 */
8373 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8374 /* ./parser//parser.nit:2145 */
8375 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8376 /* ./parser//parser.nit:2146 */
8377 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8378 /* ./parser//parser.nit:2147 */
8379 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8380 /* ./parser//parser.nit:2148 */
8381 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8382 /* ./parser//parser.nit:2149 */
8383 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8384 /* ./parser//parser.nit:2151 */
8385 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*/;
8386 if (UNTAG_Bool(REGB0)) {
8387 } else {
8388 nit_abort("Assert failed", NULL, LOCATE_parser, 2151);
8389 }
8390 /* ./parser//parser.nit:2153 */
8391 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*/;
8392 if (UNTAG_Bool(REGB0)) {
8393 } else {
8394 nit_abort("Assert failed", NULL, LOCATE_parser, 2153);
8395 }
8396 /* ./parser//parser.nit:2155 */
8397 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*/;
8398 if (UNTAG_Bool(REGB0)) {
8399 } else {
8400 nit_abort("Assert failed", NULL, LOCATE_parser, 2155);
8401 }
8402 /* ./parser//parser.nit:2157 */
8403 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*/;
8404 if (UNTAG_Bool(REGB0)) {
8405 } else {
8406 nit_abort("Assert failed", NULL, LOCATE_parser, 2157);
8407 }
8408 /* ./parser//parser.nit:2159 */
8409 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]*/;
8410 if (UNTAG_Bool(REGB0)) {
8411 } else {
8412 nit_abort("Assert failed", NULL, LOCATE_parser, 2159);
8413 }
8414 /* ./parser//parser.nit:2160 */
8415 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
8416 fra.me.REG[8] = fra.me.REG[3];
8417 /* ./parser//parser.nit:2161 */
8418 fra.me.REG[10] = 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]);
8419 /* ./parser//parser.nit:2171 */
8420 fra.me.REG[2] = fra.me.REG[10];
8421 /* ./parser//parser.nit:2172 */
8422 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8423 if (UNTAG_Bool(REGB0)) {
8424 } else {
8425 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2172);
8426 }
8427 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8428 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8429 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8430 stack_frame_head = fra.me.prev;
8431 return;
8432 }
8433 void parser___ReduceAction42___action(val_t p0, val_t p1){
8434 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
8435 val_t REGB0;
8436 val_t tmp;
8437 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8438 fra.me.file = LOCATE_parser;
8439 fra.me.line = 2177;
8440 fra.me.meth = LOCATE_parser___ReduceAction42___action;
8441 fra.me.has_broke = 0;
8442 fra.me.REG_size = 12;
8443 fra.me.REG[0] = NIT_NULL;
8444 fra.me.REG[1] = NIT_NULL;
8445 fra.me.REG[2] = NIT_NULL;
8446 fra.me.REG[3] = NIT_NULL;
8447 fra.me.REG[4] = NIT_NULL;
8448 fra.me.REG[5] = NIT_NULL;
8449 fra.me.REG[6] = NIT_NULL;
8450 fra.me.REG[7] = NIT_NULL;
8451 fra.me.REG[8] = NIT_NULL;
8452 fra.me.REG[9] = NIT_NULL;
8453 fra.me.REG[10] = NIT_NULL;
8454 fra.me.REG[11] = NIT_NULL;
8455 fra.me.REG[0] = p0;
8456 fra.me.REG[1] = p1;
8457 /* ./parser//parser.nit:2179 */
8458 fra.me.REG[2] = NIT_NULL;
8459 /* ./parser//parser.nit:2180 */
8460 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8461 /* ./parser//parser.nit:2181 */
8462 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8463 /* ./parser//parser.nit:2182 */
8464 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8465 /* ./parser//parser.nit:2183 */
8466 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8467 /* ./parser//parser.nit:2184 */
8468 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8469 /* ./parser//parser.nit:2185 */
8470 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8471 /* ./parser//parser.nit:2186 */
8472 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8473 /* ./parser//parser.nit:2187 */
8474 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8475 /* ./parser//parser.nit:2188 */
8476 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8477 /* ./parser//parser.nit:2189 */
8478 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8479 /* ./parser//parser.nit:2190 */
8480 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8481 /* ./parser//parser.nit:2191 */
8482 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
8483 /* ./parser//parser.nit:2193 */
8484 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*/;
8485 if (UNTAG_Bool(REGB0)) {
8486 } else {
8487 nit_abort("Assert failed", NULL, LOCATE_parser, 2193);
8488 }
8489 /* ./parser//parser.nit:2195 */
8490 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*/;
8491 if (UNTAG_Bool(REGB0)) {
8492 } else {
8493 nit_abort("Assert failed", NULL, LOCATE_parser, 2195);
8494 }
8495 /* ./parser//parser.nit:2197 */
8496 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*/;
8497 if (UNTAG_Bool(REGB0)) {
8498 } else {
8499 nit_abort("Assert failed", NULL, LOCATE_parser, 2197);
8500 }
8501 /* ./parser//parser.nit:2199 */
8502 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*/;
8503 if (UNTAG_Bool(REGB0)) {
8504 } else {
8505 nit_abort("Assert failed", NULL, LOCATE_parser, 2199);
8506 }
8507 /* ./parser//parser.nit:2201 */
8508 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*/;
8509 if (UNTAG_Bool(REGB0)) {
8510 } else {
8511 nit_abort("Assert failed", NULL, LOCATE_parser, 2201);
8512 }
8513 /* ./parser//parser.nit:2203 */
8514 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]*/;
8515 if (UNTAG_Bool(REGB0)) {
8516 } else {
8517 nit_abort("Assert failed", NULL, LOCATE_parser, 2203);
8518 }
8519 /* ./parser//parser.nit:2204 */
8520 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
8521 fra.me.REG[9] = fra.me.REG[3];
8522 /* ./parser//parser.nit:2205 */
8523 fra.me.REG[11] = 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]);
8524 /* ./parser//parser.nit:2215 */
8525 fra.me.REG[2] = fra.me.REG[11];
8526 /* ./parser//parser.nit:2216 */
8527 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8528 if (UNTAG_Bool(REGB0)) {
8529 } else {
8530 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2216);
8531 }
8532 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8533 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8534 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8535 stack_frame_head = fra.me.prev;
8536 return;
8537 }
8538 void parser___ReduceAction43___action(val_t p0, val_t p1){
8539 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
8540 val_t REGB0;
8541 val_t tmp;
8542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8543 fra.me.file = LOCATE_parser;
8544 fra.me.line = 2221;
8545 fra.me.meth = LOCATE_parser___ReduceAction43___action;
8546 fra.me.has_broke = 0;
8547 fra.me.REG_size = 11;
8548 fra.me.REG[0] = NIT_NULL;
8549 fra.me.REG[1] = NIT_NULL;
8550 fra.me.REG[2] = NIT_NULL;
8551 fra.me.REG[3] = NIT_NULL;
8552 fra.me.REG[4] = NIT_NULL;
8553 fra.me.REG[5] = NIT_NULL;
8554 fra.me.REG[6] = NIT_NULL;
8555 fra.me.REG[7] = NIT_NULL;
8556 fra.me.REG[8] = NIT_NULL;
8557 fra.me.REG[9] = NIT_NULL;
8558 fra.me.REG[10] = NIT_NULL;
8559 fra.me.REG[0] = p0;
8560 fra.me.REG[1] = p1;
8561 /* ./parser//parser.nit:2223 */
8562 fra.me.REG[2] = NIT_NULL;
8563 /* ./parser//parser.nit:2224 */
8564 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8565 /* ./parser//parser.nit:2225 */
8566 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8567 /* ./parser//parser.nit:2226 */
8568 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8569 /* ./parser//parser.nit:2227 */
8570 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8571 /* ./parser//parser.nit:2228 */
8572 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8573 /* ./parser//parser.nit:2229 */
8574 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8575 /* ./parser//parser.nit:2230 */
8576 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8577 /* ./parser//parser.nit:2231 */
8578 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8579 /* ./parser//parser.nit:2232 */
8580 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8581 /* ./parser//parser.nit:2233 */
8582 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8583 /* ./parser//parser.nit:2234 */
8584 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8585 /* ./parser//parser.nit:2236 */
8586 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*/;
8587 if (UNTAG_Bool(REGB0)) {
8588 } else {
8589 nit_abort("Assert failed", NULL, LOCATE_parser, 2236);
8590 }
8591 /* ./parser//parser.nit:2238 */
8592 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*/;
8593 if (UNTAG_Bool(REGB0)) {
8594 } else {
8595 nit_abort("Assert failed", NULL, LOCATE_parser, 2238);
8596 }
8597 /* ./parser//parser.nit:2240 */
8598 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*/;
8599 if (UNTAG_Bool(REGB0)) {
8600 } else {
8601 nit_abort("Assert failed", NULL, LOCATE_parser, 2240);
8602 }
8603 /* ./parser//parser.nit:2242 */
8604 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*/;
8605 if (UNTAG_Bool(REGB0)) {
8606 } else {
8607 nit_abort("Assert failed", NULL, LOCATE_parser, 2242);
8608 }
8609 /* ./parser//parser.nit:2244 */
8610 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]*/;
8611 if (UNTAG_Bool(REGB0)) {
8612 } else {
8613 nit_abort("Assert failed", NULL, LOCATE_parser, 2244);
8614 }
8615 /* ./parser//parser.nit:2245 */
8616 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
8617 fra.me.REG[9] = fra.me.REG[3];
8618 /* ./parser//parser.nit:2246 */
8619 fra.me.REG[10] = 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]);
8620 /* ./parser//parser.nit:2256 */
8621 fra.me.REG[2] = fra.me.REG[10];
8622 /* ./parser//parser.nit:2257 */
8623 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8624 if (UNTAG_Bool(REGB0)) {
8625 } else {
8626 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2257);
8627 }
8628 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8629 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8630 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8631 stack_frame_head = fra.me.prev;
8632 return;
8633 }
8634 void parser___ReduceAction44___action(val_t p0, val_t p1){
8635 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
8636 val_t REGB0;
8637 val_t tmp;
8638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8639 fra.me.file = LOCATE_parser;
8640 fra.me.line = 2262;
8641 fra.me.meth = LOCATE_parser___ReduceAction44___action;
8642 fra.me.has_broke = 0;
8643 fra.me.REG_size = 12;
8644 fra.me.REG[0] = NIT_NULL;
8645 fra.me.REG[1] = NIT_NULL;
8646 fra.me.REG[2] = NIT_NULL;
8647 fra.me.REG[3] = NIT_NULL;
8648 fra.me.REG[4] = NIT_NULL;
8649 fra.me.REG[5] = NIT_NULL;
8650 fra.me.REG[6] = NIT_NULL;
8651 fra.me.REG[7] = NIT_NULL;
8652 fra.me.REG[8] = NIT_NULL;
8653 fra.me.REG[9] = NIT_NULL;
8654 fra.me.REG[10] = NIT_NULL;
8655 fra.me.REG[11] = NIT_NULL;
8656 fra.me.REG[0] = p0;
8657 fra.me.REG[1] = p1;
8658 /* ./parser//parser.nit:2264 */
8659 fra.me.REG[2] = NIT_NULL;
8660 /* ./parser//parser.nit:2265 */
8661 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8662 /* ./parser//parser.nit:2266 */
8663 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8664 /* ./parser//parser.nit:2267 */
8665 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8666 /* ./parser//parser.nit:2268 */
8667 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8668 /* ./parser//parser.nit:2269 */
8669 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8670 /* ./parser//parser.nit:2270 */
8671 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8672 /* ./parser//parser.nit:2271 */
8673 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8674 /* ./parser//parser.nit:2272 */
8675 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8676 /* ./parser//parser.nit:2273 */
8677 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8678 /* ./parser//parser.nit:2274 */
8679 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8680 /* ./parser//parser.nit:2275 */
8681 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8682 /* ./parser//parser.nit:2276 */
8683 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
8684 /* ./parser//parser.nit:2278 */
8685 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*/;
8686 if (UNTAG_Bool(REGB0)) {
8687 } else {
8688 nit_abort("Assert failed", NULL, LOCATE_parser, 2278);
8689 }
8690 /* ./parser//parser.nit:2280 */
8691 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*/;
8692 if (UNTAG_Bool(REGB0)) {
8693 } else {
8694 nit_abort("Assert failed", NULL, LOCATE_parser, 2280);
8695 }
8696 /* ./parser//parser.nit:2282 */
8697 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*/;
8698 if (UNTAG_Bool(REGB0)) {
8699 } else {
8700 nit_abort("Assert failed", NULL, LOCATE_parser, 2282);
8701 }
8702 /* ./parser//parser.nit:2284 */
8703 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*/;
8704 if (UNTAG_Bool(REGB0)) {
8705 } else {
8706 nit_abort("Assert failed", NULL, LOCATE_parser, 2284);
8707 }
8708 /* ./parser//parser.nit:2286 */
8709 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*/;
8710 if (UNTAG_Bool(REGB0)) {
8711 } else {
8712 nit_abort("Assert failed", NULL, LOCATE_parser, 2286);
8713 }
8714 /* ./parser//parser.nit:2288 */
8715 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]*/;
8716 if (UNTAG_Bool(REGB0)) {
8717 } else {
8718 nit_abort("Assert failed", NULL, LOCATE_parser, 2288);
8719 }
8720 /* ./parser//parser.nit:2289 */
8721 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[3]);
8722 fra.me.REG[10] = fra.me.REG[3];
8723 /* ./parser//parser.nit:2290 */
8724 fra.me.REG[11] = 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]);
8725 /* ./parser//parser.nit:2300 */
8726 fra.me.REG[2] = fra.me.REG[11];
8727 /* ./parser//parser.nit:2301 */
8728 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8729 if (UNTAG_Bool(REGB0)) {
8730 } else {
8731 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2301);
8732 }
8733 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8734 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8735 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8736 stack_frame_head = fra.me.prev;
8737 return;
8738 }
8739 void parser___ReduceAction45___action(val_t p0, val_t p1){
8740 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
8741 val_t REGB0;
8742 val_t tmp;
8743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8744 fra.me.file = LOCATE_parser;
8745 fra.me.line = 2306;
8746 fra.me.meth = LOCATE_parser___ReduceAction45___action;
8747 fra.me.has_broke = 0;
8748 fra.me.REG_size = 12;
8749 fra.me.REG[0] = NIT_NULL;
8750 fra.me.REG[1] = NIT_NULL;
8751 fra.me.REG[2] = NIT_NULL;
8752 fra.me.REG[3] = NIT_NULL;
8753 fra.me.REG[4] = NIT_NULL;
8754 fra.me.REG[5] = NIT_NULL;
8755 fra.me.REG[6] = NIT_NULL;
8756 fra.me.REG[7] = NIT_NULL;
8757 fra.me.REG[8] = NIT_NULL;
8758 fra.me.REG[9] = NIT_NULL;
8759 fra.me.REG[10] = NIT_NULL;
8760 fra.me.REG[11] = NIT_NULL;
8761 fra.me.REG[0] = p0;
8762 fra.me.REG[1] = p1;
8763 /* ./parser//parser.nit:2308 */
8764 fra.me.REG[2] = NIT_NULL;
8765 /* ./parser//parser.nit:2309 */
8766 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8767 /* ./parser//parser.nit:2310 */
8768 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8769 /* ./parser//parser.nit:2311 */
8770 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8771 /* ./parser//parser.nit:2312 */
8772 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8773 /* ./parser//parser.nit:2313 */
8774 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8775 /* ./parser//parser.nit:2314 */
8776 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8777 /* ./parser//parser.nit:2315 */
8778 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8779 /* ./parser//parser.nit:2316 */
8780 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8781 /* ./parser//parser.nit:2317 */
8782 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8783 /* ./parser//parser.nit:2318 */
8784 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8785 /* ./parser//parser.nit:2319 */
8786 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8787 /* ./parser//parser.nit:2320 */
8788 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
8789 /* ./parser//parser.nit:2322 */
8790 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*/;
8791 if (UNTAG_Bool(REGB0)) {
8792 } else {
8793 nit_abort("Assert failed", NULL, LOCATE_parser, 2322);
8794 }
8795 /* ./parser//parser.nit:2324 */
8796 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*/;
8797 if (UNTAG_Bool(REGB0)) {
8798 } else {
8799 nit_abort("Assert failed", NULL, LOCATE_parser, 2324);
8800 }
8801 /* ./parser//parser.nit:2326 */
8802 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*/;
8803 if (UNTAG_Bool(REGB0)) {
8804 } else {
8805 nit_abort("Assert failed", NULL, LOCATE_parser, 2326);
8806 }
8807 /* ./parser//parser.nit:2328 */
8808 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*/;
8809 if (UNTAG_Bool(REGB0)) {
8810 } else {
8811 nit_abort("Assert failed", NULL, LOCATE_parser, 2328);
8812 }
8813 /* ./parser//parser.nit:2330 */
8814 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]*/;
8815 if (UNTAG_Bool(REGB0)) {
8816 } else {
8817 nit_abort("Assert failed", NULL, LOCATE_parser, 2330);
8818 }
8819 /* ./parser//parser.nit:2331 */
8820 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
8821 fra.me.REG[9] = fra.me.REG[4];
8822 /* ./parser//parser.nit:2333 */
8823 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]*/;
8824 if (UNTAG_Bool(REGB0)) {
8825 } else {
8826 nit_abort("Assert failed", NULL, LOCATE_parser, 2333);
8827 }
8828 /* ./parser//parser.nit:2334 */
8829 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[3]);
8830 fra.me.REG[10] = fra.me.REG[3];
8831 /* ./parser//parser.nit:2335 */
8832 fra.me.REG[11] = 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]);
8833 /* ./parser//parser.nit:2345 */
8834 fra.me.REG[2] = fra.me.REG[11];
8835 /* ./parser//parser.nit:2346 */
8836 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8837 if (UNTAG_Bool(REGB0)) {
8838 } else {
8839 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2346);
8840 }
8841 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8842 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8843 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8844 stack_frame_head = fra.me.prev;
8845 return;
8846 }
8847 void parser___ReduceAction46___action(val_t p0, val_t p1){
8848 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
8849 val_t REGB0;
8850 val_t tmp;
8851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8852 fra.me.file = LOCATE_parser;
8853 fra.me.line = 2351;
8854 fra.me.meth = LOCATE_parser___ReduceAction46___action;
8855 fra.me.has_broke = 0;
8856 fra.me.REG_size = 13;
8857 fra.me.REG[0] = NIT_NULL;
8858 fra.me.REG[1] = NIT_NULL;
8859 fra.me.REG[2] = NIT_NULL;
8860 fra.me.REG[3] = NIT_NULL;
8861 fra.me.REG[4] = NIT_NULL;
8862 fra.me.REG[5] = NIT_NULL;
8863 fra.me.REG[6] = NIT_NULL;
8864 fra.me.REG[7] = NIT_NULL;
8865 fra.me.REG[8] = NIT_NULL;
8866 fra.me.REG[9] = NIT_NULL;
8867 fra.me.REG[10] = NIT_NULL;
8868 fra.me.REG[11] = NIT_NULL;
8869 fra.me.REG[12] = NIT_NULL;
8870 fra.me.REG[0] = p0;
8871 fra.me.REG[1] = p1;
8872 /* ./parser//parser.nit:2353 */
8873 fra.me.REG[2] = NIT_NULL;
8874 /* ./parser//parser.nit:2354 */
8875 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8876 /* ./parser//parser.nit:2355 */
8877 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8878 /* ./parser//parser.nit:2356 */
8879 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8880 /* ./parser//parser.nit:2357 */
8881 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8882 /* ./parser//parser.nit:2358 */
8883 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8884 /* ./parser//parser.nit:2359 */
8885 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8886 /* ./parser//parser.nit:2360 */
8887 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8888 /* ./parser//parser.nit:2361 */
8889 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8890 /* ./parser//parser.nit:2362 */
8891 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8892 /* ./parser//parser.nit:2363 */
8893 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8894 /* ./parser//parser.nit:2364 */
8895 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8896 /* ./parser//parser.nit:2365 */
8897 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
8898 /* ./parser//parser.nit:2366 */
8899 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
8900 /* ./parser//parser.nit:2368 */
8901 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*/;
8902 if (UNTAG_Bool(REGB0)) {
8903 } else {
8904 nit_abort("Assert failed", NULL, LOCATE_parser, 2368);
8905 }
8906 /* ./parser//parser.nit:2370 */
8907 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*/;
8908 if (UNTAG_Bool(REGB0)) {
8909 } else {
8910 nit_abort("Assert failed", NULL, LOCATE_parser, 2370);
8911 }
8912 /* ./parser//parser.nit:2372 */
8913 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*/;
8914 if (UNTAG_Bool(REGB0)) {
8915 } else {
8916 nit_abort("Assert failed", NULL, LOCATE_parser, 2372);
8917 }
8918 /* ./parser//parser.nit:2374 */
8919 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*/;
8920 if (UNTAG_Bool(REGB0)) {
8921 } else {
8922 nit_abort("Assert failed", NULL, LOCATE_parser, 2374);
8923 }
8924 /* ./parser//parser.nit:2376 */
8925 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*/;
8926 if (UNTAG_Bool(REGB0)) {
8927 } else {
8928 nit_abort("Assert failed", NULL, LOCATE_parser, 2376);
8929 }
8930 /* ./parser//parser.nit:2378 */
8931 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]*/;
8932 if (UNTAG_Bool(REGB0)) {
8933 } else {
8934 nit_abort("Assert failed", NULL, LOCATE_parser, 2378);
8935 }
8936 /* ./parser//parser.nit:2379 */
8937 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
8938 fra.me.REG[10] = fra.me.REG[4];
8939 /* ./parser//parser.nit:2381 */
8940 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]*/;
8941 if (UNTAG_Bool(REGB0)) {
8942 } else {
8943 nit_abort("Assert failed", NULL, LOCATE_parser, 2381);
8944 }
8945 /* ./parser//parser.nit:2382 */
8946 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[3]);
8947 fra.me.REG[11] = fra.me.REG[3];
8948 /* ./parser//parser.nit:2383 */
8949 fra.me.REG[12] = 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]);
8950 /* ./parser//parser.nit:2393 */
8951 fra.me.REG[2] = fra.me.REG[12];
8952 /* ./parser//parser.nit:2394 */
8953 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8954 if (UNTAG_Bool(REGB0)) {
8955 } else {
8956 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2394);
8957 }
8958 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8959 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8960 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8961 stack_frame_head = fra.me.prev;
8962 return;
8963 }
8964 void parser___ReduceAction47___action(val_t p0, val_t p1){
8965 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
8966 val_t REGB0;
8967 val_t tmp;
8968 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8969 fra.me.file = LOCATE_parser;
8970 fra.me.line = 2399;
8971 fra.me.meth = LOCATE_parser___ReduceAction47___action;
8972 fra.me.has_broke = 0;
8973 fra.me.REG_size = 11;
8974 fra.me.REG[0] = NIT_NULL;
8975 fra.me.REG[1] = NIT_NULL;
8976 fra.me.REG[2] = NIT_NULL;
8977 fra.me.REG[3] = NIT_NULL;
8978 fra.me.REG[4] = NIT_NULL;
8979 fra.me.REG[5] = NIT_NULL;
8980 fra.me.REG[6] = NIT_NULL;
8981 fra.me.REG[7] = NIT_NULL;
8982 fra.me.REG[8] = NIT_NULL;
8983 fra.me.REG[9] = NIT_NULL;
8984 fra.me.REG[10] = NIT_NULL;
8985 fra.me.REG[0] = p0;
8986 fra.me.REG[1] = p1;
8987 /* ./parser//parser.nit:2401 */
8988 fra.me.REG[2] = NIT_NULL;
8989 /* ./parser//parser.nit:2402 */
8990 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8991 /* ./parser//parser.nit:2403 */
8992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8993 /* ./parser//parser.nit:2404 */
8994 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8995 /* ./parser//parser.nit:2405 */
8996 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8997 /* ./parser//parser.nit:2406 */
8998 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8999 /* ./parser//parser.nit:2407 */
9000 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9001 /* ./parser//parser.nit:2408 */
9002 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9003 /* ./parser//parser.nit:2409 */
9004 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9005 /* ./parser//parser.nit:2410 */
9006 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9007 /* ./parser//parser.nit:2411 */
9008 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9009 /* ./parser//parser.nit:2412 */
9010 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9011 /* ./parser//parser.nit:2414 */
9012 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*/;
9013 if (UNTAG_Bool(REGB0)) {
9014 } else {
9015 nit_abort("Assert failed", NULL, LOCATE_parser, 2414);
9016 }
9017 /* ./parser//parser.nit:2416 */
9018 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*/;
9019 if (UNTAG_Bool(REGB0)) {
9020 } else {
9021 nit_abort("Assert failed", NULL, LOCATE_parser, 2416);
9022 }
9023 /* ./parser//parser.nit:2418 */
9024 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*/;
9025 if (UNTAG_Bool(REGB0)) {
9026 } else {
9027 nit_abort("Assert failed", NULL, LOCATE_parser, 2418);
9028 }
9029 /* ./parser//parser.nit:2420 */
9030 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*/;
9031 if (UNTAG_Bool(REGB0)) {
9032 } else {
9033 nit_abort("Assert failed", NULL, LOCATE_parser, 2420);
9034 }
9035 /* ./parser//parser.nit:2422 */
9036 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]*/;
9037 if (UNTAG_Bool(REGB0)) {
9038 } else {
9039 nit_abort("Assert failed", NULL, LOCATE_parser, 2422);
9040 }
9041 /* ./parser//parser.nit:2423 */
9042 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[3]);
9043 fra.me.REG[10] = fra.me.REG[3];
9044 /* ./parser//parser.nit:2424 */
9045 fra.me.REG[10] = 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]);
9046 /* ./parser//parser.nit:2434 */
9047 fra.me.REG[2] = fra.me.REG[10];
9048 /* ./parser//parser.nit:2435 */
9049 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9050 if (UNTAG_Bool(REGB0)) {
9051 } else {
9052 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2435);
9053 }
9054 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9055 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9056 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9057 stack_frame_head = fra.me.prev;
9058 return;
9059 }
9060 void parser___ReduceAction48___action(val_t p0, val_t p1){
9061 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
9062 val_t REGB0;
9063 val_t tmp;
9064 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9065 fra.me.file = LOCATE_parser;
9066 fra.me.line = 2440;
9067 fra.me.meth = LOCATE_parser___ReduceAction48___action;
9068 fra.me.has_broke = 0;
9069 fra.me.REG_size = 12;
9070 fra.me.REG[0] = NIT_NULL;
9071 fra.me.REG[1] = NIT_NULL;
9072 fra.me.REG[2] = NIT_NULL;
9073 fra.me.REG[3] = NIT_NULL;
9074 fra.me.REG[4] = NIT_NULL;
9075 fra.me.REG[5] = NIT_NULL;
9076 fra.me.REG[6] = NIT_NULL;
9077 fra.me.REG[7] = NIT_NULL;
9078 fra.me.REG[8] = NIT_NULL;
9079 fra.me.REG[9] = NIT_NULL;
9080 fra.me.REG[10] = NIT_NULL;
9081 fra.me.REG[11] = NIT_NULL;
9082 fra.me.REG[0] = p0;
9083 fra.me.REG[1] = p1;
9084 /* ./parser//parser.nit:2442 */
9085 fra.me.REG[2] = NIT_NULL;
9086 /* ./parser//parser.nit:2443 */
9087 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9088 /* ./parser//parser.nit:2444 */
9089 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9090 /* ./parser//parser.nit:2445 */
9091 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9092 /* ./parser//parser.nit:2446 */
9093 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9094 /* ./parser//parser.nit:2447 */
9095 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9096 /* ./parser//parser.nit:2448 */
9097 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9098 /* ./parser//parser.nit:2449 */
9099 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9100 /* ./parser//parser.nit:2450 */
9101 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9102 /* ./parser//parser.nit:2451 */
9103 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9104 /* ./parser//parser.nit:2452 */
9105 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9106 /* ./parser//parser.nit:2453 */
9107 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9108 /* ./parser//parser.nit:2454 */
9109 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9110 /* ./parser//parser.nit:2456 */
9111 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*/;
9112 if (UNTAG_Bool(REGB0)) {
9113 } else {
9114 nit_abort("Assert failed", NULL, LOCATE_parser, 2456);
9115 }
9116 /* ./parser//parser.nit:2458 */
9117 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*/;
9118 if (UNTAG_Bool(REGB0)) {
9119 } else {
9120 nit_abort("Assert failed", NULL, LOCATE_parser, 2458);
9121 }
9122 /* ./parser//parser.nit:2460 */
9123 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*/;
9124 if (UNTAG_Bool(REGB0)) {
9125 } else {
9126 nit_abort("Assert failed", NULL, LOCATE_parser, 2460);
9127 }
9128 /* ./parser//parser.nit:2462 */
9129 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*/;
9130 if (UNTAG_Bool(REGB0)) {
9131 } else {
9132 nit_abort("Assert failed", NULL, LOCATE_parser, 2462);
9133 }
9134 /* ./parser//parser.nit:2464 */
9135 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*/;
9136 if (UNTAG_Bool(REGB0)) {
9137 } else {
9138 nit_abort("Assert failed", NULL, LOCATE_parser, 2464);
9139 }
9140 /* ./parser//parser.nit:2466 */
9141 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]*/;
9142 if (UNTAG_Bool(REGB0)) {
9143 } else {
9144 nit_abort("Assert failed", NULL, LOCATE_parser, 2466);
9145 }
9146 /* ./parser//parser.nit:2467 */
9147 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[3]);
9148 fra.me.REG[11] = fra.me.REG[3];
9149 /* ./parser//parser.nit:2468 */
9150 fra.me.REG[11] = 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]);
9151 /* ./parser//parser.nit:2478 */
9152 fra.me.REG[2] = fra.me.REG[11];
9153 /* ./parser//parser.nit:2479 */
9154 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9155 if (UNTAG_Bool(REGB0)) {
9156 } else {
9157 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2479);
9158 }
9159 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9160 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9161 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9162 stack_frame_head = fra.me.prev;
9163 return;
9164 }
9165 void parser___ReduceAction49___action(val_t p0, val_t p1){
9166 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
9167 val_t REGB0;
9168 val_t tmp;
9169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9170 fra.me.file = LOCATE_parser;
9171 fra.me.line = 2484;
9172 fra.me.meth = LOCATE_parser___ReduceAction49___action;
9173 fra.me.has_broke = 0;
9174 fra.me.REG_size = 12;
9175 fra.me.REG[0] = NIT_NULL;
9176 fra.me.REG[1] = NIT_NULL;
9177 fra.me.REG[2] = NIT_NULL;
9178 fra.me.REG[3] = NIT_NULL;
9179 fra.me.REG[4] = NIT_NULL;
9180 fra.me.REG[5] = NIT_NULL;
9181 fra.me.REG[6] = NIT_NULL;
9182 fra.me.REG[7] = NIT_NULL;
9183 fra.me.REG[8] = NIT_NULL;
9184 fra.me.REG[9] = NIT_NULL;
9185 fra.me.REG[10] = NIT_NULL;
9186 fra.me.REG[11] = NIT_NULL;
9187 fra.me.REG[0] = p0;
9188 fra.me.REG[1] = p1;
9189 /* ./parser//parser.nit:2486 */
9190 fra.me.REG[2] = NIT_NULL;
9191 /* ./parser//parser.nit:2487 */
9192 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9193 /* ./parser//parser.nit:2488 */
9194 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9195 /* ./parser//parser.nit:2489 */
9196 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9197 /* ./parser//parser.nit:2490 */
9198 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9199 /* ./parser//parser.nit:2491 */
9200 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9201 /* ./parser//parser.nit:2492 */
9202 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9203 /* ./parser//parser.nit:2493 */
9204 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9205 /* ./parser//parser.nit:2494 */
9206 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9207 /* ./parser//parser.nit:2495 */
9208 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9209 /* ./parser//parser.nit:2496 */
9210 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9211 /* ./parser//parser.nit:2497 */
9212 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9213 /* ./parser//parser.nit:2498 */
9214 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9215 /* ./parser//parser.nit:2500 */
9216 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*/;
9217 if (UNTAG_Bool(REGB0)) {
9218 } else {
9219 nit_abort("Assert failed", NULL, LOCATE_parser, 2500);
9220 }
9221 /* ./parser//parser.nit:2502 */
9222 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*/;
9223 if (UNTAG_Bool(REGB0)) {
9224 } else {
9225 nit_abort("Assert failed", NULL, LOCATE_parser, 2502);
9226 }
9227 /* ./parser//parser.nit:2504 */
9228 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*/;
9229 if (UNTAG_Bool(REGB0)) {
9230 } else {
9231 nit_abort("Assert failed", NULL, LOCATE_parser, 2504);
9232 }
9233 /* ./parser//parser.nit:2506 */
9234 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*/;
9235 if (UNTAG_Bool(REGB0)) {
9236 } else {
9237 nit_abort("Assert failed", NULL, LOCATE_parser, 2506);
9238 }
9239 /* ./parser//parser.nit:2508 */
9240 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]*/;
9241 if (UNTAG_Bool(REGB0)) {
9242 } else {
9243 nit_abort("Assert failed", NULL, LOCATE_parser, 2508);
9244 }
9245 /* ./parser//parser.nit:2509 */
9246 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
9247 fra.me.REG[9] = fra.me.REG[4];
9248 /* ./parser//parser.nit:2511 */
9249 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]*/;
9250 if (UNTAG_Bool(REGB0)) {
9251 } else {
9252 nit_abort("Assert failed", NULL, LOCATE_parser, 2511);
9253 }
9254 /* ./parser//parser.nit:2512 */
9255 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[3]);
9256 fra.me.REG[11] = fra.me.REG[3];
9257 /* ./parser//parser.nit:2513 */
9258 fra.me.REG[11] = 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]);
9259 /* ./parser//parser.nit:2523 */
9260 fra.me.REG[2] = fra.me.REG[11];
9261 /* ./parser//parser.nit:2524 */
9262 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9263 if (UNTAG_Bool(REGB0)) {
9264 } else {
9265 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2524);
9266 }
9267 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9268 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9269 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9270 stack_frame_head = fra.me.prev;
9271 return;
9272 }
9273 void parser___ReduceAction50___action(val_t p0, val_t p1){
9274 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
9275 val_t REGB0;
9276 val_t tmp;
9277 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9278 fra.me.file = LOCATE_parser;
9279 fra.me.line = 2529;
9280 fra.me.meth = LOCATE_parser___ReduceAction50___action;
9281 fra.me.has_broke = 0;
9282 fra.me.REG_size = 13;
9283 fra.me.REG[0] = NIT_NULL;
9284 fra.me.REG[1] = NIT_NULL;
9285 fra.me.REG[2] = NIT_NULL;
9286 fra.me.REG[3] = NIT_NULL;
9287 fra.me.REG[4] = NIT_NULL;
9288 fra.me.REG[5] = NIT_NULL;
9289 fra.me.REG[6] = NIT_NULL;
9290 fra.me.REG[7] = NIT_NULL;
9291 fra.me.REG[8] = NIT_NULL;
9292 fra.me.REG[9] = NIT_NULL;
9293 fra.me.REG[10] = NIT_NULL;
9294 fra.me.REG[11] = NIT_NULL;
9295 fra.me.REG[12] = NIT_NULL;
9296 fra.me.REG[0] = p0;
9297 fra.me.REG[1] = p1;
9298 /* ./parser//parser.nit:2531 */
9299 fra.me.REG[2] = NIT_NULL;
9300 /* ./parser//parser.nit:2532 */
9301 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9302 /* ./parser//parser.nit:2533 */
9303 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9304 /* ./parser//parser.nit:2534 */
9305 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9306 /* ./parser//parser.nit:2535 */
9307 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9308 /* ./parser//parser.nit:2536 */
9309 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9310 /* ./parser//parser.nit:2537 */
9311 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9312 /* ./parser//parser.nit:2538 */
9313 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9314 /* ./parser//parser.nit:2539 */
9315 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9316 /* ./parser//parser.nit:2540 */
9317 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9318 /* ./parser//parser.nit:2541 */
9319 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9320 /* ./parser//parser.nit:2542 */
9321 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9322 /* ./parser//parser.nit:2543 */
9323 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9324 /* ./parser//parser.nit:2544 */
9325 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9326 /* ./parser//parser.nit:2546 */
9327 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*/;
9328 if (UNTAG_Bool(REGB0)) {
9329 } else {
9330 nit_abort("Assert failed", NULL, LOCATE_parser, 2546);
9331 }
9332 /* ./parser//parser.nit:2548 */
9333 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*/;
9334 if (UNTAG_Bool(REGB0)) {
9335 } else {
9336 nit_abort("Assert failed", NULL, LOCATE_parser, 2548);
9337 }
9338 /* ./parser//parser.nit:2550 */
9339 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*/;
9340 if (UNTAG_Bool(REGB0)) {
9341 } else {
9342 nit_abort("Assert failed", NULL, LOCATE_parser, 2550);
9343 }
9344 /* ./parser//parser.nit:2552 */
9345 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*/;
9346 if (UNTAG_Bool(REGB0)) {
9347 } else {
9348 nit_abort("Assert failed", NULL, LOCATE_parser, 2552);
9349 }
9350 /* ./parser//parser.nit:2554 */
9351 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*/;
9352 if (UNTAG_Bool(REGB0)) {
9353 } else {
9354 nit_abort("Assert failed", NULL, LOCATE_parser, 2554);
9355 }
9356 /* ./parser//parser.nit:2556 */
9357 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]*/;
9358 if (UNTAG_Bool(REGB0)) {
9359 } else {
9360 nit_abort("Assert failed", NULL, LOCATE_parser, 2556);
9361 }
9362 /* ./parser//parser.nit:2557 */
9363 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
9364 fra.me.REG[10] = fra.me.REG[4];
9365 /* ./parser//parser.nit:2559 */
9366 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]*/;
9367 if (UNTAG_Bool(REGB0)) {
9368 } else {
9369 nit_abort("Assert failed", NULL, LOCATE_parser, 2559);
9370 }
9371 /* ./parser//parser.nit:2560 */
9372 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[3]);
9373 fra.me.REG[12] = fra.me.REG[3];
9374 /* ./parser//parser.nit:2561 */
9375 fra.me.REG[12] = 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]);
9376 /* ./parser//parser.nit:2571 */
9377 fra.me.REG[2] = fra.me.REG[12];
9378 /* ./parser//parser.nit:2572 */
9379 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9380 if (UNTAG_Bool(REGB0)) {
9381 } else {
9382 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2572);
9383 }
9384 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9385 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9386 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9387 stack_frame_head = fra.me.prev;
9388 return;
9389 }
9390 void parser___ReduceAction51___action(val_t p0, val_t p1){
9391 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
9392 val_t REGB0;
9393 val_t tmp;
9394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9395 fra.me.file = LOCATE_parser;
9396 fra.me.line = 2577;
9397 fra.me.meth = LOCATE_parser___ReduceAction51___action;
9398 fra.me.has_broke = 0;
9399 fra.me.REG_size = 12;
9400 fra.me.REG[0] = NIT_NULL;
9401 fra.me.REG[1] = NIT_NULL;
9402 fra.me.REG[2] = NIT_NULL;
9403 fra.me.REG[3] = NIT_NULL;
9404 fra.me.REG[4] = NIT_NULL;
9405 fra.me.REG[5] = NIT_NULL;
9406 fra.me.REG[6] = NIT_NULL;
9407 fra.me.REG[7] = NIT_NULL;
9408 fra.me.REG[8] = NIT_NULL;
9409 fra.me.REG[9] = NIT_NULL;
9410 fra.me.REG[10] = NIT_NULL;
9411 fra.me.REG[11] = NIT_NULL;
9412 fra.me.REG[0] = p0;
9413 fra.me.REG[1] = p1;
9414 /* ./parser//parser.nit:2579 */
9415 fra.me.REG[2] = NIT_NULL;
9416 /* ./parser//parser.nit:2580 */
9417 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9418 /* ./parser//parser.nit:2581 */
9419 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9420 /* ./parser//parser.nit:2582 */
9421 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9422 /* ./parser//parser.nit:2583 */
9423 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9424 /* ./parser//parser.nit:2584 */
9425 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9426 /* ./parser//parser.nit:2585 */
9427 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9428 /* ./parser//parser.nit:2586 */
9429 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9430 /* ./parser//parser.nit:2587 */
9431 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9432 /* ./parser//parser.nit:2588 */
9433 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9434 /* ./parser//parser.nit:2589 */
9435 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9436 /* ./parser//parser.nit:2590 */
9437 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9438 /* ./parser//parser.nit:2591 */
9439 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9440 /* ./parser//parser.nit:2593 */
9441 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*/;
9442 if (UNTAG_Bool(REGB0)) {
9443 } else {
9444 nit_abort("Assert failed", NULL, LOCATE_parser, 2593);
9445 }
9446 /* ./parser//parser.nit:2595 */
9447 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*/;
9448 if (UNTAG_Bool(REGB0)) {
9449 } else {
9450 nit_abort("Assert failed", NULL, LOCATE_parser, 2595);
9451 }
9452 /* ./parser//parser.nit:2597 */
9453 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*/;
9454 if (UNTAG_Bool(REGB0)) {
9455 } else {
9456 nit_abort("Assert failed", NULL, LOCATE_parser, 2597);
9457 }
9458 /* ./parser//parser.nit:2599 */
9459 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*/;
9460 if (UNTAG_Bool(REGB0)) {
9461 } else {
9462 nit_abort("Assert failed", NULL, LOCATE_parser, 2599);
9463 }
9464 /* ./parser//parser.nit:2601 */
9465 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]*/;
9466 if (UNTAG_Bool(REGB0)) {
9467 } else {
9468 nit_abort("Assert failed", NULL, LOCATE_parser, 2601);
9469 }
9470 /* ./parser//parser.nit:2602 */
9471 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
9472 fra.me.REG[10] = fra.me.REG[4];
9473 /* ./parser//parser.nit:2604 */
9474 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]*/;
9475 if (UNTAG_Bool(REGB0)) {
9476 } else {
9477 nit_abort("Assert failed", NULL, LOCATE_parser, 2604);
9478 }
9479 /* ./parser//parser.nit:2605 */
9480 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[3]);
9481 fra.me.REG[11] = fra.me.REG[3];
9482 /* ./parser//parser.nit:2606 */
9483 fra.me.REG[11] = 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]);
9484 /* ./parser//parser.nit:2616 */
9485 fra.me.REG[2] = fra.me.REG[11];
9486 /* ./parser//parser.nit:2617 */
9487 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9488 if (UNTAG_Bool(REGB0)) {
9489 } else {
9490 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2617);
9491 }
9492 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9493 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9494 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9495 stack_frame_head = fra.me.prev;
9496 return;
9497 }
9498 void parser___ReduceAction52___action(val_t p0, val_t p1){
9499 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
9500 val_t REGB0;
9501 val_t tmp;
9502 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9503 fra.me.file = LOCATE_parser;
9504 fra.me.line = 2622;
9505 fra.me.meth = LOCATE_parser___ReduceAction52___action;
9506 fra.me.has_broke = 0;
9507 fra.me.REG_size = 13;
9508 fra.me.REG[0] = NIT_NULL;
9509 fra.me.REG[1] = NIT_NULL;
9510 fra.me.REG[2] = NIT_NULL;
9511 fra.me.REG[3] = NIT_NULL;
9512 fra.me.REG[4] = NIT_NULL;
9513 fra.me.REG[5] = NIT_NULL;
9514 fra.me.REG[6] = NIT_NULL;
9515 fra.me.REG[7] = NIT_NULL;
9516 fra.me.REG[8] = NIT_NULL;
9517 fra.me.REG[9] = NIT_NULL;
9518 fra.me.REG[10] = NIT_NULL;
9519 fra.me.REG[11] = NIT_NULL;
9520 fra.me.REG[12] = NIT_NULL;
9521 fra.me.REG[0] = p0;
9522 fra.me.REG[1] = p1;
9523 /* ./parser//parser.nit:2624 */
9524 fra.me.REG[2] = NIT_NULL;
9525 /* ./parser//parser.nit:2625 */
9526 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9527 /* ./parser//parser.nit:2626 */
9528 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9529 /* ./parser//parser.nit:2627 */
9530 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9531 /* ./parser//parser.nit:2628 */
9532 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9533 /* ./parser//parser.nit:2629 */
9534 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9535 /* ./parser//parser.nit:2630 */
9536 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9537 /* ./parser//parser.nit:2631 */
9538 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9539 /* ./parser//parser.nit:2632 */
9540 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9541 /* ./parser//parser.nit:2633 */
9542 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9543 /* ./parser//parser.nit:2634 */
9544 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9545 /* ./parser//parser.nit:2635 */
9546 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9547 /* ./parser//parser.nit:2636 */
9548 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9549 /* ./parser//parser.nit:2637 */
9550 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9551 /* ./parser//parser.nit:2639 */
9552 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*/;
9553 if (UNTAG_Bool(REGB0)) {
9554 } else {
9555 nit_abort("Assert failed", NULL, LOCATE_parser, 2639);
9556 }
9557 /* ./parser//parser.nit:2641 */
9558 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*/;
9559 if (UNTAG_Bool(REGB0)) {
9560 } else {
9561 nit_abort("Assert failed", NULL, LOCATE_parser, 2641);
9562 }
9563 /* ./parser//parser.nit:2643 */
9564 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*/;
9565 if (UNTAG_Bool(REGB0)) {
9566 } else {
9567 nit_abort("Assert failed", NULL, LOCATE_parser, 2643);
9568 }
9569 /* ./parser//parser.nit:2645 */
9570 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*/;
9571 if (UNTAG_Bool(REGB0)) {
9572 } else {
9573 nit_abort("Assert failed", NULL, LOCATE_parser, 2645);
9574 }
9575 /* ./parser//parser.nit:2647 */
9576 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*/;
9577 if (UNTAG_Bool(REGB0)) {
9578 } else {
9579 nit_abort("Assert failed", NULL, LOCATE_parser, 2647);
9580 }
9581 /* ./parser//parser.nit:2649 */
9582 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]*/;
9583 if (UNTAG_Bool(REGB0)) {
9584 } else {
9585 nit_abort("Assert failed", NULL, LOCATE_parser, 2649);
9586 }
9587 /* ./parser//parser.nit:2650 */
9588 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
9589 fra.me.REG[11] = fra.me.REG[4];
9590 /* ./parser//parser.nit:2652 */
9591 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]*/;
9592 if (UNTAG_Bool(REGB0)) {
9593 } else {
9594 nit_abort("Assert failed", NULL, LOCATE_parser, 2652);
9595 }
9596 /* ./parser//parser.nit:2653 */
9597 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[3]);
9598 fra.me.REG[12] = fra.me.REG[3];
9599 /* ./parser//parser.nit:2654 */
9600 fra.me.REG[12] = 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]);
9601 /* ./parser//parser.nit:2664 */
9602 fra.me.REG[2] = fra.me.REG[12];
9603 /* ./parser//parser.nit:2665 */
9604 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9605 if (UNTAG_Bool(REGB0)) {
9606 } else {
9607 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2665);
9608 }
9609 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9610 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9611 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9612 stack_frame_head = fra.me.prev;
9613 return;
9614 }
9615 void parser___ReduceAction53___action(val_t p0, val_t p1){
9616 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
9617 val_t REGB0;
9618 val_t tmp;
9619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9620 fra.me.file = LOCATE_parser;
9621 fra.me.line = 2670;
9622 fra.me.meth = LOCATE_parser___ReduceAction53___action;
9623 fra.me.has_broke = 0;
9624 fra.me.REG_size = 13;
9625 fra.me.REG[0] = NIT_NULL;
9626 fra.me.REG[1] = NIT_NULL;
9627 fra.me.REG[2] = NIT_NULL;
9628 fra.me.REG[3] = NIT_NULL;
9629 fra.me.REG[4] = NIT_NULL;
9630 fra.me.REG[5] = NIT_NULL;
9631 fra.me.REG[6] = NIT_NULL;
9632 fra.me.REG[7] = NIT_NULL;
9633 fra.me.REG[8] = NIT_NULL;
9634 fra.me.REG[9] = NIT_NULL;
9635 fra.me.REG[10] = NIT_NULL;
9636 fra.me.REG[11] = NIT_NULL;
9637 fra.me.REG[12] = NIT_NULL;
9638 fra.me.REG[0] = p0;
9639 fra.me.REG[1] = p1;
9640 /* ./parser//parser.nit:2672 */
9641 fra.me.REG[2] = NIT_NULL;
9642 /* ./parser//parser.nit:2673 */
9643 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9644 /* ./parser//parser.nit:2674 */
9645 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9646 /* ./parser//parser.nit:2675 */
9647 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9648 /* ./parser//parser.nit:2676 */
9649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9650 /* ./parser//parser.nit:2677 */
9651 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9652 /* ./parser//parser.nit:2678 */
9653 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9654 /* ./parser//parser.nit:2679 */
9655 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9656 /* ./parser//parser.nit:2680 */
9657 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9658 /* ./parser//parser.nit:2681 */
9659 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9660 /* ./parser//parser.nit:2682 */
9661 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9662 /* ./parser//parser.nit:2683 */
9663 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
9664 /* ./parser//parser.nit:2684 */
9665 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9666 /* ./parser//parser.nit:2685 */
9667 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9668 /* ./parser//parser.nit:2687 */
9669 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*/;
9670 if (UNTAG_Bool(REGB0)) {
9671 } else {
9672 nit_abort("Assert failed", NULL, LOCATE_parser, 2687);
9673 }
9674 /* ./parser//parser.nit:2689 */
9675 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*/;
9676 if (UNTAG_Bool(REGB0)) {
9677 } else {
9678 nit_abort("Assert failed", NULL, LOCATE_parser, 2689);
9679 }
9680 /* ./parser//parser.nit:2691 */
9681 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*/;
9682 if (UNTAG_Bool(REGB0)) {
9683 } else {
9684 nit_abort("Assert failed", NULL, LOCATE_parser, 2691);
9685 }
9686 /* ./parser//parser.nit:2693 */
9687 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*/;
9688 if (UNTAG_Bool(REGB0)) {
9689 } else {
9690 nit_abort("Assert failed", NULL, LOCATE_parser, 2693);
9691 }
9692 /* ./parser//parser.nit:2695 */
9693 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]*/;
9694 if (UNTAG_Bool(REGB0)) {
9695 } else {
9696 nit_abort("Assert failed", NULL, LOCATE_parser, 2695);
9697 }
9698 /* ./parser//parser.nit:2696 */
9699 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
9700 fra.me.REG[10] = fra.me.REG[5];
9701 /* ./parser//parser.nit:2698 */
9702 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]*/;
9703 if (UNTAG_Bool(REGB0)) {
9704 } else {
9705 nit_abort("Assert failed", NULL, LOCATE_parser, 2698);
9706 }
9707 /* ./parser//parser.nit:2699 */
9708 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
9709 fra.me.REG[11] = fra.me.REG[4];
9710 /* ./parser//parser.nit:2701 */
9711 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]*/;
9712 if (UNTAG_Bool(REGB0)) {
9713 } else {
9714 nit_abort("Assert failed", NULL, LOCATE_parser, 2701);
9715 }
9716 /* ./parser//parser.nit:2702 */
9717 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[3]);
9718 fra.me.REG[12] = fra.me.REG[3];
9719 /* ./parser//parser.nit:2703 */
9720 fra.me.REG[12] = 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]);
9721 /* ./parser//parser.nit:2713 */
9722 fra.me.REG[2] = fra.me.REG[12];
9723 /* ./parser//parser.nit:2714 */
9724 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9725 if (UNTAG_Bool(REGB0)) {
9726 } else {
9727 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2714);
9728 }
9729 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9730 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9731 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9732 stack_frame_head = fra.me.prev;
9733 return;
9734 }
9735 void parser___ReduceAction54___action(val_t p0, val_t p1){
9736 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
9737 val_t REGB0;
9738 val_t tmp;
9739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9740 fra.me.file = LOCATE_parser;
9741 fra.me.line = 2719;
9742 fra.me.meth = LOCATE_parser___ReduceAction54___action;
9743 fra.me.has_broke = 0;
9744 fra.me.REG_size = 14;
9745 fra.me.REG[0] = NIT_NULL;
9746 fra.me.REG[1] = NIT_NULL;
9747 fra.me.REG[2] = NIT_NULL;
9748 fra.me.REG[3] = NIT_NULL;
9749 fra.me.REG[4] = NIT_NULL;
9750 fra.me.REG[5] = NIT_NULL;
9751 fra.me.REG[6] = NIT_NULL;
9752 fra.me.REG[7] = NIT_NULL;
9753 fra.me.REG[8] = NIT_NULL;
9754 fra.me.REG[9] = NIT_NULL;
9755 fra.me.REG[10] = NIT_NULL;
9756 fra.me.REG[11] = NIT_NULL;
9757 fra.me.REG[12] = NIT_NULL;
9758 fra.me.REG[13] = NIT_NULL;
9759 fra.me.REG[0] = p0;
9760 fra.me.REG[1] = p1;
9761 /* ./parser//parser.nit:2721 */
9762 fra.me.REG[2] = NIT_NULL;
9763 /* ./parser//parser.nit:2722 */
9764 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9765 /* ./parser//parser.nit:2723 */
9766 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9767 /* ./parser//parser.nit:2724 */
9768 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9769 /* ./parser//parser.nit:2725 */
9770 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9771 /* ./parser//parser.nit:2726 */
9772 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9773 /* ./parser//parser.nit:2727 */
9774 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9775 /* ./parser//parser.nit:2728 */
9776 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9777 /* ./parser//parser.nit:2729 */
9778 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9779 /* ./parser//parser.nit:2730 */
9780 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9781 /* ./parser//parser.nit:2731 */
9782 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9783 /* ./parser//parser.nit:2732 */
9784 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9785 /* ./parser//parser.nit:2733 */
9786 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
9787 /* ./parser//parser.nit:2734 */
9788 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
9789 /* ./parser//parser.nit:2735 */
9790 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
9791 /* ./parser//parser.nit:2737 */
9792 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*/;
9793 if (UNTAG_Bool(REGB0)) {
9794 } else {
9795 nit_abort("Assert failed", NULL, LOCATE_parser, 2737);
9796 }
9797 /* ./parser//parser.nit:2739 */
9798 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*/;
9799 if (UNTAG_Bool(REGB0)) {
9800 } else {
9801 nit_abort("Assert failed", NULL, LOCATE_parser, 2739);
9802 }
9803 /* ./parser//parser.nit:2741 */
9804 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*/;
9805 if (UNTAG_Bool(REGB0)) {
9806 } else {
9807 nit_abort("Assert failed", NULL, LOCATE_parser, 2741);
9808 }
9809 /* ./parser//parser.nit:2743 */
9810 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*/;
9811 if (UNTAG_Bool(REGB0)) {
9812 } else {
9813 nit_abort("Assert failed", NULL, LOCATE_parser, 2743);
9814 }
9815 /* ./parser//parser.nit:2745 */
9816 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*/;
9817 if (UNTAG_Bool(REGB0)) {
9818 } else {
9819 nit_abort("Assert failed", NULL, LOCATE_parser, 2745);
9820 }
9821 /* ./parser//parser.nit:2747 */
9822 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]*/;
9823 if (UNTAG_Bool(REGB0)) {
9824 } else {
9825 nit_abort("Assert failed", NULL, LOCATE_parser, 2747);
9826 }
9827 /* ./parser//parser.nit:2748 */
9828 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
9829 fra.me.REG[11] = fra.me.REG[5];
9830 /* ./parser//parser.nit:2750 */
9831 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]*/;
9832 if (UNTAG_Bool(REGB0)) {
9833 } else {
9834 nit_abort("Assert failed", NULL, LOCATE_parser, 2750);
9835 }
9836 /* ./parser//parser.nit:2751 */
9837 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
9838 fra.me.REG[12] = fra.me.REG[4];
9839 /* ./parser//parser.nit:2753 */
9840 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]*/;
9841 if (UNTAG_Bool(REGB0)) {
9842 } else {
9843 nit_abort("Assert failed", NULL, LOCATE_parser, 2753);
9844 }
9845 /* ./parser//parser.nit:2754 */
9846 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[3]);
9847 fra.me.REG[13] = fra.me.REG[3];
9848 /* ./parser//parser.nit:2755 */
9849 fra.me.REG[13] = 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]);
9850 /* ./parser//parser.nit:2765 */
9851 fra.me.REG[2] = fra.me.REG[13];
9852 /* ./parser//parser.nit:2766 */
9853 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9854 if (UNTAG_Bool(REGB0)) {
9855 } else {
9856 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2766);
9857 }
9858 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9859 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9860 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9861 stack_frame_head = fra.me.prev;
9862 return;
9863 }
9864 void parser___ReduceAction55___action(val_t p0, val_t p1){
9865 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
9866 val_t REGB0;
9867 val_t tmp;
9868 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9869 fra.me.file = LOCATE_parser;
9870 fra.me.line = 2771;
9871 fra.me.meth = LOCATE_parser___ReduceAction55___action;
9872 fra.me.has_broke = 0;
9873 fra.me.REG_size = 4;
9874 fra.me.REG[0] = NIT_NULL;
9875 fra.me.REG[1] = NIT_NULL;
9876 fra.me.REG[2] = NIT_NULL;
9877 fra.me.REG[3] = NIT_NULL;
9878 fra.me.REG[0] = p0;
9879 fra.me.REG[1] = p1;
9880 /* ./parser//parser.nit:2773 */
9881 fra.me.REG[2] = NIT_NULL;
9882 /* ./parser//parser.nit:2774 */
9883 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9884 /* ./parser//parser.nit:2776 */
9885 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*/;
9886 if (UNTAG_Bool(REGB0)) {
9887 } else {
9888 nit_abort("Assert failed", NULL, LOCATE_parser, 2776);
9889 }
9890 /* ./parser//parser.nit:2777 */
9891 fra.me.REG[3] = NEW_AConcreteClasskind_parser___parser_prod___AConcreteClasskind___init_aconcreteclasskind(fra.me.REG[3]);
9892 /* ./parser//parser.nit:2780 */
9893 fra.me.REG[2] = fra.me.REG[3];
9894 /* ./parser//parser.nit:2781 */
9895 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9896 if (UNTAG_Bool(REGB0)) {
9897 } else {
9898 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2781);
9899 }
9900 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9901 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9902 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9903 stack_frame_head = fra.me.prev;
9904 return;
9905 }
9906 void parser___ReduceAction56___action(val_t p0, val_t p1){
9907 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
9908 val_t REGB0;
9909 val_t tmp;
9910 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9911 fra.me.file = LOCATE_parser;
9912 fra.me.line = 2786;
9913 fra.me.meth = LOCATE_parser___ReduceAction56___action;
9914 fra.me.has_broke = 0;
9915 fra.me.REG_size = 5;
9916 fra.me.REG[0] = NIT_NULL;
9917 fra.me.REG[1] = NIT_NULL;
9918 fra.me.REG[2] = NIT_NULL;
9919 fra.me.REG[3] = NIT_NULL;
9920 fra.me.REG[4] = NIT_NULL;
9921 fra.me.REG[0] = p0;
9922 fra.me.REG[1] = p1;
9923 /* ./parser//parser.nit:2788 */
9924 fra.me.REG[2] = NIT_NULL;
9925 /* ./parser//parser.nit:2789 */
9926 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9927 /* ./parser//parser.nit:2790 */
9928 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9929 /* ./parser//parser.nit:2792 */
9930 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*/;
9931 if (UNTAG_Bool(REGB0)) {
9932 } else {
9933 nit_abort("Assert failed", NULL, LOCATE_parser, 2792);
9934 }
9935 /* ./parser//parser.nit:2794 */
9936 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*/;
9937 if (UNTAG_Bool(REGB0)) {
9938 } else {
9939 nit_abort("Assert failed", NULL, LOCATE_parser, 2794);
9940 }
9941 /* ./parser//parser.nit:2795 */
9942 fra.me.REG[3] = NEW_AAbstractClasskind_parser___parser_prod___AAbstractClasskind___init_aabstractclasskind(fra.me.REG[4], fra.me.REG[3]);
9943 /* ./parser//parser.nit:2799 */
9944 fra.me.REG[2] = fra.me.REG[3];
9945 /* ./parser//parser.nit:2800 */
9946 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9947 if (UNTAG_Bool(REGB0)) {
9948 } else {
9949 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2800);
9950 }
9951 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9952 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9953 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9954 stack_frame_head = fra.me.prev;
9955 return;
9956 }
9957 void parser___ReduceAction57___action(val_t p0, val_t p1){
9958 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
9959 val_t REGB0;
9960 val_t tmp;
9961 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9962 fra.me.file = LOCATE_parser;
9963 fra.me.line = 2805;
9964 fra.me.meth = LOCATE_parser___ReduceAction57___action;
9965 fra.me.has_broke = 0;
9966 fra.me.REG_size = 4;
9967 fra.me.REG[0] = NIT_NULL;
9968 fra.me.REG[1] = NIT_NULL;
9969 fra.me.REG[2] = NIT_NULL;
9970 fra.me.REG[3] = NIT_NULL;
9971 fra.me.REG[0] = p0;
9972 fra.me.REG[1] = p1;
9973 /* ./parser//parser.nit:2807 */
9974 fra.me.REG[2] = NIT_NULL;
9975 /* ./parser//parser.nit:2808 */
9976 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9977 /* ./parser//parser.nit:2810 */
9978 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*/;
9979 if (UNTAG_Bool(REGB0)) {
9980 } else {
9981 nit_abort("Assert failed", NULL, LOCATE_parser, 2810);
9982 }
9983 /* ./parser//parser.nit:2811 */
9984 fra.me.REG[3] = NEW_AInterfaceClasskind_parser___parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(fra.me.REG[3]);
9985 /* ./parser//parser.nit:2814 */
9986 fra.me.REG[2] = fra.me.REG[3];
9987 /* ./parser//parser.nit:2815 */
9988 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9989 if (UNTAG_Bool(REGB0)) {
9990 } else {
9991 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2815);
9992 }
9993 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9994 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9995 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9996 stack_frame_head = fra.me.prev;
9997 return;
9998 }
9999 void parser___ReduceAction58___action(val_t p0, val_t p1){
10000 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10001 val_t REGB0;
10002 val_t tmp;
10003 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10004 fra.me.file = LOCATE_parser;
10005 fra.me.line = 2820;
10006 fra.me.meth = LOCATE_parser___ReduceAction58___action;
10007 fra.me.has_broke = 0;
10008 fra.me.REG_size = 4;
10009 fra.me.REG[0] = NIT_NULL;
10010 fra.me.REG[1] = NIT_NULL;
10011 fra.me.REG[2] = NIT_NULL;
10012 fra.me.REG[3] = NIT_NULL;
10013 fra.me.REG[0] = p0;
10014 fra.me.REG[1] = p1;
10015 /* ./parser//parser.nit:2822 */
10016 fra.me.REG[2] = NIT_NULL;
10017 /* ./parser//parser.nit:2823 */
10018 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10019 /* ./parser//parser.nit:2825 */
10020 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*/;
10021 if (UNTAG_Bool(REGB0)) {
10022 } else {
10023 nit_abort("Assert failed", NULL, LOCATE_parser, 2825);
10024 }
10025 /* ./parser//parser.nit:2826 */
10026 fra.me.REG[3] = NEW_AEnumClasskind_parser___parser_prod___AEnumClasskind___init_aenumclasskind(fra.me.REG[3]);
10027 /* ./parser//parser.nit:2829 */
10028 fra.me.REG[2] = fra.me.REG[3];
10029 /* ./parser//parser.nit:2830 */
10030 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10031 if (UNTAG_Bool(REGB0)) {
10032 } else {
10033 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2830);
10034 }
10035 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10036 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10037 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10038 stack_frame_head = fra.me.prev;
10039 return;
10040 }
10041 void parser___ReduceAction59___action(val_t p0, val_t p1){
10042 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
10043 val_t REGB0;
10044 val_t REGB1;
10045 val_t tmp;
10046 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10047 fra.me.file = LOCATE_parser;
10048 fra.me.line = 2835;
10049 fra.me.meth = LOCATE_parser___ReduceAction59___action;
10050 fra.me.has_broke = 0;
10051 fra.me.REG_size = 5;
10052 fra.me.REG[0] = NIT_NULL;
10053 fra.me.REG[1] = NIT_NULL;
10054 fra.me.REG[2] = NIT_NULL;
10055 fra.me.REG[3] = NIT_NULL;
10056 fra.me.REG[4] = NIT_NULL;
10057 fra.me.REG[0] = p0;
10058 fra.me.REG[1] = p1;
10059 /* ./parser//parser.nit:2837 */
10060 fra.me.REG[2] = NIT_NULL;
10061 /* ./parser//parser.nit:2838 */
10062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10063 /* ./parser//parser.nit:2839 */
10064 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10065 /* ./parser//parser.nit:2840 */
10066 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10067 /* ./parser//parser.nit:2841 */
10068 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10069 /* ./parser//parser.nit:2842 */
10070 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10071 /* ./parser//parser.nit:2843 */
10072 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
10073 /* ./parser//parser.nit:2845 */
10074 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10075 if (UNTAG_Bool(REGB0)) {
10076 } else {
10077 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10078 if (UNTAG_Bool(REGB1)) {
10079 REGB1 = TAG_Bool(false);
10080 REGB0 = REGB1;
10081 } else {
10082 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10083 REGB0 = REGB1;
10084 }
10085 }
10086 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10087 if (UNTAG_Bool(REGB0)) {
10088 /* ./parser//parser.nit:2846 */
10089 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
10090 }
10091 /* ./parser//parser.nit:2848 */
10092 fra.me.REG[2] = fra.me.REG[4];
10093 /* ./parser//parser.nit:2849 */
10094 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10095 if (UNTAG_Bool(REGB0)) {
10096 } else {
10097 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2849);
10098 }
10099 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10100 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10101 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10102 stack_frame_head = fra.me.prev;
10103 return;
10104 }
10105 void parser___ReduceAction60___action(val_t p0, val_t p1){
10106 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
10107 val_t REGB0;
10108 val_t REGB1;
10109 val_t tmp;
10110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10111 fra.me.file = LOCATE_parser;
10112 fra.me.line = 2854;
10113 fra.me.meth = LOCATE_parser___ReduceAction60___action;
10114 fra.me.has_broke = 0;
10115 fra.me.REG_size = 6;
10116 fra.me.REG[0] = NIT_NULL;
10117 fra.me.REG[1] = NIT_NULL;
10118 fra.me.REG[2] = NIT_NULL;
10119 fra.me.REG[3] = NIT_NULL;
10120 fra.me.REG[4] = NIT_NULL;
10121 fra.me.REG[5] = NIT_NULL;
10122 fra.me.REG[0] = p0;
10123 fra.me.REG[1] = p1;
10124 /* ./parser//parser.nit:2856 */
10125 fra.me.REG[2] = NIT_NULL;
10126 /* ./parser//parser.nit:2857 */
10127 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10128 /* ./parser//parser.nit:2858 */
10129 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10130 /* ./parser//parser.nit:2859 */
10131 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10132 /* ./parser//parser.nit:2860 */
10133 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10134 /* ./parser//parser.nit:2861 */
10135 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10136 /* ./parser//parser.nit:2862 */
10137 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10138 /* ./parser//parser.nit:2863 */
10139 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10140 /* ./parser//parser.nit:2866 */
10141 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]*/;
10142 if (UNTAG_Bool(REGB0)) {
10143 } else {
10144 nit_abort("Assert failed", NULL, LOCATE_parser, 2866);
10145 }
10146 /* ./parser//parser.nit:2867 */
10147 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10148 if (UNTAG_Bool(REGB0)) {
10149 } else {
10150 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10151 if (UNTAG_Bool(REGB1)) {
10152 REGB1 = TAG_Bool(false);
10153 REGB0 = REGB1;
10154 } else {
10155 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
10156 REGB0 = REGB1;
10157 }
10158 }
10159 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10160 if (UNTAG_Bool(REGB0)) {
10161 /* ./parser//parser.nit:2868 */
10162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
10163 }
10164 /* ./parser//parser.nit:2870 */
10165 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
10166 fra.me.REG[5] = fra.me.REG[3];
10167 /* ./parser//parser.nit:2871 */
10168 fra.me.REG[2] = fra.me.REG[5];
10169 /* ./parser//parser.nit:2872 */
10170 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10171 if (UNTAG_Bool(REGB0)) {
10172 } else {
10173 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2872);
10174 }
10175 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10176 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10177 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10178 stack_frame_head = fra.me.prev;
10179 return;
10180 }
10181 void parser___ReduceAction61___action(val_t p0, val_t p1){
10182 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
10183 val_t REGB0;
10184 val_t tmp;
10185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10186 fra.me.file = LOCATE_parser;
10187 fra.me.line = 2877;
10188 fra.me.meth = LOCATE_parser___ReduceAction61___action;
10189 fra.me.has_broke = 0;
10190 fra.me.REG_size = 5;
10191 fra.me.REG[0] = NIT_NULL;
10192 fra.me.REG[1] = NIT_NULL;
10193 fra.me.REG[2] = NIT_NULL;
10194 fra.me.REG[3] = NIT_NULL;
10195 fra.me.REG[4] = NIT_NULL;
10196 fra.me.REG[0] = p0;
10197 fra.me.REG[1] = p1;
10198 /* ./parser//parser.nit:2879 */
10199 fra.me.REG[2] = NIT_NULL;
10200 /* ./parser//parser.nit:2880 */
10201 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10202 /* ./parser//parser.nit:2881 */
10203 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10204 /* ./parser//parser.nit:2882 */
10205 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10206 /* ./parser//parser.nit:2884 */
10207 fra.me.REG[2] = fra.me.REG[3];
10208 /* ./parser//parser.nit:2885 */
10209 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10210 if (UNTAG_Bool(REGB0)) {
10211 } else {
10212 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2885);
10213 }
10214 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10215 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10216 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10217 stack_frame_head = fra.me.prev;
10218 return;
10219 }
10220 void parser___ReduceAction62___action(val_t p0, val_t p1){
10221 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10222 val_t REGB0;
10223 val_t tmp;
10224 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10225 fra.me.file = LOCATE_parser;
10226 fra.me.line = 2890;
10227 fra.me.meth = LOCATE_parser___ReduceAction62___action;
10228 fra.me.has_broke = 0;
10229 fra.me.REG_size = 4;
10230 fra.me.REG[0] = NIT_NULL;
10231 fra.me.REG[1] = NIT_NULL;
10232 fra.me.REG[2] = NIT_NULL;
10233 fra.me.REG[3] = NIT_NULL;
10234 fra.me.REG[0] = p0;
10235 fra.me.REG[1] = p1;
10236 /* ./parser//parser.nit:2892 */
10237 fra.me.REG[2] = NIT_NULL;
10238 /* ./parser//parser.nit:2893 */
10239 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10240 /* ./parser//parser.nit:2895 */
10241 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*/;
10242 if (UNTAG_Bool(REGB0)) {
10243 } else {
10244 nit_abort("Assert failed", NULL, LOCATE_parser, 2895);
10245 }
10246 /* ./parser//parser.nit:2896 */
10247 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], NIT_NULL);
10248 /* ./parser//parser.nit:2900 */
10249 fra.me.REG[2] = fra.me.REG[3];
10250 /* ./parser//parser.nit:2901 */
10251 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10252 if (UNTAG_Bool(REGB0)) {
10253 } else {
10254 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2901);
10255 }
10256 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10258 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10259 stack_frame_head = fra.me.prev;
10260 return;
10261 }
10262 void parser___ReduceAction63___action(val_t p0, val_t p1){
10263 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
10264 val_t REGB0;
10265 val_t tmp;
10266 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10267 fra.me.file = LOCATE_parser;
10268 fra.me.line = 2906;
10269 fra.me.meth = LOCATE_parser___ReduceAction63___action;
10270 fra.me.has_broke = 0;
10271 fra.me.REG_size = 5;
10272 fra.me.REG[0] = NIT_NULL;
10273 fra.me.REG[1] = NIT_NULL;
10274 fra.me.REG[2] = NIT_NULL;
10275 fra.me.REG[3] = NIT_NULL;
10276 fra.me.REG[4] = NIT_NULL;
10277 fra.me.REG[0] = p0;
10278 fra.me.REG[1] = p1;
10279 /* ./parser//parser.nit:2908 */
10280 fra.me.REG[2] = NIT_NULL;
10281 /* ./parser//parser.nit:2909 */
10282 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10283 /* ./parser//parser.nit:2910 */
10284 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10285 /* ./parser//parser.nit:2912 */
10286 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*/;
10287 if (UNTAG_Bool(REGB0)) {
10288 } else {
10289 nit_abort("Assert failed", NULL, LOCATE_parser, 2912);
10290 }
10291 /* ./parser//parser.nit:2914 */
10292 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*/;
10293 if (UNTAG_Bool(REGB0)) {
10294 } else {
10295 nit_abort("Assert failed", NULL, LOCATE_parser, 2914);
10296 }
10297 /* ./parser//parser.nit:2915 */
10298 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[4], fra.me.REG[3]);
10299 /* ./parser//parser.nit:2919 */
10300 fra.me.REG[2] = fra.me.REG[3];
10301 /* ./parser//parser.nit:2920 */
10302 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10303 if (UNTAG_Bool(REGB0)) {
10304 } else {
10305 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2920);
10306 }
10307 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10308 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10309 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10310 stack_frame_head = fra.me.prev;
10311 return;
10312 }
10313 void parser___ReduceAction64___action(val_t p0, val_t p1){
10314 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
10315 val_t REGB0;
10316 val_t tmp;
10317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10318 fra.me.file = LOCATE_parser;
10319 fra.me.line = 2925;
10320 fra.me.meth = LOCATE_parser___ReduceAction64___action;
10321 fra.me.has_broke = 0;
10322 fra.me.REG_size = 6;
10323 fra.me.REG[0] = NIT_NULL;
10324 fra.me.REG[1] = NIT_NULL;
10325 fra.me.REG[2] = NIT_NULL;
10326 fra.me.REG[3] = NIT_NULL;
10327 fra.me.REG[4] = NIT_NULL;
10328 fra.me.REG[5] = NIT_NULL;
10329 fra.me.REG[0] = p0;
10330 fra.me.REG[1] = p1;
10331 /* ./parser//parser.nit:2927 */
10332 fra.me.REG[2] = NIT_NULL;
10333 /* ./parser//parser.nit:2928 */
10334 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10335 /* ./parser//parser.nit:2929 */
10336 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10337 /* ./parser//parser.nit:2930 */
10338 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10339 /* ./parser//parser.nit:2931 */
10340 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10341 /* ./parser//parser.nit:2933 */
10342 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*/;
10343 if (UNTAG_Bool(REGB0)) {
10344 } else {
10345 nit_abort("Assert failed", NULL, LOCATE_parser, 2933);
10346 }
10347 /* ./parser//parser.nit:2935 */
10348 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*/;
10349 if (UNTAG_Bool(REGB0)) {
10350 } else {
10351 nit_abort("Assert failed", NULL, LOCATE_parser, 2935);
10352 }
10353 /* ./parser//parser.nit:2936 */
10354 fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
10355 /* ./parser//parser.nit:2941 */
10356 fra.me.REG[2] = fra.me.REG[3];
10357 /* ./parser//parser.nit:2942 */
10358 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10359 if (UNTAG_Bool(REGB0)) {
10360 } else {
10361 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2942);
10362 }
10363 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10364 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10365 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10366 stack_frame_head = fra.me.prev;
10367 return;
10368 }
10369 void parser___ReduceAction65___action(val_t p0, val_t p1){
10370 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
10371 val_t REGB0;
10372 val_t tmp;
10373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10374 fra.me.file = LOCATE_parser;
10375 fra.me.line = 2947;
10376 fra.me.meth = LOCATE_parser___ReduceAction65___action;
10377 fra.me.has_broke = 0;
10378 fra.me.REG_size = 6;
10379 fra.me.REG[0] = NIT_NULL;
10380 fra.me.REG[1] = NIT_NULL;
10381 fra.me.REG[2] = NIT_NULL;
10382 fra.me.REG[3] = NIT_NULL;
10383 fra.me.REG[4] = NIT_NULL;
10384 fra.me.REG[5] = NIT_NULL;
10385 fra.me.REG[0] = p0;
10386 fra.me.REG[1] = p1;
10387 /* ./parser//parser.nit:2949 */
10388 fra.me.REG[2] = NIT_NULL;
10389 /* ./parser//parser.nit:2950 */
10390 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10391 /* ./parser//parser.nit:2951 */
10392 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10393 /* ./parser//parser.nit:2952 */
10394 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10395 /* ./parser//parser.nit:2953 */
10396 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10397 /* ./parser//parser.nit:2955 */
10398 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*/;
10399 if (UNTAG_Bool(REGB0)) {
10400 } else {
10401 nit_abort("Assert failed", NULL, LOCATE_parser, 2955);
10402 }
10403 /* ./parser//parser.nit:2957 */
10404 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*/;
10405 if (UNTAG_Bool(REGB0)) {
10406 } else {
10407 nit_abort("Assert failed", NULL, LOCATE_parser, 2957);
10408 }
10409 /* ./parser//parser.nit:2958 */
10410 fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
10411 /* ./parser//parser.nit:2963 */
10412 fra.me.REG[2] = fra.me.REG[3];
10413 /* ./parser//parser.nit:2964 */
10414 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10415 if (UNTAG_Bool(REGB0)) {
10416 } else {
10417 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2964);
10418 }
10419 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10420 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10421 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10422 stack_frame_head = fra.me.prev;
10423 return;
10424 }
10425 void parser___ReduceAction66___action(val_t p0, val_t p1){
10426 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10427 val_t REGB0;
10428 val_t tmp;
10429 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10430 fra.me.file = LOCATE_parser;
10431 fra.me.line = 2969;
10432 fra.me.meth = LOCATE_parser___ReduceAction66___action;
10433 fra.me.has_broke = 0;
10434 fra.me.REG_size = 4;
10435 fra.me.REG[0] = NIT_NULL;
10436 fra.me.REG[1] = NIT_NULL;
10437 fra.me.REG[2] = NIT_NULL;
10438 fra.me.REG[3] = NIT_NULL;
10439 fra.me.REG[0] = p0;
10440 fra.me.REG[1] = p1;
10441 /* ./parser//parser.nit:2971 */
10442 fra.me.REG[2] = NIT_NULL;
10443 /* ./parser//parser.nit:2972 */
10444 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10445 /* ./parser//parser.nit:2973 */
10446 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10447 /* ./parser//parser.nit:2975 */
10448 fra.me.REG[2] = fra.me.REG[3];
10449 /* ./parser//parser.nit:2976 */
10450 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10451 if (UNTAG_Bool(REGB0)) {
10452 } else {
10453 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2976);
10454 }
10455 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10456 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10457 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10458 stack_frame_head = fra.me.prev;
10459 return;
10460 }
10461 void parser___ReduceAction67___action(val_t p0, val_t p1){
10462 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10463 val_t REGB0;
10464 val_t tmp;
10465 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10466 fra.me.file = LOCATE_parser;
10467 fra.me.line = 2981;
10468 fra.me.meth = LOCATE_parser___ReduceAction67___action;
10469 fra.me.has_broke = 0;
10470 fra.me.REG_size = 9;
10471 fra.me.REG[0] = NIT_NULL;
10472 fra.me.REG[1] = NIT_NULL;
10473 fra.me.REG[2] = NIT_NULL;
10474 fra.me.REG[3] = NIT_NULL;
10475 fra.me.REG[4] = NIT_NULL;
10476 fra.me.REG[5] = NIT_NULL;
10477 fra.me.REG[6] = NIT_NULL;
10478 fra.me.REG[7] = NIT_NULL;
10479 fra.me.REG[8] = NIT_NULL;
10480 fra.me.REG[0] = p0;
10481 fra.me.REG[1] = p1;
10482 /* ./parser//parser.nit:2983 */
10483 fra.me.REG[2] = NIT_NULL;
10484 /* ./parser//parser.nit:2984 */
10485 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10486 /* ./parser//parser.nit:2985 */
10487 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10488 /* ./parser//parser.nit:2986 */
10489 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10490 /* ./parser//parser.nit:2987 */
10491 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10492 /* ./parser//parser.nit:2988 */
10493 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10494 /* ./parser//parser.nit:2989 */
10495 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10496 /* ./parser//parser.nit:2990 */
10497 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10498 /* ./parser//parser.nit:2992 */
10499 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*/;
10500 if (UNTAG_Bool(REGB0)) {
10501 } else {
10502 nit_abort("Assert failed", NULL, LOCATE_parser, 2992);
10503 }
10504 /* ./parser//parser.nit:2994 */
10505 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*/;
10506 if (UNTAG_Bool(REGB0)) {
10507 } else {
10508 nit_abort("Assert failed", NULL, LOCATE_parser, 2994);
10509 }
10510 /* ./parser//parser.nit:2996 */
10511 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*/;
10512 if (UNTAG_Bool(REGB0)) {
10513 } else {
10514 nit_abort("Assert failed", NULL, LOCATE_parser, 2996);
10515 }
10516 /* ./parser//parser.nit:2998 */
10517 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*/;
10518 if (UNTAG_Bool(REGB0)) {
10519 } else {
10520 nit_abort("Assert failed", NULL, LOCATE_parser, 2998);
10521 }
10522 /* ./parser//parser.nit:3000 */
10523 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*/;
10524 if (UNTAG_Bool(REGB0)) {
10525 } else {
10526 nit_abort("Assert failed", NULL, LOCATE_parser, 3000);
10527 }
10528 /* ./parser//parser.nit:3002 */
10529 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*/;
10530 if (UNTAG_Bool(REGB0)) {
10531 } else {
10532 nit_abort("Assert failed", NULL, LOCATE_parser, 3002);
10533 }
10534 /* ./parser//parser.nit:3003 */
10535 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]);
10536 /* ./parser//parser.nit:3012 */
10537 fra.me.REG[2] = fra.me.REG[3];
10538 /* ./parser//parser.nit:3013 */
10539 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10540 if (UNTAG_Bool(REGB0)) {
10541 } else {
10542 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3013);
10543 }
10544 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10545 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10546 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10547 stack_frame_head = fra.me.prev;
10548 return;
10549 }
10550 void parser___ReduceAction68___action(val_t p0, val_t p1){
10551 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10552 val_t REGB0;
10553 val_t tmp;
10554 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10555 fra.me.file = LOCATE_parser;
10556 fra.me.line = 3018;
10557 fra.me.meth = LOCATE_parser___ReduceAction68___action;
10558 fra.me.has_broke = 0;
10559 fra.me.REG_size = 10;
10560 fra.me.REG[0] = NIT_NULL;
10561 fra.me.REG[1] = NIT_NULL;
10562 fra.me.REG[2] = NIT_NULL;
10563 fra.me.REG[3] = NIT_NULL;
10564 fra.me.REG[4] = NIT_NULL;
10565 fra.me.REG[5] = NIT_NULL;
10566 fra.me.REG[6] = NIT_NULL;
10567 fra.me.REG[7] = NIT_NULL;
10568 fra.me.REG[8] = NIT_NULL;
10569 fra.me.REG[9] = NIT_NULL;
10570 fra.me.REG[0] = p0;
10571 fra.me.REG[1] = p1;
10572 /* ./parser//parser.nit:3020 */
10573 fra.me.REG[2] = NIT_NULL;
10574 /* ./parser//parser.nit:3021 */
10575 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10576 /* ./parser//parser.nit:3022 */
10577 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10578 /* ./parser//parser.nit:3023 */
10579 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10580 /* ./parser//parser.nit:3024 */
10581 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10582 /* ./parser//parser.nit:3025 */
10583 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10584 /* ./parser//parser.nit:3026 */
10585 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10586 /* ./parser//parser.nit:3027 */
10587 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10588 /* ./parser//parser.nit:3028 */
10589 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10590 /* ./parser//parser.nit:3030 */
10591 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*/;
10592 if (UNTAG_Bool(REGB0)) {
10593 } else {
10594 nit_abort("Assert failed", NULL, LOCATE_parser, 3030);
10595 }
10596 /* ./parser//parser.nit:3032 */
10597 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*/;
10598 if (UNTAG_Bool(REGB0)) {
10599 } else {
10600 nit_abort("Assert failed", NULL, LOCATE_parser, 3032);
10601 }
10602 /* ./parser//parser.nit:3034 */
10603 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*/;
10604 if (UNTAG_Bool(REGB0)) {
10605 } else {
10606 nit_abort("Assert failed", NULL, LOCATE_parser, 3034);
10607 }
10608 /* ./parser//parser.nit:3036 */
10609 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*/;
10610 if (UNTAG_Bool(REGB0)) {
10611 } else {
10612 nit_abort("Assert failed", NULL, LOCATE_parser, 3036);
10613 }
10614 /* ./parser//parser.nit:3038 */
10615 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*/;
10616 if (UNTAG_Bool(REGB0)) {
10617 } else {
10618 nit_abort("Assert failed", NULL, LOCATE_parser, 3038);
10619 }
10620 /* ./parser//parser.nit:3040 */
10621 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*/;
10622 if (UNTAG_Bool(REGB0)) {
10623 } else {
10624 nit_abort("Assert failed", NULL, LOCATE_parser, 3040);
10625 }
10626 /* ./parser//parser.nit:3042 */
10627 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*/;
10628 if (UNTAG_Bool(REGB0)) {
10629 } else {
10630 nit_abort("Assert failed", NULL, LOCATE_parser, 3042);
10631 }
10632 /* ./parser//parser.nit:3043 */
10633 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]);
10634 /* ./parser//parser.nit:3052 */
10635 fra.me.REG[2] = fra.me.REG[3];
10636 /* ./parser//parser.nit:3053 */
10637 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10638 if (UNTAG_Bool(REGB0)) {
10639 } else {
10640 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3053);
10641 }
10642 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10643 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10644 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10645 stack_frame_head = fra.me.prev;
10646 return;
10647 }
10648 void parser___ReduceAction69___action(val_t p0, val_t p1){
10649 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10650 val_t REGB0;
10651 val_t tmp;
10652 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10653 fra.me.file = LOCATE_parser;
10654 fra.me.line = 3058;
10655 fra.me.meth = LOCATE_parser___ReduceAction69___action;
10656 fra.me.has_broke = 0;
10657 fra.me.REG_size = 9;
10658 fra.me.REG[0] = NIT_NULL;
10659 fra.me.REG[1] = NIT_NULL;
10660 fra.me.REG[2] = NIT_NULL;
10661 fra.me.REG[3] = NIT_NULL;
10662 fra.me.REG[4] = NIT_NULL;
10663 fra.me.REG[5] = NIT_NULL;
10664 fra.me.REG[6] = NIT_NULL;
10665 fra.me.REG[7] = NIT_NULL;
10666 fra.me.REG[8] = NIT_NULL;
10667 fra.me.REG[0] = p0;
10668 fra.me.REG[1] = p1;
10669 /* ./parser//parser.nit:3060 */
10670 fra.me.REG[2] = NIT_NULL;
10671 /* ./parser//parser.nit:3061 */
10672 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10673 /* ./parser//parser.nit:3062 */
10674 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10675 /* ./parser//parser.nit:3063 */
10676 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10677 /* ./parser//parser.nit:3064 */
10678 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10679 /* ./parser//parser.nit:3065 */
10680 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10681 /* ./parser//parser.nit:3066 */
10682 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10683 /* ./parser//parser.nit:3067 */
10684 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10685 /* ./parser//parser.nit:3068 */
10686 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10687 /* ./parser//parser.nit:3070 */
10688 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*/;
10689 if (UNTAG_Bool(REGB0)) {
10690 } else {
10691 nit_abort("Assert failed", NULL, LOCATE_parser, 3070);
10692 }
10693 /* ./parser//parser.nit:3072 */
10694 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*/;
10695 if (UNTAG_Bool(REGB0)) {
10696 } else {
10697 nit_abort("Assert failed", NULL, LOCATE_parser, 3072);
10698 }
10699 /* ./parser//parser.nit:3074 */
10700 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*/;
10701 if (UNTAG_Bool(REGB0)) {
10702 } else {
10703 nit_abort("Assert failed", NULL, LOCATE_parser, 3074);
10704 }
10705 /* ./parser//parser.nit:3076 */
10706 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*/;
10707 if (UNTAG_Bool(REGB0)) {
10708 } else {
10709 nit_abort("Assert failed", NULL, LOCATE_parser, 3076);
10710 }
10711 /* ./parser//parser.nit:3078 */
10712 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*/;
10713 if (UNTAG_Bool(REGB0)) {
10714 } else {
10715 nit_abort("Assert failed", NULL, LOCATE_parser, 3078);
10716 }
10717 /* ./parser//parser.nit:3080 */
10718 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*/;
10719 if (UNTAG_Bool(REGB0)) {
10720 } else {
10721 nit_abort("Assert failed", NULL, LOCATE_parser, 3080);
10722 }
10723 /* ./parser//parser.nit:3081 */
10724 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]);
10725 /* ./parser//parser.nit:3090 */
10726 fra.me.REG[2] = fra.me.REG[3];
10727 /* ./parser//parser.nit:3091 */
10728 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10729 if (UNTAG_Bool(REGB0)) {
10730 } else {
10731 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3091);
10732 }
10733 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10734 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10735 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10736 stack_frame_head = fra.me.prev;
10737 return;
10738 }
10739 void parser___ReduceAction70___action(val_t p0, val_t p1){
10740 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10741 val_t REGB0;
10742 val_t tmp;
10743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10744 fra.me.file = LOCATE_parser;
10745 fra.me.line = 3096;
10746 fra.me.meth = LOCATE_parser___ReduceAction70___action;
10747 fra.me.has_broke = 0;
10748 fra.me.REG_size = 10;
10749 fra.me.REG[0] = NIT_NULL;
10750 fra.me.REG[1] = NIT_NULL;
10751 fra.me.REG[2] = NIT_NULL;
10752 fra.me.REG[3] = NIT_NULL;
10753 fra.me.REG[4] = NIT_NULL;
10754 fra.me.REG[5] = NIT_NULL;
10755 fra.me.REG[6] = NIT_NULL;
10756 fra.me.REG[7] = NIT_NULL;
10757 fra.me.REG[8] = NIT_NULL;
10758 fra.me.REG[9] = NIT_NULL;
10759 fra.me.REG[0] = p0;
10760 fra.me.REG[1] = p1;
10761 /* ./parser//parser.nit:3098 */
10762 fra.me.REG[2] = NIT_NULL;
10763 /* ./parser//parser.nit:3099 */
10764 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10765 /* ./parser//parser.nit:3100 */
10766 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10767 /* ./parser//parser.nit:3101 */
10768 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10769 /* ./parser//parser.nit:3102 */
10770 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10771 /* ./parser//parser.nit:3103 */
10772 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10773 /* ./parser//parser.nit:3104 */
10774 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10775 /* ./parser//parser.nit:3105 */
10776 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10777 /* ./parser//parser.nit:3106 */
10778 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10779 /* ./parser//parser.nit:3107 */
10780 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10781 /* ./parser//parser.nit:3109 */
10782 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*/;
10783 if (UNTAG_Bool(REGB0)) {
10784 } else {
10785 nit_abort("Assert failed", NULL, LOCATE_parser, 3109);
10786 }
10787 /* ./parser//parser.nit:3111 */
10788 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*/;
10789 if (UNTAG_Bool(REGB0)) {
10790 } else {
10791 nit_abort("Assert failed", NULL, LOCATE_parser, 3111);
10792 }
10793 /* ./parser//parser.nit:3113 */
10794 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*/;
10795 if (UNTAG_Bool(REGB0)) {
10796 } else {
10797 nit_abort("Assert failed", NULL, LOCATE_parser, 3113);
10798 }
10799 /* ./parser//parser.nit:3115 */
10800 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*/;
10801 if (UNTAG_Bool(REGB0)) {
10802 } else {
10803 nit_abort("Assert failed", NULL, LOCATE_parser, 3115);
10804 }
10805 /* ./parser//parser.nit:3117 */
10806 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*/;
10807 if (UNTAG_Bool(REGB0)) {
10808 } else {
10809 nit_abort("Assert failed", NULL, LOCATE_parser, 3117);
10810 }
10811 /* ./parser//parser.nit:3119 */
10812 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*/;
10813 if (UNTAG_Bool(REGB0)) {
10814 } else {
10815 nit_abort("Assert failed", NULL, LOCATE_parser, 3119);
10816 }
10817 /* ./parser//parser.nit:3121 */
10818 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*/;
10819 if (UNTAG_Bool(REGB0)) {
10820 } else {
10821 nit_abort("Assert failed", NULL, LOCATE_parser, 3121);
10822 }
10823 /* ./parser//parser.nit:3122 */
10824 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]);
10825 /* ./parser//parser.nit:3131 */
10826 fra.me.REG[2] = fra.me.REG[3];
10827 /* ./parser//parser.nit:3132 */
10828 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10829 if (UNTAG_Bool(REGB0)) {
10830 } else {
10831 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3132);
10832 }
10833 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10834 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10835 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10836 stack_frame_head = fra.me.prev;
10837 return;
10838 }
10839 void parser___ReduceAction71___action(val_t p0, val_t p1){
10840 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10841 val_t REGB0;
10842 val_t tmp;
10843 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10844 fra.me.file = LOCATE_parser;
10845 fra.me.line = 3137;
10846 fra.me.meth = LOCATE_parser___ReduceAction71___action;
10847 fra.me.has_broke = 0;
10848 fra.me.REG_size = 9;
10849 fra.me.REG[0] = NIT_NULL;
10850 fra.me.REG[1] = NIT_NULL;
10851 fra.me.REG[2] = NIT_NULL;
10852 fra.me.REG[3] = NIT_NULL;
10853 fra.me.REG[4] = NIT_NULL;
10854 fra.me.REG[5] = NIT_NULL;
10855 fra.me.REG[6] = NIT_NULL;
10856 fra.me.REG[7] = NIT_NULL;
10857 fra.me.REG[8] = NIT_NULL;
10858 fra.me.REG[0] = p0;
10859 fra.me.REG[1] = p1;
10860 /* ./parser//parser.nit:3139 */
10861 fra.me.REG[2] = NIT_NULL;
10862 /* ./parser//parser.nit:3140 */
10863 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10864 /* ./parser//parser.nit:3141 */
10865 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10866 /* ./parser//parser.nit:3142 */
10867 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10868 /* ./parser//parser.nit:3143 */
10869 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10870 /* ./parser//parser.nit:3144 */
10871 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10872 /* ./parser//parser.nit:3145 */
10873 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10874 /* ./parser//parser.nit:3146 */
10875 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10876 /* ./parser//parser.nit:3147 */
10877 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10878 /* ./parser//parser.nit:3149 */
10879 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*/;
10880 if (UNTAG_Bool(REGB0)) {
10881 } else {
10882 nit_abort("Assert failed", NULL, LOCATE_parser, 3149);
10883 }
10884 /* ./parser//parser.nit:3151 */
10885 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*/;
10886 if (UNTAG_Bool(REGB0)) {
10887 } else {
10888 nit_abort("Assert failed", NULL, LOCATE_parser, 3151);
10889 }
10890 /* ./parser//parser.nit:3153 */
10891 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*/;
10892 if (UNTAG_Bool(REGB0)) {
10893 } else {
10894 nit_abort("Assert failed", NULL, LOCATE_parser, 3153);
10895 }
10896 /* ./parser//parser.nit:3155 */
10897 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*/;
10898 if (UNTAG_Bool(REGB0)) {
10899 } else {
10900 nit_abort("Assert failed", NULL, LOCATE_parser, 3155);
10901 }
10902 /* ./parser//parser.nit:3157 */
10903 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*/;
10904 if (UNTAG_Bool(REGB0)) {
10905 } else {
10906 nit_abort("Assert failed", NULL, LOCATE_parser, 3157);
10907 }
10908 /* ./parser//parser.nit:3159 */
10909 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*/;
10910 if (UNTAG_Bool(REGB0)) {
10911 } else {
10912 nit_abort("Assert failed", NULL, LOCATE_parser, 3159);
10913 }
10914 /* ./parser//parser.nit:3160 */
10915 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]);
10916 /* ./parser//parser.nit:3169 */
10917 fra.me.REG[2] = fra.me.REG[3];
10918 /* ./parser//parser.nit:3170 */
10919 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10920 if (UNTAG_Bool(REGB0)) {
10921 } else {
10922 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3170);
10923 }
10924 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10925 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10926 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10927 stack_frame_head = fra.me.prev;
10928 return;
10929 }
10930 void parser___ReduceAction72___action(val_t p0, val_t p1){
10931 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10932 val_t REGB0;
10933 val_t tmp;
10934 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10935 fra.me.file = LOCATE_parser;
10936 fra.me.line = 3175;
10937 fra.me.meth = LOCATE_parser___ReduceAction72___action;
10938 fra.me.has_broke = 0;
10939 fra.me.REG_size = 10;
10940 fra.me.REG[0] = NIT_NULL;
10941 fra.me.REG[1] = NIT_NULL;
10942 fra.me.REG[2] = NIT_NULL;
10943 fra.me.REG[3] = NIT_NULL;
10944 fra.me.REG[4] = NIT_NULL;
10945 fra.me.REG[5] = NIT_NULL;
10946 fra.me.REG[6] = NIT_NULL;
10947 fra.me.REG[7] = NIT_NULL;
10948 fra.me.REG[8] = NIT_NULL;
10949 fra.me.REG[9] = NIT_NULL;
10950 fra.me.REG[0] = p0;
10951 fra.me.REG[1] = p1;
10952 /* ./parser//parser.nit:3177 */
10953 fra.me.REG[2] = NIT_NULL;
10954 /* ./parser//parser.nit:3178 */
10955 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10956 /* ./parser//parser.nit:3179 */
10957 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10958 /* ./parser//parser.nit:3180 */
10959 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10960 /* ./parser//parser.nit:3181 */
10961 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10962 /* ./parser//parser.nit:3182 */
10963 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10964 /* ./parser//parser.nit:3183 */
10965 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10966 /* ./parser//parser.nit:3184 */
10967 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10968 /* ./parser//parser.nit:3185 */
10969 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10970 /* ./parser//parser.nit:3186 */
10971 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10972 /* ./parser//parser.nit:3188 */
10973 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*/;
10974 if (UNTAG_Bool(REGB0)) {
10975 } else {
10976 nit_abort("Assert failed", NULL, LOCATE_parser, 3188);
10977 }
10978 /* ./parser//parser.nit:3190 */
10979 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*/;
10980 if (UNTAG_Bool(REGB0)) {
10981 } else {
10982 nit_abort("Assert failed", NULL, LOCATE_parser, 3190);
10983 }
10984 /* ./parser//parser.nit:3192 */
10985 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*/;
10986 if (UNTAG_Bool(REGB0)) {
10987 } else {
10988 nit_abort("Assert failed", NULL, LOCATE_parser, 3192);
10989 }
10990 /* ./parser//parser.nit:3194 */
10991 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*/;
10992 if (UNTAG_Bool(REGB0)) {
10993 } else {
10994 nit_abort("Assert failed", NULL, LOCATE_parser, 3194);
10995 }
10996 /* ./parser//parser.nit:3196 */
10997 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*/;
10998 if (UNTAG_Bool(REGB0)) {
10999 } else {
11000 nit_abort("Assert failed", NULL, LOCATE_parser, 3196);
11001 }
11002 /* ./parser//parser.nit:3198 */
11003 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*/;
11004 if (UNTAG_Bool(REGB0)) {
11005 } else {
11006 nit_abort("Assert failed", NULL, LOCATE_parser, 3198);
11007 }
11008 /* ./parser//parser.nit:3200 */
11009 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*/;
11010 if (UNTAG_Bool(REGB0)) {
11011 } else {
11012 nit_abort("Assert failed", NULL, LOCATE_parser, 3200);
11013 }
11014 /* ./parser//parser.nit:3201 */
11015 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]);
11016 /* ./parser//parser.nit:3210 */
11017 fra.me.REG[2] = fra.me.REG[3];
11018 /* ./parser//parser.nit:3211 */
11019 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11020 if (UNTAG_Bool(REGB0)) {
11021 } else {
11022 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3211);
11023 }
11024 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11025 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11026 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11027 stack_frame_head = fra.me.prev;
11028 return;
11029 }
11030 void parser___ReduceAction73___action(val_t p0, val_t p1){
11031 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11032 val_t REGB0;
11033 val_t tmp;
11034 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11035 fra.me.file = LOCATE_parser;
11036 fra.me.line = 3216;
11037 fra.me.meth = LOCATE_parser___ReduceAction73___action;
11038 fra.me.has_broke = 0;
11039 fra.me.REG_size = 8;
11040 fra.me.REG[0] = NIT_NULL;
11041 fra.me.REG[1] = NIT_NULL;
11042 fra.me.REG[2] = NIT_NULL;
11043 fra.me.REG[3] = NIT_NULL;
11044 fra.me.REG[4] = NIT_NULL;
11045 fra.me.REG[5] = NIT_NULL;
11046 fra.me.REG[6] = NIT_NULL;
11047 fra.me.REG[7] = NIT_NULL;
11048 fra.me.REG[0] = p0;
11049 fra.me.REG[1] = p1;
11050 /* ./parser//parser.nit:3218 */
11051 fra.me.REG[2] = NIT_NULL;
11052 /* ./parser//parser.nit:3219 */
11053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11054 /* ./parser//parser.nit:3220 */
11055 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11056 /* ./parser//parser.nit:3221 */
11057 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11058 /* ./parser//parser.nit:3222 */
11059 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11060 /* ./parser//parser.nit:3223 */
11061 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11062 /* ./parser//parser.nit:3224 */
11063 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11064 /* ./parser//parser.nit:3225 */
11065 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11066 /* ./parser//parser.nit:3227 */
11067 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*/;
11068 if (UNTAG_Bool(REGB0)) {
11069 } else {
11070 nit_abort("Assert failed", NULL, LOCATE_parser, 3227);
11071 }
11072 /* ./parser//parser.nit:3229 */
11073 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*/;
11074 if (UNTAG_Bool(REGB0)) {
11075 } else {
11076 nit_abort("Assert failed", NULL, LOCATE_parser, 3229);
11077 }
11078 /* ./parser//parser.nit:3231 */
11079 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*/;
11080 if (UNTAG_Bool(REGB0)) {
11081 } else {
11082 nit_abort("Assert failed", NULL, LOCATE_parser, 3231);
11083 }
11084 /* ./parser//parser.nit:3233 */
11085 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*/;
11086 if (UNTAG_Bool(REGB0)) {
11087 } else {
11088 nit_abort("Assert failed", NULL, LOCATE_parser, 3233);
11089 }
11090 /* ./parser//parser.nit:3235 */
11091 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*/;
11092 if (UNTAG_Bool(REGB0)) {
11093 } else {
11094 nit_abort("Assert failed", NULL, LOCATE_parser, 3235);
11095 }
11096 /* ./parser//parser.nit:3236 */
11097 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]);
11098 /* ./parser//parser.nit:3244 */
11099 fra.me.REG[2] = fra.me.REG[3];
11100 /* ./parser//parser.nit:3245 */
11101 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11102 if (UNTAG_Bool(REGB0)) {
11103 } else {
11104 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3245);
11105 }
11106 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11107 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11108 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11109 stack_frame_head = fra.me.prev;
11110 return;
11111 }
11112 void parser___ReduceAction74___action(val_t p0, val_t p1){
11113 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11114 val_t REGB0;
11115 val_t tmp;
11116 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11117 fra.me.file = LOCATE_parser;
11118 fra.me.line = 3250;
11119 fra.me.meth = LOCATE_parser___ReduceAction74___action;
11120 fra.me.has_broke = 0;
11121 fra.me.REG_size = 9;
11122 fra.me.REG[0] = NIT_NULL;
11123 fra.me.REG[1] = NIT_NULL;
11124 fra.me.REG[2] = NIT_NULL;
11125 fra.me.REG[3] = NIT_NULL;
11126 fra.me.REG[4] = NIT_NULL;
11127 fra.me.REG[5] = NIT_NULL;
11128 fra.me.REG[6] = NIT_NULL;
11129 fra.me.REG[7] = NIT_NULL;
11130 fra.me.REG[8] = NIT_NULL;
11131 fra.me.REG[0] = p0;
11132 fra.me.REG[1] = p1;
11133 /* ./parser//parser.nit:3252 */
11134 fra.me.REG[2] = NIT_NULL;
11135 /* ./parser//parser.nit:3253 */
11136 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11137 /* ./parser//parser.nit:3254 */
11138 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11139 /* ./parser//parser.nit:3255 */
11140 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11141 /* ./parser//parser.nit:3256 */
11142 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11143 /* ./parser//parser.nit:3257 */
11144 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11145 /* ./parser//parser.nit:3258 */
11146 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11147 /* ./parser//parser.nit:3259 */
11148 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11149 /* ./parser//parser.nit:3260 */
11150 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11151 /* ./parser//parser.nit:3262 */
11152 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*/;
11153 if (UNTAG_Bool(REGB0)) {
11154 } else {
11155 nit_abort("Assert failed", NULL, LOCATE_parser, 3262);
11156 }
11157 /* ./parser//parser.nit:3264 */
11158 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*/;
11159 if (UNTAG_Bool(REGB0)) {
11160 } else {
11161 nit_abort("Assert failed", NULL, LOCATE_parser, 3264);
11162 }
11163 /* ./parser//parser.nit:3266 */
11164 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*/;
11165 if (UNTAG_Bool(REGB0)) {
11166 } else {
11167 nit_abort("Assert failed", NULL, LOCATE_parser, 3266);
11168 }
11169 /* ./parser//parser.nit:3268 */
11170 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*/;
11171 if (UNTAG_Bool(REGB0)) {
11172 } else {
11173 nit_abort("Assert failed", NULL, LOCATE_parser, 3268);
11174 }
11175 /* ./parser//parser.nit:3270 */
11176 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*/;
11177 if (UNTAG_Bool(REGB0)) {
11178 } else {
11179 nit_abort("Assert failed", NULL, LOCATE_parser, 3270);
11180 }
11181 /* ./parser//parser.nit:3272 */
11182 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*/;
11183 if (UNTAG_Bool(REGB0)) {
11184 } else {
11185 nit_abort("Assert failed", NULL, LOCATE_parser, 3272);
11186 }
11187 /* ./parser//parser.nit:3273 */
11188 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]);
11189 /* ./parser//parser.nit:3281 */
11190 fra.me.REG[2] = fra.me.REG[3];
11191 /* ./parser//parser.nit:3282 */
11192 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11193 if (UNTAG_Bool(REGB0)) {
11194 } else {
11195 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3282);
11196 }
11197 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11198 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11199 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11200 stack_frame_head = fra.me.prev;
11201 return;
11202 }
11203 void parser___ReduceAction75___action(val_t p0, val_t p1){
11204 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11205 val_t REGB0;
11206 val_t tmp;
11207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11208 fra.me.file = LOCATE_parser;
11209 fra.me.line = 3287;
11210 fra.me.meth = LOCATE_parser___ReduceAction75___action;
11211 fra.me.has_broke = 0;
11212 fra.me.REG_size = 8;
11213 fra.me.REG[0] = NIT_NULL;
11214 fra.me.REG[1] = NIT_NULL;
11215 fra.me.REG[2] = NIT_NULL;
11216 fra.me.REG[3] = NIT_NULL;
11217 fra.me.REG[4] = NIT_NULL;
11218 fra.me.REG[5] = NIT_NULL;
11219 fra.me.REG[6] = NIT_NULL;
11220 fra.me.REG[7] = NIT_NULL;
11221 fra.me.REG[0] = p0;
11222 fra.me.REG[1] = p1;
11223 /* ./parser//parser.nit:3289 */
11224 fra.me.REG[2] = NIT_NULL;
11225 /* ./parser//parser.nit:3290 */
11226 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11227 /* ./parser//parser.nit:3291 */
11228 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11229 /* ./parser//parser.nit:3292 */
11230 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11231 /* ./parser//parser.nit:3293 */
11232 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11233 /* ./parser//parser.nit:3294 */
11234 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11235 /* ./parser//parser.nit:3295 */
11236 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11237 /* ./parser//parser.nit:3296 */
11238 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11239 /* ./parser//parser.nit:3298 */
11240 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*/;
11241 if (UNTAG_Bool(REGB0)) {
11242 } else {
11243 nit_abort("Assert failed", NULL, LOCATE_parser, 3298);
11244 }
11245 /* ./parser//parser.nit:3300 */
11246 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*/;
11247 if (UNTAG_Bool(REGB0)) {
11248 } else {
11249 nit_abort("Assert failed", NULL, LOCATE_parser, 3300);
11250 }
11251 /* ./parser//parser.nit:3302 */
11252 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*/;
11253 if (UNTAG_Bool(REGB0)) {
11254 } else {
11255 nit_abort("Assert failed", NULL, LOCATE_parser, 3302);
11256 }
11257 /* ./parser//parser.nit:3304 */
11258 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*/;
11259 if (UNTAG_Bool(REGB0)) {
11260 } else {
11261 nit_abort("Assert failed", NULL, LOCATE_parser, 3304);
11262 }
11263 /* ./parser//parser.nit:3306 */
11264 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*/;
11265 if (UNTAG_Bool(REGB0)) {
11266 } else {
11267 nit_abort("Assert failed", NULL, LOCATE_parser, 3306);
11268 }
11269 /* ./parser//parser.nit:3307 */
11270 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]);
11271 /* ./parser//parser.nit:3315 */
11272 fra.me.REG[2] = fra.me.REG[3];
11273 /* ./parser//parser.nit:3316 */
11274 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11275 if (UNTAG_Bool(REGB0)) {
11276 } else {
11277 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3316);
11278 }
11279 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11280 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11281 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11282 stack_frame_head = fra.me.prev;
11283 return;
11284 }
11285 void parser___ReduceAction76___action(val_t p0, val_t p1){
11286 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11287 val_t REGB0;
11288 val_t tmp;
11289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11290 fra.me.file = LOCATE_parser;
11291 fra.me.line = 3321;
11292 fra.me.meth = LOCATE_parser___ReduceAction76___action;
11293 fra.me.has_broke = 0;
11294 fra.me.REG_size = 9;
11295 fra.me.REG[0] = NIT_NULL;
11296 fra.me.REG[1] = NIT_NULL;
11297 fra.me.REG[2] = NIT_NULL;
11298 fra.me.REG[3] = NIT_NULL;
11299 fra.me.REG[4] = NIT_NULL;
11300 fra.me.REG[5] = NIT_NULL;
11301 fra.me.REG[6] = NIT_NULL;
11302 fra.me.REG[7] = NIT_NULL;
11303 fra.me.REG[8] = NIT_NULL;
11304 fra.me.REG[0] = p0;
11305 fra.me.REG[1] = p1;
11306 /* ./parser//parser.nit:3323 */
11307 fra.me.REG[2] = NIT_NULL;
11308 /* ./parser//parser.nit:3324 */
11309 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11310 /* ./parser//parser.nit:3325 */
11311 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11312 /* ./parser//parser.nit:3326 */
11313 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11314 /* ./parser//parser.nit:3327 */
11315 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11316 /* ./parser//parser.nit:3328 */
11317 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11318 /* ./parser//parser.nit:3329 */
11319 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11320 /* ./parser//parser.nit:3330 */
11321 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11322 /* ./parser//parser.nit:3331 */
11323 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11324 /* ./parser//parser.nit:3333 */
11325 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*/;
11326 if (UNTAG_Bool(REGB0)) {
11327 } else {
11328 nit_abort("Assert failed", NULL, LOCATE_parser, 3333);
11329 }
11330 /* ./parser//parser.nit:3335 */
11331 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*/;
11332 if (UNTAG_Bool(REGB0)) {
11333 } else {
11334 nit_abort("Assert failed", NULL, LOCATE_parser, 3335);
11335 }
11336 /* ./parser//parser.nit:3337 */
11337 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*/;
11338 if (UNTAG_Bool(REGB0)) {
11339 } else {
11340 nit_abort("Assert failed", NULL, LOCATE_parser, 3337);
11341 }
11342 /* ./parser//parser.nit:3339 */
11343 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*/;
11344 if (UNTAG_Bool(REGB0)) {
11345 } else {
11346 nit_abort("Assert failed", NULL, LOCATE_parser, 3339);
11347 }
11348 /* ./parser//parser.nit:3341 */
11349 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*/;
11350 if (UNTAG_Bool(REGB0)) {
11351 } else {
11352 nit_abort("Assert failed", NULL, LOCATE_parser, 3341);
11353 }
11354 /* ./parser//parser.nit:3343 */
11355 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*/;
11356 if (UNTAG_Bool(REGB0)) {
11357 } else {
11358 nit_abort("Assert failed", NULL, LOCATE_parser, 3343);
11359 }
11360 /* ./parser//parser.nit:3344 */
11361 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]);
11362 /* ./parser//parser.nit:3352 */
11363 fra.me.REG[2] = fra.me.REG[3];
11364 /* ./parser//parser.nit:3353 */
11365 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11366 if (UNTAG_Bool(REGB0)) {
11367 } else {
11368 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3353);
11369 }
11370 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11371 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11372 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11373 stack_frame_head = fra.me.prev;
11374 return;
11375 }
11376 void parser___ReduceAction77___action(val_t p0, val_t p1){
11377 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11378 val_t REGB0;
11379 val_t tmp;
11380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11381 fra.me.file = LOCATE_parser;
11382 fra.me.line = 3358;
11383 fra.me.meth = LOCATE_parser___ReduceAction77___action;
11384 fra.me.has_broke = 0;
11385 fra.me.REG_size = 8;
11386 fra.me.REG[0] = NIT_NULL;
11387 fra.me.REG[1] = NIT_NULL;
11388 fra.me.REG[2] = NIT_NULL;
11389 fra.me.REG[3] = NIT_NULL;
11390 fra.me.REG[4] = NIT_NULL;
11391 fra.me.REG[5] = NIT_NULL;
11392 fra.me.REG[6] = NIT_NULL;
11393 fra.me.REG[7] = NIT_NULL;
11394 fra.me.REG[0] = p0;
11395 fra.me.REG[1] = p1;
11396 /* ./parser//parser.nit:3360 */
11397 fra.me.REG[2] = NIT_NULL;
11398 /* ./parser//parser.nit:3361 */
11399 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11400 /* ./parser//parser.nit:3362 */
11401 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11402 /* ./parser//parser.nit:3363 */
11403 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11404 /* ./parser//parser.nit:3364 */
11405 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11406 /* ./parser//parser.nit:3365 */
11407 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11408 /* ./parser//parser.nit:3366 */
11409 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11410 /* ./parser//parser.nit:3367 */
11411 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11412 /* ./parser//parser.nit:3369 */
11413 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*/;
11414 if (UNTAG_Bool(REGB0)) {
11415 } else {
11416 nit_abort("Assert failed", NULL, LOCATE_parser, 3369);
11417 }
11418 /* ./parser//parser.nit:3371 */
11419 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*/;
11420 if (UNTAG_Bool(REGB0)) {
11421 } else {
11422 nit_abort("Assert failed", NULL, LOCATE_parser, 3371);
11423 }
11424 /* ./parser//parser.nit:3373 */
11425 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*/;
11426 if (UNTAG_Bool(REGB0)) {
11427 } else {
11428 nit_abort("Assert failed", NULL, LOCATE_parser, 3373);
11429 }
11430 /* ./parser//parser.nit:3375 */
11431 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*/;
11432 if (UNTAG_Bool(REGB0)) {
11433 } else {
11434 nit_abort("Assert failed", NULL, LOCATE_parser, 3375);
11435 }
11436 /* ./parser//parser.nit:3377 */
11437 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*/;
11438 if (UNTAG_Bool(REGB0)) {
11439 } else {
11440 nit_abort("Assert failed", NULL, LOCATE_parser, 3377);
11441 }
11442 /* ./parser//parser.nit:3378 */
11443 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);
11444 /* ./parser//parser.nit:3387 */
11445 fra.me.REG[2] = fra.me.REG[3];
11446 /* ./parser//parser.nit:3388 */
11447 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11448 if (UNTAG_Bool(REGB0)) {
11449 } else {
11450 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3388);
11451 }
11452 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11453 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11454 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11455 stack_frame_head = fra.me.prev;
11456 return;
11457 }
11458 void parser___ReduceAction78___action(val_t p0, val_t p1){
11459 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11460 val_t REGB0;
11461 val_t tmp;
11462 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11463 fra.me.file = LOCATE_parser;
11464 fra.me.line = 3393;
11465 fra.me.meth = LOCATE_parser___ReduceAction78___action;
11466 fra.me.has_broke = 0;
11467 fra.me.REG_size = 9;
11468 fra.me.REG[0] = NIT_NULL;
11469 fra.me.REG[1] = NIT_NULL;
11470 fra.me.REG[2] = NIT_NULL;
11471 fra.me.REG[3] = NIT_NULL;
11472 fra.me.REG[4] = NIT_NULL;
11473 fra.me.REG[5] = NIT_NULL;
11474 fra.me.REG[6] = NIT_NULL;
11475 fra.me.REG[7] = NIT_NULL;
11476 fra.me.REG[8] = NIT_NULL;
11477 fra.me.REG[0] = p0;
11478 fra.me.REG[1] = p1;
11479 /* ./parser//parser.nit:3395 */
11480 fra.me.REG[2] = NIT_NULL;
11481 /* ./parser//parser.nit:3396 */
11482 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11483 /* ./parser//parser.nit:3397 */
11484 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11485 /* ./parser//parser.nit:3398 */
11486 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11487 /* ./parser//parser.nit:3399 */
11488 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11489 /* ./parser//parser.nit:3400 */
11490 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11491 /* ./parser//parser.nit:3401 */
11492 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11493 /* ./parser//parser.nit:3402 */
11494 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11495 /* ./parser//parser.nit:3403 */
11496 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11497 /* ./parser//parser.nit:3405 */
11498 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*/;
11499 if (UNTAG_Bool(REGB0)) {
11500 } else {
11501 nit_abort("Assert failed", NULL, LOCATE_parser, 3405);
11502 }
11503 /* ./parser//parser.nit:3407 */
11504 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*/;
11505 if (UNTAG_Bool(REGB0)) {
11506 } else {
11507 nit_abort("Assert failed", NULL, LOCATE_parser, 3407);
11508 }
11509 /* ./parser//parser.nit:3409 */
11510 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*/;
11511 if (UNTAG_Bool(REGB0)) {
11512 } else {
11513 nit_abort("Assert failed", NULL, LOCATE_parser, 3409);
11514 }
11515 /* ./parser//parser.nit:3411 */
11516 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*/;
11517 if (UNTAG_Bool(REGB0)) {
11518 } else {
11519 nit_abort("Assert failed", NULL, LOCATE_parser, 3411);
11520 }
11521 /* ./parser//parser.nit:3413 */
11522 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*/;
11523 if (UNTAG_Bool(REGB0)) {
11524 } else {
11525 nit_abort("Assert failed", NULL, LOCATE_parser, 3413);
11526 }
11527 /* ./parser//parser.nit:3415 */
11528 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*/;
11529 if (UNTAG_Bool(REGB0)) {
11530 } else {
11531 nit_abort("Assert failed", NULL, LOCATE_parser, 3415);
11532 }
11533 /* ./parser//parser.nit:3416 */
11534 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);
11535 /* ./parser//parser.nit:3425 */
11536 fra.me.REG[2] = fra.me.REG[3];
11537 /* ./parser//parser.nit:3426 */
11538 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11539 if (UNTAG_Bool(REGB0)) {
11540 } else {
11541 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3426);
11542 }
11543 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11544 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11545 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11546 stack_frame_head = fra.me.prev;
11547 return;
11548 }
11549 void parser___ReduceAction79___action(val_t p0, val_t p1){
11550 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11551 val_t REGB0;
11552 val_t tmp;
11553 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11554 fra.me.file = LOCATE_parser;
11555 fra.me.line = 3431;
11556 fra.me.meth = LOCATE_parser___ReduceAction79___action;
11557 fra.me.has_broke = 0;
11558 fra.me.REG_size = 9;
11559 fra.me.REG[0] = NIT_NULL;
11560 fra.me.REG[1] = NIT_NULL;
11561 fra.me.REG[2] = NIT_NULL;
11562 fra.me.REG[3] = NIT_NULL;
11563 fra.me.REG[4] = NIT_NULL;
11564 fra.me.REG[5] = NIT_NULL;
11565 fra.me.REG[6] = NIT_NULL;
11566 fra.me.REG[7] = NIT_NULL;
11567 fra.me.REG[8] = NIT_NULL;
11568 fra.me.REG[0] = p0;
11569 fra.me.REG[1] = p1;
11570 /* ./parser//parser.nit:3433 */
11571 fra.me.REG[2] = NIT_NULL;
11572 /* ./parser//parser.nit:3434 */
11573 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11574 /* ./parser//parser.nit:3435 */
11575 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11576 /* ./parser//parser.nit:3436 */
11577 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11578 /* ./parser//parser.nit:3437 */
11579 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11580 /* ./parser//parser.nit:3438 */
11581 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11582 /* ./parser//parser.nit:3439 */
11583 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11584 /* ./parser//parser.nit:3440 */
11585 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11586 /* ./parser//parser.nit:3441 */
11587 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11588 /* ./parser//parser.nit:3443 */
11589 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*/;
11590 if (UNTAG_Bool(REGB0)) {
11591 } else {
11592 nit_abort("Assert failed", NULL, LOCATE_parser, 3443);
11593 }
11594 /* ./parser//parser.nit:3445 */
11595 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*/;
11596 if (UNTAG_Bool(REGB0)) {
11597 } else {
11598 nit_abort("Assert failed", NULL, LOCATE_parser, 3445);
11599 }
11600 /* ./parser//parser.nit:3447 */
11601 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*/;
11602 if (UNTAG_Bool(REGB0)) {
11603 } else {
11604 nit_abort("Assert failed", NULL, LOCATE_parser, 3447);
11605 }
11606 /* ./parser//parser.nit:3449 */
11607 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*/;
11608 if (UNTAG_Bool(REGB0)) {
11609 } else {
11610 nit_abort("Assert failed", NULL, LOCATE_parser, 3449);
11611 }
11612 /* ./parser//parser.nit:3451 */
11613 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*/;
11614 if (UNTAG_Bool(REGB0)) {
11615 } else {
11616 nit_abort("Assert failed", NULL, LOCATE_parser, 3451);
11617 }
11618 /* ./parser//parser.nit:3453 */
11619 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*/;
11620 if (UNTAG_Bool(REGB0)) {
11621 } else {
11622 nit_abort("Assert failed", NULL, LOCATE_parser, 3453);
11623 }
11624 /* ./parser//parser.nit:3454 */
11625 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]);
11626 /* ./parser//parser.nit:3463 */
11627 fra.me.REG[2] = fra.me.REG[3];
11628 /* ./parser//parser.nit:3464 */
11629 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11630 if (UNTAG_Bool(REGB0)) {
11631 } else {
11632 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3464);
11633 }
11634 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11635 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11636 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11637 stack_frame_head = fra.me.prev;
11638 return;
11639 }
11640 void parser___ReduceAction80___action(val_t p0, val_t p1){
11641 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11642 val_t REGB0;
11643 val_t tmp;
11644 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11645 fra.me.file = LOCATE_parser;
11646 fra.me.line = 3469;
11647 fra.me.meth = LOCATE_parser___ReduceAction80___action;
11648 fra.me.has_broke = 0;
11649 fra.me.REG_size = 10;
11650 fra.me.REG[0] = NIT_NULL;
11651 fra.me.REG[1] = NIT_NULL;
11652 fra.me.REG[2] = NIT_NULL;
11653 fra.me.REG[3] = NIT_NULL;
11654 fra.me.REG[4] = NIT_NULL;
11655 fra.me.REG[5] = NIT_NULL;
11656 fra.me.REG[6] = NIT_NULL;
11657 fra.me.REG[7] = NIT_NULL;
11658 fra.me.REG[8] = NIT_NULL;
11659 fra.me.REG[9] = NIT_NULL;
11660 fra.me.REG[0] = p0;
11661 fra.me.REG[1] = p1;
11662 /* ./parser//parser.nit:3471 */
11663 fra.me.REG[2] = NIT_NULL;
11664 /* ./parser//parser.nit:3472 */
11665 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11666 /* ./parser//parser.nit:3473 */
11667 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11668 /* ./parser//parser.nit:3474 */
11669 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11670 /* ./parser//parser.nit:3475 */
11671 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11672 /* ./parser//parser.nit:3476 */
11673 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11674 /* ./parser//parser.nit:3477 */
11675 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11676 /* ./parser//parser.nit:3478 */
11677 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11678 /* ./parser//parser.nit:3479 */
11679 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11680 /* ./parser//parser.nit:3480 */
11681 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11682 /* ./parser//parser.nit:3482 */
11683 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*/;
11684 if (UNTAG_Bool(REGB0)) {
11685 } else {
11686 nit_abort("Assert failed", NULL, LOCATE_parser, 3482);
11687 }
11688 /* ./parser//parser.nit:3484 */
11689 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*/;
11690 if (UNTAG_Bool(REGB0)) {
11691 } else {
11692 nit_abort("Assert failed", NULL, LOCATE_parser, 3484);
11693 }
11694 /* ./parser//parser.nit:3486 */
11695 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*/;
11696 if (UNTAG_Bool(REGB0)) {
11697 } else {
11698 nit_abort("Assert failed", NULL, LOCATE_parser, 3486);
11699 }
11700 /* ./parser//parser.nit:3488 */
11701 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*/;
11702 if (UNTAG_Bool(REGB0)) {
11703 } else {
11704 nit_abort("Assert failed", NULL, LOCATE_parser, 3488);
11705 }
11706 /* ./parser//parser.nit:3490 */
11707 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*/;
11708 if (UNTAG_Bool(REGB0)) {
11709 } else {
11710 nit_abort("Assert failed", NULL, LOCATE_parser, 3490);
11711 }
11712 /* ./parser//parser.nit:3492 */
11713 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*/;
11714 if (UNTAG_Bool(REGB0)) {
11715 } else {
11716 nit_abort("Assert failed", NULL, LOCATE_parser, 3492);
11717 }
11718 /* ./parser//parser.nit:3494 */
11719 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*/;
11720 if (UNTAG_Bool(REGB0)) {
11721 } else {
11722 nit_abort("Assert failed", NULL, LOCATE_parser, 3494);
11723 }
11724 /* ./parser//parser.nit:3495 */
11725 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]);
11726 /* ./parser//parser.nit:3504 */
11727 fra.me.REG[2] = fra.me.REG[3];
11728 /* ./parser//parser.nit:3505 */
11729 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11730 if (UNTAG_Bool(REGB0)) {
11731 } else {
11732 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3505);
11733 }
11734 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11735 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11736 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11737 stack_frame_head = fra.me.prev;
11738 return;
11739 }
11740 void parser___ReduceAction81___action(val_t p0, val_t p1){
11741 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
11742 val_t REGB0;
11743 val_t tmp;
11744 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11745 fra.me.file = LOCATE_parser;
11746 fra.me.line = 3510;
11747 fra.me.meth = LOCATE_parser___ReduceAction81___action;
11748 fra.me.has_broke = 0;
11749 fra.me.REG_size = 7;
11750 fra.me.REG[0] = NIT_NULL;
11751 fra.me.REG[1] = NIT_NULL;
11752 fra.me.REG[2] = NIT_NULL;
11753 fra.me.REG[3] = NIT_NULL;
11754 fra.me.REG[4] = NIT_NULL;
11755 fra.me.REG[5] = NIT_NULL;
11756 fra.me.REG[6] = NIT_NULL;
11757 fra.me.REG[0] = p0;
11758 fra.me.REG[1] = p1;
11759 /* ./parser//parser.nit:3512 */
11760 fra.me.REG[2] = NIT_NULL;
11761 /* ./parser//parser.nit:3513 */
11762 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11763 /* ./parser//parser.nit:3514 */
11764 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11765 /* ./parser//parser.nit:3515 */
11766 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11767 /* ./parser//parser.nit:3516 */
11768 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11769 /* ./parser//parser.nit:3518 */
11770 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*/;
11771 if (UNTAG_Bool(REGB0)) {
11772 } else {
11773 nit_abort("Assert failed", NULL, LOCATE_parser, 3518);
11774 }
11775 /* ./parser//parser.nit:3520 */
11776 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*/;
11777 if (UNTAG_Bool(REGB0)) {
11778 } else {
11779 nit_abort("Assert failed", NULL, LOCATE_parser, 3520);
11780 }
11781 /* ./parser//parser.nit:3522 */
11782 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*/;
11783 if (UNTAG_Bool(REGB0)) {
11784 } else {
11785 nit_abort("Assert failed", NULL, LOCATE_parser, 3522);
11786 }
11787 /* ./parser//parser.nit:3524 */
11788 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*/;
11789 if (UNTAG_Bool(REGB0)) {
11790 } else {
11791 nit_abort("Assert failed", NULL, LOCATE_parser, 3524);
11792 }
11793 /* ./parser//parser.nit:3525 */
11794 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);
11795 /* ./parser//parser.nit:3537 */
11796 fra.me.REG[2] = fra.me.REG[3];
11797 /* ./parser//parser.nit:3538 */
11798 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11799 if (UNTAG_Bool(REGB0)) {
11800 } else {
11801 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3538);
11802 }
11803 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11804 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11805 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11806 stack_frame_head = fra.me.prev;
11807 return;
11808 }
11809 void parser___ReduceAction82___action(val_t p0, val_t p1){
11810 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11811 val_t REGB0;
11812 val_t tmp;
11813 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11814 fra.me.file = LOCATE_parser;
11815 fra.me.line = 3543;
11816 fra.me.meth = LOCATE_parser___ReduceAction82___action;
11817 fra.me.has_broke = 0;
11818 fra.me.REG_size = 8;
11819 fra.me.REG[0] = NIT_NULL;
11820 fra.me.REG[1] = NIT_NULL;
11821 fra.me.REG[2] = NIT_NULL;
11822 fra.me.REG[3] = NIT_NULL;
11823 fra.me.REG[4] = NIT_NULL;
11824 fra.me.REG[5] = NIT_NULL;
11825 fra.me.REG[6] = NIT_NULL;
11826 fra.me.REG[7] = NIT_NULL;
11827 fra.me.REG[0] = p0;
11828 fra.me.REG[1] = p1;
11829 /* ./parser//parser.nit:3545 */
11830 fra.me.REG[2] = NIT_NULL;
11831 /* ./parser//parser.nit:3546 */
11832 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11833 /* ./parser//parser.nit:3547 */
11834 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11835 /* ./parser//parser.nit:3548 */
11836 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11837 /* ./parser//parser.nit:3549 */
11838 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11839 /* ./parser//parser.nit:3550 */
11840 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11841 /* ./parser//parser.nit:3552 */
11842 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*/;
11843 if (UNTAG_Bool(REGB0)) {
11844 } else {
11845 nit_abort("Assert failed", NULL, LOCATE_parser, 3552);
11846 }
11847 /* ./parser//parser.nit:3554 */
11848 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*/;
11849 if (UNTAG_Bool(REGB0)) {
11850 } else {
11851 nit_abort("Assert failed", NULL, LOCATE_parser, 3554);
11852 }
11853 /* ./parser//parser.nit:3556 */
11854 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*/;
11855 if (UNTAG_Bool(REGB0)) {
11856 } else {
11857 nit_abort("Assert failed", NULL, LOCATE_parser, 3556);
11858 }
11859 /* ./parser//parser.nit:3558 */
11860 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*/;
11861 if (UNTAG_Bool(REGB0)) {
11862 } else {
11863 nit_abort("Assert failed", NULL, LOCATE_parser, 3558);
11864 }
11865 /* ./parser//parser.nit:3560 */
11866 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*/;
11867 if (UNTAG_Bool(REGB0)) {
11868 } else {
11869 nit_abort("Assert failed", NULL, LOCATE_parser, 3560);
11870 }
11871 /* ./parser//parser.nit:3561 */
11872 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);
11873 /* ./parser//parser.nit:3573 */
11874 fra.me.REG[2] = fra.me.REG[3];
11875 /* ./parser//parser.nit:3574 */
11876 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11877 if (UNTAG_Bool(REGB0)) {
11878 } else {
11879 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3574);
11880 }
11881 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11882 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11883 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11884 stack_frame_head = fra.me.prev;
11885 return;
11886 }
11887 void parser___ReduceAction83___action(val_t p0, val_t p1){
11888 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11889 val_t REGB0;
11890 val_t tmp;
11891 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11892 fra.me.file = LOCATE_parser;
11893 fra.me.line = 3579;
11894 fra.me.meth = LOCATE_parser___ReduceAction83___action;
11895 fra.me.has_broke = 0;
11896 fra.me.REG_size = 8;
11897 fra.me.REG[0] = NIT_NULL;
11898 fra.me.REG[1] = NIT_NULL;
11899 fra.me.REG[2] = NIT_NULL;
11900 fra.me.REG[3] = NIT_NULL;
11901 fra.me.REG[4] = NIT_NULL;
11902 fra.me.REG[5] = NIT_NULL;
11903 fra.me.REG[6] = NIT_NULL;
11904 fra.me.REG[7] = NIT_NULL;
11905 fra.me.REG[0] = p0;
11906 fra.me.REG[1] = p1;
11907 /* ./parser//parser.nit:3581 */
11908 fra.me.REG[2] = NIT_NULL;
11909 /* ./parser//parser.nit:3582 */
11910 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11911 /* ./parser//parser.nit:3583 */
11912 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11913 /* ./parser//parser.nit:3584 */
11914 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11915 /* ./parser//parser.nit:3585 */
11916 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11917 /* ./parser//parser.nit:3586 */
11918 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11919 /* ./parser//parser.nit:3588 */
11920 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*/;
11921 if (UNTAG_Bool(REGB0)) {
11922 } else {
11923 nit_abort("Assert failed", NULL, LOCATE_parser, 3588);
11924 }
11925 /* ./parser//parser.nit:3590 */
11926 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*/;
11927 if (UNTAG_Bool(REGB0)) {
11928 } else {
11929 nit_abort("Assert failed", NULL, LOCATE_parser, 3590);
11930 }
11931 /* ./parser//parser.nit:3592 */
11932 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*/;
11933 if (UNTAG_Bool(REGB0)) {
11934 } else {
11935 nit_abort("Assert failed", NULL, LOCATE_parser, 3592);
11936 }
11937 /* ./parser//parser.nit:3594 */
11938 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*/;
11939 if (UNTAG_Bool(REGB0)) {
11940 } else {
11941 nit_abort("Assert failed", NULL, LOCATE_parser, 3594);
11942 }
11943 /* ./parser//parser.nit:3596 */
11944 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*/;
11945 if (UNTAG_Bool(REGB0)) {
11946 } else {
11947 nit_abort("Assert failed", NULL, LOCATE_parser, 3596);
11948 }
11949 /* ./parser//parser.nit:3597 */
11950 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);
11951 /* ./parser//parser.nit:3609 */
11952 fra.me.REG[2] = fra.me.REG[3];
11953 /* ./parser//parser.nit:3610 */
11954 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11955 if (UNTAG_Bool(REGB0)) {
11956 } else {
11957 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3610);
11958 }
11959 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11960 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11961 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11962 stack_frame_head = fra.me.prev;
11963 return;
11964 }
11965 void parser___ReduceAction84___action(val_t p0, val_t p1){
11966 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
11967 val_t REGB0;
11968 val_t tmp;
11969 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11970 fra.me.file = LOCATE_parser;
11971 fra.me.line = 3615;
11972 fra.me.meth = LOCATE_parser___ReduceAction84___action;
11973 fra.me.has_broke = 0;
11974 fra.me.REG_size = 9;
11975 fra.me.REG[0] = NIT_NULL;
11976 fra.me.REG[1] = NIT_NULL;
11977 fra.me.REG[2] = NIT_NULL;
11978 fra.me.REG[3] = NIT_NULL;
11979 fra.me.REG[4] = NIT_NULL;
11980 fra.me.REG[5] = NIT_NULL;
11981 fra.me.REG[6] = NIT_NULL;
11982 fra.me.REG[7] = NIT_NULL;
11983 fra.me.REG[8] = NIT_NULL;
11984 fra.me.REG[0] = p0;
11985 fra.me.REG[1] = p1;
11986 /* ./parser//parser.nit:3617 */
11987 fra.me.REG[2] = NIT_NULL;
11988 /* ./parser//parser.nit:3618 */
11989 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11990 /* ./parser//parser.nit:3619 */
11991 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11992 /* ./parser//parser.nit:3620 */
11993 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11994 /* ./parser//parser.nit:3621 */
11995 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11996 /* ./parser//parser.nit:3622 */
11997 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11998 /* ./parser//parser.nit:3623 */
11999 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12000 /* ./parser//parser.nit:3625 */
12001 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*/;
12002 if (UNTAG_Bool(REGB0)) {
12003 } else {
12004 nit_abort("Assert failed", NULL, LOCATE_parser, 3625);
12005 }
12006 /* ./parser//parser.nit:3627 */
12007 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*/;
12008 if (UNTAG_Bool(REGB0)) {
12009 } else {
12010 nit_abort("Assert failed", NULL, LOCATE_parser, 3627);
12011 }
12012 /* ./parser//parser.nit:3629 */
12013 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*/;
12014 if (UNTAG_Bool(REGB0)) {
12015 } else {
12016 nit_abort("Assert failed", NULL, LOCATE_parser, 3629);
12017 }
12018 /* ./parser//parser.nit:3631 */
12019 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*/;
12020 if (UNTAG_Bool(REGB0)) {
12021 } else {
12022 nit_abort("Assert failed", NULL, LOCATE_parser, 3631);
12023 }
12024 /* ./parser//parser.nit:3633 */
12025 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*/;
12026 if (UNTAG_Bool(REGB0)) {
12027 } else {
12028 nit_abort("Assert failed", NULL, LOCATE_parser, 3633);
12029 }
12030 /* ./parser//parser.nit:3635 */
12031 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*/;
12032 if (UNTAG_Bool(REGB0)) {
12033 } else {
12034 nit_abort("Assert failed", NULL, LOCATE_parser, 3635);
12035 }
12036 /* ./parser//parser.nit:3636 */
12037 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);
12038 /* ./parser//parser.nit:3648 */
12039 fra.me.REG[2] = fra.me.REG[3];
12040 /* ./parser//parser.nit:3649 */
12041 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12042 if (UNTAG_Bool(REGB0)) {
12043 } else {
12044 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3649);
12045 }
12046 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12047 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12048 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12049 stack_frame_head = fra.me.prev;
12050 return;
12051 }
12052 void parser___ReduceAction85___action(val_t p0, val_t p1){
12053 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
12054 val_t REGB0;
12055 val_t tmp;
12056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12057 fra.me.file = LOCATE_parser;
12058 fra.me.line = 3654;
12059 fra.me.meth = LOCATE_parser___ReduceAction85___action;
12060 fra.me.has_broke = 0;
12061 fra.me.REG_size = 8;
12062 fra.me.REG[0] = NIT_NULL;
12063 fra.me.REG[1] = NIT_NULL;
12064 fra.me.REG[2] = NIT_NULL;
12065 fra.me.REG[3] = NIT_NULL;
12066 fra.me.REG[4] = NIT_NULL;
12067 fra.me.REG[5] = NIT_NULL;
12068 fra.me.REG[6] = NIT_NULL;
12069 fra.me.REG[7] = NIT_NULL;
12070 fra.me.REG[0] = p0;
12071 fra.me.REG[1] = p1;
12072 /* ./parser//parser.nit:3656 */
12073 fra.me.REG[2] = NIT_NULL;
12074 /* ./parser//parser.nit:3657 */
12075 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12076 /* ./parser//parser.nit:3658 */
12077 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12078 /* ./parser//parser.nit:3659 */
12079 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12080 /* ./parser//parser.nit:3660 */
12081 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12082 /* ./parser//parser.nit:3661 */
12083 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12084 /* ./parser//parser.nit:3663 */
12085 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*/;
12086 if (UNTAG_Bool(REGB0)) {
12087 } else {
12088 nit_abort("Assert failed", NULL, LOCATE_parser, 3663);
12089 }
12090 /* ./parser//parser.nit:3665 */
12091 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*/;
12092 if (UNTAG_Bool(REGB0)) {
12093 } else {
12094 nit_abort("Assert failed", NULL, LOCATE_parser, 3665);
12095 }
12096 /* ./parser//parser.nit:3667 */
12097 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*/;
12098 if (UNTAG_Bool(REGB0)) {
12099 } else {
12100 nit_abort("Assert failed", NULL, LOCATE_parser, 3667);
12101 }
12102 /* ./parser//parser.nit:3669 */
12103 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*/;
12104 if (UNTAG_Bool(REGB0)) {
12105 } else {
12106 nit_abort("Assert failed", NULL, LOCATE_parser, 3669);
12107 }
12108 /* ./parser//parser.nit:3671 */
12109 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*/;
12110 if (UNTAG_Bool(REGB0)) {
12111 } else {
12112 nit_abort("Assert failed", NULL, LOCATE_parser, 3671);
12113 }
12114 /* ./parser//parser.nit:3672 */
12115 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);
12116 /* ./parser//parser.nit:3684 */
12117 fra.me.REG[2] = fra.me.REG[3];
12118 /* ./parser//parser.nit:3685 */
12119 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12120 if (UNTAG_Bool(REGB0)) {
12121 } else {
12122 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3685);
12123 }
12124 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12125 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12126 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12127 stack_frame_head = fra.me.prev;
12128 return;
12129 }
12130 void parser___ReduceAction86___action(val_t p0, val_t p1){
12131 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12132 val_t REGB0;
12133 val_t tmp;
12134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12135 fra.me.file = LOCATE_parser;
12136 fra.me.line = 3690;
12137 fra.me.meth = LOCATE_parser___ReduceAction86___action;
12138 fra.me.has_broke = 0;
12139 fra.me.REG_size = 9;
12140 fra.me.REG[0] = NIT_NULL;
12141 fra.me.REG[1] = NIT_NULL;
12142 fra.me.REG[2] = NIT_NULL;
12143 fra.me.REG[3] = NIT_NULL;
12144 fra.me.REG[4] = NIT_NULL;
12145 fra.me.REG[5] = NIT_NULL;
12146 fra.me.REG[6] = NIT_NULL;
12147 fra.me.REG[7] = NIT_NULL;
12148 fra.me.REG[8] = NIT_NULL;
12149 fra.me.REG[0] = p0;
12150 fra.me.REG[1] = p1;
12151 /* ./parser//parser.nit:3692 */
12152 fra.me.REG[2] = NIT_NULL;
12153 /* ./parser//parser.nit:3693 */
12154 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12155 /* ./parser//parser.nit:3694 */
12156 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12157 /* ./parser//parser.nit:3695 */
12158 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12159 /* ./parser//parser.nit:3696 */
12160 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12161 /* ./parser//parser.nit:3697 */
12162 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12163 /* ./parser//parser.nit:3698 */
12164 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12165 /* ./parser//parser.nit:3700 */
12166 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*/;
12167 if (UNTAG_Bool(REGB0)) {
12168 } else {
12169 nit_abort("Assert failed", NULL, LOCATE_parser, 3700);
12170 }
12171 /* ./parser//parser.nit:3702 */
12172 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*/;
12173 if (UNTAG_Bool(REGB0)) {
12174 } else {
12175 nit_abort("Assert failed", NULL, LOCATE_parser, 3702);
12176 }
12177 /* ./parser//parser.nit:3704 */
12178 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*/;
12179 if (UNTAG_Bool(REGB0)) {
12180 } else {
12181 nit_abort("Assert failed", NULL, LOCATE_parser, 3704);
12182 }
12183 /* ./parser//parser.nit:3706 */
12184 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*/;
12185 if (UNTAG_Bool(REGB0)) {
12186 } else {
12187 nit_abort("Assert failed", NULL, LOCATE_parser, 3706);
12188 }
12189 /* ./parser//parser.nit:3708 */
12190 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*/;
12191 if (UNTAG_Bool(REGB0)) {
12192 } else {
12193 nit_abort("Assert failed", NULL, LOCATE_parser, 3708);
12194 }
12195 /* ./parser//parser.nit:3710 */
12196 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*/;
12197 if (UNTAG_Bool(REGB0)) {
12198 } else {
12199 nit_abort("Assert failed", NULL, LOCATE_parser, 3710);
12200 }
12201 /* ./parser//parser.nit:3711 */
12202 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);
12203 /* ./parser//parser.nit:3723 */
12204 fra.me.REG[2] = fra.me.REG[3];
12205 /* ./parser//parser.nit:3724 */
12206 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12207 if (UNTAG_Bool(REGB0)) {
12208 } else {
12209 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3724);
12210 }
12211 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12212 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12213 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12214 stack_frame_head = fra.me.prev;
12215 return;
12216 }
12217 void parser___ReduceAction87___action(val_t p0, val_t p1){
12218 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12219 val_t REGB0;
12220 val_t tmp;
12221 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12222 fra.me.file = LOCATE_parser;
12223 fra.me.line = 3729;
12224 fra.me.meth = LOCATE_parser___ReduceAction87___action;
12225 fra.me.has_broke = 0;
12226 fra.me.REG_size = 9;
12227 fra.me.REG[0] = NIT_NULL;
12228 fra.me.REG[1] = NIT_NULL;
12229 fra.me.REG[2] = NIT_NULL;
12230 fra.me.REG[3] = NIT_NULL;
12231 fra.me.REG[4] = NIT_NULL;
12232 fra.me.REG[5] = NIT_NULL;
12233 fra.me.REG[6] = NIT_NULL;
12234 fra.me.REG[7] = NIT_NULL;
12235 fra.me.REG[8] = NIT_NULL;
12236 fra.me.REG[0] = p0;
12237 fra.me.REG[1] = p1;
12238 /* ./parser//parser.nit:3731 */
12239 fra.me.REG[2] = NIT_NULL;
12240 /* ./parser//parser.nit:3732 */
12241 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12242 /* ./parser//parser.nit:3733 */
12243 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12244 /* ./parser//parser.nit:3734 */
12245 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12246 /* ./parser//parser.nit:3735 */
12247 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12248 /* ./parser//parser.nit:3736 */
12249 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12250 /* ./parser//parser.nit:3737 */
12251 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12252 /* ./parser//parser.nit:3739 */
12253 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*/;
12254 if (UNTAG_Bool(REGB0)) {
12255 } else {
12256 nit_abort("Assert failed", NULL, LOCATE_parser, 3739);
12257 }
12258 /* ./parser//parser.nit:3741 */
12259 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*/;
12260 if (UNTAG_Bool(REGB0)) {
12261 } else {
12262 nit_abort("Assert failed", NULL, LOCATE_parser, 3741);
12263 }
12264 /* ./parser//parser.nit:3743 */
12265 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*/;
12266 if (UNTAG_Bool(REGB0)) {
12267 } else {
12268 nit_abort("Assert failed", NULL, LOCATE_parser, 3743);
12269 }
12270 /* ./parser//parser.nit:3745 */
12271 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*/;
12272 if (UNTAG_Bool(REGB0)) {
12273 } else {
12274 nit_abort("Assert failed", NULL, LOCATE_parser, 3745);
12275 }
12276 /* ./parser//parser.nit:3747 */
12277 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*/;
12278 if (UNTAG_Bool(REGB0)) {
12279 } else {
12280 nit_abort("Assert failed", NULL, LOCATE_parser, 3747);
12281 }
12282 /* ./parser//parser.nit:3749 */
12283 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*/;
12284 if (UNTAG_Bool(REGB0)) {
12285 } else {
12286 nit_abort("Assert failed", NULL, LOCATE_parser, 3749);
12287 }
12288 /* ./parser//parser.nit:3750 */
12289 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);
12290 /* ./parser//parser.nit:3762 */
12291 fra.me.REG[2] = fra.me.REG[3];
12292 /* ./parser//parser.nit:3763 */
12293 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12294 if (UNTAG_Bool(REGB0)) {
12295 } else {
12296 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3763);
12297 }
12298 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12299 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12300 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12301 stack_frame_head = fra.me.prev;
12302 return;
12303 }
12304 void parser___ReduceAction88___action(val_t p0, val_t p1){
12305 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12306 val_t REGB0;
12307 val_t tmp;
12308 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12309 fra.me.file = LOCATE_parser;
12310 fra.me.line = 3768;
12311 fra.me.meth = LOCATE_parser___ReduceAction88___action;
12312 fra.me.has_broke = 0;
12313 fra.me.REG_size = 10;
12314 fra.me.REG[0] = NIT_NULL;
12315 fra.me.REG[1] = NIT_NULL;
12316 fra.me.REG[2] = NIT_NULL;
12317 fra.me.REG[3] = NIT_NULL;
12318 fra.me.REG[4] = NIT_NULL;
12319 fra.me.REG[5] = NIT_NULL;
12320 fra.me.REG[6] = NIT_NULL;
12321 fra.me.REG[7] = NIT_NULL;
12322 fra.me.REG[8] = NIT_NULL;
12323 fra.me.REG[9] = NIT_NULL;
12324 fra.me.REG[0] = p0;
12325 fra.me.REG[1] = p1;
12326 /* ./parser//parser.nit:3770 */
12327 fra.me.REG[2] = NIT_NULL;
12328 /* ./parser//parser.nit:3771 */
12329 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12330 /* ./parser//parser.nit:3772 */
12331 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12332 /* ./parser//parser.nit:3773 */
12333 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12334 /* ./parser//parser.nit:3774 */
12335 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12336 /* ./parser//parser.nit:3775 */
12337 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12338 /* ./parser//parser.nit:3776 */
12339 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12340 /* ./parser//parser.nit:3777 */
12341 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12342 /* ./parser//parser.nit:3779 */
12343 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*/;
12344 if (UNTAG_Bool(REGB0)) {
12345 } else {
12346 nit_abort("Assert failed", NULL, LOCATE_parser, 3779);
12347 }
12348 /* ./parser//parser.nit:3781 */
12349 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*/;
12350 if (UNTAG_Bool(REGB0)) {
12351 } else {
12352 nit_abort("Assert failed", NULL, LOCATE_parser, 3781);
12353 }
12354 /* ./parser//parser.nit:3783 */
12355 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*/;
12356 if (UNTAG_Bool(REGB0)) {
12357 } else {
12358 nit_abort("Assert failed", NULL, LOCATE_parser, 3783);
12359 }
12360 /* ./parser//parser.nit:3785 */
12361 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*/;
12362 if (UNTAG_Bool(REGB0)) {
12363 } else {
12364 nit_abort("Assert failed", NULL, LOCATE_parser, 3785);
12365 }
12366 /* ./parser//parser.nit:3787 */
12367 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*/;
12368 if (UNTAG_Bool(REGB0)) {
12369 } else {
12370 nit_abort("Assert failed", NULL, LOCATE_parser, 3787);
12371 }
12372 /* ./parser//parser.nit:3789 */
12373 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*/;
12374 if (UNTAG_Bool(REGB0)) {
12375 } else {
12376 nit_abort("Assert failed", NULL, LOCATE_parser, 3789);
12377 }
12378 /* ./parser//parser.nit:3791 */
12379 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*/;
12380 if (UNTAG_Bool(REGB0)) {
12381 } else {
12382 nit_abort("Assert failed", NULL, LOCATE_parser, 3791);
12383 }
12384 /* ./parser//parser.nit:3792 */
12385 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);
12386 /* ./parser//parser.nit:3804 */
12387 fra.me.REG[2] = fra.me.REG[3];
12388 /* ./parser//parser.nit:3805 */
12389 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12390 if (UNTAG_Bool(REGB0)) {
12391 } else {
12392 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3805);
12393 }
12394 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12395 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12396 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12397 stack_frame_head = fra.me.prev;
12398 return;
12399 }
12400 void parser___ReduceAction89___action(val_t p0, val_t p1){
12401 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
12402 val_t REGB0;
12403 val_t tmp;
12404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12405 fra.me.file = LOCATE_parser;
12406 fra.me.line = 3810;
12407 fra.me.meth = LOCATE_parser___ReduceAction89___action;
12408 fra.me.has_broke = 0;
12409 fra.me.REG_size = 8;
12410 fra.me.REG[0] = NIT_NULL;
12411 fra.me.REG[1] = NIT_NULL;
12412 fra.me.REG[2] = NIT_NULL;
12413 fra.me.REG[3] = NIT_NULL;
12414 fra.me.REG[4] = NIT_NULL;
12415 fra.me.REG[5] = NIT_NULL;
12416 fra.me.REG[6] = NIT_NULL;
12417 fra.me.REG[7] = NIT_NULL;
12418 fra.me.REG[0] = p0;
12419 fra.me.REG[1] = p1;
12420 /* ./parser//parser.nit:3812 */
12421 fra.me.REG[2] = NIT_NULL;
12422 /* ./parser//parser.nit:3813 */
12423 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12424 /* ./parser//parser.nit:3814 */
12425 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12426 /* ./parser//parser.nit:3815 */
12427 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12428 /* ./parser//parser.nit:3816 */
12429 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12430 /* ./parser//parser.nit:3817 */
12431 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12432 /* ./parser//parser.nit:3819 */
12433 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*/;
12434 if (UNTAG_Bool(REGB0)) {
12435 } else {
12436 nit_abort("Assert failed", NULL, LOCATE_parser, 3819);
12437 }
12438 /* ./parser//parser.nit:3821 */
12439 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*/;
12440 if (UNTAG_Bool(REGB0)) {
12441 } else {
12442 nit_abort("Assert failed", NULL, LOCATE_parser, 3821);
12443 }
12444 /* ./parser//parser.nit:3823 */
12445 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*/;
12446 if (UNTAG_Bool(REGB0)) {
12447 } else {
12448 nit_abort("Assert failed", NULL, LOCATE_parser, 3823);
12449 }
12450 /* ./parser//parser.nit:3825 */
12451 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*/;
12452 if (UNTAG_Bool(REGB0)) {
12453 } else {
12454 nit_abort("Assert failed", NULL, LOCATE_parser, 3825);
12455 }
12456 /* ./parser//parser.nit:3827 */
12457 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*/;
12458 if (UNTAG_Bool(REGB0)) {
12459 } else {
12460 nit_abort("Assert failed", NULL, LOCATE_parser, 3827);
12461 }
12462 /* ./parser//parser.nit:3828 */
12463 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);
12464 /* ./parser//parser.nit:3840 */
12465 fra.me.REG[2] = fra.me.REG[3];
12466 /* ./parser//parser.nit:3841 */
12467 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12468 if (UNTAG_Bool(REGB0)) {
12469 } else {
12470 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3841);
12471 }
12472 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12473 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12474 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12475 stack_frame_head = fra.me.prev;
12476 return;
12477 }
12478 void parser___ReduceAction90___action(val_t p0, val_t p1){
12479 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12480 val_t REGB0;
12481 val_t tmp;
12482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12483 fra.me.file = LOCATE_parser;
12484 fra.me.line = 3846;
12485 fra.me.meth = LOCATE_parser___ReduceAction90___action;
12486 fra.me.has_broke = 0;
12487 fra.me.REG_size = 9;
12488 fra.me.REG[0] = NIT_NULL;
12489 fra.me.REG[1] = NIT_NULL;
12490 fra.me.REG[2] = NIT_NULL;
12491 fra.me.REG[3] = NIT_NULL;
12492 fra.me.REG[4] = NIT_NULL;
12493 fra.me.REG[5] = NIT_NULL;
12494 fra.me.REG[6] = NIT_NULL;
12495 fra.me.REG[7] = NIT_NULL;
12496 fra.me.REG[8] = NIT_NULL;
12497 fra.me.REG[0] = p0;
12498 fra.me.REG[1] = p1;
12499 /* ./parser//parser.nit:3848 */
12500 fra.me.REG[2] = NIT_NULL;
12501 /* ./parser//parser.nit:3849 */
12502 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12503 /* ./parser//parser.nit:3850 */
12504 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12505 /* ./parser//parser.nit:3851 */
12506 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12507 /* ./parser//parser.nit:3852 */
12508 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12509 /* ./parser//parser.nit:3853 */
12510 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12511 /* ./parser//parser.nit:3854 */
12512 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12513 /* ./parser//parser.nit:3856 */
12514 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*/;
12515 if (UNTAG_Bool(REGB0)) {
12516 } else {
12517 nit_abort("Assert failed", NULL, LOCATE_parser, 3856);
12518 }
12519 /* ./parser//parser.nit:3858 */
12520 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*/;
12521 if (UNTAG_Bool(REGB0)) {
12522 } else {
12523 nit_abort("Assert failed", NULL, LOCATE_parser, 3858);
12524 }
12525 /* ./parser//parser.nit:3860 */
12526 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*/;
12527 if (UNTAG_Bool(REGB0)) {
12528 } else {
12529 nit_abort("Assert failed", NULL, LOCATE_parser, 3860);
12530 }
12531 /* ./parser//parser.nit:3862 */
12532 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*/;
12533 if (UNTAG_Bool(REGB0)) {
12534 } else {
12535 nit_abort("Assert failed", NULL, LOCATE_parser, 3862);
12536 }
12537 /* ./parser//parser.nit:3864 */
12538 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*/;
12539 if (UNTAG_Bool(REGB0)) {
12540 } else {
12541 nit_abort("Assert failed", NULL, LOCATE_parser, 3864);
12542 }
12543 /* ./parser//parser.nit:3866 */
12544 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*/;
12545 if (UNTAG_Bool(REGB0)) {
12546 } else {
12547 nit_abort("Assert failed", NULL, LOCATE_parser, 3866);
12548 }
12549 /* ./parser//parser.nit:3867 */
12550 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);
12551 /* ./parser//parser.nit:3879 */
12552 fra.me.REG[2] = fra.me.REG[3];
12553 /* ./parser//parser.nit:3880 */
12554 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12555 if (UNTAG_Bool(REGB0)) {
12556 } else {
12557 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3880);
12558 }
12559 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12560 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12561 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12562 stack_frame_head = fra.me.prev;
12563 return;
12564 }
12565 void parser___ReduceAction91___action(val_t p0, val_t p1){
12566 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12567 val_t REGB0;
12568 val_t tmp;
12569 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12570 fra.me.file = LOCATE_parser;
12571 fra.me.line = 3885;
12572 fra.me.meth = LOCATE_parser___ReduceAction91___action;
12573 fra.me.has_broke = 0;
12574 fra.me.REG_size = 9;
12575 fra.me.REG[0] = NIT_NULL;
12576 fra.me.REG[1] = NIT_NULL;
12577 fra.me.REG[2] = NIT_NULL;
12578 fra.me.REG[3] = NIT_NULL;
12579 fra.me.REG[4] = NIT_NULL;
12580 fra.me.REG[5] = NIT_NULL;
12581 fra.me.REG[6] = NIT_NULL;
12582 fra.me.REG[7] = NIT_NULL;
12583 fra.me.REG[8] = NIT_NULL;
12584 fra.me.REG[0] = p0;
12585 fra.me.REG[1] = p1;
12586 /* ./parser//parser.nit:3887 */
12587 fra.me.REG[2] = NIT_NULL;
12588 /* ./parser//parser.nit:3888 */
12589 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12590 /* ./parser//parser.nit:3889 */
12591 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12592 /* ./parser//parser.nit:3890 */
12593 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12594 /* ./parser//parser.nit:3891 */
12595 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12596 /* ./parser//parser.nit:3892 */
12597 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12598 /* ./parser//parser.nit:3893 */
12599 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12600 /* ./parser//parser.nit:3895 */
12601 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*/;
12602 if (UNTAG_Bool(REGB0)) {
12603 } else {
12604 nit_abort("Assert failed", NULL, LOCATE_parser, 3895);
12605 }
12606 /* ./parser//parser.nit:3897 */
12607 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*/;
12608 if (UNTAG_Bool(REGB0)) {
12609 } else {
12610 nit_abort("Assert failed", NULL, LOCATE_parser, 3897);
12611 }
12612 /* ./parser//parser.nit:3899 */
12613 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*/;
12614 if (UNTAG_Bool(REGB0)) {
12615 } else {
12616 nit_abort("Assert failed", NULL, LOCATE_parser, 3899);
12617 }
12618 /* ./parser//parser.nit:3901 */
12619 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*/;
12620 if (UNTAG_Bool(REGB0)) {
12621 } else {
12622 nit_abort("Assert failed", NULL, LOCATE_parser, 3901);
12623 }
12624 /* ./parser//parser.nit:3903 */
12625 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*/;
12626 if (UNTAG_Bool(REGB0)) {
12627 } else {
12628 nit_abort("Assert failed", NULL, LOCATE_parser, 3903);
12629 }
12630 /* ./parser//parser.nit:3905 */
12631 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*/;
12632 if (UNTAG_Bool(REGB0)) {
12633 } else {
12634 nit_abort("Assert failed", NULL, LOCATE_parser, 3905);
12635 }
12636 /* ./parser//parser.nit:3906 */
12637 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);
12638 /* ./parser//parser.nit:3918 */
12639 fra.me.REG[2] = fra.me.REG[3];
12640 /* ./parser//parser.nit:3919 */
12641 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12642 if (UNTAG_Bool(REGB0)) {
12643 } else {
12644 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3919);
12645 }
12646 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12647 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12648 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12649 stack_frame_head = fra.me.prev;
12650 return;
12651 }
12652 void parser___ReduceAction92___action(val_t p0, val_t p1){
12653 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12654 val_t REGB0;
12655 val_t tmp;
12656 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12657 fra.me.file = LOCATE_parser;
12658 fra.me.line = 3924;
12659 fra.me.meth = LOCATE_parser___ReduceAction92___action;
12660 fra.me.has_broke = 0;
12661 fra.me.REG_size = 10;
12662 fra.me.REG[0] = NIT_NULL;
12663 fra.me.REG[1] = NIT_NULL;
12664 fra.me.REG[2] = NIT_NULL;
12665 fra.me.REG[3] = NIT_NULL;
12666 fra.me.REG[4] = NIT_NULL;
12667 fra.me.REG[5] = NIT_NULL;
12668 fra.me.REG[6] = NIT_NULL;
12669 fra.me.REG[7] = NIT_NULL;
12670 fra.me.REG[8] = NIT_NULL;
12671 fra.me.REG[9] = NIT_NULL;
12672 fra.me.REG[0] = p0;
12673 fra.me.REG[1] = p1;
12674 /* ./parser//parser.nit:3926 */
12675 fra.me.REG[2] = NIT_NULL;
12676 /* ./parser//parser.nit:3927 */
12677 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12678 /* ./parser//parser.nit:3928 */
12679 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12680 /* ./parser//parser.nit:3929 */
12681 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12682 /* ./parser//parser.nit:3930 */
12683 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12684 /* ./parser//parser.nit:3931 */
12685 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12686 /* ./parser//parser.nit:3932 */
12687 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12688 /* ./parser//parser.nit:3933 */
12689 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12690 /* ./parser//parser.nit:3935 */
12691 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*/;
12692 if (UNTAG_Bool(REGB0)) {
12693 } else {
12694 nit_abort("Assert failed", NULL, LOCATE_parser, 3935);
12695 }
12696 /* ./parser//parser.nit:3937 */
12697 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*/;
12698 if (UNTAG_Bool(REGB0)) {
12699 } else {
12700 nit_abort("Assert failed", NULL, LOCATE_parser, 3937);
12701 }
12702 /* ./parser//parser.nit:3939 */
12703 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*/;
12704 if (UNTAG_Bool(REGB0)) {
12705 } else {
12706 nit_abort("Assert failed", NULL, LOCATE_parser, 3939);
12707 }
12708 /* ./parser//parser.nit:3941 */
12709 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*/;
12710 if (UNTAG_Bool(REGB0)) {
12711 } else {
12712 nit_abort("Assert failed", NULL, LOCATE_parser, 3941);
12713 }
12714 /* ./parser//parser.nit:3943 */
12715 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*/;
12716 if (UNTAG_Bool(REGB0)) {
12717 } else {
12718 nit_abort("Assert failed", NULL, LOCATE_parser, 3943);
12719 }
12720 /* ./parser//parser.nit:3945 */
12721 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*/;
12722 if (UNTAG_Bool(REGB0)) {
12723 } else {
12724 nit_abort("Assert failed", NULL, LOCATE_parser, 3945);
12725 }
12726 /* ./parser//parser.nit:3947 */
12727 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*/;
12728 if (UNTAG_Bool(REGB0)) {
12729 } else {
12730 nit_abort("Assert failed", NULL, LOCATE_parser, 3947);
12731 }
12732 /* ./parser//parser.nit:3948 */
12733 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);
12734 /* ./parser//parser.nit:3960 */
12735 fra.me.REG[2] = fra.me.REG[3];
12736 /* ./parser//parser.nit:3961 */
12737 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12738 if (UNTAG_Bool(REGB0)) {
12739 } else {
12740 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3961);
12741 }
12742 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12743 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12744 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12745 stack_frame_head = fra.me.prev;
12746 return;
12747 }
12748 void parser___ReduceAction93___action(val_t p0, val_t p1){
12749 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
12750 val_t REGB0;
12751 val_t tmp;
12752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12753 fra.me.file = LOCATE_parser;
12754 fra.me.line = 3966;
12755 fra.me.meth = LOCATE_parser___ReduceAction93___action;
12756 fra.me.has_broke = 0;
12757 fra.me.REG_size = 9;
12758 fra.me.REG[0] = NIT_NULL;
12759 fra.me.REG[1] = NIT_NULL;
12760 fra.me.REG[2] = NIT_NULL;
12761 fra.me.REG[3] = NIT_NULL;
12762 fra.me.REG[4] = NIT_NULL;
12763 fra.me.REG[5] = NIT_NULL;
12764 fra.me.REG[6] = NIT_NULL;
12765 fra.me.REG[7] = NIT_NULL;
12766 fra.me.REG[8] = NIT_NULL;
12767 fra.me.REG[0] = p0;
12768 fra.me.REG[1] = p1;
12769 /* ./parser//parser.nit:3968 */
12770 fra.me.REG[2] = NIT_NULL;
12771 /* ./parser//parser.nit:3969 */
12772 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12773 /* ./parser//parser.nit:3970 */
12774 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12775 /* ./parser//parser.nit:3971 */
12776 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12777 /* ./parser//parser.nit:3972 */
12778 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12779 /* ./parser//parser.nit:3973 */
12780 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12781 /* ./parser//parser.nit:3974 */
12782 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12783 /* ./parser//parser.nit:3976 */
12784 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*/;
12785 if (UNTAG_Bool(REGB0)) {
12786 } else {
12787 nit_abort("Assert failed", NULL, LOCATE_parser, 3976);
12788 }
12789 /* ./parser//parser.nit:3978 */
12790 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*/;
12791 if (UNTAG_Bool(REGB0)) {
12792 } else {
12793 nit_abort("Assert failed", NULL, LOCATE_parser, 3978);
12794 }
12795 /* ./parser//parser.nit:3980 */
12796 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*/;
12797 if (UNTAG_Bool(REGB0)) {
12798 } else {
12799 nit_abort("Assert failed", NULL, LOCATE_parser, 3980);
12800 }
12801 /* ./parser//parser.nit:3982 */
12802 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*/;
12803 if (UNTAG_Bool(REGB0)) {
12804 } else {
12805 nit_abort("Assert failed", NULL, LOCATE_parser, 3982);
12806 }
12807 /* ./parser//parser.nit:3984 */
12808 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*/;
12809 if (UNTAG_Bool(REGB0)) {
12810 } else {
12811 nit_abort("Assert failed", NULL, LOCATE_parser, 3984);
12812 }
12813 /* ./parser//parser.nit:3986 */
12814 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*/;
12815 if (UNTAG_Bool(REGB0)) {
12816 } else {
12817 nit_abort("Assert failed", NULL, LOCATE_parser, 3986);
12818 }
12819 /* ./parser//parser.nit:3987 */
12820 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);
12821 /* ./parser//parser.nit:3999 */
12822 fra.me.REG[2] = fra.me.REG[3];
12823 /* ./parser//parser.nit:4000 */
12824 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12825 if (UNTAG_Bool(REGB0)) {
12826 } else {
12827 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4000);
12828 }
12829 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12830 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12831 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12832 stack_frame_head = fra.me.prev;
12833 return;
12834 }
12835 void parser___ReduceAction94___action(val_t p0, val_t p1){
12836 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12837 val_t REGB0;
12838 val_t tmp;
12839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12840 fra.me.file = LOCATE_parser;
12841 fra.me.line = 4005;
12842 fra.me.meth = LOCATE_parser___ReduceAction94___action;
12843 fra.me.has_broke = 0;
12844 fra.me.REG_size = 10;
12845 fra.me.REG[0] = NIT_NULL;
12846 fra.me.REG[1] = NIT_NULL;
12847 fra.me.REG[2] = NIT_NULL;
12848 fra.me.REG[3] = NIT_NULL;
12849 fra.me.REG[4] = NIT_NULL;
12850 fra.me.REG[5] = NIT_NULL;
12851 fra.me.REG[6] = NIT_NULL;
12852 fra.me.REG[7] = NIT_NULL;
12853 fra.me.REG[8] = NIT_NULL;
12854 fra.me.REG[9] = NIT_NULL;
12855 fra.me.REG[0] = p0;
12856 fra.me.REG[1] = p1;
12857 /* ./parser//parser.nit:4007 */
12858 fra.me.REG[2] = NIT_NULL;
12859 /* ./parser//parser.nit:4008 */
12860 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12861 /* ./parser//parser.nit:4009 */
12862 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12863 /* ./parser//parser.nit:4010 */
12864 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12865 /* ./parser//parser.nit:4011 */
12866 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12867 /* ./parser//parser.nit:4012 */
12868 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12869 /* ./parser//parser.nit:4013 */
12870 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12871 /* ./parser//parser.nit:4014 */
12872 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12873 /* ./parser//parser.nit:4016 */
12874 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*/;
12875 if (UNTAG_Bool(REGB0)) {
12876 } else {
12877 nit_abort("Assert failed", NULL, LOCATE_parser, 4016);
12878 }
12879 /* ./parser//parser.nit:4018 */
12880 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*/;
12881 if (UNTAG_Bool(REGB0)) {
12882 } else {
12883 nit_abort("Assert failed", NULL, LOCATE_parser, 4018);
12884 }
12885 /* ./parser//parser.nit:4020 */
12886 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*/;
12887 if (UNTAG_Bool(REGB0)) {
12888 } else {
12889 nit_abort("Assert failed", NULL, LOCATE_parser, 4020);
12890 }
12891 /* ./parser//parser.nit:4022 */
12892 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*/;
12893 if (UNTAG_Bool(REGB0)) {
12894 } else {
12895 nit_abort("Assert failed", NULL, LOCATE_parser, 4022);
12896 }
12897 /* ./parser//parser.nit:4024 */
12898 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*/;
12899 if (UNTAG_Bool(REGB0)) {
12900 } else {
12901 nit_abort("Assert failed", NULL, LOCATE_parser, 4024);
12902 }
12903 /* ./parser//parser.nit:4026 */
12904 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*/;
12905 if (UNTAG_Bool(REGB0)) {
12906 } else {
12907 nit_abort("Assert failed", NULL, LOCATE_parser, 4026);
12908 }
12909 /* ./parser//parser.nit:4028 */
12910 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*/;
12911 if (UNTAG_Bool(REGB0)) {
12912 } else {
12913 nit_abort("Assert failed", NULL, LOCATE_parser, 4028);
12914 }
12915 /* ./parser//parser.nit:4029 */
12916 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);
12917 /* ./parser//parser.nit:4041 */
12918 fra.me.REG[2] = fra.me.REG[3];
12919 /* ./parser//parser.nit:4042 */
12920 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12921 if (UNTAG_Bool(REGB0)) {
12922 } else {
12923 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4042);
12924 }
12925 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12926 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12927 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12928 stack_frame_head = fra.me.prev;
12929 return;
12930 }
12931 void parser___ReduceAction95___action(val_t p0, val_t p1){
12932 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
12933 val_t REGB0;
12934 val_t tmp;
12935 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12936 fra.me.file = LOCATE_parser;
12937 fra.me.line = 4047;
12938 fra.me.meth = LOCATE_parser___ReduceAction95___action;
12939 fra.me.has_broke = 0;
12940 fra.me.REG_size = 10;
12941 fra.me.REG[0] = NIT_NULL;
12942 fra.me.REG[1] = NIT_NULL;
12943 fra.me.REG[2] = NIT_NULL;
12944 fra.me.REG[3] = NIT_NULL;
12945 fra.me.REG[4] = NIT_NULL;
12946 fra.me.REG[5] = NIT_NULL;
12947 fra.me.REG[6] = NIT_NULL;
12948 fra.me.REG[7] = NIT_NULL;
12949 fra.me.REG[8] = NIT_NULL;
12950 fra.me.REG[9] = NIT_NULL;
12951 fra.me.REG[0] = p0;
12952 fra.me.REG[1] = p1;
12953 /* ./parser//parser.nit:4049 */
12954 fra.me.REG[2] = NIT_NULL;
12955 /* ./parser//parser.nit:4050 */
12956 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12957 /* ./parser//parser.nit:4051 */
12958 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12959 /* ./parser//parser.nit:4052 */
12960 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12961 /* ./parser//parser.nit:4053 */
12962 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12963 /* ./parser//parser.nit:4054 */
12964 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12965 /* ./parser//parser.nit:4055 */
12966 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12967 /* ./parser//parser.nit:4056 */
12968 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12969 /* ./parser//parser.nit:4058 */
12970 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*/;
12971 if (UNTAG_Bool(REGB0)) {
12972 } else {
12973 nit_abort("Assert failed", NULL, LOCATE_parser, 4058);
12974 }
12975 /* ./parser//parser.nit:4060 */
12976 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*/;
12977 if (UNTAG_Bool(REGB0)) {
12978 } else {
12979 nit_abort("Assert failed", NULL, LOCATE_parser, 4060);
12980 }
12981 /* ./parser//parser.nit:4062 */
12982 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*/;
12983 if (UNTAG_Bool(REGB0)) {
12984 } else {
12985 nit_abort("Assert failed", NULL, LOCATE_parser, 4062);
12986 }
12987 /* ./parser//parser.nit:4064 */
12988 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*/;
12989 if (UNTAG_Bool(REGB0)) {
12990 } else {
12991 nit_abort("Assert failed", NULL, LOCATE_parser, 4064);
12992 }
12993 /* ./parser//parser.nit:4066 */
12994 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*/;
12995 if (UNTAG_Bool(REGB0)) {
12996 } else {
12997 nit_abort("Assert failed", NULL, LOCATE_parser, 4066);
12998 }
12999 /* ./parser//parser.nit:4068 */
13000 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*/;
13001 if (UNTAG_Bool(REGB0)) {
13002 } else {
13003 nit_abort("Assert failed", NULL, LOCATE_parser, 4068);
13004 }
13005 /* ./parser//parser.nit:4070 */
13006 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*/;
13007 if (UNTAG_Bool(REGB0)) {
13008 } else {
13009 nit_abort("Assert failed", NULL, LOCATE_parser, 4070);
13010 }
13011 /* ./parser//parser.nit:4071 */
13012 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);
13013 /* ./parser//parser.nit:4083 */
13014 fra.me.REG[2] = fra.me.REG[3];
13015 /* ./parser//parser.nit:4084 */
13016 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13017 if (UNTAG_Bool(REGB0)) {
13018 } else {
13019 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4084);
13020 }
13021 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13022 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13023 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13024 stack_frame_head = fra.me.prev;
13025 return;
13026 }
13027 void parser___ReduceAction96___action(val_t p0, val_t p1){
13028 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13029 val_t REGB0;
13030 val_t tmp;
13031 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13032 fra.me.file = LOCATE_parser;
13033 fra.me.line = 4089;
13034 fra.me.meth = LOCATE_parser___ReduceAction96___action;
13035 fra.me.has_broke = 0;
13036 fra.me.REG_size = 11;
13037 fra.me.REG[0] = NIT_NULL;
13038 fra.me.REG[1] = NIT_NULL;
13039 fra.me.REG[2] = NIT_NULL;
13040 fra.me.REG[3] = NIT_NULL;
13041 fra.me.REG[4] = NIT_NULL;
13042 fra.me.REG[5] = NIT_NULL;
13043 fra.me.REG[6] = NIT_NULL;
13044 fra.me.REG[7] = NIT_NULL;
13045 fra.me.REG[8] = NIT_NULL;
13046 fra.me.REG[9] = NIT_NULL;
13047 fra.me.REG[10] = NIT_NULL;
13048 fra.me.REG[0] = p0;
13049 fra.me.REG[1] = p1;
13050 /* ./parser//parser.nit:4091 */
13051 fra.me.REG[2] = NIT_NULL;
13052 /* ./parser//parser.nit:4092 */
13053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13054 /* ./parser//parser.nit:4093 */
13055 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13056 /* ./parser//parser.nit:4094 */
13057 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13058 /* ./parser//parser.nit:4095 */
13059 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13060 /* ./parser//parser.nit:4096 */
13061 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13062 /* ./parser//parser.nit:4097 */
13063 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13064 /* ./parser//parser.nit:4098 */
13065 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13066 /* ./parser//parser.nit:4099 */
13067 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13068 /* ./parser//parser.nit:4101 */
13069 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*/;
13070 if (UNTAG_Bool(REGB0)) {
13071 } else {
13072 nit_abort("Assert failed", NULL, LOCATE_parser, 4101);
13073 }
13074 /* ./parser//parser.nit:4103 */
13075 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*/;
13076 if (UNTAG_Bool(REGB0)) {
13077 } else {
13078 nit_abort("Assert failed", NULL, LOCATE_parser, 4103);
13079 }
13080 /* ./parser//parser.nit:4105 */
13081 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*/;
13082 if (UNTAG_Bool(REGB0)) {
13083 } else {
13084 nit_abort("Assert failed", NULL, LOCATE_parser, 4105);
13085 }
13086 /* ./parser//parser.nit:4107 */
13087 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*/;
13088 if (UNTAG_Bool(REGB0)) {
13089 } else {
13090 nit_abort("Assert failed", NULL, LOCATE_parser, 4107);
13091 }
13092 /* ./parser//parser.nit:4109 */
13093 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*/;
13094 if (UNTAG_Bool(REGB0)) {
13095 } else {
13096 nit_abort("Assert failed", NULL, LOCATE_parser, 4109);
13097 }
13098 /* ./parser//parser.nit:4111 */
13099 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*/;
13100 if (UNTAG_Bool(REGB0)) {
13101 } else {
13102 nit_abort("Assert failed", NULL, LOCATE_parser, 4111);
13103 }
13104 /* ./parser//parser.nit:4113 */
13105 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*/;
13106 if (UNTAG_Bool(REGB0)) {
13107 } else {
13108 nit_abort("Assert failed", NULL, LOCATE_parser, 4113);
13109 }
13110 /* ./parser//parser.nit:4115 */
13111 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*/;
13112 if (UNTAG_Bool(REGB0)) {
13113 } else {
13114 nit_abort("Assert failed", NULL, LOCATE_parser, 4115);
13115 }
13116 /* ./parser//parser.nit:4116 */
13117 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);
13118 /* ./parser//parser.nit:4128 */
13119 fra.me.REG[2] = fra.me.REG[3];
13120 /* ./parser//parser.nit:4129 */
13121 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13122 if (UNTAG_Bool(REGB0)) {
13123 } else {
13124 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4129);
13125 }
13126 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13127 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13128 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13129 stack_frame_head = fra.me.prev;
13130 return;
13131 }
13132 void parser___ReduceAction97___action(val_t p0, val_t p1){
13133 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
13134 val_t REGB0;
13135 val_t tmp;
13136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13137 fra.me.file = LOCATE_parser;
13138 fra.me.line = 4134;
13139 fra.me.meth = LOCATE_parser___ReduceAction97___action;
13140 fra.me.has_broke = 0;
13141 fra.me.REG_size = 8;
13142 fra.me.REG[0] = NIT_NULL;
13143 fra.me.REG[1] = NIT_NULL;
13144 fra.me.REG[2] = NIT_NULL;
13145 fra.me.REG[3] = NIT_NULL;
13146 fra.me.REG[4] = NIT_NULL;
13147 fra.me.REG[5] = NIT_NULL;
13148 fra.me.REG[6] = NIT_NULL;
13149 fra.me.REG[7] = NIT_NULL;
13150 fra.me.REG[0] = p0;
13151 fra.me.REG[1] = p1;
13152 /* ./parser//parser.nit:4136 */
13153 fra.me.REG[2] = NIT_NULL;
13154 /* ./parser//parser.nit:4137 */
13155 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13156 /* ./parser//parser.nit:4138 */
13157 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13158 /* ./parser//parser.nit:4139 */
13159 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13160 /* ./parser//parser.nit:4140 */
13161 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13162 /* ./parser//parser.nit:4141 */
13163 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13164 /* ./parser//parser.nit:4142 */
13165 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13166 /* ./parser//parser.nit:4143 */
13167 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13168 /* ./parser//parser.nit:4145 */
13169 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*/;
13170 if (UNTAG_Bool(REGB0)) {
13171 } else {
13172 nit_abort("Assert failed", NULL, LOCATE_parser, 4145);
13173 }
13174 /* ./parser//parser.nit:4147 */
13175 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*/;
13176 if (UNTAG_Bool(REGB0)) {
13177 } else {
13178 nit_abort("Assert failed", NULL, LOCATE_parser, 4147);
13179 }
13180 /* ./parser//parser.nit:4149 */
13181 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*/;
13182 if (UNTAG_Bool(REGB0)) {
13183 } else {
13184 nit_abort("Assert failed", NULL, LOCATE_parser, 4149);
13185 }
13186 /* ./parser//parser.nit:4151 */
13187 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*/;
13188 if (UNTAG_Bool(REGB0)) {
13189 } else {
13190 nit_abort("Assert failed", NULL, LOCATE_parser, 4151);
13191 }
13192 /* ./parser//parser.nit:4153 */
13193 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*/;
13194 if (UNTAG_Bool(REGB0)) {
13195 } else {
13196 nit_abort("Assert failed", NULL, LOCATE_parser, 4153);
13197 }
13198 /* ./parser//parser.nit:4154 */
13199 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]);
13200 /* ./parser//parser.nit:4166 */
13201 fra.me.REG[2] = fra.me.REG[3];
13202 /* ./parser//parser.nit:4167 */
13203 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13204 if (UNTAG_Bool(REGB0)) {
13205 } else {
13206 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4167);
13207 }
13208 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13209 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13210 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13211 stack_frame_head = fra.me.prev;
13212 return;
13213 }
13214 void parser___ReduceAction98___action(val_t p0, val_t p1){
13215 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13216 val_t REGB0;
13217 val_t tmp;
13218 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13219 fra.me.file = LOCATE_parser;
13220 fra.me.line = 4172;
13221 fra.me.meth = LOCATE_parser___ReduceAction98___action;
13222 fra.me.has_broke = 0;
13223 fra.me.REG_size = 9;
13224 fra.me.REG[0] = NIT_NULL;
13225 fra.me.REG[1] = NIT_NULL;
13226 fra.me.REG[2] = NIT_NULL;
13227 fra.me.REG[3] = NIT_NULL;
13228 fra.me.REG[4] = NIT_NULL;
13229 fra.me.REG[5] = NIT_NULL;
13230 fra.me.REG[6] = NIT_NULL;
13231 fra.me.REG[7] = NIT_NULL;
13232 fra.me.REG[8] = NIT_NULL;
13233 fra.me.REG[0] = p0;
13234 fra.me.REG[1] = p1;
13235 /* ./parser//parser.nit:4174 */
13236 fra.me.REG[2] = NIT_NULL;
13237 /* ./parser//parser.nit:4175 */
13238 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13239 /* ./parser//parser.nit:4176 */
13240 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13241 /* ./parser//parser.nit:4177 */
13242 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13243 /* ./parser//parser.nit:4178 */
13244 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13245 /* ./parser//parser.nit:4179 */
13246 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13247 /* ./parser//parser.nit:4180 */
13248 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13249 /* ./parser//parser.nit:4181 */
13250 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13251 /* ./parser//parser.nit:4182 */
13252 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13253 /* ./parser//parser.nit:4184 */
13254 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*/;
13255 if (UNTAG_Bool(REGB0)) {
13256 } else {
13257 nit_abort("Assert failed", NULL, LOCATE_parser, 4184);
13258 }
13259 /* ./parser//parser.nit:4186 */
13260 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*/;
13261 if (UNTAG_Bool(REGB0)) {
13262 } else {
13263 nit_abort("Assert failed", NULL, LOCATE_parser, 4186);
13264 }
13265 /* ./parser//parser.nit:4188 */
13266 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*/;
13267 if (UNTAG_Bool(REGB0)) {
13268 } else {
13269 nit_abort("Assert failed", NULL, LOCATE_parser, 4188);
13270 }
13271 /* ./parser//parser.nit:4190 */
13272 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*/;
13273 if (UNTAG_Bool(REGB0)) {
13274 } else {
13275 nit_abort("Assert failed", NULL, LOCATE_parser, 4190);
13276 }
13277 /* ./parser//parser.nit:4192 */
13278 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*/;
13279 if (UNTAG_Bool(REGB0)) {
13280 } else {
13281 nit_abort("Assert failed", NULL, LOCATE_parser, 4192);
13282 }
13283 /* ./parser//parser.nit:4194 */
13284 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*/;
13285 if (UNTAG_Bool(REGB0)) {
13286 } else {
13287 nit_abort("Assert failed", NULL, LOCATE_parser, 4194);
13288 }
13289 /* ./parser//parser.nit:4195 */
13290 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]);
13291 /* ./parser//parser.nit:4207 */
13292 fra.me.REG[2] = fra.me.REG[3];
13293 /* ./parser//parser.nit:4208 */
13294 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13295 if (UNTAG_Bool(REGB0)) {
13296 } else {
13297 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4208);
13298 }
13299 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13300 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13301 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13302 stack_frame_head = fra.me.prev;
13303 return;
13304 }
13305 void parser___ReduceAction99___action(val_t p0, val_t p1){
13306 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13307 val_t REGB0;
13308 val_t tmp;
13309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13310 fra.me.file = LOCATE_parser;
13311 fra.me.line = 4213;
13312 fra.me.meth = LOCATE_parser___ReduceAction99___action;
13313 fra.me.has_broke = 0;
13314 fra.me.REG_size = 9;
13315 fra.me.REG[0] = NIT_NULL;
13316 fra.me.REG[1] = NIT_NULL;
13317 fra.me.REG[2] = NIT_NULL;
13318 fra.me.REG[3] = NIT_NULL;
13319 fra.me.REG[4] = NIT_NULL;
13320 fra.me.REG[5] = NIT_NULL;
13321 fra.me.REG[6] = NIT_NULL;
13322 fra.me.REG[7] = NIT_NULL;
13323 fra.me.REG[8] = NIT_NULL;
13324 fra.me.REG[0] = p0;
13325 fra.me.REG[1] = p1;
13326 /* ./parser//parser.nit:4215 */
13327 fra.me.REG[2] = NIT_NULL;
13328 /* ./parser//parser.nit:4216 */
13329 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13330 /* ./parser//parser.nit:4217 */
13331 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13332 /* ./parser//parser.nit:4218 */
13333 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13334 /* ./parser//parser.nit:4219 */
13335 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13336 /* ./parser//parser.nit:4220 */
13337 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13338 /* ./parser//parser.nit:4221 */
13339 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13340 /* ./parser//parser.nit:4222 */
13341 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13342 /* ./parser//parser.nit:4223 */
13343 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13344 /* ./parser//parser.nit:4225 */
13345 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*/;
13346 if (UNTAG_Bool(REGB0)) {
13347 } else {
13348 nit_abort("Assert failed", NULL, LOCATE_parser, 4225);
13349 }
13350 /* ./parser//parser.nit:4227 */
13351 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*/;
13352 if (UNTAG_Bool(REGB0)) {
13353 } else {
13354 nit_abort("Assert failed", NULL, LOCATE_parser, 4227);
13355 }
13356 /* ./parser//parser.nit:4229 */
13357 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*/;
13358 if (UNTAG_Bool(REGB0)) {
13359 } else {
13360 nit_abort("Assert failed", NULL, LOCATE_parser, 4229);
13361 }
13362 /* ./parser//parser.nit:4231 */
13363 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*/;
13364 if (UNTAG_Bool(REGB0)) {
13365 } else {
13366 nit_abort("Assert failed", NULL, LOCATE_parser, 4231);
13367 }
13368 /* ./parser//parser.nit:4233 */
13369 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*/;
13370 if (UNTAG_Bool(REGB0)) {
13371 } else {
13372 nit_abort("Assert failed", NULL, LOCATE_parser, 4233);
13373 }
13374 /* ./parser//parser.nit:4235 */
13375 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*/;
13376 if (UNTAG_Bool(REGB0)) {
13377 } else {
13378 nit_abort("Assert failed", NULL, LOCATE_parser, 4235);
13379 }
13380 /* ./parser//parser.nit:4236 */
13381 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]);
13382 /* ./parser//parser.nit:4248 */
13383 fra.me.REG[2] = fra.me.REG[3];
13384 /* ./parser//parser.nit:4249 */
13385 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13386 if (UNTAG_Bool(REGB0)) {
13387 } else {
13388 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4249);
13389 }
13390 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13391 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13392 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13393 stack_frame_head = fra.me.prev;
13394 return;
13395 }
13396 void parser___ReduceAction100___action(val_t p0, val_t p1){
13397 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13398 val_t REGB0;
13399 val_t tmp;
13400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13401 fra.me.file = LOCATE_parser;
13402 fra.me.line = 4254;
13403 fra.me.meth = LOCATE_parser___ReduceAction100___action;
13404 fra.me.has_broke = 0;
13405 fra.me.REG_size = 10;
13406 fra.me.REG[0] = NIT_NULL;
13407 fra.me.REG[1] = NIT_NULL;
13408 fra.me.REG[2] = NIT_NULL;
13409 fra.me.REG[3] = NIT_NULL;
13410 fra.me.REG[4] = NIT_NULL;
13411 fra.me.REG[5] = NIT_NULL;
13412 fra.me.REG[6] = NIT_NULL;
13413 fra.me.REG[7] = NIT_NULL;
13414 fra.me.REG[8] = NIT_NULL;
13415 fra.me.REG[9] = NIT_NULL;
13416 fra.me.REG[0] = p0;
13417 fra.me.REG[1] = p1;
13418 /* ./parser//parser.nit:4256 */
13419 fra.me.REG[2] = NIT_NULL;
13420 /* ./parser//parser.nit:4257 */
13421 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13422 /* ./parser//parser.nit:4258 */
13423 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13424 /* ./parser//parser.nit:4259 */
13425 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13426 /* ./parser//parser.nit:4260 */
13427 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13428 /* ./parser//parser.nit:4261 */
13429 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13430 /* ./parser//parser.nit:4262 */
13431 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13432 /* ./parser//parser.nit:4263 */
13433 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13434 /* ./parser//parser.nit:4264 */
13435 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13436 /* ./parser//parser.nit:4265 */
13437 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13438 /* ./parser//parser.nit:4267 */
13439 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*/;
13440 if (UNTAG_Bool(REGB0)) {
13441 } else {
13442 nit_abort("Assert failed", NULL, LOCATE_parser, 4267);
13443 }
13444 /* ./parser//parser.nit:4269 */
13445 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*/;
13446 if (UNTAG_Bool(REGB0)) {
13447 } else {
13448 nit_abort("Assert failed", NULL, LOCATE_parser, 4269);
13449 }
13450 /* ./parser//parser.nit:4271 */
13451 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*/;
13452 if (UNTAG_Bool(REGB0)) {
13453 } else {
13454 nit_abort("Assert failed", NULL, LOCATE_parser, 4271);
13455 }
13456 /* ./parser//parser.nit:4273 */
13457 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*/;
13458 if (UNTAG_Bool(REGB0)) {
13459 } else {
13460 nit_abort("Assert failed", NULL, LOCATE_parser, 4273);
13461 }
13462 /* ./parser//parser.nit:4275 */
13463 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*/;
13464 if (UNTAG_Bool(REGB0)) {
13465 } else {
13466 nit_abort("Assert failed", NULL, LOCATE_parser, 4275);
13467 }
13468 /* ./parser//parser.nit:4277 */
13469 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*/;
13470 if (UNTAG_Bool(REGB0)) {
13471 } else {
13472 nit_abort("Assert failed", NULL, LOCATE_parser, 4277);
13473 }
13474 /* ./parser//parser.nit:4279 */
13475 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*/;
13476 if (UNTAG_Bool(REGB0)) {
13477 } else {
13478 nit_abort("Assert failed", NULL, LOCATE_parser, 4279);
13479 }
13480 /* ./parser//parser.nit:4280 */
13481 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]);
13482 /* ./parser//parser.nit:4292 */
13483 fra.me.REG[2] = fra.me.REG[3];
13484 /* ./parser//parser.nit:4293 */
13485 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13486 if (UNTAG_Bool(REGB0)) {
13487 } else {
13488 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4293);
13489 }
13490 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13491 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13492 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13493 stack_frame_head = fra.me.prev;
13494 return;
13495 }
13496 void parser___ReduceAction101___action(val_t p0, val_t p1){
13497 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13498 val_t REGB0;
13499 val_t tmp;
13500 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13501 fra.me.file = LOCATE_parser;
13502 fra.me.line = 4298;
13503 fra.me.meth = LOCATE_parser___ReduceAction101___action;
13504 fra.me.has_broke = 0;
13505 fra.me.REG_size = 9;
13506 fra.me.REG[0] = NIT_NULL;
13507 fra.me.REG[1] = NIT_NULL;
13508 fra.me.REG[2] = NIT_NULL;
13509 fra.me.REG[3] = NIT_NULL;
13510 fra.me.REG[4] = NIT_NULL;
13511 fra.me.REG[5] = NIT_NULL;
13512 fra.me.REG[6] = NIT_NULL;
13513 fra.me.REG[7] = NIT_NULL;
13514 fra.me.REG[8] = NIT_NULL;
13515 fra.me.REG[0] = p0;
13516 fra.me.REG[1] = p1;
13517 /* ./parser//parser.nit:4300 */
13518 fra.me.REG[2] = NIT_NULL;
13519 /* ./parser//parser.nit:4301 */
13520 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13521 /* ./parser//parser.nit:4302 */
13522 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13523 /* ./parser//parser.nit:4303 */
13524 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13525 /* ./parser//parser.nit:4304 */
13526 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13527 /* ./parser//parser.nit:4305 */
13528 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13529 /* ./parser//parser.nit:4306 */
13530 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13531 /* ./parser//parser.nit:4307 */
13532 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13533 /* ./parser//parser.nit:4308 */
13534 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13535 /* ./parser//parser.nit:4310 */
13536 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*/;
13537 if (UNTAG_Bool(REGB0)) {
13538 } else {
13539 nit_abort("Assert failed", NULL, LOCATE_parser, 4310);
13540 }
13541 /* ./parser//parser.nit:4312 */
13542 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*/;
13543 if (UNTAG_Bool(REGB0)) {
13544 } else {
13545 nit_abort("Assert failed", NULL, LOCATE_parser, 4312);
13546 }
13547 /* ./parser//parser.nit:4314 */
13548 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*/;
13549 if (UNTAG_Bool(REGB0)) {
13550 } else {
13551 nit_abort("Assert failed", NULL, LOCATE_parser, 4314);
13552 }
13553 /* ./parser//parser.nit:4316 */
13554 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*/;
13555 if (UNTAG_Bool(REGB0)) {
13556 } else {
13557 nit_abort("Assert failed", NULL, LOCATE_parser, 4316);
13558 }
13559 /* ./parser//parser.nit:4318 */
13560 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*/;
13561 if (UNTAG_Bool(REGB0)) {
13562 } else {
13563 nit_abort("Assert failed", NULL, LOCATE_parser, 4318);
13564 }
13565 /* ./parser//parser.nit:4320 */
13566 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*/;
13567 if (UNTAG_Bool(REGB0)) {
13568 } else {
13569 nit_abort("Assert failed", NULL, LOCATE_parser, 4320);
13570 }
13571 /* ./parser//parser.nit:4321 */
13572 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]);
13573 /* ./parser//parser.nit:4333 */
13574 fra.me.REG[2] = fra.me.REG[3];
13575 /* ./parser//parser.nit:4334 */
13576 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13577 if (UNTAG_Bool(REGB0)) {
13578 } else {
13579 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4334);
13580 }
13581 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13582 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13583 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13584 stack_frame_head = fra.me.prev;
13585 return;
13586 }
13587 void parser___ReduceAction102___action(val_t p0, val_t p1){
13588 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13589 val_t REGB0;
13590 val_t tmp;
13591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13592 fra.me.file = LOCATE_parser;
13593 fra.me.line = 4339;
13594 fra.me.meth = LOCATE_parser___ReduceAction102___action;
13595 fra.me.has_broke = 0;
13596 fra.me.REG_size = 10;
13597 fra.me.REG[0] = NIT_NULL;
13598 fra.me.REG[1] = NIT_NULL;
13599 fra.me.REG[2] = NIT_NULL;
13600 fra.me.REG[3] = NIT_NULL;
13601 fra.me.REG[4] = NIT_NULL;
13602 fra.me.REG[5] = NIT_NULL;
13603 fra.me.REG[6] = NIT_NULL;
13604 fra.me.REG[7] = NIT_NULL;
13605 fra.me.REG[8] = NIT_NULL;
13606 fra.me.REG[9] = NIT_NULL;
13607 fra.me.REG[0] = p0;
13608 fra.me.REG[1] = p1;
13609 /* ./parser//parser.nit:4341 */
13610 fra.me.REG[2] = NIT_NULL;
13611 /* ./parser//parser.nit:4342 */
13612 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13613 /* ./parser//parser.nit:4343 */
13614 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13615 /* ./parser//parser.nit:4344 */
13616 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13617 /* ./parser//parser.nit:4345 */
13618 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13619 /* ./parser//parser.nit:4346 */
13620 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13621 /* ./parser//parser.nit:4347 */
13622 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13623 /* ./parser//parser.nit:4348 */
13624 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13625 /* ./parser//parser.nit:4349 */
13626 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13627 /* ./parser//parser.nit:4350 */
13628 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13629 /* ./parser//parser.nit:4352 */
13630 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*/;
13631 if (UNTAG_Bool(REGB0)) {
13632 } else {
13633 nit_abort("Assert failed", NULL, LOCATE_parser, 4352);
13634 }
13635 /* ./parser//parser.nit:4354 */
13636 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*/;
13637 if (UNTAG_Bool(REGB0)) {
13638 } else {
13639 nit_abort("Assert failed", NULL, LOCATE_parser, 4354);
13640 }
13641 /* ./parser//parser.nit:4356 */
13642 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*/;
13643 if (UNTAG_Bool(REGB0)) {
13644 } else {
13645 nit_abort("Assert failed", NULL, LOCATE_parser, 4356);
13646 }
13647 /* ./parser//parser.nit:4358 */
13648 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*/;
13649 if (UNTAG_Bool(REGB0)) {
13650 } else {
13651 nit_abort("Assert failed", NULL, LOCATE_parser, 4358);
13652 }
13653 /* ./parser//parser.nit:4360 */
13654 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*/;
13655 if (UNTAG_Bool(REGB0)) {
13656 } else {
13657 nit_abort("Assert failed", NULL, LOCATE_parser, 4360);
13658 }
13659 /* ./parser//parser.nit:4362 */
13660 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*/;
13661 if (UNTAG_Bool(REGB0)) {
13662 } else {
13663 nit_abort("Assert failed", NULL, LOCATE_parser, 4362);
13664 }
13665 /* ./parser//parser.nit:4364 */
13666 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*/;
13667 if (UNTAG_Bool(REGB0)) {
13668 } else {
13669 nit_abort("Assert failed", NULL, LOCATE_parser, 4364);
13670 }
13671 /* ./parser//parser.nit:4365 */
13672 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]);
13673 /* ./parser//parser.nit:4377 */
13674 fra.me.REG[2] = fra.me.REG[3];
13675 /* ./parser//parser.nit:4378 */
13676 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13677 if (UNTAG_Bool(REGB0)) {
13678 } else {
13679 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4378);
13680 }
13681 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13682 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13683 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13684 stack_frame_head = fra.me.prev;
13685 return;
13686 }
13687 void parser___ReduceAction103___action(val_t p0, val_t p1){
13688 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13689 val_t REGB0;
13690 val_t tmp;
13691 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13692 fra.me.file = LOCATE_parser;
13693 fra.me.line = 4383;
13694 fra.me.meth = LOCATE_parser___ReduceAction103___action;
13695 fra.me.has_broke = 0;
13696 fra.me.REG_size = 10;
13697 fra.me.REG[0] = NIT_NULL;
13698 fra.me.REG[1] = NIT_NULL;
13699 fra.me.REG[2] = NIT_NULL;
13700 fra.me.REG[3] = NIT_NULL;
13701 fra.me.REG[4] = NIT_NULL;
13702 fra.me.REG[5] = NIT_NULL;
13703 fra.me.REG[6] = NIT_NULL;
13704 fra.me.REG[7] = NIT_NULL;
13705 fra.me.REG[8] = NIT_NULL;
13706 fra.me.REG[9] = NIT_NULL;
13707 fra.me.REG[0] = p0;
13708 fra.me.REG[1] = p1;
13709 /* ./parser//parser.nit:4385 */
13710 fra.me.REG[2] = NIT_NULL;
13711 /* ./parser//parser.nit:4386 */
13712 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13713 /* ./parser//parser.nit:4387 */
13714 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13715 /* ./parser//parser.nit:4388 */
13716 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13717 /* ./parser//parser.nit:4389 */
13718 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13719 /* ./parser//parser.nit:4390 */
13720 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13721 /* ./parser//parser.nit:4391 */
13722 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13723 /* ./parser//parser.nit:4392 */
13724 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13725 /* ./parser//parser.nit:4393 */
13726 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13727 /* ./parser//parser.nit:4394 */
13728 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13729 /* ./parser//parser.nit:4396 */
13730 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*/;
13731 if (UNTAG_Bool(REGB0)) {
13732 } else {
13733 nit_abort("Assert failed", NULL, LOCATE_parser, 4396);
13734 }
13735 /* ./parser//parser.nit:4398 */
13736 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*/;
13737 if (UNTAG_Bool(REGB0)) {
13738 } else {
13739 nit_abort("Assert failed", NULL, LOCATE_parser, 4398);
13740 }
13741 /* ./parser//parser.nit:4400 */
13742 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*/;
13743 if (UNTAG_Bool(REGB0)) {
13744 } else {
13745 nit_abort("Assert failed", NULL, LOCATE_parser, 4400);
13746 }
13747 /* ./parser//parser.nit:4402 */
13748 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*/;
13749 if (UNTAG_Bool(REGB0)) {
13750 } else {
13751 nit_abort("Assert failed", NULL, LOCATE_parser, 4402);
13752 }
13753 /* ./parser//parser.nit:4404 */
13754 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*/;
13755 if (UNTAG_Bool(REGB0)) {
13756 } else {
13757 nit_abort("Assert failed", NULL, LOCATE_parser, 4404);
13758 }
13759 /* ./parser//parser.nit:4406 */
13760 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*/;
13761 if (UNTAG_Bool(REGB0)) {
13762 } else {
13763 nit_abort("Assert failed", NULL, LOCATE_parser, 4406);
13764 }
13765 /* ./parser//parser.nit:4408 */
13766 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*/;
13767 if (UNTAG_Bool(REGB0)) {
13768 } else {
13769 nit_abort("Assert failed", NULL, LOCATE_parser, 4408);
13770 }
13771 /* ./parser//parser.nit:4409 */
13772 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]);
13773 /* ./parser//parser.nit:4421 */
13774 fra.me.REG[2] = fra.me.REG[3];
13775 /* ./parser//parser.nit:4422 */
13776 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13777 if (UNTAG_Bool(REGB0)) {
13778 } else {
13779 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4422);
13780 }
13781 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13782 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13783 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13784 stack_frame_head = fra.me.prev;
13785 return;
13786 }
13787 void parser___ReduceAction104___action(val_t p0, val_t p1){
13788 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
13789 val_t REGB0;
13790 val_t tmp;
13791 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13792 fra.me.file = LOCATE_parser;
13793 fra.me.line = 4427;
13794 fra.me.meth = LOCATE_parser___ReduceAction104___action;
13795 fra.me.has_broke = 0;
13796 fra.me.REG_size = 11;
13797 fra.me.REG[0] = NIT_NULL;
13798 fra.me.REG[1] = NIT_NULL;
13799 fra.me.REG[2] = NIT_NULL;
13800 fra.me.REG[3] = NIT_NULL;
13801 fra.me.REG[4] = NIT_NULL;
13802 fra.me.REG[5] = NIT_NULL;
13803 fra.me.REG[6] = NIT_NULL;
13804 fra.me.REG[7] = NIT_NULL;
13805 fra.me.REG[8] = NIT_NULL;
13806 fra.me.REG[9] = NIT_NULL;
13807 fra.me.REG[10] = NIT_NULL;
13808 fra.me.REG[0] = p0;
13809 fra.me.REG[1] = p1;
13810 /* ./parser//parser.nit:4429 */
13811 fra.me.REG[2] = NIT_NULL;
13812 /* ./parser//parser.nit:4430 */
13813 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13814 /* ./parser//parser.nit:4431 */
13815 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13816 /* ./parser//parser.nit:4432 */
13817 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13818 /* ./parser//parser.nit:4433 */
13819 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13820 /* ./parser//parser.nit:4434 */
13821 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13822 /* ./parser//parser.nit:4435 */
13823 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13824 /* ./parser//parser.nit:4436 */
13825 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13826 /* ./parser//parser.nit:4437 */
13827 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13828 /* ./parser//parser.nit:4438 */
13829 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13830 /* ./parser//parser.nit:4439 */
13831 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13832 /* ./parser//parser.nit:4441 */
13833 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*/;
13834 if (UNTAG_Bool(REGB0)) {
13835 } else {
13836 nit_abort("Assert failed", NULL, LOCATE_parser, 4441);
13837 }
13838 /* ./parser//parser.nit:4443 */
13839 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*/;
13840 if (UNTAG_Bool(REGB0)) {
13841 } else {
13842 nit_abort("Assert failed", NULL, LOCATE_parser, 4443);
13843 }
13844 /* ./parser//parser.nit:4445 */
13845 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*/;
13846 if (UNTAG_Bool(REGB0)) {
13847 } else {
13848 nit_abort("Assert failed", NULL, LOCATE_parser, 4445);
13849 }
13850 /* ./parser//parser.nit:4447 */
13851 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*/;
13852 if (UNTAG_Bool(REGB0)) {
13853 } else {
13854 nit_abort("Assert failed", NULL, LOCATE_parser, 4447);
13855 }
13856 /* ./parser//parser.nit:4449 */
13857 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*/;
13858 if (UNTAG_Bool(REGB0)) {
13859 } else {
13860 nit_abort("Assert failed", NULL, LOCATE_parser, 4449);
13861 }
13862 /* ./parser//parser.nit:4451 */
13863 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*/;
13864 if (UNTAG_Bool(REGB0)) {
13865 } else {
13866 nit_abort("Assert failed", NULL, LOCATE_parser, 4451);
13867 }
13868 /* ./parser//parser.nit:4453 */
13869 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*/;
13870 if (UNTAG_Bool(REGB0)) {
13871 } else {
13872 nit_abort("Assert failed", NULL, LOCATE_parser, 4453);
13873 }
13874 /* ./parser//parser.nit:4455 */
13875 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*/;
13876 if (UNTAG_Bool(REGB0)) {
13877 } else {
13878 nit_abort("Assert failed", NULL, LOCATE_parser, 4455);
13879 }
13880 /* ./parser//parser.nit:4456 */
13881 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]);
13882 /* ./parser//parser.nit:4468 */
13883 fra.me.REG[2] = fra.me.REG[3];
13884 /* ./parser//parser.nit:4469 */
13885 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13886 if (UNTAG_Bool(REGB0)) {
13887 } else {
13888 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4469);
13889 }
13890 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13891 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13892 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13893 stack_frame_head = fra.me.prev;
13894 return;
13895 }
13896 void parser___ReduceAction105___action(val_t p0, val_t p1){
13897 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
13898 val_t REGB0;
13899 val_t tmp;
13900 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13901 fra.me.file = LOCATE_parser;
13902 fra.me.line = 4474;
13903 fra.me.meth = LOCATE_parser___ReduceAction105___action;
13904 fra.me.has_broke = 0;
13905 fra.me.REG_size = 9;
13906 fra.me.REG[0] = NIT_NULL;
13907 fra.me.REG[1] = NIT_NULL;
13908 fra.me.REG[2] = NIT_NULL;
13909 fra.me.REG[3] = NIT_NULL;
13910 fra.me.REG[4] = NIT_NULL;
13911 fra.me.REG[5] = NIT_NULL;
13912 fra.me.REG[6] = NIT_NULL;
13913 fra.me.REG[7] = NIT_NULL;
13914 fra.me.REG[8] = NIT_NULL;
13915 fra.me.REG[0] = p0;
13916 fra.me.REG[1] = p1;
13917 /* ./parser//parser.nit:4476 */
13918 fra.me.REG[2] = NIT_NULL;
13919 /* ./parser//parser.nit:4477 */
13920 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13921 /* ./parser//parser.nit:4478 */
13922 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13923 /* ./parser//parser.nit:4479 */
13924 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13925 /* ./parser//parser.nit:4480 */
13926 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13927 /* ./parser//parser.nit:4481 */
13928 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13929 /* ./parser//parser.nit:4482 */
13930 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13931 /* ./parser//parser.nit:4483 */
13932 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13933 /* ./parser//parser.nit:4484 */
13934 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13935 /* ./parser//parser.nit:4486 */
13936 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*/;
13937 if (UNTAG_Bool(REGB0)) {
13938 } else {
13939 nit_abort("Assert failed", NULL, LOCATE_parser, 4486);
13940 }
13941 /* ./parser//parser.nit:4488 */
13942 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*/;
13943 if (UNTAG_Bool(REGB0)) {
13944 } else {
13945 nit_abort("Assert failed", NULL, LOCATE_parser, 4488);
13946 }
13947 /* ./parser//parser.nit:4490 */
13948 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*/;
13949 if (UNTAG_Bool(REGB0)) {
13950 } else {
13951 nit_abort("Assert failed", NULL, LOCATE_parser, 4490);
13952 }
13953 /* ./parser//parser.nit:4492 */
13954 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*/;
13955 if (UNTAG_Bool(REGB0)) {
13956 } else {
13957 nit_abort("Assert failed", NULL, LOCATE_parser, 4492);
13958 }
13959 /* ./parser//parser.nit:4494 */
13960 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*/;
13961 if (UNTAG_Bool(REGB0)) {
13962 } else {
13963 nit_abort("Assert failed", NULL, LOCATE_parser, 4494);
13964 }
13965 /* ./parser//parser.nit:4496 */
13966 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*/;
13967 if (UNTAG_Bool(REGB0)) {
13968 } else {
13969 nit_abort("Assert failed", NULL, LOCATE_parser, 4496);
13970 }
13971 /* ./parser//parser.nit:4497 */
13972 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]);
13973 /* ./parser//parser.nit:4509 */
13974 fra.me.REG[2] = fra.me.REG[3];
13975 /* ./parser//parser.nit:4510 */
13976 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13977 if (UNTAG_Bool(REGB0)) {
13978 } else {
13979 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4510);
13980 }
13981 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13982 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13983 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13984 stack_frame_head = fra.me.prev;
13985 return;
13986 }
13987 void parser___ReduceAction106___action(val_t p0, val_t p1){
13988 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
13989 val_t REGB0;
13990 val_t tmp;
13991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13992 fra.me.file = LOCATE_parser;
13993 fra.me.line = 4515;
13994 fra.me.meth = LOCATE_parser___ReduceAction106___action;
13995 fra.me.has_broke = 0;
13996 fra.me.REG_size = 10;
13997 fra.me.REG[0] = NIT_NULL;
13998 fra.me.REG[1] = NIT_NULL;
13999 fra.me.REG[2] = NIT_NULL;
14000 fra.me.REG[3] = NIT_NULL;
14001 fra.me.REG[4] = NIT_NULL;
14002 fra.me.REG[5] = NIT_NULL;
14003 fra.me.REG[6] = NIT_NULL;
14004 fra.me.REG[7] = NIT_NULL;
14005 fra.me.REG[8] = NIT_NULL;
14006 fra.me.REG[9] = NIT_NULL;
14007 fra.me.REG[0] = p0;
14008 fra.me.REG[1] = p1;
14009 /* ./parser//parser.nit:4517 */
14010 fra.me.REG[2] = NIT_NULL;
14011 /* ./parser//parser.nit:4518 */
14012 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14013 /* ./parser//parser.nit:4519 */
14014 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14015 /* ./parser//parser.nit:4520 */
14016 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14017 /* ./parser//parser.nit:4521 */
14018 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14019 /* ./parser//parser.nit:4522 */
14020 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14021 /* ./parser//parser.nit:4523 */
14022 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14023 /* ./parser//parser.nit:4524 */
14024 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14025 /* ./parser//parser.nit:4525 */
14026 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14027 /* ./parser//parser.nit:4526 */
14028 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14029 /* ./parser//parser.nit:4528 */
14030 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*/;
14031 if (UNTAG_Bool(REGB0)) {
14032 } else {
14033 nit_abort("Assert failed", NULL, LOCATE_parser, 4528);
14034 }
14035 /* ./parser//parser.nit:4530 */
14036 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*/;
14037 if (UNTAG_Bool(REGB0)) {
14038 } else {
14039 nit_abort("Assert failed", NULL, LOCATE_parser, 4530);
14040 }
14041 /* ./parser//parser.nit:4532 */
14042 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*/;
14043 if (UNTAG_Bool(REGB0)) {
14044 } else {
14045 nit_abort("Assert failed", NULL, LOCATE_parser, 4532);
14046 }
14047 /* ./parser//parser.nit:4534 */
14048 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*/;
14049 if (UNTAG_Bool(REGB0)) {
14050 } else {
14051 nit_abort("Assert failed", NULL, LOCATE_parser, 4534);
14052 }
14053 /* ./parser//parser.nit:4536 */
14054 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*/;
14055 if (UNTAG_Bool(REGB0)) {
14056 } else {
14057 nit_abort("Assert failed", NULL, LOCATE_parser, 4536);
14058 }
14059 /* ./parser//parser.nit:4538 */
14060 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*/;
14061 if (UNTAG_Bool(REGB0)) {
14062 } else {
14063 nit_abort("Assert failed", NULL, LOCATE_parser, 4538);
14064 }
14065 /* ./parser//parser.nit:4540 */
14066 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*/;
14067 if (UNTAG_Bool(REGB0)) {
14068 } else {
14069 nit_abort("Assert failed", NULL, LOCATE_parser, 4540);
14070 }
14071 /* ./parser//parser.nit:4541 */
14072 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]);
14073 /* ./parser//parser.nit:4553 */
14074 fra.me.REG[2] = fra.me.REG[3];
14075 /* ./parser//parser.nit:4554 */
14076 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14077 if (UNTAG_Bool(REGB0)) {
14078 } else {
14079 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4554);
14080 }
14081 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14082 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14083 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14084 stack_frame_head = fra.me.prev;
14085 return;
14086 }
14087 void parser___ReduceAction107___action(val_t p0, val_t p1){
14088 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
14089 val_t REGB0;
14090 val_t tmp;
14091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14092 fra.me.file = LOCATE_parser;
14093 fra.me.line = 4559;
14094 fra.me.meth = LOCATE_parser___ReduceAction107___action;
14095 fra.me.has_broke = 0;
14096 fra.me.REG_size = 10;
14097 fra.me.REG[0] = NIT_NULL;
14098 fra.me.REG[1] = NIT_NULL;
14099 fra.me.REG[2] = NIT_NULL;
14100 fra.me.REG[3] = NIT_NULL;
14101 fra.me.REG[4] = NIT_NULL;
14102 fra.me.REG[5] = NIT_NULL;
14103 fra.me.REG[6] = NIT_NULL;
14104 fra.me.REG[7] = NIT_NULL;
14105 fra.me.REG[8] = NIT_NULL;
14106 fra.me.REG[9] = NIT_NULL;
14107 fra.me.REG[0] = p0;
14108 fra.me.REG[1] = p1;
14109 /* ./parser//parser.nit:4561 */
14110 fra.me.REG[2] = NIT_NULL;
14111 /* ./parser//parser.nit:4562 */
14112 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14113 /* ./parser//parser.nit:4563 */
14114 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14115 /* ./parser//parser.nit:4564 */
14116 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14117 /* ./parser//parser.nit:4565 */
14118 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14119 /* ./parser//parser.nit:4566 */
14120 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14121 /* ./parser//parser.nit:4567 */
14122 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14123 /* ./parser//parser.nit:4568 */
14124 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14125 /* ./parser//parser.nit:4569 */
14126 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14127 /* ./parser//parser.nit:4570 */
14128 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14129 /* ./parser//parser.nit:4572 */
14130 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*/;
14131 if (UNTAG_Bool(REGB0)) {
14132 } else {
14133 nit_abort("Assert failed", NULL, LOCATE_parser, 4572);
14134 }
14135 /* ./parser//parser.nit:4574 */
14136 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*/;
14137 if (UNTAG_Bool(REGB0)) {
14138 } else {
14139 nit_abort("Assert failed", NULL, LOCATE_parser, 4574);
14140 }
14141 /* ./parser//parser.nit:4576 */
14142 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*/;
14143 if (UNTAG_Bool(REGB0)) {
14144 } else {
14145 nit_abort("Assert failed", NULL, LOCATE_parser, 4576);
14146 }
14147 /* ./parser//parser.nit:4578 */
14148 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*/;
14149 if (UNTAG_Bool(REGB0)) {
14150 } else {
14151 nit_abort("Assert failed", NULL, LOCATE_parser, 4578);
14152 }
14153 /* ./parser//parser.nit:4580 */
14154 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*/;
14155 if (UNTAG_Bool(REGB0)) {
14156 } else {
14157 nit_abort("Assert failed", NULL, LOCATE_parser, 4580);
14158 }
14159 /* ./parser//parser.nit:4582 */
14160 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*/;
14161 if (UNTAG_Bool(REGB0)) {
14162 } else {
14163 nit_abort("Assert failed", NULL, LOCATE_parser, 4582);
14164 }
14165 /* ./parser//parser.nit:4584 */
14166 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*/;
14167 if (UNTAG_Bool(REGB0)) {
14168 } else {
14169 nit_abort("Assert failed", NULL, LOCATE_parser, 4584);
14170 }
14171 /* ./parser//parser.nit:4585 */
14172 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]);
14173 /* ./parser//parser.nit:4597 */
14174 fra.me.REG[2] = fra.me.REG[3];
14175 /* ./parser//parser.nit:4598 */
14176 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14177 if (UNTAG_Bool(REGB0)) {
14178 } else {
14179 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4598);
14180 }
14181 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14182 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14183 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14184 stack_frame_head = fra.me.prev;
14185 return;
14186 }
14187 void parser___ReduceAction108___action(val_t p0, val_t p1){
14188 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
14189 val_t REGB0;
14190 val_t tmp;
14191 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14192 fra.me.file = LOCATE_parser;
14193 fra.me.line = 4603;
14194 fra.me.meth = LOCATE_parser___ReduceAction108___action;
14195 fra.me.has_broke = 0;
14196 fra.me.REG_size = 11;
14197 fra.me.REG[0] = NIT_NULL;
14198 fra.me.REG[1] = NIT_NULL;
14199 fra.me.REG[2] = NIT_NULL;
14200 fra.me.REG[3] = NIT_NULL;
14201 fra.me.REG[4] = NIT_NULL;
14202 fra.me.REG[5] = NIT_NULL;
14203 fra.me.REG[6] = NIT_NULL;
14204 fra.me.REG[7] = NIT_NULL;
14205 fra.me.REG[8] = NIT_NULL;
14206 fra.me.REG[9] = NIT_NULL;
14207 fra.me.REG[10] = NIT_NULL;
14208 fra.me.REG[0] = p0;
14209 fra.me.REG[1] = p1;
14210 /* ./parser//parser.nit:4605 */
14211 fra.me.REG[2] = NIT_NULL;
14212 /* ./parser//parser.nit:4606 */
14213 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14214 /* ./parser//parser.nit:4607 */
14215 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14216 /* ./parser//parser.nit:4608 */
14217 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14218 /* ./parser//parser.nit:4609 */
14219 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14220 /* ./parser//parser.nit:4610 */
14221 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14222 /* ./parser//parser.nit:4611 */
14223 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14224 /* ./parser//parser.nit:4612 */
14225 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14226 /* ./parser//parser.nit:4613 */
14227 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14228 /* ./parser//parser.nit:4614 */
14229 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14230 /* ./parser//parser.nit:4615 */
14231 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14232 /* ./parser//parser.nit:4617 */
14233 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*/;
14234 if (UNTAG_Bool(REGB0)) {
14235 } else {
14236 nit_abort("Assert failed", NULL, LOCATE_parser, 4617);
14237 }
14238 /* ./parser//parser.nit:4619 */
14239 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*/;
14240 if (UNTAG_Bool(REGB0)) {
14241 } else {
14242 nit_abort("Assert failed", NULL, LOCATE_parser, 4619);
14243 }
14244 /* ./parser//parser.nit:4621 */
14245 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*/;
14246 if (UNTAG_Bool(REGB0)) {
14247 } else {
14248 nit_abort("Assert failed", NULL, LOCATE_parser, 4621);
14249 }
14250 /* ./parser//parser.nit:4623 */
14251 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*/;
14252 if (UNTAG_Bool(REGB0)) {
14253 } else {
14254 nit_abort("Assert failed", NULL, LOCATE_parser, 4623);
14255 }
14256 /* ./parser//parser.nit:4625 */
14257 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*/;
14258 if (UNTAG_Bool(REGB0)) {
14259 } else {
14260 nit_abort("Assert failed", NULL, LOCATE_parser, 4625);
14261 }
14262 /* ./parser//parser.nit:4627 */
14263 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*/;
14264 if (UNTAG_Bool(REGB0)) {
14265 } else {
14266 nit_abort("Assert failed", NULL, LOCATE_parser, 4627);
14267 }
14268 /* ./parser//parser.nit:4629 */
14269 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*/;
14270 if (UNTAG_Bool(REGB0)) {
14271 } else {
14272 nit_abort("Assert failed", NULL, LOCATE_parser, 4629);
14273 }
14274 /* ./parser//parser.nit:4631 */
14275 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*/;
14276 if (UNTAG_Bool(REGB0)) {
14277 } else {
14278 nit_abort("Assert failed", NULL, LOCATE_parser, 4631);
14279 }
14280 /* ./parser//parser.nit:4632 */
14281 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]);
14282 /* ./parser//parser.nit:4644 */
14283 fra.me.REG[2] = fra.me.REG[3];
14284 /* ./parser//parser.nit:4645 */
14285 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14286 if (UNTAG_Bool(REGB0)) {
14287 } else {
14288 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4645);
14289 }
14290 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14291 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14292 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14293 stack_frame_head = fra.me.prev;
14294 return;
14295 }
14296 void parser___ReduceAction109___action(val_t p0, val_t p1){
14297 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
14298 val_t REGB0;
14299 val_t tmp;
14300 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14301 fra.me.file = LOCATE_parser;
14302 fra.me.line = 4650;
14303 fra.me.meth = LOCATE_parser___ReduceAction109___action;
14304 fra.me.has_broke = 0;
14305 fra.me.REG_size = 10;
14306 fra.me.REG[0] = NIT_NULL;
14307 fra.me.REG[1] = NIT_NULL;
14308 fra.me.REG[2] = NIT_NULL;
14309 fra.me.REG[3] = NIT_NULL;
14310 fra.me.REG[4] = NIT_NULL;
14311 fra.me.REG[5] = NIT_NULL;
14312 fra.me.REG[6] = NIT_NULL;
14313 fra.me.REG[7] = NIT_NULL;
14314 fra.me.REG[8] = NIT_NULL;
14315 fra.me.REG[9] = NIT_NULL;
14316 fra.me.REG[0] = p0;
14317 fra.me.REG[1] = p1;
14318 /* ./parser//parser.nit:4652 */
14319 fra.me.REG[2] = NIT_NULL;
14320 /* ./parser//parser.nit:4653 */
14321 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14322 /* ./parser//parser.nit:4654 */
14323 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14324 /* ./parser//parser.nit:4655 */
14325 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14326 /* ./parser//parser.nit:4656 */
14327 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14328 /* ./parser//parser.nit:4657 */
14329 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14330 /* ./parser//parser.nit:4658 */
14331 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14332 /* ./parser//parser.nit:4659 */
14333 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14334 /* ./parser//parser.nit:4660 */
14335 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14336 /* ./parser//parser.nit:4661 */
14337 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14338 /* ./parser//parser.nit:4663 */
14339 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*/;
14340 if (UNTAG_Bool(REGB0)) {
14341 } else {
14342 nit_abort("Assert failed", NULL, LOCATE_parser, 4663);
14343 }
14344 /* ./parser//parser.nit:4665 */
14345 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*/;
14346 if (UNTAG_Bool(REGB0)) {
14347 } else {
14348 nit_abort("Assert failed", NULL, LOCATE_parser, 4665);
14349 }
14350 /* ./parser//parser.nit:4667 */
14351 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*/;
14352 if (UNTAG_Bool(REGB0)) {
14353 } else {
14354 nit_abort("Assert failed", NULL, LOCATE_parser, 4667);
14355 }
14356 /* ./parser//parser.nit:4669 */
14357 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*/;
14358 if (UNTAG_Bool(REGB0)) {
14359 } else {
14360 nit_abort("Assert failed", NULL, LOCATE_parser, 4669);
14361 }
14362 /* ./parser//parser.nit:4671 */
14363 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*/;
14364 if (UNTAG_Bool(REGB0)) {
14365 } else {
14366 nit_abort("Assert failed", NULL, LOCATE_parser, 4671);
14367 }
14368 /* ./parser//parser.nit:4673 */
14369 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*/;
14370 if (UNTAG_Bool(REGB0)) {
14371 } else {
14372 nit_abort("Assert failed", NULL, LOCATE_parser, 4673);
14373 }
14374 /* ./parser//parser.nit:4675 */
14375 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*/;
14376 if (UNTAG_Bool(REGB0)) {
14377 } else {
14378 nit_abort("Assert failed", NULL, LOCATE_parser, 4675);
14379 }
14380 /* ./parser//parser.nit:4676 */
14381 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]);
14382 /* ./parser//parser.nit:4688 */
14383 fra.me.REG[2] = fra.me.REG[3];
14384 /* ./parser//parser.nit:4689 */
14385 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14386 if (UNTAG_Bool(REGB0)) {
14387 } else {
14388 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4689);
14389 }
14390 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14391 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14392 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14393 stack_frame_head = fra.me.prev;
14394 return;
14395 }
14396 void parser___ReduceAction110___action(val_t p0, val_t p1){
14397 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
14398 val_t REGB0;
14399 val_t tmp;
14400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14401 fra.me.file = LOCATE_parser;
14402 fra.me.line = 4694;
14403 fra.me.meth = LOCATE_parser___ReduceAction110___action;
14404 fra.me.has_broke = 0;
14405 fra.me.REG_size = 11;
14406 fra.me.REG[0] = NIT_NULL;
14407 fra.me.REG[1] = NIT_NULL;
14408 fra.me.REG[2] = NIT_NULL;
14409 fra.me.REG[3] = NIT_NULL;
14410 fra.me.REG[4] = NIT_NULL;
14411 fra.me.REG[5] = NIT_NULL;
14412 fra.me.REG[6] = NIT_NULL;
14413 fra.me.REG[7] = NIT_NULL;
14414 fra.me.REG[8] = NIT_NULL;
14415 fra.me.REG[9] = NIT_NULL;
14416 fra.me.REG[10] = NIT_NULL;
14417 fra.me.REG[0] = p0;
14418 fra.me.REG[1] = p1;
14419 /* ./parser//parser.nit:4696 */
14420 fra.me.REG[2] = NIT_NULL;
14421 /* ./parser//parser.nit:4697 */
14422 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14423 /* ./parser//parser.nit:4698 */
14424 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14425 /* ./parser//parser.nit:4699 */
14426 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14427 /* ./parser//parser.nit:4700 */
14428 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14429 /* ./parser//parser.nit:4701 */
14430 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14431 /* ./parser//parser.nit:4702 */
14432 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14433 /* ./parser//parser.nit:4703 */
14434 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14435 /* ./parser//parser.nit:4704 */
14436 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14437 /* ./parser//parser.nit:4705 */
14438 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14439 /* ./parser//parser.nit:4706 */
14440 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14441 /* ./parser//parser.nit:4708 */
14442 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*/;
14443 if (UNTAG_Bool(REGB0)) {
14444 } else {
14445 nit_abort("Assert failed", NULL, LOCATE_parser, 4708);
14446 }
14447 /* ./parser//parser.nit:4710 */
14448 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*/;
14449 if (UNTAG_Bool(REGB0)) {
14450 } else {
14451 nit_abort("Assert failed", NULL, LOCATE_parser, 4710);
14452 }
14453 /* ./parser//parser.nit:4712 */
14454 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*/;
14455 if (UNTAG_Bool(REGB0)) {
14456 } else {
14457 nit_abort("Assert failed", NULL, LOCATE_parser, 4712);
14458 }
14459 /* ./parser//parser.nit:4714 */
14460 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*/;
14461 if (UNTAG_Bool(REGB0)) {
14462 } else {
14463 nit_abort("Assert failed", NULL, LOCATE_parser, 4714);
14464 }
14465 /* ./parser//parser.nit:4716 */
14466 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*/;
14467 if (UNTAG_Bool(REGB0)) {
14468 } else {
14469 nit_abort("Assert failed", NULL, LOCATE_parser, 4716);
14470 }
14471 /* ./parser//parser.nit:4718 */
14472 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*/;
14473 if (UNTAG_Bool(REGB0)) {
14474 } else {
14475 nit_abort("Assert failed", NULL, LOCATE_parser, 4718);
14476 }
14477 /* ./parser//parser.nit:4720 */
14478 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*/;
14479 if (UNTAG_Bool(REGB0)) {
14480 } else {
14481 nit_abort("Assert failed", NULL, LOCATE_parser, 4720);
14482 }
14483 /* ./parser//parser.nit:4722 */
14484 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*/;
14485 if (UNTAG_Bool(REGB0)) {
14486 } else {
14487 nit_abort("Assert failed", NULL, LOCATE_parser, 4722);
14488 }
14489 /* ./parser//parser.nit:4723 */
14490 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]);
14491 /* ./parser//parser.nit:4735 */
14492 fra.me.REG[2] = fra.me.REG[3];
14493 /* ./parser//parser.nit:4736 */
14494 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14495 if (UNTAG_Bool(REGB0)) {
14496 } else {
14497 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4736);
14498 }
14499 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14500 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14501 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14502 stack_frame_head = fra.me.prev;
14503 return;
14504 }
14505 void parser___ReduceAction111___action(val_t p0, val_t p1){
14506 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
14507 val_t REGB0;
14508 val_t tmp;
14509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14510 fra.me.file = LOCATE_parser;
14511 fra.me.line = 4741;
14512 fra.me.meth = LOCATE_parser___ReduceAction111___action;
14513 fra.me.has_broke = 0;
14514 fra.me.REG_size = 11;
14515 fra.me.REG[0] = NIT_NULL;
14516 fra.me.REG[1] = NIT_NULL;
14517 fra.me.REG[2] = NIT_NULL;
14518 fra.me.REG[3] = NIT_NULL;
14519 fra.me.REG[4] = NIT_NULL;
14520 fra.me.REG[5] = NIT_NULL;
14521 fra.me.REG[6] = NIT_NULL;
14522 fra.me.REG[7] = NIT_NULL;
14523 fra.me.REG[8] = NIT_NULL;
14524 fra.me.REG[9] = NIT_NULL;
14525 fra.me.REG[10] = NIT_NULL;
14526 fra.me.REG[0] = p0;
14527 fra.me.REG[1] = p1;
14528 /* ./parser//parser.nit:4743 */
14529 fra.me.REG[2] = NIT_NULL;
14530 /* ./parser//parser.nit:4744 */
14531 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14532 /* ./parser//parser.nit:4745 */
14533 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14534 /* ./parser//parser.nit:4746 */
14535 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14536 /* ./parser//parser.nit:4747 */
14537 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14538 /* ./parser//parser.nit:4748 */
14539 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14540 /* ./parser//parser.nit:4749 */
14541 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14542 /* ./parser//parser.nit:4750 */
14543 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14544 /* ./parser//parser.nit:4751 */
14545 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14546 /* ./parser//parser.nit:4752 */
14547 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14548 /* ./parser//parser.nit:4753 */
14549 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14550 /* ./parser//parser.nit:4755 */
14551 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*/;
14552 if (UNTAG_Bool(REGB0)) {
14553 } else {
14554 nit_abort("Assert failed", NULL, LOCATE_parser, 4755);
14555 }
14556 /* ./parser//parser.nit:4757 */
14557 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*/;
14558 if (UNTAG_Bool(REGB0)) {
14559 } else {
14560 nit_abort("Assert failed", NULL, LOCATE_parser, 4757);
14561 }
14562 /* ./parser//parser.nit:4759 */
14563 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*/;
14564 if (UNTAG_Bool(REGB0)) {
14565 } else {
14566 nit_abort("Assert failed", NULL, LOCATE_parser, 4759);
14567 }
14568 /* ./parser//parser.nit:4761 */
14569 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*/;
14570 if (UNTAG_Bool(REGB0)) {
14571 } else {
14572 nit_abort("Assert failed", NULL, LOCATE_parser, 4761);
14573 }
14574 /* ./parser//parser.nit:4763 */
14575 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*/;
14576 if (UNTAG_Bool(REGB0)) {
14577 } else {
14578 nit_abort("Assert failed", NULL, LOCATE_parser, 4763);
14579 }
14580 /* ./parser//parser.nit:4765 */
14581 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*/;
14582 if (UNTAG_Bool(REGB0)) {
14583 } else {
14584 nit_abort("Assert failed", NULL, LOCATE_parser, 4765);
14585 }
14586 /* ./parser//parser.nit:4767 */
14587 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*/;
14588 if (UNTAG_Bool(REGB0)) {
14589 } else {
14590 nit_abort("Assert failed", NULL, LOCATE_parser, 4767);
14591 }
14592 /* ./parser//parser.nit:4769 */
14593 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*/;
14594 if (UNTAG_Bool(REGB0)) {
14595 } else {
14596 nit_abort("Assert failed", NULL, LOCATE_parser, 4769);
14597 }
14598 /* ./parser//parser.nit:4770 */
14599 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]);
14600 /* ./parser//parser.nit:4782 */
14601 fra.me.REG[2] = fra.me.REG[3];
14602 /* ./parser//parser.nit:4783 */
14603 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14604 if (UNTAG_Bool(REGB0)) {
14605 } else {
14606 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4783);
14607 }
14608 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14609 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14610 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14611 stack_frame_head = fra.me.prev;
14612 return;
14613 }
14614 void parser___ReduceAction112___action(val_t p0, val_t p1){
14615 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
14616 val_t REGB0;
14617 val_t tmp;
14618 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14619 fra.me.file = LOCATE_parser;
14620 fra.me.line = 4788;
14621 fra.me.meth = LOCATE_parser___ReduceAction112___action;
14622 fra.me.has_broke = 0;
14623 fra.me.REG_size = 12;
14624 fra.me.REG[0] = NIT_NULL;
14625 fra.me.REG[1] = NIT_NULL;
14626 fra.me.REG[2] = NIT_NULL;
14627 fra.me.REG[3] = NIT_NULL;
14628 fra.me.REG[4] = NIT_NULL;
14629 fra.me.REG[5] = NIT_NULL;
14630 fra.me.REG[6] = NIT_NULL;
14631 fra.me.REG[7] = NIT_NULL;
14632 fra.me.REG[8] = NIT_NULL;
14633 fra.me.REG[9] = NIT_NULL;
14634 fra.me.REG[10] = NIT_NULL;
14635 fra.me.REG[11] = NIT_NULL;
14636 fra.me.REG[0] = p0;
14637 fra.me.REG[1] = p1;
14638 /* ./parser//parser.nit:4790 */
14639 fra.me.REG[2] = NIT_NULL;
14640 /* ./parser//parser.nit:4791 */
14641 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14642 /* ./parser//parser.nit:4792 */
14643 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14644 /* ./parser//parser.nit:4793 */
14645 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14646 /* ./parser//parser.nit:4794 */
14647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14648 /* ./parser//parser.nit:4795 */
14649 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14650 /* ./parser//parser.nit:4796 */
14651 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14652 /* ./parser//parser.nit:4797 */
14653 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14654 /* ./parser//parser.nit:4798 */
14655 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14656 /* ./parser//parser.nit:4799 */
14657 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14658 /* ./parser//parser.nit:4800 */
14659 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14660 /* ./parser//parser.nit:4801 */
14661 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14662 /* ./parser//parser.nit:4803 */
14663 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*/;
14664 if (UNTAG_Bool(REGB0)) {
14665 } else {
14666 nit_abort("Assert failed", NULL, LOCATE_parser, 4803);
14667 }
14668 /* ./parser//parser.nit:4805 */
14669 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*/;
14670 if (UNTAG_Bool(REGB0)) {
14671 } else {
14672 nit_abort("Assert failed", NULL, LOCATE_parser, 4805);
14673 }
14674 /* ./parser//parser.nit:4807 */
14675 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*/;
14676 if (UNTAG_Bool(REGB0)) {
14677 } else {
14678 nit_abort("Assert failed", NULL, LOCATE_parser, 4807);
14679 }
14680 /* ./parser//parser.nit:4809 */
14681 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*/;
14682 if (UNTAG_Bool(REGB0)) {
14683 } else {
14684 nit_abort("Assert failed", NULL, LOCATE_parser, 4809);
14685 }
14686 /* ./parser//parser.nit:4811 */
14687 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*/;
14688 if (UNTAG_Bool(REGB0)) {
14689 } else {
14690 nit_abort("Assert failed", NULL, LOCATE_parser, 4811);
14691 }
14692 /* ./parser//parser.nit:4813 */
14693 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*/;
14694 if (UNTAG_Bool(REGB0)) {
14695 } else {
14696 nit_abort("Assert failed", NULL, LOCATE_parser, 4813);
14697 }
14698 /* ./parser//parser.nit:4815 */
14699 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*/;
14700 if (UNTAG_Bool(REGB0)) {
14701 } else {
14702 nit_abort("Assert failed", NULL, LOCATE_parser, 4815);
14703 }
14704 /* ./parser//parser.nit:4817 */
14705 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*/;
14706 if (UNTAG_Bool(REGB0)) {
14707 } else {
14708 nit_abort("Assert failed", NULL, LOCATE_parser, 4817);
14709 }
14710 /* ./parser//parser.nit:4819 */
14711 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*/;
14712 if (UNTAG_Bool(REGB0)) {
14713 } else {
14714 nit_abort("Assert failed", NULL, LOCATE_parser, 4819);
14715 }
14716 /* ./parser//parser.nit:4820 */
14717 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]);
14718 /* ./parser//parser.nit:4832 */
14719 fra.me.REG[2] = fra.me.REG[3];
14720 /* ./parser//parser.nit:4833 */
14721 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14722 if (UNTAG_Bool(REGB0)) {
14723 } else {
14724 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4833);
14725 }
14726 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14727 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14728 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14729 stack_frame_head = fra.me.prev;
14730 return;
14731 }
14732 void parser___ReduceAction113___action(val_t p0, val_t p1){
14733 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
14734 val_t REGB0;
14735 val_t tmp;
14736 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14737 fra.me.file = LOCATE_parser;
14738 fra.me.line = 4838;
14739 fra.me.meth = LOCATE_parser___ReduceAction113___action;
14740 fra.me.has_broke = 0;
14741 fra.me.REG_size = 7;
14742 fra.me.REG[0] = NIT_NULL;
14743 fra.me.REG[1] = NIT_NULL;
14744 fra.me.REG[2] = NIT_NULL;
14745 fra.me.REG[3] = NIT_NULL;
14746 fra.me.REG[4] = NIT_NULL;
14747 fra.me.REG[5] = NIT_NULL;
14748 fra.me.REG[6] = NIT_NULL;
14749 fra.me.REG[0] = p0;
14750 fra.me.REG[1] = p1;
14751 /* ./parser//parser.nit:4840 */
14752 fra.me.REG[2] = NIT_NULL;
14753 /* ./parser//parser.nit:4841 */
14754 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14755 /* ./parser//parser.nit:4842 */
14756 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14757 /* ./parser//parser.nit:4843 */
14758 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14759 /* ./parser//parser.nit:4844 */
14760 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14761 /* ./parser//parser.nit:4846 */
14762 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*/;
14763 if (UNTAG_Bool(REGB0)) {
14764 } else {
14765 nit_abort("Assert failed", NULL, LOCATE_parser, 4846);
14766 }
14767 /* ./parser//parser.nit:4848 */
14768 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*/;
14769 if (UNTAG_Bool(REGB0)) {
14770 } else {
14771 nit_abort("Assert failed", NULL, LOCATE_parser, 4848);
14772 }
14773 /* ./parser//parser.nit:4850 */
14774 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*/;
14775 if (UNTAG_Bool(REGB0)) {
14776 } else {
14777 nit_abort("Assert failed", NULL, LOCATE_parser, 4850);
14778 }
14779 /* ./parser//parser.nit:4852 */
14780 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*/;
14781 if (UNTAG_Bool(REGB0)) {
14782 } else {
14783 nit_abort("Assert failed", NULL, LOCATE_parser, 4852);
14784 }
14785 /* ./parser//parser.nit:4853 */
14786 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);
14787 /* ./parser//parser.nit:4865 */
14788 fra.me.REG[2] = fra.me.REG[3];
14789 /* ./parser//parser.nit:4866 */
14790 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14791 if (UNTAG_Bool(REGB0)) {
14792 } else {
14793 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4866);
14794 }
14795 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14796 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14797 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14798 stack_frame_head = fra.me.prev;
14799 return;
14800 }
14801 void parser___ReduceAction114___action(val_t p0, val_t p1){
14802 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
14803 val_t REGB0;
14804 val_t tmp;
14805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14806 fra.me.file = LOCATE_parser;
14807 fra.me.line = 4871;
14808 fra.me.meth = LOCATE_parser___ReduceAction114___action;
14809 fra.me.has_broke = 0;
14810 fra.me.REG_size = 8;
14811 fra.me.REG[0] = NIT_NULL;
14812 fra.me.REG[1] = NIT_NULL;
14813 fra.me.REG[2] = NIT_NULL;
14814 fra.me.REG[3] = NIT_NULL;
14815 fra.me.REG[4] = NIT_NULL;
14816 fra.me.REG[5] = NIT_NULL;
14817 fra.me.REG[6] = NIT_NULL;
14818 fra.me.REG[7] = NIT_NULL;
14819 fra.me.REG[0] = p0;
14820 fra.me.REG[1] = p1;
14821 /* ./parser//parser.nit:4873 */
14822 fra.me.REG[2] = NIT_NULL;
14823 /* ./parser//parser.nit:4874 */
14824 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14825 /* ./parser//parser.nit:4875 */
14826 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14827 /* ./parser//parser.nit:4876 */
14828 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14829 /* ./parser//parser.nit:4877 */
14830 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14831 /* ./parser//parser.nit:4878 */
14832 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14833 /* ./parser//parser.nit:4880 */
14834 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*/;
14835 if (UNTAG_Bool(REGB0)) {
14836 } else {
14837 nit_abort("Assert failed", NULL, LOCATE_parser, 4880);
14838 }
14839 /* ./parser//parser.nit:4882 */
14840 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*/;
14841 if (UNTAG_Bool(REGB0)) {
14842 } else {
14843 nit_abort("Assert failed", NULL, LOCATE_parser, 4882);
14844 }
14845 /* ./parser//parser.nit:4884 */
14846 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*/;
14847 if (UNTAG_Bool(REGB0)) {
14848 } else {
14849 nit_abort("Assert failed", NULL, LOCATE_parser, 4884);
14850 }
14851 /* ./parser//parser.nit:4886 */
14852 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*/;
14853 if (UNTAG_Bool(REGB0)) {
14854 } else {
14855 nit_abort("Assert failed", NULL, LOCATE_parser, 4886);
14856 }
14857 /* ./parser//parser.nit:4888 */
14858 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*/;
14859 if (UNTAG_Bool(REGB0)) {
14860 } else {
14861 nit_abort("Assert failed", NULL, LOCATE_parser, 4888);
14862 }
14863 /* ./parser//parser.nit:4889 */
14864 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);
14865 /* ./parser//parser.nit:4901 */
14866 fra.me.REG[2] = fra.me.REG[3];
14867 /* ./parser//parser.nit:4902 */
14868 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14869 if (UNTAG_Bool(REGB0)) {
14870 } else {
14871 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4902);
14872 }
14873 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14874 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14875 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14876 stack_frame_head = fra.me.prev;
14877 return;
14878 }
14879 void parser___ReduceAction115___action(val_t p0, val_t p1){
14880 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
14881 val_t REGB0;
14882 val_t tmp;
14883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14884 fra.me.file = LOCATE_parser;
14885 fra.me.line = 4907;
14886 fra.me.meth = LOCATE_parser___ReduceAction115___action;
14887 fra.me.has_broke = 0;
14888 fra.me.REG_size = 8;
14889 fra.me.REG[0] = NIT_NULL;
14890 fra.me.REG[1] = NIT_NULL;
14891 fra.me.REG[2] = NIT_NULL;
14892 fra.me.REG[3] = NIT_NULL;
14893 fra.me.REG[4] = NIT_NULL;
14894 fra.me.REG[5] = NIT_NULL;
14895 fra.me.REG[6] = NIT_NULL;
14896 fra.me.REG[7] = NIT_NULL;
14897 fra.me.REG[0] = p0;
14898 fra.me.REG[1] = p1;
14899 /* ./parser//parser.nit:4909 */
14900 fra.me.REG[2] = NIT_NULL;
14901 /* ./parser//parser.nit:4910 */
14902 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14903 /* ./parser//parser.nit:4911 */
14904 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14905 /* ./parser//parser.nit:4912 */
14906 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14907 /* ./parser//parser.nit:4913 */
14908 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14909 /* ./parser//parser.nit:4914 */
14910 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14911 /* ./parser//parser.nit:4916 */
14912 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*/;
14913 if (UNTAG_Bool(REGB0)) {
14914 } else {
14915 nit_abort("Assert failed", NULL, LOCATE_parser, 4916);
14916 }
14917 /* ./parser//parser.nit:4918 */
14918 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*/;
14919 if (UNTAG_Bool(REGB0)) {
14920 } else {
14921 nit_abort("Assert failed", NULL, LOCATE_parser, 4918);
14922 }
14923 /* ./parser//parser.nit:4920 */
14924 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*/;
14925 if (UNTAG_Bool(REGB0)) {
14926 } else {
14927 nit_abort("Assert failed", NULL, LOCATE_parser, 4920);
14928 }
14929 /* ./parser//parser.nit:4922 */
14930 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*/;
14931 if (UNTAG_Bool(REGB0)) {
14932 } else {
14933 nit_abort("Assert failed", NULL, LOCATE_parser, 4922);
14934 }
14935 /* ./parser//parser.nit:4924 */
14936 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*/;
14937 if (UNTAG_Bool(REGB0)) {
14938 } else {
14939 nit_abort("Assert failed", NULL, LOCATE_parser, 4924);
14940 }
14941 /* ./parser//parser.nit:4925 */
14942 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);
14943 /* ./parser//parser.nit:4937 */
14944 fra.me.REG[2] = fra.me.REG[3];
14945 /* ./parser//parser.nit:4938 */
14946 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14947 if (UNTAG_Bool(REGB0)) {
14948 } else {
14949 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4938);
14950 }
14951 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14952 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14953 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14954 stack_frame_head = fra.me.prev;
14955 return;
14956 }
14957 void parser___ReduceAction116___action(val_t p0, val_t p1){
14958 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
14959 val_t REGB0;
14960 val_t tmp;
14961 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14962 fra.me.file = LOCATE_parser;
14963 fra.me.line = 4943;
14964 fra.me.meth = LOCATE_parser___ReduceAction116___action;
14965 fra.me.has_broke = 0;
14966 fra.me.REG_size = 9;
14967 fra.me.REG[0] = NIT_NULL;
14968 fra.me.REG[1] = NIT_NULL;
14969 fra.me.REG[2] = NIT_NULL;
14970 fra.me.REG[3] = NIT_NULL;
14971 fra.me.REG[4] = NIT_NULL;
14972 fra.me.REG[5] = NIT_NULL;
14973 fra.me.REG[6] = NIT_NULL;
14974 fra.me.REG[7] = NIT_NULL;
14975 fra.me.REG[8] = NIT_NULL;
14976 fra.me.REG[0] = p0;
14977 fra.me.REG[1] = p1;
14978 /* ./parser//parser.nit:4945 */
14979 fra.me.REG[2] = NIT_NULL;
14980 /* ./parser//parser.nit:4946 */
14981 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14982 /* ./parser//parser.nit:4947 */
14983 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14984 /* ./parser//parser.nit:4948 */
14985 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14986 /* ./parser//parser.nit:4949 */
14987 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14988 /* ./parser//parser.nit:4950 */
14989 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14990 /* ./parser//parser.nit:4951 */
14991 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14992 /* ./parser//parser.nit:4953 */
14993 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*/;
14994 if (UNTAG_Bool(REGB0)) {
14995 } else {
14996 nit_abort("Assert failed", NULL, LOCATE_parser, 4953);
14997 }
14998 /* ./parser//parser.nit:4955 */
14999 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*/;
15000 if (UNTAG_Bool(REGB0)) {
15001 } else {
15002 nit_abort("Assert failed", NULL, LOCATE_parser, 4955);
15003 }
15004 /* ./parser//parser.nit:4957 */
15005 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*/;
15006 if (UNTAG_Bool(REGB0)) {
15007 } else {
15008 nit_abort("Assert failed", NULL, LOCATE_parser, 4957);
15009 }
15010 /* ./parser//parser.nit:4959 */
15011 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*/;
15012 if (UNTAG_Bool(REGB0)) {
15013 } else {
15014 nit_abort("Assert failed", NULL, LOCATE_parser, 4959);
15015 }
15016 /* ./parser//parser.nit:4961 */
15017 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*/;
15018 if (UNTAG_Bool(REGB0)) {
15019 } else {
15020 nit_abort("Assert failed", NULL, LOCATE_parser, 4961);
15021 }
15022 /* ./parser//parser.nit:4963 */
15023 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*/;
15024 if (UNTAG_Bool(REGB0)) {
15025 } else {
15026 nit_abort("Assert failed", NULL, LOCATE_parser, 4963);
15027 }
15028 /* ./parser//parser.nit:4964 */
15029 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);
15030 /* ./parser//parser.nit:4976 */
15031 fra.me.REG[2] = fra.me.REG[3];
15032 /* ./parser//parser.nit:4977 */
15033 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15034 if (UNTAG_Bool(REGB0)) {
15035 } else {
15036 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4977);
15037 }
15038 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15039 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15040 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15041 stack_frame_head = fra.me.prev;
15042 return;
15043 }
15044 void parser___ReduceAction117___action(val_t p0, val_t p1){
15045 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
15046 val_t REGB0;
15047 val_t tmp;
15048 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15049 fra.me.file = LOCATE_parser;
15050 fra.me.line = 4982;
15051 fra.me.meth = LOCATE_parser___ReduceAction117___action;
15052 fra.me.has_broke = 0;
15053 fra.me.REG_size = 8;
15054 fra.me.REG[0] = NIT_NULL;
15055 fra.me.REG[1] = NIT_NULL;
15056 fra.me.REG[2] = NIT_NULL;
15057 fra.me.REG[3] = NIT_NULL;
15058 fra.me.REG[4] = NIT_NULL;
15059 fra.me.REG[5] = NIT_NULL;
15060 fra.me.REG[6] = NIT_NULL;
15061 fra.me.REG[7] = NIT_NULL;
15062 fra.me.REG[0] = p0;
15063 fra.me.REG[1] = p1;
15064 /* ./parser//parser.nit:4984 */
15065 fra.me.REG[2] = NIT_NULL;
15066 /* ./parser//parser.nit:4985 */
15067 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15068 /* ./parser//parser.nit:4986 */
15069 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15070 /* ./parser//parser.nit:4987 */
15071 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15072 /* ./parser//parser.nit:4988 */
15073 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15074 /* ./parser//parser.nit:4989 */
15075 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15076 /* ./parser//parser.nit:4991 */
15077 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*/;
15078 if (UNTAG_Bool(REGB0)) {
15079 } else {
15080 nit_abort("Assert failed", NULL, LOCATE_parser, 4991);
15081 }
15082 /* ./parser//parser.nit:4993 */
15083 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*/;
15084 if (UNTAG_Bool(REGB0)) {
15085 } else {
15086 nit_abort("Assert failed", NULL, LOCATE_parser, 4993);
15087 }
15088 /* ./parser//parser.nit:4995 */
15089 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*/;
15090 if (UNTAG_Bool(REGB0)) {
15091 } else {
15092 nit_abort("Assert failed", NULL, LOCATE_parser, 4995);
15093 }
15094 /* ./parser//parser.nit:4997 */
15095 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*/;
15096 if (UNTAG_Bool(REGB0)) {
15097 } else {
15098 nit_abort("Assert failed", NULL, LOCATE_parser, 4997);
15099 }
15100 /* ./parser//parser.nit:4999 */
15101 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*/;
15102 if (UNTAG_Bool(REGB0)) {
15103 } else {
15104 nit_abort("Assert failed", NULL, LOCATE_parser, 4999);
15105 }
15106 /* ./parser//parser.nit:5000 */
15107 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);
15108 /* ./parser//parser.nit:5012 */
15109 fra.me.REG[2] = fra.me.REG[4];
15110 /* ./parser//parser.nit:5013 */
15111 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15112 if (UNTAG_Bool(REGB0)) {
15113 } else {
15114 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5013);
15115 }
15116 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15117 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15118 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15119 stack_frame_head = fra.me.prev;
15120 return;
15121 }
15122 void parser___ReduceAction118___action(val_t p0, val_t p1){
15123 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
15124 val_t REGB0;
15125 val_t tmp;
15126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15127 fra.me.file = LOCATE_parser;
15128 fra.me.line = 5018;
15129 fra.me.meth = LOCATE_parser___ReduceAction118___action;
15130 fra.me.has_broke = 0;
15131 fra.me.REG_size = 9;
15132 fra.me.REG[0] = NIT_NULL;
15133 fra.me.REG[1] = NIT_NULL;
15134 fra.me.REG[2] = NIT_NULL;
15135 fra.me.REG[3] = NIT_NULL;
15136 fra.me.REG[4] = NIT_NULL;
15137 fra.me.REG[5] = NIT_NULL;
15138 fra.me.REG[6] = NIT_NULL;
15139 fra.me.REG[7] = NIT_NULL;
15140 fra.me.REG[8] = NIT_NULL;
15141 fra.me.REG[0] = p0;
15142 fra.me.REG[1] = p1;
15143 /* ./parser//parser.nit:5020 */
15144 fra.me.REG[2] = NIT_NULL;
15145 /* ./parser//parser.nit:5021 */
15146 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15147 /* ./parser//parser.nit:5022 */
15148 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15149 /* ./parser//parser.nit:5023 */
15150 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15151 /* ./parser//parser.nit:5024 */
15152 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15153 /* ./parser//parser.nit:5025 */
15154 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15155 /* ./parser//parser.nit:5026 */
15156 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15157 /* ./parser//parser.nit:5028 */
15158 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*/;
15159 if (UNTAG_Bool(REGB0)) {
15160 } else {
15161 nit_abort("Assert failed", NULL, LOCATE_parser, 5028);
15162 }
15163 /* ./parser//parser.nit:5030 */
15164 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*/;
15165 if (UNTAG_Bool(REGB0)) {
15166 } else {
15167 nit_abort("Assert failed", NULL, LOCATE_parser, 5030);
15168 }
15169 /* ./parser//parser.nit:5032 */
15170 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*/;
15171 if (UNTAG_Bool(REGB0)) {
15172 } else {
15173 nit_abort("Assert failed", NULL, LOCATE_parser, 5032);
15174 }
15175 /* ./parser//parser.nit:5034 */
15176 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*/;
15177 if (UNTAG_Bool(REGB0)) {
15178 } else {
15179 nit_abort("Assert failed", NULL, LOCATE_parser, 5034);
15180 }
15181 /* ./parser//parser.nit:5036 */
15182 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*/;
15183 if (UNTAG_Bool(REGB0)) {
15184 } else {
15185 nit_abort("Assert failed", NULL, LOCATE_parser, 5036);
15186 }
15187 /* ./parser//parser.nit:5038 */
15188 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*/;
15189 if (UNTAG_Bool(REGB0)) {
15190 } else {
15191 nit_abort("Assert failed", NULL, LOCATE_parser, 5038);
15192 }
15193 /* ./parser//parser.nit:5039 */
15194 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);
15195 /* ./parser//parser.nit:5051 */
15196 fra.me.REG[2] = fra.me.REG[4];
15197 /* ./parser//parser.nit:5052 */
15198 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15199 if (UNTAG_Bool(REGB0)) {
15200 } else {
15201 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5052);
15202 }
15203 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15204 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15205 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15206 stack_frame_head = fra.me.prev;
15207 return;
15208 }
15209 void parser___ReduceAction119___action(val_t p0, val_t p1){
15210 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
15211 val_t REGB0;
15212 val_t tmp;
15213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15214 fra.me.file = LOCATE_parser;
15215 fra.me.line = 5057;
15216 fra.me.meth = LOCATE_parser___ReduceAction119___action;
15217 fra.me.has_broke = 0;
15218 fra.me.REG_size = 9;
15219 fra.me.REG[0] = NIT_NULL;
15220 fra.me.REG[1] = NIT_NULL;
15221 fra.me.REG[2] = NIT_NULL;
15222 fra.me.REG[3] = NIT_NULL;
15223 fra.me.REG[4] = NIT_NULL;
15224 fra.me.REG[5] = NIT_NULL;
15225 fra.me.REG[6] = NIT_NULL;
15226 fra.me.REG[7] = NIT_NULL;
15227 fra.me.REG[8] = NIT_NULL;
15228 fra.me.REG[0] = p0;
15229 fra.me.REG[1] = p1;
15230 /* ./parser//parser.nit:5059 */
15231 fra.me.REG[2] = NIT_NULL;
15232 /* ./parser//parser.nit:5060 */
15233 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15234 /* ./parser//parser.nit:5061 */
15235 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15236 /* ./parser//parser.nit:5062 */
15237 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15238 /* ./parser//parser.nit:5063 */
15239 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15240 /* ./parser//parser.nit:5064 */
15241 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15242 /* ./parser//parser.nit:5065 */
15243 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15244 /* ./parser//parser.nit:5067 */
15245 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*/;
15246 if (UNTAG_Bool(REGB0)) {
15247 } else {
15248 nit_abort("Assert failed", NULL, LOCATE_parser, 5067);
15249 }
15250 /* ./parser//parser.nit:5069 */
15251 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*/;
15252 if (UNTAG_Bool(REGB0)) {
15253 } else {
15254 nit_abort("Assert failed", NULL, LOCATE_parser, 5069);
15255 }
15256 /* ./parser//parser.nit:5071 */
15257 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*/;
15258 if (UNTAG_Bool(REGB0)) {
15259 } else {
15260 nit_abort("Assert failed", NULL, LOCATE_parser, 5071);
15261 }
15262 /* ./parser//parser.nit:5073 */
15263 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*/;
15264 if (UNTAG_Bool(REGB0)) {
15265 } else {
15266 nit_abort("Assert failed", NULL, LOCATE_parser, 5073);
15267 }
15268 /* ./parser//parser.nit:5075 */
15269 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*/;
15270 if (UNTAG_Bool(REGB0)) {
15271 } else {
15272 nit_abort("Assert failed", NULL, LOCATE_parser, 5075);
15273 }
15274 /* ./parser//parser.nit:5077 */
15275 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*/;
15276 if (UNTAG_Bool(REGB0)) {
15277 } else {
15278 nit_abort("Assert failed", NULL, LOCATE_parser, 5077);
15279 }
15280 /* ./parser//parser.nit:5078 */
15281 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);
15282 /* ./parser//parser.nit:5090 */
15283 fra.me.REG[2] = fra.me.REG[4];
15284 /* ./parser//parser.nit:5091 */
15285 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15286 if (UNTAG_Bool(REGB0)) {
15287 } else {
15288 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5091);
15289 }
15290 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15291 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15292 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15293 stack_frame_head = fra.me.prev;
15294 return;
15295 }
15296 void parser___ReduceAction120___action(val_t p0, val_t p1){
15297 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
15298 val_t REGB0;
15299 val_t tmp;
15300 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15301 fra.me.file = LOCATE_parser;
15302 fra.me.line = 5096;
15303 fra.me.meth = LOCATE_parser___ReduceAction120___action;
15304 fra.me.has_broke = 0;
15305 fra.me.REG_size = 10;
15306 fra.me.REG[0] = NIT_NULL;
15307 fra.me.REG[1] = NIT_NULL;
15308 fra.me.REG[2] = NIT_NULL;
15309 fra.me.REG[3] = NIT_NULL;
15310 fra.me.REG[4] = NIT_NULL;
15311 fra.me.REG[5] = NIT_NULL;
15312 fra.me.REG[6] = NIT_NULL;
15313 fra.me.REG[7] = NIT_NULL;
15314 fra.me.REG[8] = NIT_NULL;
15315 fra.me.REG[9] = NIT_NULL;
15316 fra.me.REG[0] = p0;
15317 fra.me.REG[1] = p1;
15318 /* ./parser//parser.nit:5098 */
15319 fra.me.REG[2] = NIT_NULL;
15320 /* ./parser//parser.nit:5099 */
15321 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15322 /* ./parser//parser.nit:5100 */
15323 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15324 /* ./parser//parser.nit:5101 */
15325 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15326 /* ./parser//parser.nit:5102 */
15327 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15328 /* ./parser//parser.nit:5103 */
15329 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15330 /* ./parser//parser.nit:5104 */
15331 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15332 /* ./parser//parser.nit:5105 */
15333 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15334 /* ./parser//parser.nit:5107 */
15335 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*/;
15336 if (UNTAG_Bool(REGB0)) {
15337 } else {
15338 nit_abort("Assert failed", NULL, LOCATE_parser, 5107);
15339 }
15340 /* ./parser//parser.nit:5109 */
15341 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*/;
15342 if (UNTAG_Bool(REGB0)) {
15343 } else {
15344 nit_abort("Assert failed", NULL, LOCATE_parser, 5109);
15345 }
15346 /* ./parser//parser.nit:5111 */
15347 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*/;
15348 if (UNTAG_Bool(REGB0)) {
15349 } else {
15350 nit_abort("Assert failed", NULL, LOCATE_parser, 5111);
15351 }
15352 /* ./parser//parser.nit:5113 */
15353 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*/;
15354 if (UNTAG_Bool(REGB0)) {
15355 } else {
15356 nit_abort("Assert failed", NULL, LOCATE_parser, 5113);
15357 }
15358 /* ./parser//parser.nit:5115 */
15359 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*/;
15360 if (UNTAG_Bool(REGB0)) {
15361 } else {
15362 nit_abort("Assert failed", NULL, LOCATE_parser, 5115);
15363 }
15364 /* ./parser//parser.nit:5117 */
15365 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*/;
15366 if (UNTAG_Bool(REGB0)) {
15367 } else {
15368 nit_abort("Assert failed", NULL, LOCATE_parser, 5117);
15369 }
15370 /* ./parser//parser.nit:5119 */
15371 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*/;
15372 if (UNTAG_Bool(REGB0)) {
15373 } else {
15374 nit_abort("Assert failed", NULL, LOCATE_parser, 5119);
15375 }
15376 /* ./parser//parser.nit:5120 */
15377 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);
15378 /* ./parser//parser.nit:5132 */
15379 fra.me.REG[2] = fra.me.REG[4];
15380 /* ./parser//parser.nit:5133 */
15381 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15382 if (UNTAG_Bool(REGB0)) {
15383 } else {
15384 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5133);
15385 }
15386 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15387 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15388 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15389 stack_frame_head = fra.me.prev;
15390 return;
15391 }
15392 void parser___ReduceAction121___action(val_t p0, val_t p1){
15393 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
15394 val_t REGB0;
15395 val_t tmp;
15396 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15397 fra.me.file = LOCATE_parser;
15398 fra.me.line = 5138;
15399 fra.me.meth = LOCATE_parser___ReduceAction121___action;
15400 fra.me.has_broke = 0;
15401 fra.me.REG_size = 8;
15402 fra.me.REG[0] = NIT_NULL;
15403 fra.me.REG[1] = NIT_NULL;
15404 fra.me.REG[2] = NIT_NULL;
15405 fra.me.REG[3] = NIT_NULL;
15406 fra.me.REG[4] = NIT_NULL;
15407 fra.me.REG[5] = NIT_NULL;
15408 fra.me.REG[6] = NIT_NULL;
15409 fra.me.REG[7] = NIT_NULL;
15410 fra.me.REG[0] = p0;
15411 fra.me.REG[1] = p1;
15412 /* ./parser//parser.nit:5140 */
15413 fra.me.REG[2] = NIT_NULL;
15414 /* ./parser//parser.nit:5141 */
15415 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15416 /* ./parser//parser.nit:5142 */
15417 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15418 /* ./parser//parser.nit:5143 */
15419 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15420 /* ./parser//parser.nit:5144 */
15421 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15422 /* ./parser//parser.nit:5145 */
15423 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15424 /* ./parser//parser.nit:5146 */
15425 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15426 /* ./parser//parser.nit:5147 */
15427 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15428 /* ./parser//parser.nit:5149 */
15429 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*/;
15430 if (UNTAG_Bool(REGB0)) {
15431 } else {
15432 nit_abort("Assert failed", NULL, LOCATE_parser, 5149);
15433 }
15434 /* ./parser//parser.nit:5151 */
15435 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*/;
15436 if (UNTAG_Bool(REGB0)) {
15437 } else {
15438 nit_abort("Assert failed", NULL, LOCATE_parser, 5151);
15439 }
15440 /* ./parser//parser.nit:5153 */
15441 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*/;
15442 if (UNTAG_Bool(REGB0)) {
15443 } else {
15444 nit_abort("Assert failed", NULL, LOCATE_parser, 5153);
15445 }
15446 /* ./parser//parser.nit:5155 */
15447 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*/;
15448 if (UNTAG_Bool(REGB0)) {
15449 } else {
15450 nit_abort("Assert failed", NULL, LOCATE_parser, 5155);
15451 }
15452 /* ./parser//parser.nit:5157 */
15453 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*/;
15454 if (UNTAG_Bool(REGB0)) {
15455 } else {
15456 nit_abort("Assert failed", NULL, LOCATE_parser, 5157);
15457 }
15458 /* ./parser//parser.nit:5158 */
15459 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]);
15460 /* ./parser//parser.nit:5170 */
15461 fra.me.REG[2] = fra.me.REG[3];
15462 /* ./parser//parser.nit:5171 */
15463 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15464 if (UNTAG_Bool(REGB0)) {
15465 } else {
15466 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5171);
15467 }
15468 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15469 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15470 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15471 stack_frame_head = fra.me.prev;
15472 return;
15473 }
15474 void parser___ReduceAction122___action(val_t p0, val_t p1){
15475 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
15476 val_t REGB0;
15477 val_t tmp;
15478 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15479 fra.me.file = LOCATE_parser;
15480 fra.me.line = 5176;
15481 fra.me.meth = LOCATE_parser___ReduceAction122___action;
15482 fra.me.has_broke = 0;
15483 fra.me.REG_size = 9;
15484 fra.me.REG[0] = NIT_NULL;
15485 fra.me.REG[1] = NIT_NULL;
15486 fra.me.REG[2] = NIT_NULL;
15487 fra.me.REG[3] = NIT_NULL;
15488 fra.me.REG[4] = NIT_NULL;
15489 fra.me.REG[5] = NIT_NULL;
15490 fra.me.REG[6] = NIT_NULL;
15491 fra.me.REG[7] = NIT_NULL;
15492 fra.me.REG[8] = NIT_NULL;
15493 fra.me.REG[0] = p0;
15494 fra.me.REG[1] = p1;
15495 /* ./parser//parser.nit:5178 */
15496 fra.me.REG[2] = NIT_NULL;
15497 /* ./parser//parser.nit:5179 */
15498 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15499 /* ./parser//parser.nit:5180 */
15500 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15501 /* ./parser//parser.nit:5181 */
15502 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15503 /* ./parser//parser.nit:5182 */
15504 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15505 /* ./parser//parser.nit:5183 */
15506 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15507 /* ./parser//parser.nit:5184 */
15508 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15509 /* ./parser//parser.nit:5185 */
15510 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15511 /* ./parser//parser.nit:5186 */
15512 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15513 /* ./parser//parser.nit:5188 */
15514 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*/;
15515 if (UNTAG_Bool(REGB0)) {
15516 } else {
15517 nit_abort("Assert failed", NULL, LOCATE_parser, 5188);
15518 }
15519 /* ./parser//parser.nit:5190 */
15520 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*/;
15521 if (UNTAG_Bool(REGB0)) {
15522 } else {
15523 nit_abort("Assert failed", NULL, LOCATE_parser, 5190);
15524 }
15525 /* ./parser//parser.nit:5192 */
15526 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*/;
15527 if (UNTAG_Bool(REGB0)) {
15528 } else {
15529 nit_abort("Assert failed", NULL, LOCATE_parser, 5192);
15530 }
15531 /* ./parser//parser.nit:5194 */
15532 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*/;
15533 if (UNTAG_Bool(REGB0)) {
15534 } else {
15535 nit_abort("Assert failed", NULL, LOCATE_parser, 5194);
15536 }
15537 /* ./parser//parser.nit:5196 */
15538 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*/;
15539 if (UNTAG_Bool(REGB0)) {
15540 } else {
15541 nit_abort("Assert failed", NULL, LOCATE_parser, 5196);
15542 }
15543 /* ./parser//parser.nit:5198 */
15544 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*/;
15545 if (UNTAG_Bool(REGB0)) {
15546 } else {
15547 nit_abort("Assert failed", NULL, LOCATE_parser, 5198);
15548 }
15549 /* ./parser//parser.nit:5199 */
15550 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]);
15551 /* ./parser//parser.nit:5211 */
15552 fra.me.REG[2] = fra.me.REG[3];
15553 /* ./parser//parser.nit:5212 */
15554 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15555 if (UNTAG_Bool(REGB0)) {
15556 } else {
15557 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5212);
15558 }
15559 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15560 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15561 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15562 stack_frame_head = fra.me.prev;
15563 return;
15564 }
15565 void parser___ReduceAction123___action(val_t p0, val_t p1){
15566 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
15567 val_t REGB0;
15568 val_t tmp;
15569 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15570 fra.me.file = LOCATE_parser;
15571 fra.me.line = 5217;
15572 fra.me.meth = LOCATE_parser___ReduceAction123___action;
15573 fra.me.has_broke = 0;
15574 fra.me.REG_size = 9;
15575 fra.me.REG[0] = NIT_NULL;
15576 fra.me.REG[1] = NIT_NULL;
15577 fra.me.REG[2] = NIT_NULL;
15578 fra.me.REG[3] = NIT_NULL;
15579 fra.me.REG[4] = NIT_NULL;
15580 fra.me.REG[5] = NIT_NULL;
15581 fra.me.REG[6] = NIT_NULL;
15582 fra.me.REG[7] = NIT_NULL;
15583 fra.me.REG[8] = NIT_NULL;
15584 fra.me.REG[0] = p0;
15585 fra.me.REG[1] = p1;
15586 /* ./parser//parser.nit:5219 */
15587 fra.me.REG[2] = NIT_NULL;
15588 /* ./parser//parser.nit:5220 */
15589 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15590 /* ./parser//parser.nit:5221 */
15591 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15592 /* ./parser//parser.nit:5222 */
15593 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15594 /* ./parser//parser.nit:5223 */
15595 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15596 /* ./parser//parser.nit:5224 */
15597 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15598 /* ./parser//parser.nit:5225 */
15599 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15600 /* ./parser//parser.nit:5226 */
15601 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15602 /* ./parser//parser.nit:5227 */
15603 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15604 /* ./parser//parser.nit:5229 */
15605 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*/;
15606 if (UNTAG_Bool(REGB0)) {
15607 } else {
15608 nit_abort("Assert failed", NULL, LOCATE_parser, 5229);
15609 }
15610 /* ./parser//parser.nit:5231 */
15611 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*/;
15612 if (UNTAG_Bool(REGB0)) {
15613 } else {
15614 nit_abort("Assert failed", NULL, LOCATE_parser, 5231);
15615 }
15616 /* ./parser//parser.nit:5233 */
15617 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*/;
15618 if (UNTAG_Bool(REGB0)) {
15619 } else {
15620 nit_abort("Assert failed", NULL, LOCATE_parser, 5233);
15621 }
15622 /* ./parser//parser.nit:5235 */
15623 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*/;
15624 if (UNTAG_Bool(REGB0)) {
15625 } else {
15626 nit_abort("Assert failed", NULL, LOCATE_parser, 5235);
15627 }
15628 /* ./parser//parser.nit:5237 */
15629 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*/;
15630 if (UNTAG_Bool(REGB0)) {
15631 } else {
15632 nit_abort("Assert failed", NULL, LOCATE_parser, 5237);
15633 }
15634 /* ./parser//parser.nit:5239 */
15635 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*/;
15636 if (UNTAG_Bool(REGB0)) {
15637 } else {
15638 nit_abort("Assert failed", NULL, LOCATE_parser, 5239);
15639 }
15640 /* ./parser//parser.nit:5240 */
15641 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]);
15642 /* ./parser//parser.nit:5252 */
15643 fra.me.REG[2] = fra.me.REG[3];
15644 /* ./parser//parser.nit:5253 */
15645 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15646 if (UNTAG_Bool(REGB0)) {
15647 } else {
15648 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5253);
15649 }
15650 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15651 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15652 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15653 stack_frame_head = fra.me.prev;
15654 return;
15655 }
15656 void parser___ReduceAction124___action(val_t p0, val_t p1){
15657 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
15658 val_t REGB0;
15659 val_t tmp;
15660 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15661 fra.me.file = LOCATE_parser;
15662 fra.me.line = 5258;
15663 fra.me.meth = LOCATE_parser___ReduceAction124___action;
15664 fra.me.has_broke = 0;
15665 fra.me.REG_size = 10;
15666 fra.me.REG[0] = NIT_NULL;
15667 fra.me.REG[1] = NIT_NULL;
15668 fra.me.REG[2] = NIT_NULL;
15669 fra.me.REG[3] = NIT_NULL;
15670 fra.me.REG[4] = NIT_NULL;
15671 fra.me.REG[5] = NIT_NULL;
15672 fra.me.REG[6] = NIT_NULL;
15673 fra.me.REG[7] = NIT_NULL;
15674 fra.me.REG[8] = NIT_NULL;
15675 fra.me.REG[9] = NIT_NULL;
15676 fra.me.REG[0] = p0;
15677 fra.me.REG[1] = p1;
15678 /* ./parser//parser.nit:5260 */
15679 fra.me.REG[2] = NIT_NULL;
15680 /* ./parser//parser.nit:5261 */
15681 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15682 /* ./parser//parser.nit:5262 */
15683 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15684 /* ./parser//parser.nit:5263 */
15685 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15686 /* ./parser//parser.nit:5264 */
15687 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15688 /* ./parser//parser.nit:5265 */
15689 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15690 /* ./parser//parser.nit:5266 */
15691 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15692 /* ./parser//parser.nit:5267 */
15693 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15694 /* ./parser//parser.nit:5268 */
15695 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15696 /* ./parser//parser.nit:5269 */
15697 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15698 /* ./parser//parser.nit:5271 */
15699 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*/;
15700 if (UNTAG_Bool(REGB0)) {
15701 } else {
15702 nit_abort("Assert failed", NULL, LOCATE_parser, 5271);
15703 }
15704 /* ./parser//parser.nit:5273 */
15705 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*/;
15706 if (UNTAG_Bool(REGB0)) {
15707 } else {
15708 nit_abort("Assert failed", NULL, LOCATE_parser, 5273);
15709 }
15710 /* ./parser//parser.nit:5275 */
15711 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*/;
15712 if (UNTAG_Bool(REGB0)) {
15713 } else {
15714 nit_abort("Assert failed", NULL, LOCATE_parser, 5275);
15715 }
15716 /* ./parser//parser.nit:5277 */
15717 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*/;
15718 if (UNTAG_Bool(REGB0)) {
15719 } else {
15720 nit_abort("Assert failed", NULL, LOCATE_parser, 5277);
15721 }
15722 /* ./parser//parser.nit:5279 */
15723 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*/;
15724 if (UNTAG_Bool(REGB0)) {
15725 } else {
15726 nit_abort("Assert failed", NULL, LOCATE_parser, 5279);
15727 }
15728 /* ./parser//parser.nit:5281 */
15729 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*/;
15730 if (UNTAG_Bool(REGB0)) {
15731 } else {
15732 nit_abort("Assert failed", NULL, LOCATE_parser, 5281);
15733 }
15734 /* ./parser//parser.nit:5283 */
15735 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*/;
15736 if (UNTAG_Bool(REGB0)) {
15737 } else {
15738 nit_abort("Assert failed", NULL, LOCATE_parser, 5283);
15739 }
15740 /* ./parser//parser.nit:5284 */
15741 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]);
15742 /* ./parser//parser.nit:5296 */
15743 fra.me.REG[2] = fra.me.REG[3];
15744 /* ./parser//parser.nit:5297 */
15745 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15746 if (UNTAG_Bool(REGB0)) {
15747 } else {
15748 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5297);
15749 }
15750 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15751 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15752 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15753 stack_frame_head = fra.me.prev;
15754 return;
15755 }
15756 void parser___ReduceAction125___action(val_t p0, val_t p1){
15757 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
15758 val_t REGB0;
15759 val_t tmp;
15760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15761 fra.me.file = LOCATE_parser;
15762 fra.me.line = 5302;
15763 fra.me.meth = LOCATE_parser___ReduceAction125___action;
15764 fra.me.has_broke = 0;
15765 fra.me.REG_size = 9;
15766 fra.me.REG[0] = NIT_NULL;
15767 fra.me.REG[1] = NIT_NULL;
15768 fra.me.REG[2] = NIT_NULL;
15769 fra.me.REG[3] = NIT_NULL;
15770 fra.me.REG[4] = NIT_NULL;
15771 fra.me.REG[5] = NIT_NULL;
15772 fra.me.REG[6] = NIT_NULL;
15773 fra.me.REG[7] = NIT_NULL;
15774 fra.me.REG[8] = NIT_NULL;
15775 fra.me.REG[0] = p0;
15776 fra.me.REG[1] = p1;
15777 /* ./parser//parser.nit:5304 */
15778 fra.me.REG[2] = NIT_NULL;
15779 /* ./parser//parser.nit:5305 */
15780 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15781 /* ./parser//parser.nit:5306 */
15782 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15783 /* ./parser//parser.nit:5307 */
15784 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15785 /* ./parser//parser.nit:5308 */
15786 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15787 /* ./parser//parser.nit:5309 */
15788 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15789 /* ./parser//parser.nit:5310 */
15790 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15791 /* ./parser//parser.nit:5311 */
15792 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15793 /* ./parser//parser.nit:5312 */
15794 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15795 /* ./parser//parser.nit:5314 */
15796 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*/;
15797 if (UNTAG_Bool(REGB0)) {
15798 } else {
15799 nit_abort("Assert failed", NULL, LOCATE_parser, 5314);
15800 }
15801 /* ./parser//parser.nit:5316 */
15802 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*/;
15803 if (UNTAG_Bool(REGB0)) {
15804 } else {
15805 nit_abort("Assert failed", NULL, LOCATE_parser, 5316);
15806 }
15807 /* ./parser//parser.nit:5318 */
15808 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*/;
15809 if (UNTAG_Bool(REGB0)) {
15810 } else {
15811 nit_abort("Assert failed", NULL, LOCATE_parser, 5318);
15812 }
15813 /* ./parser//parser.nit:5320 */
15814 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*/;
15815 if (UNTAG_Bool(REGB0)) {
15816 } else {
15817 nit_abort("Assert failed", NULL, LOCATE_parser, 5320);
15818 }
15819 /* ./parser//parser.nit:5322 */
15820 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*/;
15821 if (UNTAG_Bool(REGB0)) {
15822 } else {
15823 nit_abort("Assert failed", NULL, LOCATE_parser, 5322);
15824 }
15825 /* ./parser//parser.nit:5324 */
15826 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*/;
15827 if (UNTAG_Bool(REGB0)) {
15828 } else {
15829 nit_abort("Assert failed", NULL, LOCATE_parser, 5324);
15830 }
15831 /* ./parser//parser.nit:5325 */
15832 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]);
15833 /* ./parser//parser.nit:5337 */
15834 fra.me.REG[2] = fra.me.REG[3];
15835 /* ./parser//parser.nit:5338 */
15836 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15837 if (UNTAG_Bool(REGB0)) {
15838 } else {
15839 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5338);
15840 }
15841 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15842 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15843 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15844 stack_frame_head = fra.me.prev;
15845 return;
15846 }
15847 void parser___ReduceAction126___action(val_t p0, val_t p1){
15848 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
15849 val_t REGB0;
15850 val_t tmp;
15851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15852 fra.me.file = LOCATE_parser;
15853 fra.me.line = 5343;
15854 fra.me.meth = LOCATE_parser___ReduceAction126___action;
15855 fra.me.has_broke = 0;
15856 fra.me.REG_size = 10;
15857 fra.me.REG[0] = NIT_NULL;
15858 fra.me.REG[1] = NIT_NULL;
15859 fra.me.REG[2] = NIT_NULL;
15860 fra.me.REG[3] = NIT_NULL;
15861 fra.me.REG[4] = NIT_NULL;
15862 fra.me.REG[5] = NIT_NULL;
15863 fra.me.REG[6] = NIT_NULL;
15864 fra.me.REG[7] = NIT_NULL;
15865 fra.me.REG[8] = NIT_NULL;
15866 fra.me.REG[9] = NIT_NULL;
15867 fra.me.REG[0] = p0;
15868 fra.me.REG[1] = p1;
15869 /* ./parser//parser.nit:5345 */
15870 fra.me.REG[2] = NIT_NULL;
15871 /* ./parser//parser.nit:5346 */
15872 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15873 /* ./parser//parser.nit:5347 */
15874 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15875 /* ./parser//parser.nit:5348 */
15876 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15877 /* ./parser//parser.nit:5349 */
15878 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15879 /* ./parser//parser.nit:5350 */
15880 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15881 /* ./parser//parser.nit:5351 */
15882 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15883 /* ./parser//parser.nit:5352 */
15884 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15885 /* ./parser//parser.nit:5353 */
15886 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15887 /* ./parser//parser.nit:5354 */
15888 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15889 /* ./parser//parser.nit:5356 */
15890 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*/;
15891 if (UNTAG_Bool(REGB0)) {
15892 } else {
15893 nit_abort("Assert failed", NULL, LOCATE_parser, 5356);
15894 }
15895 /* ./parser//parser.nit:5358 */
15896 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*/;
15897 if (UNTAG_Bool(REGB0)) {
15898 } else {
15899 nit_abort("Assert failed", NULL, LOCATE_parser, 5358);
15900 }
15901 /* ./parser//parser.nit:5360 */
15902 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*/;
15903 if (UNTAG_Bool(REGB0)) {
15904 } else {
15905 nit_abort("Assert failed", NULL, LOCATE_parser, 5360);
15906 }
15907 /* ./parser//parser.nit:5362 */
15908 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*/;
15909 if (UNTAG_Bool(REGB0)) {
15910 } else {
15911 nit_abort("Assert failed", NULL, LOCATE_parser, 5362);
15912 }
15913 /* ./parser//parser.nit:5364 */
15914 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*/;
15915 if (UNTAG_Bool(REGB0)) {
15916 } else {
15917 nit_abort("Assert failed", NULL, LOCATE_parser, 5364);
15918 }
15919 /* ./parser//parser.nit:5366 */
15920 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*/;
15921 if (UNTAG_Bool(REGB0)) {
15922 } else {
15923 nit_abort("Assert failed", NULL, LOCATE_parser, 5366);
15924 }
15925 /* ./parser//parser.nit:5368 */
15926 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*/;
15927 if (UNTAG_Bool(REGB0)) {
15928 } else {
15929 nit_abort("Assert failed", NULL, LOCATE_parser, 5368);
15930 }
15931 /* ./parser//parser.nit:5369 */
15932 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]);
15933 /* ./parser//parser.nit:5381 */
15934 fra.me.REG[2] = fra.me.REG[3];
15935 /* ./parser//parser.nit:5382 */
15936 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15937 if (UNTAG_Bool(REGB0)) {
15938 } else {
15939 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5382);
15940 }
15941 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15942 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15943 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15944 stack_frame_head = fra.me.prev;
15945 return;
15946 }
15947 void parser___ReduceAction127___action(val_t p0, val_t p1){
15948 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
15949 val_t REGB0;
15950 val_t tmp;
15951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15952 fra.me.file = LOCATE_parser;
15953 fra.me.line = 5387;
15954 fra.me.meth = LOCATE_parser___ReduceAction127___action;
15955 fra.me.has_broke = 0;
15956 fra.me.REG_size = 10;
15957 fra.me.REG[0] = NIT_NULL;
15958 fra.me.REG[1] = NIT_NULL;
15959 fra.me.REG[2] = NIT_NULL;
15960 fra.me.REG[3] = NIT_NULL;
15961 fra.me.REG[4] = NIT_NULL;
15962 fra.me.REG[5] = NIT_NULL;
15963 fra.me.REG[6] = NIT_NULL;
15964 fra.me.REG[7] = NIT_NULL;
15965 fra.me.REG[8] = NIT_NULL;
15966 fra.me.REG[9] = NIT_NULL;
15967 fra.me.REG[0] = p0;
15968 fra.me.REG[1] = p1;
15969 /* ./parser//parser.nit:5389 */
15970 fra.me.REG[2] = NIT_NULL;
15971 /* ./parser//parser.nit:5390 */
15972 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15973 /* ./parser//parser.nit:5391 */
15974 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15975 /* ./parser//parser.nit:5392 */
15976 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15977 /* ./parser//parser.nit:5393 */
15978 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15979 /* ./parser//parser.nit:5394 */
15980 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15981 /* ./parser//parser.nit:5395 */
15982 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15983 /* ./parser//parser.nit:5396 */
15984 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15985 /* ./parser//parser.nit:5397 */
15986 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15987 /* ./parser//parser.nit:5398 */
15988 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15989 /* ./parser//parser.nit:5400 */
15990 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*/;
15991 if (UNTAG_Bool(REGB0)) {
15992 } else {
15993 nit_abort("Assert failed", NULL, LOCATE_parser, 5400);
15994 }
15995 /* ./parser//parser.nit:5402 */
15996 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*/;
15997 if (UNTAG_Bool(REGB0)) {
15998 } else {
15999 nit_abort("Assert failed", NULL, LOCATE_parser, 5402);
16000 }
16001 /* ./parser//parser.nit:5404 */
16002 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*/;
16003 if (UNTAG_Bool(REGB0)) {
16004 } else {
16005 nit_abort("Assert failed", NULL, LOCATE_parser, 5404);
16006 }
16007 /* ./parser//parser.nit:5406 */
16008 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*/;
16009 if (UNTAG_Bool(REGB0)) {
16010 } else {
16011 nit_abort("Assert failed", NULL, LOCATE_parser, 5406);
16012 }
16013 /* ./parser//parser.nit:5408 */
16014 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*/;
16015 if (UNTAG_Bool(REGB0)) {
16016 } else {
16017 nit_abort("Assert failed", NULL, LOCATE_parser, 5408);
16018 }
16019 /* ./parser//parser.nit:5410 */
16020 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*/;
16021 if (UNTAG_Bool(REGB0)) {
16022 } else {
16023 nit_abort("Assert failed", NULL, LOCATE_parser, 5410);
16024 }
16025 /* ./parser//parser.nit:5412 */
16026 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*/;
16027 if (UNTAG_Bool(REGB0)) {
16028 } else {
16029 nit_abort("Assert failed", NULL, LOCATE_parser, 5412);
16030 }
16031 /* ./parser//parser.nit:5413 */
16032 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]);
16033 /* ./parser//parser.nit:5425 */
16034 fra.me.REG[2] = fra.me.REG[3];
16035 /* ./parser//parser.nit:5426 */
16036 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16037 if (UNTAG_Bool(REGB0)) {
16038 } else {
16039 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5426);
16040 }
16041 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16042 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16043 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16044 stack_frame_head = fra.me.prev;
16045 return;
16046 }
16047 void parser___ReduceAction128___action(val_t p0, val_t p1){
16048 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
16049 val_t REGB0;
16050 val_t tmp;
16051 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16052 fra.me.file = LOCATE_parser;
16053 fra.me.line = 5431;
16054 fra.me.meth = LOCATE_parser___ReduceAction128___action;
16055 fra.me.has_broke = 0;
16056 fra.me.REG_size = 11;
16057 fra.me.REG[0] = NIT_NULL;
16058 fra.me.REG[1] = NIT_NULL;
16059 fra.me.REG[2] = NIT_NULL;
16060 fra.me.REG[3] = NIT_NULL;
16061 fra.me.REG[4] = NIT_NULL;
16062 fra.me.REG[5] = NIT_NULL;
16063 fra.me.REG[6] = NIT_NULL;
16064 fra.me.REG[7] = NIT_NULL;
16065 fra.me.REG[8] = NIT_NULL;
16066 fra.me.REG[9] = NIT_NULL;
16067 fra.me.REG[10] = NIT_NULL;
16068 fra.me.REG[0] = p0;
16069 fra.me.REG[1] = p1;
16070 /* ./parser//parser.nit:5433 */
16071 fra.me.REG[2] = NIT_NULL;
16072 /* ./parser//parser.nit:5434 */
16073 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16074 /* ./parser//parser.nit:5435 */
16075 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16076 /* ./parser//parser.nit:5436 */
16077 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16078 /* ./parser//parser.nit:5437 */
16079 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16080 /* ./parser//parser.nit:5438 */
16081 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16082 /* ./parser//parser.nit:5439 */
16083 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16084 /* ./parser//parser.nit:5440 */
16085 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16086 /* ./parser//parser.nit:5441 */
16087 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16088 /* ./parser//parser.nit:5442 */
16089 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16090 /* ./parser//parser.nit:5443 */
16091 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16092 /* ./parser//parser.nit:5445 */
16093 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*/;
16094 if (UNTAG_Bool(REGB0)) {
16095 } else {
16096 nit_abort("Assert failed", NULL, LOCATE_parser, 5445);
16097 }
16098 /* ./parser//parser.nit:5447 */
16099 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*/;
16100 if (UNTAG_Bool(REGB0)) {
16101 } else {
16102 nit_abort("Assert failed", NULL, LOCATE_parser, 5447);
16103 }
16104 /* ./parser//parser.nit:5449 */
16105 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*/;
16106 if (UNTAG_Bool(REGB0)) {
16107 } else {
16108 nit_abort("Assert failed", NULL, LOCATE_parser, 5449);
16109 }
16110 /* ./parser//parser.nit:5451 */
16111 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*/;
16112 if (UNTAG_Bool(REGB0)) {
16113 } else {
16114 nit_abort("Assert failed", NULL, LOCATE_parser, 5451);
16115 }
16116 /* ./parser//parser.nit:5453 */
16117 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*/;
16118 if (UNTAG_Bool(REGB0)) {
16119 } else {
16120 nit_abort("Assert failed", NULL, LOCATE_parser, 5453);
16121 }
16122 /* ./parser//parser.nit:5455 */
16123 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*/;
16124 if (UNTAG_Bool(REGB0)) {
16125 } else {
16126 nit_abort("Assert failed", NULL, LOCATE_parser, 5455);
16127 }
16128 /* ./parser//parser.nit:5457 */
16129 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*/;
16130 if (UNTAG_Bool(REGB0)) {
16131 } else {
16132 nit_abort("Assert failed", NULL, LOCATE_parser, 5457);
16133 }
16134 /* ./parser//parser.nit:5459 */
16135 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*/;
16136 if (UNTAG_Bool(REGB0)) {
16137 } else {
16138 nit_abort("Assert failed", NULL, LOCATE_parser, 5459);
16139 }
16140 /* ./parser//parser.nit:5460 */
16141 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]);
16142 /* ./parser//parser.nit:5472 */
16143 fra.me.REG[2] = fra.me.REG[3];
16144 /* ./parser//parser.nit:5473 */
16145 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16146 if (UNTAG_Bool(REGB0)) {
16147 } else {
16148 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5473);
16149 }
16150 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16151 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16152 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16153 stack_frame_head = fra.me.prev;
16154 return;
16155 }
16156 void parser___ReduceAction129___action(val_t p0, val_t p1){
16157 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16158 val_t REGB0;
16159 val_t tmp;
16160 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16161 fra.me.file = LOCATE_parser;
16162 fra.me.line = 5478;
16163 fra.me.meth = LOCATE_parser___ReduceAction129___action;
16164 fra.me.has_broke = 0;
16165 fra.me.REG_size = 8;
16166 fra.me.REG[0] = NIT_NULL;
16167 fra.me.REG[1] = NIT_NULL;
16168 fra.me.REG[2] = NIT_NULL;
16169 fra.me.REG[3] = NIT_NULL;
16170 fra.me.REG[4] = NIT_NULL;
16171 fra.me.REG[5] = NIT_NULL;
16172 fra.me.REG[6] = NIT_NULL;
16173 fra.me.REG[7] = NIT_NULL;
16174 fra.me.REG[0] = p0;
16175 fra.me.REG[1] = p1;
16176 /* ./parser//parser.nit:5480 */
16177 fra.me.REG[2] = NIT_NULL;
16178 /* ./parser//parser.nit:5481 */
16179 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16180 /* ./parser//parser.nit:5482 */
16181 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16182 /* ./parser//parser.nit:5483 */
16183 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16184 /* ./parser//parser.nit:5484 */
16185 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16186 /* ./parser//parser.nit:5485 */
16187 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16188 /* ./parser//parser.nit:5486 */
16189 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16190 /* ./parser//parser.nit:5488 */
16191 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*/;
16192 if (UNTAG_Bool(REGB0)) {
16193 } else {
16194 nit_abort("Assert failed", NULL, LOCATE_parser, 5488);
16195 }
16196 /* ./parser//parser.nit:5490 */
16197 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*/;
16198 if (UNTAG_Bool(REGB0)) {
16199 } else {
16200 nit_abort("Assert failed", NULL, LOCATE_parser, 5490);
16201 }
16202 /* ./parser//parser.nit:5492 */
16203 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*/;
16204 if (UNTAG_Bool(REGB0)) {
16205 } else {
16206 nit_abort("Assert failed", NULL, LOCATE_parser, 5492);
16207 }
16208 /* ./parser//parser.nit:5494 */
16209 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*/;
16210 if (UNTAG_Bool(REGB0)) {
16211 } else {
16212 nit_abort("Assert failed", NULL, LOCATE_parser, 5494);
16213 }
16214 /* ./parser//parser.nit:5496 */
16215 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*/;
16216 if (UNTAG_Bool(REGB0)) {
16217 } else {
16218 nit_abort("Assert failed", NULL, LOCATE_parser, 5496);
16219 }
16220 /* ./parser//parser.nit:5497 */
16221 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]);
16222 /* ./parser//parser.nit:5506 */
16223 fra.me.REG[2] = fra.me.REG[3];
16224 /* ./parser//parser.nit:5507 */
16225 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16226 if (UNTAG_Bool(REGB0)) {
16227 } else {
16228 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5507);
16229 }
16230 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16231 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16232 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16233 stack_frame_head = fra.me.prev;
16234 return;
16235 }
16236 void parser___ReduceAction130___action(val_t p0, val_t p1){
16237 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16238 val_t REGB0;
16239 val_t tmp;
16240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16241 fra.me.file = LOCATE_parser;
16242 fra.me.line = 5512;
16243 fra.me.meth = LOCATE_parser___ReduceAction130___action;
16244 fra.me.has_broke = 0;
16245 fra.me.REG_size = 9;
16246 fra.me.REG[0] = NIT_NULL;
16247 fra.me.REG[1] = NIT_NULL;
16248 fra.me.REG[2] = NIT_NULL;
16249 fra.me.REG[3] = NIT_NULL;
16250 fra.me.REG[4] = NIT_NULL;
16251 fra.me.REG[5] = NIT_NULL;
16252 fra.me.REG[6] = NIT_NULL;
16253 fra.me.REG[7] = NIT_NULL;
16254 fra.me.REG[8] = NIT_NULL;
16255 fra.me.REG[0] = p0;
16256 fra.me.REG[1] = p1;
16257 /* ./parser//parser.nit:5514 */
16258 fra.me.REG[2] = NIT_NULL;
16259 /* ./parser//parser.nit:5515 */
16260 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16261 /* ./parser//parser.nit:5516 */
16262 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16263 /* ./parser//parser.nit:5517 */
16264 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16265 /* ./parser//parser.nit:5518 */
16266 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16267 /* ./parser//parser.nit:5519 */
16268 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16269 /* ./parser//parser.nit:5520 */
16270 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16271 /* ./parser//parser.nit:5521 */
16272 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16273 /* ./parser//parser.nit:5523 */
16274 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*/;
16275 if (UNTAG_Bool(REGB0)) {
16276 } else {
16277 nit_abort("Assert failed", NULL, LOCATE_parser, 5523);
16278 }
16279 /* ./parser//parser.nit:5525 */
16280 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*/;
16281 if (UNTAG_Bool(REGB0)) {
16282 } else {
16283 nit_abort("Assert failed", NULL, LOCATE_parser, 5525);
16284 }
16285 /* ./parser//parser.nit:5527 */
16286 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*/;
16287 if (UNTAG_Bool(REGB0)) {
16288 } else {
16289 nit_abort("Assert failed", NULL, LOCATE_parser, 5527);
16290 }
16291 /* ./parser//parser.nit:5529 */
16292 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*/;
16293 if (UNTAG_Bool(REGB0)) {
16294 } else {
16295 nit_abort("Assert failed", NULL, LOCATE_parser, 5529);
16296 }
16297 /* ./parser//parser.nit:5531 */
16298 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*/;
16299 if (UNTAG_Bool(REGB0)) {
16300 } else {
16301 nit_abort("Assert failed", NULL, LOCATE_parser, 5531);
16302 }
16303 /* ./parser//parser.nit:5533 */
16304 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*/;
16305 if (UNTAG_Bool(REGB0)) {
16306 } else {
16307 nit_abort("Assert failed", NULL, LOCATE_parser, 5533);
16308 }
16309 /* ./parser//parser.nit:5534 */
16310 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]);
16311 /* ./parser//parser.nit:5543 */
16312 fra.me.REG[2] = fra.me.REG[3];
16313 /* ./parser//parser.nit:5544 */
16314 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16315 if (UNTAG_Bool(REGB0)) {
16316 } else {
16317 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5544);
16318 }
16319 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16320 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16321 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16322 stack_frame_head = fra.me.prev;
16323 return;
16324 }
16325 void parser___ReduceAction131___action(val_t p0, val_t p1){
16326 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16327 val_t REGB0;
16328 val_t tmp;
16329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16330 fra.me.file = LOCATE_parser;
16331 fra.me.line = 5549;
16332 fra.me.meth = LOCATE_parser___ReduceAction131___action;
16333 fra.me.has_broke = 0;
16334 fra.me.REG_size = 9;
16335 fra.me.REG[0] = NIT_NULL;
16336 fra.me.REG[1] = NIT_NULL;
16337 fra.me.REG[2] = NIT_NULL;
16338 fra.me.REG[3] = NIT_NULL;
16339 fra.me.REG[4] = NIT_NULL;
16340 fra.me.REG[5] = NIT_NULL;
16341 fra.me.REG[6] = NIT_NULL;
16342 fra.me.REG[7] = NIT_NULL;
16343 fra.me.REG[8] = NIT_NULL;
16344 fra.me.REG[0] = p0;
16345 fra.me.REG[1] = p1;
16346 /* ./parser//parser.nit:5551 */
16347 fra.me.REG[2] = NIT_NULL;
16348 /* ./parser//parser.nit:5552 */
16349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16350 /* ./parser//parser.nit:5553 */
16351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16352 /* ./parser//parser.nit:5554 */
16353 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16354 /* ./parser//parser.nit:5555 */
16355 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16356 /* ./parser//parser.nit:5556 */
16357 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16358 /* ./parser//parser.nit:5557 */
16359 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16360 /* ./parser//parser.nit:5558 */
16361 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16362 /* ./parser//parser.nit:5560 */
16363 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*/;
16364 if (UNTAG_Bool(REGB0)) {
16365 } else {
16366 nit_abort("Assert failed", NULL, LOCATE_parser, 5560);
16367 }
16368 /* ./parser//parser.nit:5562 */
16369 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*/;
16370 if (UNTAG_Bool(REGB0)) {
16371 } else {
16372 nit_abort("Assert failed", NULL, LOCATE_parser, 5562);
16373 }
16374 /* ./parser//parser.nit:5564 */
16375 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*/;
16376 if (UNTAG_Bool(REGB0)) {
16377 } else {
16378 nit_abort("Assert failed", NULL, LOCATE_parser, 5564);
16379 }
16380 /* ./parser//parser.nit:5566 */
16381 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*/;
16382 if (UNTAG_Bool(REGB0)) {
16383 } else {
16384 nit_abort("Assert failed", NULL, LOCATE_parser, 5566);
16385 }
16386 /* ./parser//parser.nit:5568 */
16387 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*/;
16388 if (UNTAG_Bool(REGB0)) {
16389 } else {
16390 nit_abort("Assert failed", NULL, LOCATE_parser, 5568);
16391 }
16392 /* ./parser//parser.nit:5570 */
16393 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*/;
16394 if (UNTAG_Bool(REGB0)) {
16395 } else {
16396 nit_abort("Assert failed", NULL, LOCATE_parser, 5570);
16397 }
16398 /* ./parser//parser.nit:5571 */
16399 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]);
16400 /* ./parser//parser.nit:5580 */
16401 fra.me.REG[2] = fra.me.REG[3];
16402 /* ./parser//parser.nit:5581 */
16403 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16404 if (UNTAG_Bool(REGB0)) {
16405 } else {
16406 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5581);
16407 }
16408 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16409 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16410 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16411 stack_frame_head = fra.me.prev;
16412 return;
16413 }
16414 void parser___ReduceAction132___action(val_t p0, val_t p1){
16415 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
16416 val_t REGB0;
16417 val_t tmp;
16418 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16419 fra.me.file = LOCATE_parser;
16420 fra.me.line = 5586;
16421 fra.me.meth = LOCATE_parser___ReduceAction132___action;
16422 fra.me.has_broke = 0;
16423 fra.me.REG_size = 10;
16424 fra.me.REG[0] = NIT_NULL;
16425 fra.me.REG[1] = NIT_NULL;
16426 fra.me.REG[2] = NIT_NULL;
16427 fra.me.REG[3] = NIT_NULL;
16428 fra.me.REG[4] = NIT_NULL;
16429 fra.me.REG[5] = NIT_NULL;
16430 fra.me.REG[6] = NIT_NULL;
16431 fra.me.REG[7] = NIT_NULL;
16432 fra.me.REG[8] = NIT_NULL;
16433 fra.me.REG[9] = NIT_NULL;
16434 fra.me.REG[0] = p0;
16435 fra.me.REG[1] = p1;
16436 /* ./parser//parser.nit:5588 */
16437 fra.me.REG[2] = NIT_NULL;
16438 /* ./parser//parser.nit:5589 */
16439 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16440 /* ./parser//parser.nit:5590 */
16441 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16442 /* ./parser//parser.nit:5591 */
16443 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16444 /* ./parser//parser.nit:5592 */
16445 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16446 /* ./parser//parser.nit:5593 */
16447 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16448 /* ./parser//parser.nit:5594 */
16449 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16450 /* ./parser//parser.nit:5595 */
16451 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16452 /* ./parser//parser.nit:5596 */
16453 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16454 /* ./parser//parser.nit:5598 */
16455 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*/;
16456 if (UNTAG_Bool(REGB0)) {
16457 } else {
16458 nit_abort("Assert failed", NULL, LOCATE_parser, 5598);
16459 }
16460 /* ./parser//parser.nit:5600 */
16461 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*/;
16462 if (UNTAG_Bool(REGB0)) {
16463 } else {
16464 nit_abort("Assert failed", NULL, LOCATE_parser, 5600);
16465 }
16466 /* ./parser//parser.nit:5602 */
16467 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*/;
16468 if (UNTAG_Bool(REGB0)) {
16469 } else {
16470 nit_abort("Assert failed", NULL, LOCATE_parser, 5602);
16471 }
16472 /* ./parser//parser.nit:5604 */
16473 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*/;
16474 if (UNTAG_Bool(REGB0)) {
16475 } else {
16476 nit_abort("Assert failed", NULL, LOCATE_parser, 5604);
16477 }
16478 /* ./parser//parser.nit:5606 */
16479 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*/;
16480 if (UNTAG_Bool(REGB0)) {
16481 } else {
16482 nit_abort("Assert failed", NULL, LOCATE_parser, 5606);
16483 }
16484 /* ./parser//parser.nit:5608 */
16485 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*/;
16486 if (UNTAG_Bool(REGB0)) {
16487 } else {
16488 nit_abort("Assert failed", NULL, LOCATE_parser, 5608);
16489 }
16490 /* ./parser//parser.nit:5610 */
16491 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*/;
16492 if (UNTAG_Bool(REGB0)) {
16493 } else {
16494 nit_abort("Assert failed", NULL, LOCATE_parser, 5610);
16495 }
16496 /* ./parser//parser.nit:5611 */
16497 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]);
16498 /* ./parser//parser.nit:5620 */
16499 fra.me.REG[2] = fra.me.REG[3];
16500 /* ./parser//parser.nit:5621 */
16501 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16502 if (UNTAG_Bool(REGB0)) {
16503 } else {
16504 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5621);
16505 }
16506 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16507 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16508 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16509 stack_frame_head = fra.me.prev;
16510 return;
16511 }
16512 void parser___ReduceAction133___action(val_t p0, val_t p1){
16513 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16514 val_t REGB0;
16515 val_t tmp;
16516 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16517 fra.me.file = LOCATE_parser;
16518 fra.me.line = 5626;
16519 fra.me.meth = LOCATE_parser___ReduceAction133___action;
16520 fra.me.has_broke = 0;
16521 fra.me.REG_size = 8;
16522 fra.me.REG[0] = NIT_NULL;
16523 fra.me.REG[1] = NIT_NULL;
16524 fra.me.REG[2] = NIT_NULL;
16525 fra.me.REG[3] = NIT_NULL;
16526 fra.me.REG[4] = NIT_NULL;
16527 fra.me.REG[5] = NIT_NULL;
16528 fra.me.REG[6] = NIT_NULL;
16529 fra.me.REG[7] = NIT_NULL;
16530 fra.me.REG[0] = p0;
16531 fra.me.REG[1] = p1;
16532 /* ./parser//parser.nit:5628 */
16533 fra.me.REG[2] = NIT_NULL;
16534 /* ./parser//parser.nit:5629 */
16535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16536 /* ./parser//parser.nit:5630 */
16537 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16538 /* ./parser//parser.nit:5631 */
16539 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16540 /* ./parser//parser.nit:5632 */
16541 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16542 /* ./parser//parser.nit:5633 */
16543 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16544 /* ./parser//parser.nit:5634 */
16545 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16546 /* ./parser//parser.nit:5635 */
16547 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16548 /* ./parser//parser.nit:5637 */
16549 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*/;
16550 if (UNTAG_Bool(REGB0)) {
16551 } else {
16552 nit_abort("Assert failed", NULL, LOCATE_parser, 5637);
16553 }
16554 /* ./parser//parser.nit:5639 */
16555 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*/;
16556 if (UNTAG_Bool(REGB0)) {
16557 } else {
16558 nit_abort("Assert failed", NULL, LOCATE_parser, 5639);
16559 }
16560 /* ./parser//parser.nit:5641 */
16561 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*/;
16562 if (UNTAG_Bool(REGB0)) {
16563 } else {
16564 nit_abort("Assert failed", NULL, LOCATE_parser, 5641);
16565 }
16566 /* ./parser//parser.nit:5643 */
16567 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*/;
16568 if (UNTAG_Bool(REGB0)) {
16569 } else {
16570 nit_abort("Assert failed", NULL, LOCATE_parser, 5643);
16571 }
16572 /* ./parser//parser.nit:5645 */
16573 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*/;
16574 if (UNTAG_Bool(REGB0)) {
16575 } else {
16576 nit_abort("Assert failed", NULL, LOCATE_parser, 5645);
16577 }
16578 /* ./parser//parser.nit:5646 */
16579 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]);
16580 /* ./parser//parser.nit:5655 */
16581 fra.me.REG[2] = fra.me.REG[3];
16582 /* ./parser//parser.nit:5656 */
16583 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16584 if (UNTAG_Bool(REGB0)) {
16585 } else {
16586 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5656);
16587 }
16588 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16589 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16590 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16591 stack_frame_head = fra.me.prev;
16592 return;
16593 }
16594 void parser___ReduceAction134___action(val_t p0, val_t p1){
16595 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16596 val_t REGB0;
16597 val_t tmp;
16598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16599 fra.me.file = LOCATE_parser;
16600 fra.me.line = 5661;
16601 fra.me.meth = LOCATE_parser___ReduceAction134___action;
16602 fra.me.has_broke = 0;
16603 fra.me.REG_size = 9;
16604 fra.me.REG[0] = NIT_NULL;
16605 fra.me.REG[1] = NIT_NULL;
16606 fra.me.REG[2] = NIT_NULL;
16607 fra.me.REG[3] = NIT_NULL;
16608 fra.me.REG[4] = NIT_NULL;
16609 fra.me.REG[5] = NIT_NULL;
16610 fra.me.REG[6] = NIT_NULL;
16611 fra.me.REG[7] = NIT_NULL;
16612 fra.me.REG[8] = NIT_NULL;
16613 fra.me.REG[0] = p0;
16614 fra.me.REG[1] = p1;
16615 /* ./parser//parser.nit:5663 */
16616 fra.me.REG[2] = NIT_NULL;
16617 /* ./parser//parser.nit:5664 */
16618 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16619 /* ./parser//parser.nit:5665 */
16620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16621 /* ./parser//parser.nit:5666 */
16622 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16623 /* ./parser//parser.nit:5667 */
16624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16625 /* ./parser//parser.nit:5668 */
16626 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16627 /* ./parser//parser.nit:5669 */
16628 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16629 /* ./parser//parser.nit:5670 */
16630 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16631 /* ./parser//parser.nit:5671 */
16632 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16633 /* ./parser//parser.nit:5673 */
16634 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*/;
16635 if (UNTAG_Bool(REGB0)) {
16636 } else {
16637 nit_abort("Assert failed", NULL, LOCATE_parser, 5673);
16638 }
16639 /* ./parser//parser.nit:5675 */
16640 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*/;
16641 if (UNTAG_Bool(REGB0)) {
16642 } else {
16643 nit_abort("Assert failed", NULL, LOCATE_parser, 5675);
16644 }
16645 /* ./parser//parser.nit:5677 */
16646 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*/;
16647 if (UNTAG_Bool(REGB0)) {
16648 } else {
16649 nit_abort("Assert failed", NULL, LOCATE_parser, 5677);
16650 }
16651 /* ./parser//parser.nit:5679 */
16652 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*/;
16653 if (UNTAG_Bool(REGB0)) {
16654 } else {
16655 nit_abort("Assert failed", NULL, LOCATE_parser, 5679);
16656 }
16657 /* ./parser//parser.nit:5681 */
16658 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*/;
16659 if (UNTAG_Bool(REGB0)) {
16660 } else {
16661 nit_abort("Assert failed", NULL, LOCATE_parser, 5681);
16662 }
16663 /* ./parser//parser.nit:5683 */
16664 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*/;
16665 if (UNTAG_Bool(REGB0)) {
16666 } else {
16667 nit_abort("Assert failed", NULL, LOCATE_parser, 5683);
16668 }
16669 /* ./parser//parser.nit:5684 */
16670 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]);
16671 /* ./parser//parser.nit:5693 */
16672 fra.me.REG[2] = fra.me.REG[3];
16673 /* ./parser//parser.nit:5694 */
16674 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16675 if (UNTAG_Bool(REGB0)) {
16676 } else {
16677 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5694);
16678 }
16679 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16680 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16681 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16682 stack_frame_head = fra.me.prev;
16683 return;
16684 }
16685 void parser___ReduceAction135___action(val_t p0, val_t p1){
16686 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16687 val_t REGB0;
16688 val_t tmp;
16689 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16690 fra.me.file = LOCATE_parser;
16691 fra.me.line = 5699;
16692 fra.me.meth = LOCATE_parser___ReduceAction135___action;
16693 fra.me.has_broke = 0;
16694 fra.me.REG_size = 9;
16695 fra.me.REG[0] = NIT_NULL;
16696 fra.me.REG[1] = NIT_NULL;
16697 fra.me.REG[2] = NIT_NULL;
16698 fra.me.REG[3] = NIT_NULL;
16699 fra.me.REG[4] = NIT_NULL;
16700 fra.me.REG[5] = NIT_NULL;
16701 fra.me.REG[6] = NIT_NULL;
16702 fra.me.REG[7] = NIT_NULL;
16703 fra.me.REG[8] = NIT_NULL;
16704 fra.me.REG[0] = p0;
16705 fra.me.REG[1] = p1;
16706 /* ./parser//parser.nit:5701 */
16707 fra.me.REG[2] = NIT_NULL;
16708 /* ./parser//parser.nit:5702 */
16709 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16710 /* ./parser//parser.nit:5703 */
16711 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16712 /* ./parser//parser.nit:5704 */
16713 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16714 /* ./parser//parser.nit:5705 */
16715 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16716 /* ./parser//parser.nit:5706 */
16717 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16718 /* ./parser//parser.nit:5707 */
16719 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16720 /* ./parser//parser.nit:5708 */
16721 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16722 /* ./parser//parser.nit:5709 */
16723 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16724 /* ./parser//parser.nit:5711 */
16725 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*/;
16726 if (UNTAG_Bool(REGB0)) {
16727 } else {
16728 nit_abort("Assert failed", NULL, LOCATE_parser, 5711);
16729 }
16730 /* ./parser//parser.nit:5713 */
16731 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*/;
16732 if (UNTAG_Bool(REGB0)) {
16733 } else {
16734 nit_abort("Assert failed", NULL, LOCATE_parser, 5713);
16735 }
16736 /* ./parser//parser.nit:5715 */
16737 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*/;
16738 if (UNTAG_Bool(REGB0)) {
16739 } else {
16740 nit_abort("Assert failed", NULL, LOCATE_parser, 5715);
16741 }
16742 /* ./parser//parser.nit:5717 */
16743 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*/;
16744 if (UNTAG_Bool(REGB0)) {
16745 } else {
16746 nit_abort("Assert failed", NULL, LOCATE_parser, 5717);
16747 }
16748 /* ./parser//parser.nit:5719 */
16749 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*/;
16750 if (UNTAG_Bool(REGB0)) {
16751 } else {
16752 nit_abort("Assert failed", NULL, LOCATE_parser, 5719);
16753 }
16754 /* ./parser//parser.nit:5721 */
16755 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*/;
16756 if (UNTAG_Bool(REGB0)) {
16757 } else {
16758 nit_abort("Assert failed", NULL, LOCATE_parser, 5721);
16759 }
16760 /* ./parser//parser.nit:5722 */
16761 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]);
16762 /* ./parser//parser.nit:5731 */
16763 fra.me.REG[2] = fra.me.REG[3];
16764 /* ./parser//parser.nit:5732 */
16765 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16766 if (UNTAG_Bool(REGB0)) {
16767 } else {
16768 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5732);
16769 }
16770 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16771 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16772 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16773 stack_frame_head = fra.me.prev;
16774 return;
16775 }
16776 void parser___ReduceAction136___action(val_t p0, val_t p1){
16777 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
16778 val_t REGB0;
16779 val_t tmp;
16780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16781 fra.me.file = LOCATE_parser;
16782 fra.me.line = 5737;
16783 fra.me.meth = LOCATE_parser___ReduceAction136___action;
16784 fra.me.has_broke = 0;
16785 fra.me.REG_size = 10;
16786 fra.me.REG[0] = NIT_NULL;
16787 fra.me.REG[1] = NIT_NULL;
16788 fra.me.REG[2] = NIT_NULL;
16789 fra.me.REG[3] = NIT_NULL;
16790 fra.me.REG[4] = NIT_NULL;
16791 fra.me.REG[5] = NIT_NULL;
16792 fra.me.REG[6] = NIT_NULL;
16793 fra.me.REG[7] = NIT_NULL;
16794 fra.me.REG[8] = NIT_NULL;
16795 fra.me.REG[9] = NIT_NULL;
16796 fra.me.REG[0] = p0;
16797 fra.me.REG[1] = p1;
16798 /* ./parser//parser.nit:5739 */
16799 fra.me.REG[2] = NIT_NULL;
16800 /* ./parser//parser.nit:5740 */
16801 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16802 /* ./parser//parser.nit:5741 */
16803 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16804 /* ./parser//parser.nit:5742 */
16805 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16806 /* ./parser//parser.nit:5743 */
16807 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16808 /* ./parser//parser.nit:5744 */
16809 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16810 /* ./parser//parser.nit:5745 */
16811 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16812 /* ./parser//parser.nit:5746 */
16813 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16814 /* ./parser//parser.nit:5747 */
16815 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16816 /* ./parser//parser.nit:5748 */
16817 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16818 /* ./parser//parser.nit:5750 */
16819 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*/;
16820 if (UNTAG_Bool(REGB0)) {
16821 } else {
16822 nit_abort("Assert failed", NULL, LOCATE_parser, 5750);
16823 }
16824 /* ./parser//parser.nit:5752 */
16825 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*/;
16826 if (UNTAG_Bool(REGB0)) {
16827 } else {
16828 nit_abort("Assert failed", NULL, LOCATE_parser, 5752);
16829 }
16830 /* ./parser//parser.nit:5754 */
16831 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*/;
16832 if (UNTAG_Bool(REGB0)) {
16833 } else {
16834 nit_abort("Assert failed", NULL, LOCATE_parser, 5754);
16835 }
16836 /* ./parser//parser.nit:5756 */
16837 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*/;
16838 if (UNTAG_Bool(REGB0)) {
16839 } else {
16840 nit_abort("Assert failed", NULL, LOCATE_parser, 5756);
16841 }
16842 /* ./parser//parser.nit:5758 */
16843 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*/;
16844 if (UNTAG_Bool(REGB0)) {
16845 } else {
16846 nit_abort("Assert failed", NULL, LOCATE_parser, 5758);
16847 }
16848 /* ./parser//parser.nit:5760 */
16849 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*/;
16850 if (UNTAG_Bool(REGB0)) {
16851 } else {
16852 nit_abort("Assert failed", NULL, LOCATE_parser, 5760);
16853 }
16854 /* ./parser//parser.nit:5762 */
16855 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*/;
16856 if (UNTAG_Bool(REGB0)) {
16857 } else {
16858 nit_abort("Assert failed", NULL, LOCATE_parser, 5762);
16859 }
16860 /* ./parser//parser.nit:5763 */
16861 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]);
16862 /* ./parser//parser.nit:5772 */
16863 fra.me.REG[2] = fra.me.REG[3];
16864 /* ./parser//parser.nit:5773 */
16865 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16866 if (UNTAG_Bool(REGB0)) {
16867 } else {
16868 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5773);
16869 }
16870 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16871 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16872 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16873 stack_frame_head = fra.me.prev;
16874 return;
16875 }
16876 void parser___ReduceAction137___action(val_t p0, val_t p1){
16877 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
16878 val_t REGB0;
16879 val_t tmp;
16880 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16881 fra.me.file = LOCATE_parser;
16882 fra.me.line = 5778;
16883 fra.me.meth = LOCATE_parser___ReduceAction137___action;
16884 fra.me.has_broke = 0;
16885 fra.me.REG_size = 8;
16886 fra.me.REG[0] = NIT_NULL;
16887 fra.me.REG[1] = NIT_NULL;
16888 fra.me.REG[2] = NIT_NULL;
16889 fra.me.REG[3] = NIT_NULL;
16890 fra.me.REG[4] = NIT_NULL;
16891 fra.me.REG[5] = NIT_NULL;
16892 fra.me.REG[6] = NIT_NULL;
16893 fra.me.REG[7] = NIT_NULL;
16894 fra.me.REG[0] = p0;
16895 fra.me.REG[1] = p1;
16896 /* ./parser//parser.nit:5780 */
16897 fra.me.REG[2] = NIT_NULL;
16898 /* ./parser//parser.nit:5781 */
16899 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16900 /* ./parser//parser.nit:5782 */
16901 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16902 /* ./parser//parser.nit:5783 */
16903 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16904 /* ./parser//parser.nit:5784 */
16905 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16906 /* ./parser//parser.nit:5785 */
16907 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16908 /* ./parser//parser.nit:5787 */
16909 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*/;
16910 if (UNTAG_Bool(REGB0)) {
16911 } else {
16912 nit_abort("Assert failed", NULL, LOCATE_parser, 5787);
16913 }
16914 /* ./parser//parser.nit:5789 */
16915 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*/;
16916 if (UNTAG_Bool(REGB0)) {
16917 } else {
16918 nit_abort("Assert failed", NULL, LOCATE_parser, 5789);
16919 }
16920 /* ./parser//parser.nit:5791 */
16921 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*/;
16922 if (UNTAG_Bool(REGB0)) {
16923 } else {
16924 nit_abort("Assert failed", NULL, LOCATE_parser, 5791);
16925 }
16926 /* ./parser//parser.nit:5793 */
16927 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*/;
16928 if (UNTAG_Bool(REGB0)) {
16929 } else {
16930 nit_abort("Assert failed", NULL, LOCATE_parser, 5793);
16931 }
16932 /* ./parser//parser.nit:5795 */
16933 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*/;
16934 if (UNTAG_Bool(REGB0)) {
16935 } else {
16936 nit_abort("Assert failed", NULL, LOCATE_parser, 5795);
16937 }
16938 /* ./parser//parser.nit:5796 */
16939 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]);
16940 /* ./parser//parser.nit:5804 */
16941 fra.me.REG[2] = fra.me.REG[3];
16942 /* ./parser//parser.nit:5805 */
16943 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16944 if (UNTAG_Bool(REGB0)) {
16945 } else {
16946 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5805);
16947 }
16948 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16949 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16950 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16951 stack_frame_head = fra.me.prev;
16952 return;
16953 }
16954 void parser___ReduceAction138___action(val_t p0, val_t p1){
16955 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
16956 val_t REGB0;
16957 val_t tmp;
16958 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16959 fra.me.file = LOCATE_parser;
16960 fra.me.line = 5810;
16961 fra.me.meth = LOCATE_parser___ReduceAction138___action;
16962 fra.me.has_broke = 0;
16963 fra.me.REG_size = 9;
16964 fra.me.REG[0] = NIT_NULL;
16965 fra.me.REG[1] = NIT_NULL;
16966 fra.me.REG[2] = NIT_NULL;
16967 fra.me.REG[3] = NIT_NULL;
16968 fra.me.REG[4] = NIT_NULL;
16969 fra.me.REG[5] = NIT_NULL;
16970 fra.me.REG[6] = NIT_NULL;
16971 fra.me.REG[7] = NIT_NULL;
16972 fra.me.REG[8] = NIT_NULL;
16973 fra.me.REG[0] = p0;
16974 fra.me.REG[1] = p1;
16975 /* ./parser//parser.nit:5812 */
16976 fra.me.REG[2] = NIT_NULL;
16977 /* ./parser//parser.nit:5813 */
16978 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16979 /* ./parser//parser.nit:5814 */
16980 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16981 /* ./parser//parser.nit:5815 */
16982 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16983 /* ./parser//parser.nit:5816 */
16984 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16985 /* ./parser//parser.nit:5817 */
16986 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16987 /* ./parser//parser.nit:5818 */
16988 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16989 /* ./parser//parser.nit:5820 */
16990 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*/;
16991 if (UNTAG_Bool(REGB0)) {
16992 } else {
16993 nit_abort("Assert failed", NULL, LOCATE_parser, 5820);
16994 }
16995 /* ./parser//parser.nit:5822 */
16996 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*/;
16997 if (UNTAG_Bool(REGB0)) {
16998 } else {
16999 nit_abort("Assert failed", NULL, LOCATE_parser, 5822);
17000 }
17001 /* ./parser//parser.nit:5824 */
17002 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*/;
17003 if (UNTAG_Bool(REGB0)) {
17004 } else {
17005 nit_abort("Assert failed", NULL, LOCATE_parser, 5824);
17006 }
17007 /* ./parser//parser.nit:5826 */
17008 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*/;
17009 if (UNTAG_Bool(REGB0)) {
17010 } else {
17011 nit_abort("Assert failed", NULL, LOCATE_parser, 5826);
17012 }
17013 /* ./parser//parser.nit:5828 */
17014 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*/;
17015 if (UNTAG_Bool(REGB0)) {
17016 } else {
17017 nit_abort("Assert failed", NULL, LOCATE_parser, 5828);
17018 }
17019 /* ./parser//parser.nit:5830 */
17020 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*/;
17021 if (UNTAG_Bool(REGB0)) {
17022 } else {
17023 nit_abort("Assert failed", NULL, LOCATE_parser, 5830);
17024 }
17025 /* ./parser//parser.nit:5831 */
17026 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]);
17027 /* ./parser//parser.nit:5839 */
17028 fra.me.REG[2] = fra.me.REG[3];
17029 /* ./parser//parser.nit:5840 */
17030 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17031 if (UNTAG_Bool(REGB0)) {
17032 } else {
17033 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5840);
17034 }
17035 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17036 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17037 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17038 stack_frame_head = fra.me.prev;
17039 return;
17040 }
17041 void parser___ReduceAction139___action(val_t p0, val_t p1){
17042 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17043 val_t REGB0;
17044 val_t tmp;
17045 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17046 fra.me.file = LOCATE_parser;
17047 fra.me.line = 5845;
17048 fra.me.meth = LOCATE_parser___ReduceAction139___action;
17049 fra.me.has_broke = 0;
17050 fra.me.REG_size = 4;
17051 fra.me.REG[0] = NIT_NULL;
17052 fra.me.REG[1] = NIT_NULL;
17053 fra.me.REG[2] = NIT_NULL;
17054 fra.me.REG[3] = NIT_NULL;
17055 fra.me.REG[0] = p0;
17056 fra.me.REG[1] = p1;
17057 /* ./parser//parser.nit:5847 */
17058 fra.me.REG[2] = NIT_NULL;
17059 /* ./parser//parser.nit:5848 */
17060 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17061 /* ./parser//parser.nit:5850 */
17062 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*/;
17063 if (UNTAG_Bool(REGB0)) {
17064 } else {
17065 nit_abort("Assert failed", NULL, LOCATE_parser, 5850);
17066 }
17067 /* ./parser//parser.nit:5851 */
17068 fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[3]);
17069 /* ./parser//parser.nit:5855 */
17070 fra.me.REG[2] = fra.me.REG[3];
17071 /* ./parser//parser.nit:5856 */
17072 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17073 if (UNTAG_Bool(REGB0)) {
17074 } else {
17075 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5856);
17076 }
17077 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17078 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17079 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17080 stack_frame_head = fra.me.prev;
17081 return;
17082 }
17083 void parser___ReduceAction140___action(val_t p0, val_t p1){
17084 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
17085 val_t REGB0;
17086 val_t tmp;
17087 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17088 fra.me.file = LOCATE_parser;
17089 fra.me.line = 5861;
17090 fra.me.meth = LOCATE_parser___ReduceAction140___action;
17091 fra.me.has_broke = 0;
17092 fra.me.REG_size = 5;
17093 fra.me.REG[0] = NIT_NULL;
17094 fra.me.REG[1] = NIT_NULL;
17095 fra.me.REG[2] = NIT_NULL;
17096 fra.me.REG[3] = NIT_NULL;
17097 fra.me.REG[4] = NIT_NULL;
17098 fra.me.REG[0] = p0;
17099 fra.me.REG[1] = p1;
17100 /* ./parser//parser.nit:5863 */
17101 fra.me.REG[2] = NIT_NULL;
17102 /* ./parser//parser.nit:5864 */
17103 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17104 /* ./parser//parser.nit:5865 */
17105 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17106 /* ./parser//parser.nit:5867 */
17107 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*/;
17108 if (UNTAG_Bool(REGB0)) {
17109 } else {
17110 nit_abort("Assert failed", NULL, LOCATE_parser, 5867);
17111 }
17112 /* ./parser//parser.nit:5869 */
17113 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*/;
17114 if (UNTAG_Bool(REGB0)) {
17115 } else {
17116 nit_abort("Assert failed", NULL, LOCATE_parser, 5869);
17117 }
17118 /* ./parser//parser.nit:5870 */
17119 fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(fra.me.REG[4], fra.me.REG[3]);
17120 /* ./parser//parser.nit:5874 */
17121 fra.me.REG[2] = fra.me.REG[3];
17122 /* ./parser//parser.nit:5875 */
17123 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17124 if (UNTAG_Bool(REGB0)) {
17125 } else {
17126 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5875);
17127 }
17128 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17129 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17130 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17131 stack_frame_head = fra.me.prev;
17132 return;
17133 }
17134 void parser___ReduceAction141___action(val_t p0, val_t p1){
17135 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17136 val_t REGB0;
17137 val_t tmp;
17138 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17139 fra.me.file = LOCATE_parser;
17140 fra.me.line = 5880;
17141 fra.me.meth = LOCATE_parser___ReduceAction141___action;
17142 fra.me.has_broke = 0;
17143 fra.me.REG_size = 4;
17144 fra.me.REG[0] = NIT_NULL;
17145 fra.me.REG[1] = NIT_NULL;
17146 fra.me.REG[2] = NIT_NULL;
17147 fra.me.REG[3] = NIT_NULL;
17148 fra.me.REG[0] = p0;
17149 fra.me.REG[1] = p1;
17150 /* ./parser//parser.nit:5882 */
17151 fra.me.REG[2] = NIT_NULL;
17152 /* ./parser//parser.nit:5883 */
17153 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17154 /* ./parser//parser.nit:5885 */
17155 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*/;
17156 if (UNTAG_Bool(REGB0)) {
17157 } else {
17158 nit_abort("Assert failed", NULL, LOCATE_parser, 5885);
17159 }
17160 /* ./parser//parser.nit:5886 */
17161 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, NIT_NULL, fra.me.REG[3]);
17162 /* ./parser//parser.nit:5891 */
17163 fra.me.REG[2] = fra.me.REG[3];
17164 /* ./parser//parser.nit:5892 */
17165 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17166 if (UNTAG_Bool(REGB0)) {
17167 } else {
17168 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5892);
17169 }
17170 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17171 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17172 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17173 stack_frame_head = fra.me.prev;
17174 return;
17175 }
17176 void parser___ReduceAction142___action(val_t p0, val_t p1){
17177 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
17178 val_t REGB0;
17179 val_t tmp;
17180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17181 fra.me.file = LOCATE_parser;
17182 fra.me.line = 5897;
17183 fra.me.meth = LOCATE_parser___ReduceAction142___action;
17184 fra.me.has_broke = 0;
17185 fra.me.REG_size = 5;
17186 fra.me.REG[0] = NIT_NULL;
17187 fra.me.REG[1] = NIT_NULL;
17188 fra.me.REG[2] = NIT_NULL;
17189 fra.me.REG[3] = NIT_NULL;
17190 fra.me.REG[4] = NIT_NULL;
17191 fra.me.REG[0] = p0;
17192 fra.me.REG[1] = p1;
17193 /* ./parser//parser.nit:5899 */
17194 fra.me.REG[2] = NIT_NULL;
17195 /* ./parser//parser.nit:5900 */
17196 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17197 /* ./parser//parser.nit:5901 */
17198 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17199 /* ./parser//parser.nit:5903 */
17200 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*/;
17201 if (UNTAG_Bool(REGB0)) {
17202 } else {
17203 nit_abort("Assert failed", NULL, LOCATE_parser, 5903);
17204 }
17205 /* ./parser//parser.nit:5905 */
17206 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*/;
17207 if (UNTAG_Bool(REGB0)) {
17208 } else {
17209 nit_abort("Assert failed", NULL, LOCATE_parser, 5905);
17210 }
17211 /* ./parser//parser.nit:5906 */
17212 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
17213 /* ./parser//parser.nit:5911 */
17214 fra.me.REG[2] = fra.me.REG[3];
17215 /* ./parser//parser.nit:5912 */
17216 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17217 if (UNTAG_Bool(REGB0)) {
17218 } else {
17219 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5912);
17220 }
17221 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17222 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17223 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17224 stack_frame_head = fra.me.prev;
17225 return;
17226 }
17227 void parser___ReduceAction143___action(val_t p0, val_t p1){
17228 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
17229 val_t REGB0;
17230 val_t tmp;
17231 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17232 fra.me.file = LOCATE_parser;
17233 fra.me.line = 5917;
17234 fra.me.meth = LOCATE_parser___ReduceAction143___action;
17235 fra.me.has_broke = 0;
17236 fra.me.REG_size = 5;
17237 fra.me.REG[0] = NIT_NULL;
17238 fra.me.REG[1] = NIT_NULL;
17239 fra.me.REG[2] = NIT_NULL;
17240 fra.me.REG[3] = NIT_NULL;
17241 fra.me.REG[4] = NIT_NULL;
17242 fra.me.REG[0] = p0;
17243 fra.me.REG[1] = p1;
17244 /* ./parser//parser.nit:5919 */
17245 fra.me.REG[2] = NIT_NULL;
17246 /* ./parser//parser.nit:5920 */
17247 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17248 /* ./parser//parser.nit:5921 */
17249 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17250 /* ./parser//parser.nit:5923 */
17251 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*/;
17252 if (UNTAG_Bool(REGB0)) {
17253 } else {
17254 nit_abort("Assert failed", NULL, LOCATE_parser, 5923);
17255 }
17256 /* ./parser//parser.nit:5925 */
17257 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*/;
17258 if (UNTAG_Bool(REGB0)) {
17259 } else {
17260 nit_abort("Assert failed", NULL, LOCATE_parser, 5925);
17261 }
17262 /* ./parser//parser.nit:5926 */
17263 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
17264 /* ./parser//parser.nit:5931 */
17265 fra.me.REG[2] = fra.me.REG[3];
17266 /* ./parser//parser.nit:5932 */
17267 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17268 if (UNTAG_Bool(REGB0)) {
17269 } else {
17270 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5932);
17271 }
17272 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17273 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17274 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17275 stack_frame_head = fra.me.prev;
17276 return;
17277 }
17278 void parser___ReduceAction144___action(val_t p0, val_t p1){
17279 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
17280 val_t REGB0;
17281 val_t tmp;
17282 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17283 fra.me.file = LOCATE_parser;
17284 fra.me.line = 5937;
17285 fra.me.meth = LOCATE_parser___ReduceAction144___action;
17286 fra.me.has_broke = 0;
17287 fra.me.REG_size = 6;
17288 fra.me.REG[0] = NIT_NULL;
17289 fra.me.REG[1] = NIT_NULL;
17290 fra.me.REG[2] = NIT_NULL;
17291 fra.me.REG[3] = NIT_NULL;
17292 fra.me.REG[4] = NIT_NULL;
17293 fra.me.REG[5] = NIT_NULL;
17294 fra.me.REG[0] = p0;
17295 fra.me.REG[1] = p1;
17296 /* ./parser//parser.nit:5939 */
17297 fra.me.REG[2] = NIT_NULL;
17298 /* ./parser//parser.nit:5940 */
17299 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17300 /* ./parser//parser.nit:5941 */
17301 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17302 /* ./parser//parser.nit:5942 */
17303 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17304 /* ./parser//parser.nit:5944 */
17305 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*/;
17306 if (UNTAG_Bool(REGB0)) {
17307 } else {
17308 nit_abort("Assert failed", NULL, LOCATE_parser, 5944);
17309 }
17310 /* ./parser//parser.nit:5946 */
17311 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*/;
17312 if (UNTAG_Bool(REGB0)) {
17313 } else {
17314 nit_abort("Assert failed", NULL, LOCATE_parser, 5946);
17315 }
17316 /* ./parser//parser.nit:5948 */
17317 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*/;
17318 if (UNTAG_Bool(REGB0)) {
17319 } else {
17320 nit_abort("Assert failed", NULL, LOCATE_parser, 5948);
17321 }
17322 /* ./parser//parser.nit:5949 */
17323 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
17324 /* ./parser//parser.nit:5954 */
17325 fra.me.REG[2] = fra.me.REG[3];
17326 /* ./parser//parser.nit:5955 */
17327 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17328 if (UNTAG_Bool(REGB0)) {
17329 } else {
17330 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5955);
17331 }
17332 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17333 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17334 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17335 stack_frame_head = fra.me.prev;
17336 return;
17337 }
17338 void parser___ReduceAction145___action(val_t p0, val_t p1){
17339 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17340 val_t REGB0;
17341 val_t tmp;
17342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17343 fra.me.file = LOCATE_parser;
17344 fra.me.line = 5960;
17345 fra.me.meth = LOCATE_parser___ReduceAction145___action;
17346 fra.me.has_broke = 0;
17347 fra.me.REG_size = 4;
17348 fra.me.REG[0] = NIT_NULL;
17349 fra.me.REG[1] = NIT_NULL;
17350 fra.me.REG[2] = NIT_NULL;
17351 fra.me.REG[3] = NIT_NULL;
17352 fra.me.REG[0] = p0;
17353 fra.me.REG[1] = p1;
17354 /* ./parser//parser.nit:5962 */
17355 fra.me.REG[2] = NIT_NULL;
17356 /* ./parser//parser.nit:5963 */
17357 fra.me.REG[3] = NEW_APublicVisibility_parser___parser_prod___APublicVisibility___init_apublicvisibility();
17358 /* ./parser//parser.nit:5965 */
17359 fra.me.REG[2] = fra.me.REG[3];
17360 /* ./parser//parser.nit:5966 */
17361 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17362 if (UNTAG_Bool(REGB0)) {
17363 } else {
17364 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5966);
17365 }
17366 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17367 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17368 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17369 stack_frame_head = fra.me.prev;
17370 return;
17371 }
17372 void parser___ReduceAction146___action(val_t p0, val_t p1){
17373 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17374 val_t REGB0;
17375 val_t tmp;
17376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17377 fra.me.file = LOCATE_parser;
17378 fra.me.line = 5971;
17379 fra.me.meth = LOCATE_parser___ReduceAction146___action;
17380 fra.me.has_broke = 0;
17381 fra.me.REG_size = 4;
17382 fra.me.REG[0] = NIT_NULL;
17383 fra.me.REG[1] = NIT_NULL;
17384 fra.me.REG[2] = NIT_NULL;
17385 fra.me.REG[3] = NIT_NULL;
17386 fra.me.REG[0] = p0;
17387 fra.me.REG[1] = p1;
17388 /* ./parser//parser.nit:5973 */
17389 fra.me.REG[2] = NIT_NULL;
17390 /* ./parser//parser.nit:5974 */
17391 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17392 /* ./parser//parser.nit:5975 */
17393 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17394 /* ./parser//parser.nit:5977 */
17395 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*/;
17396 if (UNTAG_Bool(REGB0)) {
17397 } else {
17398 nit_abort("Assert failed", NULL, LOCATE_parser, 5977);
17399 }
17400 /* ./parser//parser.nit:5978 */
17401 fra.me.REG[3] = NEW_APrivateVisibility_parser___parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[3]);
17402 /* ./parser//parser.nit:5981 */
17403 fra.me.REG[2] = fra.me.REG[3];
17404 /* ./parser//parser.nit:5982 */
17405 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17406 if (UNTAG_Bool(REGB0)) {
17407 } else {
17408 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5982);
17409 }
17410 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17411 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17412 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17413 stack_frame_head = fra.me.prev;
17414 return;
17415 }
17416 void parser___ReduceAction147___action(val_t p0, val_t p1){
17417 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17418 val_t REGB0;
17419 val_t tmp;
17420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17421 fra.me.file = LOCATE_parser;
17422 fra.me.line = 5987;
17423 fra.me.meth = LOCATE_parser___ReduceAction147___action;
17424 fra.me.has_broke = 0;
17425 fra.me.REG_size = 4;
17426 fra.me.REG[0] = NIT_NULL;
17427 fra.me.REG[1] = NIT_NULL;
17428 fra.me.REG[2] = NIT_NULL;
17429 fra.me.REG[3] = NIT_NULL;
17430 fra.me.REG[0] = p0;
17431 fra.me.REG[1] = p1;
17432 /* ./parser//parser.nit:5989 */
17433 fra.me.REG[2] = NIT_NULL;
17434 /* ./parser//parser.nit:5990 */
17435 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17436 /* ./parser//parser.nit:5991 */
17437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17438 /* ./parser//parser.nit:5993 */
17439 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*/;
17440 if (UNTAG_Bool(REGB0)) {
17441 } else {
17442 nit_abort("Assert failed", NULL, LOCATE_parser, 5993);
17443 }
17444 /* ./parser//parser.nit:5994 */
17445 fra.me.REG[3] = NEW_AProtectedVisibility_parser___parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[3]);
17446 /* ./parser//parser.nit:5997 */
17447 fra.me.REG[2] = fra.me.REG[3];
17448 /* ./parser//parser.nit:5998 */
17449 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17450 if (UNTAG_Bool(REGB0)) {
17451 } else {
17452 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5998);
17453 }
17454 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17455 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17456 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17457 stack_frame_head = fra.me.prev;
17458 return;
17459 }
17460 void parser___ReduceAction148___action(val_t p0, val_t p1){
17461 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17462 val_t REGB0;
17463 val_t tmp;
17464 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17465 fra.me.file = LOCATE_parser;
17466 fra.me.line = 6003;
17467 fra.me.meth = LOCATE_parser___ReduceAction148___action;
17468 fra.me.has_broke = 0;
17469 fra.me.REG_size = 4;
17470 fra.me.REG[0] = NIT_NULL;
17471 fra.me.REG[1] = NIT_NULL;
17472 fra.me.REG[2] = NIT_NULL;
17473 fra.me.REG[3] = NIT_NULL;
17474 fra.me.REG[0] = p0;
17475 fra.me.REG[1] = p1;
17476 /* ./parser//parser.nit:6005 */
17477 fra.me.REG[2] = NIT_NULL;
17478 /* ./parser//parser.nit:6006 */
17479 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17480 /* ./parser//parser.nit:6007 */
17481 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17482 /* ./parser//parser.nit:6009 */
17483 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*/;
17484 if (UNTAG_Bool(REGB0)) {
17485 } else {
17486 nit_abort("Assert failed", NULL, LOCATE_parser, 6009);
17487 }
17488 /* ./parser//parser.nit:6010 */
17489 fra.me.REG[3] = NEW_AIntrudeVisibility_parser___parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[3]);
17490 /* ./parser//parser.nit:6013 */
17491 fra.me.REG[2] = fra.me.REG[3];
17492 /* ./parser//parser.nit:6014 */
17493 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17494 if (UNTAG_Bool(REGB0)) {
17495 } else {
17496 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6014);
17497 }
17498 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17499 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17500 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17501 stack_frame_head = fra.me.prev;
17502 return;
17503 }
17504 void parser___ReduceAction149___action(val_t p0, val_t p1){
17505 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17506 val_t REGB0;
17507 val_t tmp;
17508 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17509 fra.me.file = LOCATE_parser;
17510 fra.me.line = 6019;
17511 fra.me.meth = LOCATE_parser___ReduceAction149___action;
17512 fra.me.has_broke = 0;
17513 fra.me.REG_size = 4;
17514 fra.me.REG[0] = NIT_NULL;
17515 fra.me.REG[1] = NIT_NULL;
17516 fra.me.REG[2] = NIT_NULL;
17517 fra.me.REG[3] = NIT_NULL;
17518 fra.me.REG[0] = p0;
17519 fra.me.REG[1] = p1;
17520 /* ./parser//parser.nit:6021 */
17521 fra.me.REG[2] = NIT_NULL;
17522 /* ./parser//parser.nit:6022 */
17523 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17524 /* ./parser//parser.nit:6024 */
17525 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*/;
17526 if (UNTAG_Bool(REGB0)) {
17527 } else {
17528 nit_abort("Assert failed", NULL, LOCATE_parser, 6024);
17529 }
17530 /* ./parser//parser.nit:6025 */
17531 fra.me.REG[3] = NEW_AIdMethid_parser___parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
17532 /* ./parser//parser.nit:6028 */
17533 fra.me.REG[2] = fra.me.REG[3];
17534 /* ./parser//parser.nit:6029 */
17535 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17536 if (UNTAG_Bool(REGB0)) {
17537 } else {
17538 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6029);
17539 }
17540 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17541 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17542 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17543 stack_frame_head = fra.me.prev;
17544 return;
17545 }
17546 void parser___ReduceAction150___action(val_t p0, val_t p1){
17547 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17548 val_t REGB0;
17549 val_t tmp;
17550 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17551 fra.me.file = LOCATE_parser;
17552 fra.me.line = 6034;
17553 fra.me.meth = LOCATE_parser___ReduceAction150___action;
17554 fra.me.has_broke = 0;
17555 fra.me.REG_size = 4;
17556 fra.me.REG[0] = NIT_NULL;
17557 fra.me.REG[1] = NIT_NULL;
17558 fra.me.REG[2] = NIT_NULL;
17559 fra.me.REG[3] = NIT_NULL;
17560 fra.me.REG[0] = p0;
17561 fra.me.REG[1] = p1;
17562 /* ./parser//parser.nit:6036 */
17563 fra.me.REG[2] = NIT_NULL;
17564 /* ./parser//parser.nit:6037 */
17565 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17566 /* ./parser//parser.nit:6039 */
17567 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*/;
17568 if (UNTAG_Bool(REGB0)) {
17569 } else {
17570 nit_abort("Assert failed", NULL, LOCATE_parser, 6039);
17571 }
17572 /* ./parser//parser.nit:6040 */
17573 fra.me.REG[3] = NEW_APlusMethid_parser___parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
17574 /* ./parser//parser.nit:6043 */
17575 fra.me.REG[2] = fra.me.REG[3];
17576 /* ./parser//parser.nit:6044 */
17577 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17578 if (UNTAG_Bool(REGB0)) {
17579 } else {
17580 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6044);
17581 }
17582 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17583 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17584 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17585 stack_frame_head = fra.me.prev;
17586 return;
17587 }
17588 void parser___ReduceAction151___action(val_t p0, val_t p1){
17589 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17590 val_t REGB0;
17591 val_t tmp;
17592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17593 fra.me.file = LOCATE_parser;
17594 fra.me.line = 6049;
17595 fra.me.meth = LOCATE_parser___ReduceAction151___action;
17596 fra.me.has_broke = 0;
17597 fra.me.REG_size = 4;
17598 fra.me.REG[0] = NIT_NULL;
17599 fra.me.REG[1] = NIT_NULL;
17600 fra.me.REG[2] = NIT_NULL;
17601 fra.me.REG[3] = NIT_NULL;
17602 fra.me.REG[0] = p0;
17603 fra.me.REG[1] = p1;
17604 /* ./parser//parser.nit:6051 */
17605 fra.me.REG[2] = NIT_NULL;
17606 /* ./parser//parser.nit:6052 */
17607 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17608 /* ./parser//parser.nit:6054 */
17609 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*/;
17610 if (UNTAG_Bool(REGB0)) {
17611 } else {
17612 nit_abort("Assert failed", NULL, LOCATE_parser, 6054);
17613 }
17614 /* ./parser//parser.nit:6055 */
17615 fra.me.REG[3] = NEW_AMinusMethid_parser___parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
17616 /* ./parser//parser.nit:6058 */
17617 fra.me.REG[2] = fra.me.REG[3];
17618 /* ./parser//parser.nit:6059 */
17619 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17620 if (UNTAG_Bool(REGB0)) {
17621 } else {
17622 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6059);
17623 }
17624 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17625 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17626 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17627 stack_frame_head = fra.me.prev;
17628 return;
17629 }
17630 void parser___ReduceAction152___action(val_t p0, val_t p1){
17631 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17632 val_t REGB0;
17633 val_t tmp;
17634 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17635 fra.me.file = LOCATE_parser;
17636 fra.me.line = 6064;
17637 fra.me.meth = LOCATE_parser___ReduceAction152___action;
17638 fra.me.has_broke = 0;
17639 fra.me.REG_size = 4;
17640 fra.me.REG[0] = NIT_NULL;
17641 fra.me.REG[1] = NIT_NULL;
17642 fra.me.REG[2] = NIT_NULL;
17643 fra.me.REG[3] = NIT_NULL;
17644 fra.me.REG[0] = p0;
17645 fra.me.REG[1] = p1;
17646 /* ./parser//parser.nit:6066 */
17647 fra.me.REG[2] = NIT_NULL;
17648 /* ./parser//parser.nit:6067 */
17649 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17650 /* ./parser//parser.nit:6069 */
17651 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*/;
17652 if (UNTAG_Bool(REGB0)) {
17653 } else {
17654 nit_abort("Assert failed", NULL, LOCATE_parser, 6069);
17655 }
17656 /* ./parser//parser.nit:6070 */
17657 fra.me.REG[3] = NEW_AStarMethid_parser___parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
17658 /* ./parser//parser.nit:6073 */
17659 fra.me.REG[2] = fra.me.REG[3];
17660 /* ./parser//parser.nit:6074 */
17661 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17662 if (UNTAG_Bool(REGB0)) {
17663 } else {
17664 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6074);
17665 }
17666 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17667 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17668 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17669 stack_frame_head = fra.me.prev;
17670 return;
17671 }
17672 void parser___ReduceAction153___action(val_t p0, val_t p1){
17673 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17674 val_t REGB0;
17675 val_t tmp;
17676 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17677 fra.me.file = LOCATE_parser;
17678 fra.me.line = 6079;
17679 fra.me.meth = LOCATE_parser___ReduceAction153___action;
17680 fra.me.has_broke = 0;
17681 fra.me.REG_size = 4;
17682 fra.me.REG[0] = NIT_NULL;
17683 fra.me.REG[1] = NIT_NULL;
17684 fra.me.REG[2] = NIT_NULL;
17685 fra.me.REG[3] = NIT_NULL;
17686 fra.me.REG[0] = p0;
17687 fra.me.REG[1] = p1;
17688 /* ./parser//parser.nit:6081 */
17689 fra.me.REG[2] = NIT_NULL;
17690 /* ./parser//parser.nit:6082 */
17691 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17692 /* ./parser//parser.nit:6084 */
17693 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*/;
17694 if (UNTAG_Bool(REGB0)) {
17695 } else {
17696 nit_abort("Assert failed", NULL, LOCATE_parser, 6084);
17697 }
17698 /* ./parser//parser.nit:6085 */
17699 fra.me.REG[3] = NEW_ASlashMethid_parser___parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
17700 /* ./parser//parser.nit:6088 */
17701 fra.me.REG[2] = fra.me.REG[3];
17702 /* ./parser//parser.nit:6089 */
17703 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17704 if (UNTAG_Bool(REGB0)) {
17705 } else {
17706 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6089);
17707 }
17708 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17709 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17710 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17711 stack_frame_head = fra.me.prev;
17712 return;
17713 }
17714 void parser___ReduceAction154___action(val_t p0, val_t p1){
17715 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17716 val_t REGB0;
17717 val_t tmp;
17718 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17719 fra.me.file = LOCATE_parser;
17720 fra.me.line = 6094;
17721 fra.me.meth = LOCATE_parser___ReduceAction154___action;
17722 fra.me.has_broke = 0;
17723 fra.me.REG_size = 4;
17724 fra.me.REG[0] = NIT_NULL;
17725 fra.me.REG[1] = NIT_NULL;
17726 fra.me.REG[2] = NIT_NULL;
17727 fra.me.REG[3] = NIT_NULL;
17728 fra.me.REG[0] = p0;
17729 fra.me.REG[1] = p1;
17730 /* ./parser//parser.nit:6096 */
17731 fra.me.REG[2] = NIT_NULL;
17732 /* ./parser//parser.nit:6097 */
17733 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17734 /* ./parser//parser.nit:6099 */
17735 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*/;
17736 if (UNTAG_Bool(REGB0)) {
17737 } else {
17738 nit_abort("Assert failed", NULL, LOCATE_parser, 6099);
17739 }
17740 /* ./parser//parser.nit:6100 */
17741 fra.me.REG[3] = NEW_APercentMethid_parser___parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
17742 /* ./parser//parser.nit:6103 */
17743 fra.me.REG[2] = fra.me.REG[3];
17744 /* ./parser//parser.nit:6104 */
17745 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17746 if (UNTAG_Bool(REGB0)) {
17747 } else {
17748 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6104);
17749 }
17750 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17751 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17752 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17753 stack_frame_head = fra.me.prev;
17754 return;
17755 }
17756 void parser___ReduceAction155___action(val_t p0, val_t p1){
17757 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17758 val_t REGB0;
17759 val_t tmp;
17760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17761 fra.me.file = LOCATE_parser;
17762 fra.me.line = 6109;
17763 fra.me.meth = LOCATE_parser___ReduceAction155___action;
17764 fra.me.has_broke = 0;
17765 fra.me.REG_size = 4;
17766 fra.me.REG[0] = NIT_NULL;
17767 fra.me.REG[1] = NIT_NULL;
17768 fra.me.REG[2] = NIT_NULL;
17769 fra.me.REG[3] = NIT_NULL;
17770 fra.me.REG[0] = p0;
17771 fra.me.REG[1] = p1;
17772 /* ./parser//parser.nit:6111 */
17773 fra.me.REG[2] = NIT_NULL;
17774 /* ./parser//parser.nit:6112 */
17775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17776 /* ./parser//parser.nit:6114 */
17777 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*/;
17778 if (UNTAG_Bool(REGB0)) {
17779 } else {
17780 nit_abort("Assert failed", NULL, LOCATE_parser, 6114);
17781 }
17782 /* ./parser//parser.nit:6115 */
17783 fra.me.REG[3] = NEW_AEqMethid_parser___parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
17784 /* ./parser//parser.nit:6118 */
17785 fra.me.REG[2] = fra.me.REG[3];
17786 /* ./parser//parser.nit:6119 */
17787 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17788 if (UNTAG_Bool(REGB0)) {
17789 } else {
17790 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6119);
17791 }
17792 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17793 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17794 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17795 stack_frame_head = fra.me.prev;
17796 return;
17797 }
17798 void parser___ReduceAction156___action(val_t p0, val_t p1){
17799 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17800 val_t REGB0;
17801 val_t tmp;
17802 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17803 fra.me.file = LOCATE_parser;
17804 fra.me.line = 6124;
17805 fra.me.meth = LOCATE_parser___ReduceAction156___action;
17806 fra.me.has_broke = 0;
17807 fra.me.REG_size = 4;
17808 fra.me.REG[0] = NIT_NULL;
17809 fra.me.REG[1] = NIT_NULL;
17810 fra.me.REG[2] = NIT_NULL;
17811 fra.me.REG[3] = NIT_NULL;
17812 fra.me.REG[0] = p0;
17813 fra.me.REG[1] = p1;
17814 /* ./parser//parser.nit:6126 */
17815 fra.me.REG[2] = NIT_NULL;
17816 /* ./parser//parser.nit:6127 */
17817 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17818 /* ./parser//parser.nit:6129 */
17819 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*/;
17820 if (UNTAG_Bool(REGB0)) {
17821 } else {
17822 nit_abort("Assert failed", NULL, LOCATE_parser, 6129);
17823 }
17824 /* ./parser//parser.nit:6130 */
17825 fra.me.REG[3] = NEW_ANeMethid_parser___parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
17826 /* ./parser//parser.nit:6133 */
17827 fra.me.REG[2] = fra.me.REG[3];
17828 /* ./parser//parser.nit:6134 */
17829 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17830 if (UNTAG_Bool(REGB0)) {
17831 } else {
17832 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6134);
17833 }
17834 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17835 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17836 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17837 stack_frame_head = fra.me.prev;
17838 return;
17839 }
17840 void parser___ReduceAction157___action(val_t p0, val_t p1){
17841 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17842 val_t REGB0;
17843 val_t tmp;
17844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17845 fra.me.file = LOCATE_parser;
17846 fra.me.line = 6139;
17847 fra.me.meth = LOCATE_parser___ReduceAction157___action;
17848 fra.me.has_broke = 0;
17849 fra.me.REG_size = 4;
17850 fra.me.REG[0] = NIT_NULL;
17851 fra.me.REG[1] = NIT_NULL;
17852 fra.me.REG[2] = NIT_NULL;
17853 fra.me.REG[3] = NIT_NULL;
17854 fra.me.REG[0] = p0;
17855 fra.me.REG[1] = p1;
17856 /* ./parser//parser.nit:6141 */
17857 fra.me.REG[2] = NIT_NULL;
17858 /* ./parser//parser.nit:6142 */
17859 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17860 /* ./parser//parser.nit:6144 */
17861 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*/;
17862 if (UNTAG_Bool(REGB0)) {
17863 } else {
17864 nit_abort("Assert failed", NULL, LOCATE_parser, 6144);
17865 }
17866 /* ./parser//parser.nit:6145 */
17867 fra.me.REG[3] = NEW_ALeMethid_parser___parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
17868 /* ./parser//parser.nit:6148 */
17869 fra.me.REG[2] = fra.me.REG[3];
17870 /* ./parser//parser.nit:6149 */
17871 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17872 if (UNTAG_Bool(REGB0)) {
17873 } else {
17874 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6149);
17875 }
17876 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17877 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17878 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17879 stack_frame_head = fra.me.prev;
17880 return;
17881 }
17882 void parser___ReduceAction158___action(val_t p0, val_t p1){
17883 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17884 val_t REGB0;
17885 val_t tmp;
17886 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17887 fra.me.file = LOCATE_parser;
17888 fra.me.line = 6154;
17889 fra.me.meth = LOCATE_parser___ReduceAction158___action;
17890 fra.me.has_broke = 0;
17891 fra.me.REG_size = 4;
17892 fra.me.REG[0] = NIT_NULL;
17893 fra.me.REG[1] = NIT_NULL;
17894 fra.me.REG[2] = NIT_NULL;
17895 fra.me.REG[3] = NIT_NULL;
17896 fra.me.REG[0] = p0;
17897 fra.me.REG[1] = p1;
17898 /* ./parser//parser.nit:6156 */
17899 fra.me.REG[2] = NIT_NULL;
17900 /* ./parser//parser.nit:6157 */
17901 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17902 /* ./parser//parser.nit:6159 */
17903 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*/;
17904 if (UNTAG_Bool(REGB0)) {
17905 } else {
17906 nit_abort("Assert failed", NULL, LOCATE_parser, 6159);
17907 }
17908 /* ./parser//parser.nit:6160 */
17909 fra.me.REG[3] = NEW_AGeMethid_parser___parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
17910 /* ./parser//parser.nit:6163 */
17911 fra.me.REG[2] = fra.me.REG[3];
17912 /* ./parser//parser.nit:6164 */
17913 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17914 if (UNTAG_Bool(REGB0)) {
17915 } else {
17916 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6164);
17917 }
17918 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17919 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17920 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17921 stack_frame_head = fra.me.prev;
17922 return;
17923 }
17924 void parser___ReduceAction159___action(val_t p0, val_t p1){
17925 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17926 val_t REGB0;
17927 val_t tmp;
17928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17929 fra.me.file = LOCATE_parser;
17930 fra.me.line = 6169;
17931 fra.me.meth = LOCATE_parser___ReduceAction159___action;
17932 fra.me.has_broke = 0;
17933 fra.me.REG_size = 4;
17934 fra.me.REG[0] = NIT_NULL;
17935 fra.me.REG[1] = NIT_NULL;
17936 fra.me.REG[2] = NIT_NULL;
17937 fra.me.REG[3] = NIT_NULL;
17938 fra.me.REG[0] = p0;
17939 fra.me.REG[1] = p1;
17940 /* ./parser//parser.nit:6171 */
17941 fra.me.REG[2] = NIT_NULL;
17942 /* ./parser//parser.nit:6172 */
17943 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17944 /* ./parser//parser.nit:6174 */
17945 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*/;
17946 if (UNTAG_Bool(REGB0)) {
17947 } else {
17948 nit_abort("Assert failed", NULL, LOCATE_parser, 6174);
17949 }
17950 /* ./parser//parser.nit:6175 */
17951 fra.me.REG[3] = NEW_ALtMethid_parser___parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
17952 /* ./parser//parser.nit:6178 */
17953 fra.me.REG[2] = fra.me.REG[3];
17954 /* ./parser//parser.nit:6179 */
17955 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17956 if (UNTAG_Bool(REGB0)) {
17957 } else {
17958 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6179);
17959 }
17960 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17961 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17962 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17963 stack_frame_head = fra.me.prev;
17964 return;
17965 }
17966 void parser___ReduceAction160___action(val_t p0, val_t p1){
17967 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17968 val_t REGB0;
17969 val_t tmp;
17970 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17971 fra.me.file = LOCATE_parser;
17972 fra.me.line = 6184;
17973 fra.me.meth = LOCATE_parser___ReduceAction160___action;
17974 fra.me.has_broke = 0;
17975 fra.me.REG_size = 4;
17976 fra.me.REG[0] = NIT_NULL;
17977 fra.me.REG[1] = NIT_NULL;
17978 fra.me.REG[2] = NIT_NULL;
17979 fra.me.REG[3] = NIT_NULL;
17980 fra.me.REG[0] = p0;
17981 fra.me.REG[1] = p1;
17982 /* ./parser//parser.nit:6186 */
17983 fra.me.REG[2] = NIT_NULL;
17984 /* ./parser//parser.nit:6187 */
17985 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17986 /* ./parser//parser.nit:6189 */
17987 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*/;
17988 if (UNTAG_Bool(REGB0)) {
17989 } else {
17990 nit_abort("Assert failed", NULL, LOCATE_parser, 6189);
17991 }
17992 /* ./parser//parser.nit:6190 */
17993 fra.me.REG[3] = NEW_AGtMethid_parser___parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
17994 /* ./parser//parser.nit:6193 */
17995 fra.me.REG[2] = fra.me.REG[3];
17996 /* ./parser//parser.nit:6194 */
17997 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17998 if (UNTAG_Bool(REGB0)) {
17999 } else {
18000 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6194);
18001 }
18002 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18003 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18004 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18005 stack_frame_head = fra.me.prev;
18006 return;
18007 }
18008 void parser___ReduceAction161___action(val_t p0, val_t p1){
18009 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
18010 val_t REGB0;
18011 val_t tmp;
18012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18013 fra.me.file = LOCATE_parser;
18014 fra.me.line = 6199;
18015 fra.me.meth = LOCATE_parser___ReduceAction161___action;
18016 fra.me.has_broke = 0;
18017 fra.me.REG_size = 4;
18018 fra.me.REG[0] = NIT_NULL;
18019 fra.me.REG[1] = NIT_NULL;
18020 fra.me.REG[2] = NIT_NULL;
18021 fra.me.REG[3] = NIT_NULL;
18022 fra.me.REG[0] = p0;
18023 fra.me.REG[1] = p1;
18024 /* ./parser//parser.nit:6201 */
18025 fra.me.REG[2] = NIT_NULL;
18026 /* ./parser//parser.nit:6202 */
18027 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18028 /* ./parser//parser.nit:6204 */
18029 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*/;
18030 if (UNTAG_Bool(REGB0)) {
18031 } else {
18032 nit_abort("Assert failed", NULL, LOCATE_parser, 6204);
18033 }
18034 /* ./parser//parser.nit:6205 */
18035 fra.me.REG[3] = NEW_ALlMethid_parser___parser_prod___ALlMethid___init_allmethid(fra.me.REG[3]);
18036 /* ./parser//parser.nit:6208 */
18037 fra.me.REG[2] = fra.me.REG[3];
18038 /* ./parser//parser.nit:6209 */
18039 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18040 if (UNTAG_Bool(REGB0)) {
18041 } else {
18042 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6209);
18043 }
18044 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18045 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18046 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18047 stack_frame_head = fra.me.prev;
18048 return;
18049 }
18050 void parser___ReduceAction162___action(val_t p0, val_t p1){
18051 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
18052 val_t REGB0;
18053 val_t tmp;
18054 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18055 fra.me.file = LOCATE_parser;
18056 fra.me.line = 6214;
18057 fra.me.meth = LOCATE_parser___ReduceAction162___action;
18058 fra.me.has_broke = 0;
18059 fra.me.REG_size = 4;
18060 fra.me.REG[0] = NIT_NULL;
18061 fra.me.REG[1] = NIT_NULL;
18062 fra.me.REG[2] = NIT_NULL;
18063 fra.me.REG[3] = NIT_NULL;
18064 fra.me.REG[0] = p0;
18065 fra.me.REG[1] = p1;
18066 /* ./parser//parser.nit:6216 */
18067 fra.me.REG[2] = NIT_NULL;
18068 /* ./parser//parser.nit:6217 */
18069 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18070 /* ./parser//parser.nit:6219 */
18071 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*/;
18072 if (UNTAG_Bool(REGB0)) {
18073 } else {
18074 nit_abort("Assert failed", NULL, LOCATE_parser, 6219);
18075 }
18076 /* ./parser//parser.nit:6220 */
18077 fra.me.REG[3] = NEW_AGgMethid_parser___parser_prod___AGgMethid___init_aggmethid(fra.me.REG[3]);
18078 /* ./parser//parser.nit:6223 */
18079 fra.me.REG[2] = fra.me.REG[3];
18080 /* ./parser//parser.nit:6224 */
18081 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18082 if (UNTAG_Bool(REGB0)) {
18083 } else {
18084 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6224);
18085 }
18086 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18087 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18088 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18089 stack_frame_head = fra.me.prev;
18090 return;
18091 }
18092 void parser___ReduceAction163___action(val_t p0, val_t p1){
18093 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
18094 val_t REGB0;
18095 val_t tmp;
18096 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18097 fra.me.file = LOCATE_parser;
18098 fra.me.line = 6229;
18099 fra.me.meth = LOCATE_parser___ReduceAction163___action;
18100 fra.me.has_broke = 0;
18101 fra.me.REG_size = 5;
18102 fra.me.REG[0] = NIT_NULL;
18103 fra.me.REG[1] = NIT_NULL;
18104 fra.me.REG[2] = NIT_NULL;
18105 fra.me.REG[3] = NIT_NULL;
18106 fra.me.REG[4] = NIT_NULL;
18107 fra.me.REG[0] = p0;
18108 fra.me.REG[1] = p1;
18109 /* ./parser//parser.nit:6231 */
18110 fra.me.REG[2] = NIT_NULL;
18111 /* ./parser//parser.nit:6232 */
18112 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18113 /* ./parser//parser.nit:6233 */
18114 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18115 /* ./parser//parser.nit:6235 */
18116 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*/;
18117 if (UNTAG_Bool(REGB0)) {
18118 } else {
18119 nit_abort("Assert failed", NULL, LOCATE_parser, 6235);
18120 }
18121 /* ./parser//parser.nit:6237 */
18122 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*/;
18123 if (UNTAG_Bool(REGB0)) {
18124 } else {
18125 nit_abort("Assert failed", NULL, LOCATE_parser, 6237);
18126 }
18127 /* ./parser//parser.nit:6238 */
18128 fra.me.REG[3] = NEW_ABraMethid_parser___parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
18129 /* ./parser//parser.nit:6242 */
18130 fra.me.REG[2] = fra.me.REG[3];
18131 /* ./parser//parser.nit:6243 */
18132 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18133 if (UNTAG_Bool(REGB0)) {
18134 } else {
18135 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6243);
18136 }
18137 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18138 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18139 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18140 stack_frame_head = fra.me.prev;
18141 return;
18142 }
18143 void parser___ReduceAction164___action(val_t p0, val_t p1){
18144 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
18145 val_t REGB0;
18146 val_t tmp;
18147 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18148 fra.me.file = LOCATE_parser;
18149 fra.me.line = 6248;
18150 fra.me.meth = LOCATE_parser___ReduceAction164___action;
18151 fra.me.has_broke = 0;
18152 fra.me.REG_size = 4;
18153 fra.me.REG[0] = NIT_NULL;
18154 fra.me.REG[1] = NIT_NULL;
18155 fra.me.REG[2] = NIT_NULL;
18156 fra.me.REG[3] = NIT_NULL;
18157 fra.me.REG[0] = p0;
18158 fra.me.REG[1] = p1;
18159 /* ./parser//parser.nit:6250 */
18160 fra.me.REG[2] = NIT_NULL;
18161 /* ./parser//parser.nit:6251 */
18162 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18163 /* ./parser//parser.nit:6253 */
18164 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*/;
18165 if (UNTAG_Bool(REGB0)) {
18166 } else {
18167 nit_abort("Assert failed", NULL, LOCATE_parser, 6253);
18168 }
18169 /* ./parser//parser.nit:6254 */
18170 fra.me.REG[3] = NEW_AStarshipMethid_parser___parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
18171 /* ./parser//parser.nit:6257 */
18172 fra.me.REG[2] = fra.me.REG[3];
18173 /* ./parser//parser.nit:6258 */
18174 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18175 if (UNTAG_Bool(REGB0)) {
18176 } else {
18177 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6258);
18178 }
18179 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18180 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18181 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18182 stack_frame_head = fra.me.prev;
18183 return;
18184 }
18185 void parser___ReduceAction165___action(val_t p0, val_t p1){
18186 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
18187 val_t REGB0;
18188 val_t tmp;
18189 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18190 fra.me.file = LOCATE_parser;
18191 fra.me.line = 6263;
18192 fra.me.meth = LOCATE_parser___ReduceAction165___action;
18193 fra.me.has_broke = 0;
18194 fra.me.REG_size = 5;
18195 fra.me.REG[0] = NIT_NULL;
18196 fra.me.REG[1] = NIT_NULL;
18197 fra.me.REG[2] = NIT_NULL;
18198 fra.me.REG[3] = NIT_NULL;
18199 fra.me.REG[4] = NIT_NULL;
18200 fra.me.REG[0] = p0;
18201 fra.me.REG[1] = p1;
18202 /* ./parser//parser.nit:6265 */
18203 fra.me.REG[2] = NIT_NULL;
18204 /* ./parser//parser.nit:6266 */
18205 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18206 /* ./parser//parser.nit:6267 */
18207 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18208 /* ./parser//parser.nit:6269 */
18209 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*/;
18210 if (UNTAG_Bool(REGB0)) {
18211 } else {
18212 nit_abort("Assert failed", NULL, LOCATE_parser, 6269);
18213 }
18214 /* ./parser//parser.nit:6271 */
18215 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*/;
18216 if (UNTAG_Bool(REGB0)) {
18217 } else {
18218 nit_abort("Assert failed", NULL, LOCATE_parser, 6271);
18219 }
18220 /* ./parser//parser.nit:6272 */
18221 fra.me.REG[3] = NEW_AAssignMethid_parser___parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
18222 /* ./parser//parser.nit:6276 */
18223 fra.me.REG[2] = fra.me.REG[3];
18224 /* ./parser//parser.nit:6277 */
18225 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18226 if (UNTAG_Bool(REGB0)) {
18227 } else {
18228 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6277);
18229 }
18230 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18231 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18232 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18233 stack_frame_head = fra.me.prev;
18234 return;
18235 }
18236 void parser___ReduceAction166___action(val_t p0, val_t p1){
18237 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
18238 val_t REGB0;
18239 val_t tmp;
18240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18241 fra.me.file = LOCATE_parser;
18242 fra.me.line = 6282;
18243 fra.me.meth = LOCATE_parser___ReduceAction166___action;
18244 fra.me.has_broke = 0;
18245 fra.me.REG_size = 6;
18246 fra.me.REG[0] = NIT_NULL;
18247 fra.me.REG[1] = NIT_NULL;
18248 fra.me.REG[2] = NIT_NULL;
18249 fra.me.REG[3] = NIT_NULL;
18250 fra.me.REG[4] = NIT_NULL;
18251 fra.me.REG[5] = NIT_NULL;
18252 fra.me.REG[0] = p0;
18253 fra.me.REG[1] = p1;
18254 /* ./parser//parser.nit:6284 */
18255 fra.me.REG[2] = NIT_NULL;
18256 /* ./parser//parser.nit:6285 */
18257 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18258 /* ./parser//parser.nit:6286 */
18259 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18260 /* ./parser//parser.nit:6287 */
18261 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18262 /* ./parser//parser.nit:6289 */
18263 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*/;
18264 if (UNTAG_Bool(REGB0)) {
18265 } else {
18266 nit_abort("Assert failed", NULL, LOCATE_parser, 6289);
18267 }
18268 /* ./parser//parser.nit:6291 */
18269 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*/;
18270 if (UNTAG_Bool(REGB0)) {
18271 } else {
18272 nit_abort("Assert failed", NULL, LOCATE_parser, 6291);
18273 }
18274 /* ./parser//parser.nit:6293 */
18275 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*/;
18276 if (UNTAG_Bool(REGB0)) {
18277 } else {
18278 nit_abort("Assert failed", NULL, LOCATE_parser, 6293);
18279 }
18280 /* ./parser//parser.nit:6294 */
18281 fra.me.REG[3] = NEW_ABraassignMethid_parser___parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
18282 /* ./parser//parser.nit:6299 */
18283 fra.me.REG[2] = fra.me.REG[3];
18284 /* ./parser//parser.nit:6300 */
18285 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18286 if (UNTAG_Bool(REGB0)) {
18287 } else {
18288 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6300);
18289 }
18290 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18291 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18292 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18293 stack_frame_head = fra.me.prev;
18294 return;
18295 }
18296 void parser___ReduceAction167___action(val_t p0, val_t p1){
18297 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
18298 val_t REGB0;
18299 val_t tmp;
18300 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18301 fra.me.file = LOCATE_parser;
18302 fra.me.line = 6305;
18303 fra.me.meth = LOCATE_parser___ReduceAction167___action;
18304 fra.me.has_broke = 0;
18305 fra.me.REG_size = 7;
18306 fra.me.REG[0] = NIT_NULL;
18307 fra.me.REG[1] = NIT_NULL;
18308 fra.me.REG[2] = NIT_NULL;
18309 fra.me.REG[3] = NIT_NULL;
18310 fra.me.REG[4] = NIT_NULL;
18311 fra.me.REG[5] = NIT_NULL;
18312 fra.me.REG[6] = NIT_NULL;
18313 fra.me.REG[0] = p0;
18314 fra.me.REG[1] = p1;
18315 /* ./parser//parser.nit:6307 */
18316 fra.me.REG[2] = NIT_NULL;
18317 /* ./parser//parser.nit:6308 */
18318 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18319 /* ./parser//parser.nit:6309 */
18320 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18321 /* ./parser//parser.nit:6310 */
18322 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18323 /* ./parser//parser.nit:6311 */
18324 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
18325 /* ./parser//parser.nit:6313 */
18326 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*/;
18327 if (UNTAG_Bool(REGB0)) {
18328 } else {
18329 nit_abort("Assert failed", NULL, LOCATE_parser, 6313);
18330 }
18331 /* ./parser//parser.nit:6315 */
18332 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]*/;
18333 if (UNTAG_Bool(REGB0)) {
18334 } else {
18335 nit_abort("Assert failed", NULL, LOCATE_parser, 6315);
18336 }
18337 /* ./parser//parser.nit:6316 */
18338 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
18339 fra.me.REG[6] = fra.me.REG[3];
18340 /* ./parser//parser.nit:6317 */
18341 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
18342 /* ./parser//parser.nit:6322 */
18343 fra.me.REG[2] = fra.me.REG[6];
18344 /* ./parser//parser.nit:6323 */
18345 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18346 if (UNTAG_Bool(REGB0)) {
18347 } else {
18348 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6323);
18349 }
18350 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18351 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18352 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18353 stack_frame_head = fra.me.prev;
18354 return;
18355 }
18356 void parser___ReduceAction168___action(val_t p0, val_t p1){
18357 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
18358 val_t REGB0;
18359 val_t tmp;
18360 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18361 fra.me.file = LOCATE_parser;
18362 fra.me.line = 6328;
18363 fra.me.meth = LOCATE_parser___ReduceAction168___action;
18364 fra.me.has_broke = 0;
18365 fra.me.REG_size = 8;
18366 fra.me.REG[0] = NIT_NULL;
18367 fra.me.REG[1] = NIT_NULL;
18368 fra.me.REG[2] = NIT_NULL;
18369 fra.me.REG[3] = NIT_NULL;
18370 fra.me.REG[4] = NIT_NULL;
18371 fra.me.REG[5] = NIT_NULL;
18372 fra.me.REG[6] = NIT_NULL;
18373 fra.me.REG[7] = NIT_NULL;
18374 fra.me.REG[0] = p0;
18375 fra.me.REG[1] = p1;
18376 /* ./parser//parser.nit:6330 */
18377 fra.me.REG[2] = NIT_NULL;
18378 /* ./parser//parser.nit:6331 */
18379 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18380 /* ./parser//parser.nit:6332 */
18381 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18382 /* ./parser//parser.nit:6333 */
18383 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18384 /* ./parser//parser.nit:6334 */
18385 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
18386 /* ./parser//parser.nit:6335 */
18387 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
18388 /* ./parser//parser.nit:6337 */
18389 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]*/;
18390 if (UNTAG_Bool(REGB0)) {
18391 } else {
18392 nit_abort("Assert failed", NULL, LOCATE_parser, 6337);
18393 }
18394 /* ./parser//parser.nit:6338 */
18395 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
18396 fra.me.REG[6] = fra.me.REG[5];
18397 /* ./parser//parser.nit:6340 */
18398 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*/;
18399 if (UNTAG_Bool(REGB0)) {
18400 } else {
18401 nit_abort("Assert failed", NULL, LOCATE_parser, 6340);
18402 }
18403 /* ./parser//parser.nit:6342 */
18404 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]*/;
18405 if (UNTAG_Bool(REGB0)) {
18406 } else {
18407 nit_abort("Assert failed", NULL, LOCATE_parser, 6342);
18408 }
18409 /* ./parser//parser.nit:6343 */
18410 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
18411 fra.me.REG[7] = fra.me.REG[3];
18412 /* ./parser//parser.nit:6344 */
18413 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[4], fra.me.REG[7]);
18414 /* ./parser//parser.nit:6349 */
18415 fra.me.REG[2] = fra.me.REG[7];
18416 /* ./parser//parser.nit:6350 */
18417 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18418 if (UNTAG_Bool(REGB0)) {
18419 } else {
18420 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6350);
18421 }
18422 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18424 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18425 stack_frame_head = fra.me.prev;
18426 return;
18427 }
18428 void parser___ReduceAction169___action(val_t p0, val_t p1){
18429 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
18430 val_t REGB0;
18431 val_t tmp;
18432 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18433 fra.me.file = LOCATE_parser;
18434 fra.me.line = 6355;
18435 fra.me.meth = LOCATE_parser___ReduceAction169___action;
18436 fra.me.has_broke = 0;
18437 fra.me.REG_size = 6;
18438 fra.me.REG[0] = NIT_NULL;
18439 fra.me.REG[1] = NIT_NULL;
18440 fra.me.REG[2] = NIT_NULL;
18441 fra.me.REG[3] = NIT_NULL;
18442 fra.me.REG[4] = NIT_NULL;
18443 fra.me.REG[5] = NIT_NULL;
18444 fra.me.REG[0] = p0;
18445 fra.me.REG[1] = p1;
18446 /* ./parser//parser.nit:6357 */
18447 fra.me.REG[2] = NIT_NULL;
18448 /* ./parser//parser.nit:6358 */
18449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18450 /* ./parser//parser.nit:6359 */
18451 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18452 /* ./parser//parser.nit:6360 */
18453 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
18454 /* ./parser//parser.nit:6361 */
18455 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18456 /* ./parser//parser.nit:6363 */
18457 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*/;
18458 if (UNTAG_Bool(REGB0)) {
18459 } else {
18460 nit_abort("Assert failed", NULL, LOCATE_parser, 6363);
18461 }
18462 /* ./parser//parser.nit:6364 */
18463 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
18464 /* ./parser//parser.nit:6369 */
18465 fra.me.REG[2] = fra.me.REG[5];
18466 /* ./parser//parser.nit:6370 */
18467 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18468 if (UNTAG_Bool(REGB0)) {
18469 } else {
18470 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6370);
18471 }
18472 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18473 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18474 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18475 stack_frame_head = fra.me.prev;
18476 return;
18477 }
18478 void parser___ReduceAction170___action(val_t p0, val_t p1){
18479 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
18480 val_t REGB0;
18481 val_t tmp;
18482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18483 fra.me.file = LOCATE_parser;
18484 fra.me.line = 6375;
18485 fra.me.meth = LOCATE_parser___ReduceAction170___action;
18486 fra.me.has_broke = 0;
18487 fra.me.REG_size = 7;
18488 fra.me.REG[0] = NIT_NULL;
18489 fra.me.REG[1] = NIT_NULL;
18490 fra.me.REG[2] = NIT_NULL;
18491 fra.me.REG[3] = NIT_NULL;
18492 fra.me.REG[4] = NIT_NULL;
18493 fra.me.REG[5] = NIT_NULL;
18494 fra.me.REG[6] = NIT_NULL;
18495 fra.me.REG[0] = p0;
18496 fra.me.REG[1] = p1;
18497 /* ./parser//parser.nit:6377 */
18498 fra.me.REG[2] = NIT_NULL;
18499 /* ./parser//parser.nit:6378 */
18500 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18501 /* ./parser//parser.nit:6379 */
18502 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18503 /* ./parser//parser.nit:6380 */
18504 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18505 /* ./parser//parser.nit:6381 */
18506 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18507 /* ./parser//parser.nit:6382 */
18508 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
18509 /* ./parser//parser.nit:6384 */
18510 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]*/;
18511 if (UNTAG_Bool(REGB0)) {
18512 } else {
18513 nit_abort("Assert failed", NULL, LOCATE_parser, 6384);
18514 }
18515 /* ./parser//parser.nit:6385 */
18516 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
18517 fra.me.REG[5] = fra.me.REG[4];
18518 /* ./parser//parser.nit:6387 */
18519 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*/;
18520 if (UNTAG_Bool(REGB0)) {
18521 } else {
18522 nit_abort("Assert failed", NULL, LOCATE_parser, 6387);
18523 }
18524 /* ./parser//parser.nit:6388 */
18525 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]);
18526 /* ./parser//parser.nit:6393 */
18527 fra.me.REG[2] = fra.me.REG[6];
18528 /* ./parser//parser.nit:6394 */
18529 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18530 if (UNTAG_Bool(REGB0)) {
18531 } else {
18532 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6394);
18533 }
18534 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18535 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18536 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18537 stack_frame_head = fra.me.prev;
18538 return;
18539 }
18540 void parser___ReduceAction171___action(val_t p0, val_t p1){
18541 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
18542 val_t REGB0;
18543 val_t tmp;
18544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18545 fra.me.file = LOCATE_parser;
18546 fra.me.line = 6399;
18547 fra.me.meth = LOCATE_parser___ReduceAction171___action;
18548 fra.me.has_broke = 0;
18549 fra.me.REG_size = 6;
18550 fra.me.REG[0] = NIT_NULL;
18551 fra.me.REG[1] = NIT_NULL;
18552 fra.me.REG[2] = NIT_NULL;
18553 fra.me.REG[3] = NIT_NULL;
18554 fra.me.REG[4] = NIT_NULL;
18555 fra.me.REG[5] = NIT_NULL;
18556 fra.me.REG[0] = p0;
18557 fra.me.REG[1] = p1;
18558 /* ./parser//parser.nit:6401 */
18559 fra.me.REG[2] = NIT_NULL;
18560 /* ./parser//parser.nit:6402 */
18561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18562 /* ./parser//parser.nit:6403 */
18563 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
18564 /* ./parser//parser.nit:6404 */
18565 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18566 /* ./parser//parser.nit:6406 */
18567 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]*/;
18568 if (UNTAG_Bool(REGB0)) {
18569 } else {
18570 nit_abort("Assert failed", NULL, LOCATE_parser, 6406);
18571 }
18572 /* ./parser//parser.nit:6407 */
18573 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
18574 fra.me.REG[5] = fra.me.REG[3];
18575 /* ./parser//parser.nit:6408 */
18576 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]);
18577 /* ./parser//parser.nit:6413 */
18578 fra.me.REG[2] = fra.me.REG[5];
18579 /* ./parser//parser.nit:6414 */
18580 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18581 if (UNTAG_Bool(REGB0)) {
18582 } else {
18583 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6414);
18584 }
18585 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18586 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18587 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18588 stack_frame_head = fra.me.prev;
18589 return;
18590 }
18591 void parser___ReduceAction172___action(val_t p0, val_t p1){
18592 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
18593 val_t REGB0;
18594 val_t tmp;
18595 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18596 fra.me.file = LOCATE_parser;
18597 fra.me.line = 6419;
18598 fra.me.meth = LOCATE_parser___ReduceAction172___action;
18599 fra.me.has_broke = 0;
18600 fra.me.REG_size = 7;
18601 fra.me.REG[0] = NIT_NULL;
18602 fra.me.REG[1] = NIT_NULL;
18603 fra.me.REG[2] = NIT_NULL;
18604 fra.me.REG[3] = NIT_NULL;
18605 fra.me.REG[4] = NIT_NULL;
18606 fra.me.REG[5] = NIT_NULL;
18607 fra.me.REG[6] = NIT_NULL;
18608 fra.me.REG[0] = p0;
18609 fra.me.REG[1] = p1;
18610 /* ./parser//parser.nit:6421 */
18611 fra.me.REG[2] = NIT_NULL;
18612 /* ./parser//parser.nit:6422 */
18613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18614 /* ./parser//parser.nit:6423 */
18615 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18616 /* ./parser//parser.nit:6424 */
18617 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18618 /* ./parser//parser.nit:6425 */
18619 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
18620 /* ./parser//parser.nit:6427 */
18621 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]*/;
18622 if (UNTAG_Bool(REGB0)) {
18623 } else {
18624 nit_abort("Assert failed", NULL, LOCATE_parser, 6427);
18625 }
18626 /* ./parser//parser.nit:6428 */
18627 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
18628 fra.me.REG[5] = fra.me.REG[4];
18629 /* ./parser//parser.nit:6430 */
18630 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]*/;
18631 if (UNTAG_Bool(REGB0)) {
18632 } else {
18633 nit_abort("Assert failed", NULL, LOCATE_parser, 6430);
18634 }
18635 /* ./parser//parser.nit:6431 */
18636 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
18637 fra.me.REG[6] = fra.me.REG[3];
18638 /* ./parser//parser.nit:6432 */
18639 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], NIT_NULL, fra.me.REG[6]);
18640 /* ./parser//parser.nit:6437 */
18641 fra.me.REG[2] = fra.me.REG[6];
18642 /* ./parser//parser.nit:6438 */
18643 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18644 if (UNTAG_Bool(REGB0)) {
18645 } else {
18646 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6438);
18647 }
18648 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18649 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18650 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18651 stack_frame_head = fra.me.prev;
18652 return;
18653 }
18654 void parser___ReduceAction173___action(val_t p0, val_t p1){
18655 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
18656 val_t REGB0;
18657 val_t tmp;
18658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18659 fra.me.file = LOCATE_parser;
18660 fra.me.line = 6443;
18661 fra.me.meth = LOCATE_parser___ReduceAction173___action;
18662 fra.me.has_broke = 0;
18663 fra.me.REG_size = 5;
18664 fra.me.REG[0] = NIT_NULL;
18665 fra.me.REG[1] = NIT_NULL;
18666 fra.me.REG[2] = NIT_NULL;
18667 fra.me.REG[3] = NIT_NULL;
18668 fra.me.REG[4] = NIT_NULL;
18669 fra.me.REG[0] = p0;
18670 fra.me.REG[1] = p1;
18671 /* ./parser//parser.nit:6445 */
18672 fra.me.REG[2] = NIT_NULL;
18673 /* ./parser//parser.nit:6446 */
18674 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18675 /* ./parser//parser.nit:6447 */
18676 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
18677 /* ./parser//parser.nit:6448 */
18678 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
18679 /* ./parser//parser.nit:6449 */
18680 fra.me.REG[4] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
18681 /* ./parser//parser.nit:6454 */
18682 fra.me.REG[2] = fra.me.REG[4];
18683 /* ./parser//parser.nit:6455 */
18684 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18685 if (UNTAG_Bool(REGB0)) {
18686 } else {
18687 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6455);
18688 }
18689 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18690 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18691 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18692 stack_frame_head = fra.me.prev;
18693 return;
18694 }
18695 void parser___ReduceAction174___action(val_t p0, val_t p1){
18696 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
18697 val_t REGB0;
18698 val_t tmp;
18699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18700 fra.me.file = LOCATE_parser;
18701 fra.me.line = 6460;
18702 fra.me.meth = LOCATE_parser___ReduceAction174___action;
18703 fra.me.has_broke = 0;
18704 fra.me.REG_size = 6;
18705 fra.me.REG[0] = NIT_NULL;
18706 fra.me.REG[1] = NIT_NULL;
18707 fra.me.REG[2] = NIT_NULL;
18708 fra.me.REG[3] = NIT_NULL;
18709 fra.me.REG[4] = NIT_NULL;
18710 fra.me.REG[5] = NIT_NULL;
18711 fra.me.REG[0] = p0;
18712 fra.me.REG[1] = p1;
18713 /* ./parser//parser.nit:6462 */
18714 fra.me.REG[2] = NIT_NULL;
18715 /* ./parser//parser.nit:6463 */
18716 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18717 /* ./parser//parser.nit:6464 */
18718 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18719 /* ./parser//parser.nit:6465 */
18720 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
18721 /* ./parser//parser.nit:6466 */
18722 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18723 /* ./parser//parser.nit:6468 */
18724 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]*/;
18725 if (UNTAG_Bool(REGB0)) {
18726 } else {
18727 nit_abort("Assert failed", NULL, LOCATE_parser, 6468);
18728 }
18729 /* ./parser//parser.nit:6469 */
18730 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
18731 fra.me.REG[4] = fra.me.REG[3];
18732 /* ./parser//parser.nit:6470 */
18733 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]);
18734 /* ./parser//parser.nit:6475 */
18735 fra.me.REG[2] = fra.me.REG[5];
18736 /* ./parser//parser.nit:6476 */
18737 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18738 if (UNTAG_Bool(REGB0)) {
18739 } else {
18740 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6476);
18741 }
18742 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18743 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18744 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18745 stack_frame_head = fra.me.prev;
18746 return;
18747 }
18748 void parser___ReduceAction175___action(val_t p0, val_t p1){
18749 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
18750 val_t REGB0;
18751 val_t tmp;
18752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18753 fra.me.file = LOCATE_parser;
18754 fra.me.line = 6481;
18755 fra.me.meth = LOCATE_parser___ReduceAction175___action;
18756 fra.me.has_broke = 0;
18757 fra.me.REG_size = 5;
18758 fra.me.REG[0] = NIT_NULL;
18759 fra.me.REG[1] = NIT_NULL;
18760 fra.me.REG[2] = NIT_NULL;
18761 fra.me.REG[3] = NIT_NULL;
18762 fra.me.REG[4] = NIT_NULL;
18763 fra.me.REG[0] = p0;
18764 fra.me.REG[1] = p1;
18765 /* ./parser//parser.nit:6483 */
18766 fra.me.REG[2] = NIT_NULL;
18767 /* ./parser//parser.nit:6484 */
18768 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
18769 /* ./parser//parser.nit:6485 */
18770 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
18771 /* ./parser//parser.nit:6486 */
18772 fra.me.REG[4] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[3], NIT_NULL, fra.me.REG[4]);
18773 /* ./parser//parser.nit:6491 */
18774 fra.me.REG[2] = fra.me.REG[4];
18775 /* ./parser//parser.nit:6492 */
18776 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18777 if (UNTAG_Bool(REGB0)) {
18778 } else {
18779 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6492);
18780 }
18781 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18782 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18783 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18784 stack_frame_head = fra.me.prev;
18785 return;
18786 }
18787 void parser___ReduceAction176___action(val_t p0, val_t p1){
18788 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
18789 val_t REGB0;
18790 val_t tmp;
18791 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18792 fra.me.file = LOCATE_parser;
18793 fra.me.line = 6497;
18794 fra.me.meth = LOCATE_parser___ReduceAction176___action;
18795 fra.me.has_broke = 0;
18796 fra.me.REG_size = 6;
18797 fra.me.REG[0] = NIT_NULL;
18798 fra.me.REG[1] = NIT_NULL;
18799 fra.me.REG[2] = NIT_NULL;
18800 fra.me.REG[3] = NIT_NULL;
18801 fra.me.REG[4] = NIT_NULL;
18802 fra.me.REG[5] = NIT_NULL;
18803 fra.me.REG[0] = p0;
18804 fra.me.REG[1] = p1;
18805 /* ./parser//parser.nit:6499 */
18806 fra.me.REG[2] = NIT_NULL;
18807 /* ./parser//parser.nit:6500 */
18808 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18809 /* ./parser//parser.nit:6501 */
18810 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
18811 /* ./parser//parser.nit:6502 */
18812 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18813 /* ./parser//parser.nit:6504 */
18814 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]*/;
18815 if (UNTAG_Bool(REGB0)) {
18816 } else {
18817 nit_abort("Assert failed", NULL, LOCATE_parser, 6504);
18818 }
18819 /* ./parser//parser.nit:6505 */
18820 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
18821 fra.me.REG[4] = fra.me.REG[3];
18822 /* ./parser//parser.nit:6506 */
18823 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], NIT_NULL, fra.me.REG[5]);
18824 /* ./parser//parser.nit:6511 */
18825 fra.me.REG[2] = fra.me.REG[5];
18826 /* ./parser//parser.nit:6512 */
18827 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18828 if (UNTAG_Bool(REGB0)) {
18829 } else {
18830 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6512);
18831 }
18832 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18833 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18834 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18835 stack_frame_head = fra.me.prev;
18836 return;
18837 }
18838 void parser___ReduceAction177___action(val_t p0, val_t p1){
18839 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
18840 val_t REGB0;
18841 val_t tmp;
18842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18843 fra.me.file = LOCATE_parser;
18844 fra.me.line = 6517;
18845 fra.me.meth = LOCATE_parser___ReduceAction177___action;
18846 fra.me.has_broke = 0;
18847 fra.me.REG_size = 6;
18848 fra.me.REG[0] = NIT_NULL;
18849 fra.me.REG[1] = NIT_NULL;
18850 fra.me.REG[2] = NIT_NULL;
18851 fra.me.REG[3] = NIT_NULL;
18852 fra.me.REG[4] = NIT_NULL;
18853 fra.me.REG[5] = NIT_NULL;
18854 fra.me.REG[0] = p0;
18855 fra.me.REG[1] = p1;
18856 /* ./parser//parser.nit:6519 */
18857 fra.me.REG[2] = NIT_NULL;
18858 /* ./parser//parser.nit:6520 */
18859 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18860 /* ./parser//parser.nit:6521 */
18861 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
18862 /* ./parser//parser.nit:6522 */
18863 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18864 /* ./parser//parser.nit:6524 */
18865 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*/;
18866 if (UNTAG_Bool(REGB0)) {
18867 } else {
18868 nit_abort("Assert failed", NULL, LOCATE_parser, 6524);
18869 }
18870 /* ./parser//parser.nit:6525 */
18871 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
18872 /* ./parser//parser.nit:6530 */
18873 fra.me.REG[2] = fra.me.REG[5];
18874 /* ./parser//parser.nit:6531 */
18875 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18876 if (UNTAG_Bool(REGB0)) {
18877 } else {
18878 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6531);
18879 }
18880 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18881 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18882 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18883 stack_frame_head = fra.me.prev;
18884 return;
18885 }
18886 void parser___ReduceAction178___action(val_t p0, val_t p1){
18887 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
18888 val_t REGB0;
18889 val_t tmp;
18890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18891 fra.me.file = LOCATE_parser;
18892 fra.me.line = 6536;
18893 fra.me.meth = LOCATE_parser___ReduceAction178___action;
18894 fra.me.has_broke = 0;
18895 fra.me.REG_size = 7;
18896 fra.me.REG[0] = NIT_NULL;
18897 fra.me.REG[1] = NIT_NULL;
18898 fra.me.REG[2] = NIT_NULL;
18899 fra.me.REG[3] = NIT_NULL;
18900 fra.me.REG[4] = NIT_NULL;
18901 fra.me.REG[5] = NIT_NULL;
18902 fra.me.REG[6] = NIT_NULL;
18903 fra.me.REG[0] = p0;
18904 fra.me.REG[1] = p1;
18905 /* ./parser//parser.nit:6538 */
18906 fra.me.REG[2] = NIT_NULL;
18907 /* ./parser//parser.nit:6539 */
18908 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18909 /* ./parser//parser.nit:6540 */
18910 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18911 /* ./parser//parser.nit:6541 */
18912 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
18913 /* ./parser//parser.nit:6542 */
18914 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
18915 /* ./parser//parser.nit:6544 */
18916 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]*/;
18917 if (UNTAG_Bool(REGB0)) {
18918 } else {
18919 nit_abort("Assert failed", NULL, LOCATE_parser, 6544);
18920 }
18921 /* ./parser//parser.nit:6545 */
18922 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
18923 fra.me.REG[5] = fra.me.REG[4];
18924 /* ./parser//parser.nit:6547 */
18925 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*/;
18926 if (UNTAG_Bool(REGB0)) {
18927 } else {
18928 nit_abort("Assert failed", NULL, LOCATE_parser, 6547);
18929 }
18930 /* ./parser//parser.nit:6548 */
18931 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[3], fra.me.REG[6]);
18932 /* ./parser//parser.nit:6553 */
18933 fra.me.REG[2] = fra.me.REG[6];
18934 /* ./parser//parser.nit:6554 */
18935 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18936 if (UNTAG_Bool(REGB0)) {
18937 } else {
18938 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6554);
18939 }
18940 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18941 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18942 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18943 stack_frame_head = fra.me.prev;
18944 return;
18945 }
18946 void parser___ReduceAction179___action(val_t p0, val_t p1){
18947 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
18948 val_t REGB0;
18949 val_t REGB1;
18950 val_t tmp;
18951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18952 fra.me.file = LOCATE_parser;
18953 fra.me.line = 6559;
18954 fra.me.meth = LOCATE_parser___ReduceAction179___action;
18955 fra.me.has_broke = 0;
18956 fra.me.REG_size = 5;
18957 fra.me.REG[0] = NIT_NULL;
18958 fra.me.REG[1] = NIT_NULL;
18959 fra.me.REG[2] = NIT_NULL;
18960 fra.me.REG[3] = NIT_NULL;
18961 fra.me.REG[4] = NIT_NULL;
18962 fra.me.REG[0] = p0;
18963 fra.me.REG[1] = p1;
18964 /* ./parser//parser.nit:6561 */
18965 fra.me.REG[2] = NIT_NULL;
18966 /* ./parser//parser.nit:6562 */
18967 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18968 /* ./parser//parser.nit:6563 */
18969 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18970 /* ./parser//parser.nit:6564 */
18971 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18972 /* ./parser//parser.nit:6565 */
18973 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18974 /* ./parser//parser.nit:6566 */
18975 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18976 /* ./parser//parser.nit:6567 */
18977 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
18978 /* ./parser//parser.nit:6569 */
18979 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
18980 if (UNTAG_Bool(REGB0)) {
18981 } else {
18982 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
18983 if (UNTAG_Bool(REGB1)) {
18984 REGB1 = TAG_Bool(false);
18985 REGB0 = REGB1;
18986 } else {
18987 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
18988 REGB0 = REGB1;
18989 }
18990 }
18991 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
18992 if (UNTAG_Bool(REGB0)) {
18993 /* ./parser//parser.nit:6570 */
18994 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
18995 }
18996 /* ./parser//parser.nit:6572 */
18997 fra.me.REG[2] = fra.me.REG[4];
18998 /* ./parser//parser.nit:6573 */
18999 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19000 if (UNTAG_Bool(REGB0)) {
19001 } else {
19002 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6573);
19003 }
19004 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19005 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19006 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19007 stack_frame_head = fra.me.prev;
19008 return;
19009 }
19010 void parser___ReduceAction180___action(val_t p0, val_t p1){
19011 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
19012 val_t REGB0;
19013 val_t REGB1;
19014 val_t tmp;
19015 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19016 fra.me.file = LOCATE_parser;
19017 fra.me.line = 6578;
19018 fra.me.meth = LOCATE_parser___ReduceAction180___action;
19019 fra.me.has_broke = 0;
19020 fra.me.REG_size = 6;
19021 fra.me.REG[0] = NIT_NULL;
19022 fra.me.REG[1] = NIT_NULL;
19023 fra.me.REG[2] = NIT_NULL;
19024 fra.me.REG[3] = NIT_NULL;
19025 fra.me.REG[4] = NIT_NULL;
19026 fra.me.REG[5] = NIT_NULL;
19027 fra.me.REG[0] = p0;
19028 fra.me.REG[1] = p1;
19029 /* ./parser//parser.nit:6580 */
19030 fra.me.REG[2] = NIT_NULL;
19031 /* ./parser//parser.nit:6581 */
19032 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19033 /* ./parser//parser.nit:6582 */
19034 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19035 /* ./parser//parser.nit:6583 */
19036 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19037 /* ./parser//parser.nit:6584 */
19038 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19039 /* ./parser//parser.nit:6585 */
19040 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19041 /* ./parser//parser.nit:6586 */
19042 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19043 /* ./parser//parser.nit:6587 */
19044 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
19045 /* ./parser//parser.nit:6590 */
19046 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]*/;
19047 if (UNTAG_Bool(REGB0)) {
19048 } else {
19049 nit_abort("Assert failed", NULL, LOCATE_parser, 6590);
19050 }
19051 /* ./parser//parser.nit:6591 */
19052 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
19053 if (UNTAG_Bool(REGB0)) {
19054 } else {
19055 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
19056 if (UNTAG_Bool(REGB1)) {
19057 REGB1 = TAG_Bool(false);
19058 REGB0 = REGB1;
19059 } else {
19060 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
19061 REGB0 = REGB1;
19062 }
19063 }
19064 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
19065 if (UNTAG_Bool(REGB0)) {
19066 /* ./parser//parser.nit:6592 */
19067 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
19068 }
19069 /* ./parser//parser.nit:6594 */
19070 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
19071 fra.me.REG[5] = fra.me.REG[3];
19072 /* ./parser//parser.nit:6595 */
19073 fra.me.REG[2] = fra.me.REG[5];
19074 /* ./parser//parser.nit:6596 */
19075 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19076 if (UNTAG_Bool(REGB0)) {
19077 } else {
19078 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6596);
19079 }
19080 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19081 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19082 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19083 stack_frame_head = fra.me.prev;
19084 return;
19085 }
19086 void parser___ReduceAction181___action(val_t p0, val_t p1){
19087 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19088 val_t REGB0;
19089 val_t tmp;
19090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19091 fra.me.file = LOCATE_parser;
19092 fra.me.line = 6601;
19093 fra.me.meth = LOCATE_parser___ReduceAction181___action;
19094 fra.me.has_broke = 0;
19095 fra.me.REG_size = 4;
19096 fra.me.REG[0] = NIT_NULL;
19097 fra.me.REG[1] = NIT_NULL;
19098 fra.me.REG[2] = NIT_NULL;
19099 fra.me.REG[3] = NIT_NULL;
19100 fra.me.REG[0] = p0;
19101 fra.me.REG[1] = p1;
19102 /* ./parser//parser.nit:6603 */
19103 fra.me.REG[2] = NIT_NULL;
19104 /* ./parser//parser.nit:6604 */
19105 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19106 /* ./parser//parser.nit:6605 */
19107 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19108 /* ./parser//parser.nit:6606 */
19109 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19110 /* ./parser//parser.nit:6607 */
19111 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
19112 /* ./parser//parser.nit:6608 */
19113 fra.me.REG[2] = fra.me.REG[3];
19114 /* ./parser//parser.nit:6609 */
19115 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19116 if (UNTAG_Bool(REGB0)) {
19117 } else {
19118 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6609);
19119 }
19120 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19121 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19122 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19123 stack_frame_head = fra.me.prev;
19124 return;
19125 }
19126 void parser___ReduceAction182___action(val_t p0, val_t p1){
19127 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
19128 val_t REGB0;
19129 val_t tmp;
19130 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19131 fra.me.file = LOCATE_parser;
19132 fra.me.line = 6614;
19133 fra.me.meth = LOCATE_parser___ReduceAction182___action;
19134 fra.me.has_broke = 0;
19135 fra.me.REG_size = 5;
19136 fra.me.REG[0] = NIT_NULL;
19137 fra.me.REG[1] = NIT_NULL;
19138 fra.me.REG[2] = NIT_NULL;
19139 fra.me.REG[3] = NIT_NULL;
19140 fra.me.REG[4] = NIT_NULL;
19141 fra.me.REG[0] = p0;
19142 fra.me.REG[1] = p1;
19143 /* ./parser//parser.nit:6616 */
19144 fra.me.REG[2] = NIT_NULL;
19145 /* ./parser//parser.nit:6617 */
19146 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19147 /* ./parser//parser.nit:6618 */
19148 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19149 /* ./parser//parser.nit:6619 */
19150 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19151 /* ./parser//parser.nit:6621 */
19152 fra.me.REG[2] = fra.me.REG[3];
19153 /* ./parser//parser.nit:6622 */
19154 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19155 if (UNTAG_Bool(REGB0)) {
19156 } else {
19157 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6622);
19158 }
19159 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19160 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19161 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19162 stack_frame_head = fra.me.prev;
19163 return;
19164 }
19165 void parser___ReduceAction183___action(val_t p0, val_t p1){
19166 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19167 val_t REGB0;
19168 val_t tmp;
19169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19170 fra.me.file = LOCATE_parser;
19171 fra.me.line = 6627;
19172 fra.me.meth = LOCATE_parser___ReduceAction183___action;
19173 fra.me.has_broke = 0;
19174 fra.me.REG_size = 4;
19175 fra.me.REG[0] = NIT_NULL;
19176 fra.me.REG[1] = NIT_NULL;
19177 fra.me.REG[2] = NIT_NULL;
19178 fra.me.REG[3] = NIT_NULL;
19179 fra.me.REG[0] = p0;
19180 fra.me.REG[1] = p1;
19181 /* ./parser//parser.nit:6629 */
19182 fra.me.REG[2] = NIT_NULL;
19183 /* ./parser//parser.nit:6630 */
19184 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19185 /* ./parser//parser.nit:6632 */
19186 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*/;
19187 if (UNTAG_Bool(REGB0)) {
19188 } else {
19189 nit_abort("Assert failed", NULL, LOCATE_parser, 6632);
19190 }
19191 /* ./parser//parser.nit:6633 */
19192 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[3], NIT_NULL, NIT_NULL);
19193 /* ./parser//parser.nit:6638 */
19194 fra.me.REG[2] = fra.me.REG[3];
19195 /* ./parser//parser.nit:6639 */
19196 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19197 if (UNTAG_Bool(REGB0)) {
19198 } else {
19199 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6639);
19200 }
19201 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19202 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19203 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19204 stack_frame_head = fra.me.prev;
19205 return;
19206 }
19207 void parser___ReduceAction184___action(val_t p0, val_t p1){
19208 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
19209 val_t REGB0;
19210 val_t tmp;
19211 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19212 fra.me.file = LOCATE_parser;
19213 fra.me.line = 6644;
19214 fra.me.meth = LOCATE_parser___ReduceAction184___action;
19215 fra.me.has_broke = 0;
19216 fra.me.REG_size = 5;
19217 fra.me.REG[0] = NIT_NULL;
19218 fra.me.REG[1] = NIT_NULL;
19219 fra.me.REG[2] = NIT_NULL;
19220 fra.me.REG[3] = NIT_NULL;
19221 fra.me.REG[4] = NIT_NULL;
19222 fra.me.REG[0] = p0;
19223 fra.me.REG[1] = p1;
19224 /* ./parser//parser.nit:6646 */
19225 fra.me.REG[2] = NIT_NULL;
19226 /* ./parser//parser.nit:6647 */
19227 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19228 /* ./parser//parser.nit:6648 */
19229 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19230 /* ./parser//parser.nit:6650 */
19231 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*/;
19232 if (UNTAG_Bool(REGB0)) {
19233 } else {
19234 nit_abort("Assert failed", NULL, LOCATE_parser, 6650);
19235 }
19236 /* ./parser//parser.nit:6652 */
19237 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*/;
19238 if (UNTAG_Bool(REGB0)) {
19239 } else {
19240 nit_abort("Assert failed", NULL, LOCATE_parser, 6652);
19241 }
19242 /* ./parser//parser.nit:6653 */
19243 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
19244 /* ./parser//parser.nit:6658 */
19245 fra.me.REG[2] = fra.me.REG[3];
19246 /* ./parser//parser.nit:6659 */
19247 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19248 if (UNTAG_Bool(REGB0)) {
19249 } else {
19250 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6659);
19251 }
19252 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19253 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19254 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19255 stack_frame_head = fra.me.prev;
19256 return;
19257 }
19258 void parser___ReduceAction185___action(val_t p0, val_t p1){
19259 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
19260 val_t REGB0;
19261 val_t tmp;
19262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19263 fra.me.file = LOCATE_parser;
19264 fra.me.line = 6664;
19265 fra.me.meth = LOCATE_parser___ReduceAction185___action;
19266 fra.me.has_broke = 0;
19267 fra.me.REG_size = 6;
19268 fra.me.REG[0] = NIT_NULL;
19269 fra.me.REG[1] = NIT_NULL;
19270 fra.me.REG[2] = NIT_NULL;
19271 fra.me.REG[3] = NIT_NULL;
19272 fra.me.REG[4] = NIT_NULL;
19273 fra.me.REG[5] = NIT_NULL;
19274 fra.me.REG[0] = p0;
19275 fra.me.REG[1] = p1;
19276 /* ./parser//parser.nit:6666 */
19277 fra.me.REG[2] = NIT_NULL;
19278 /* ./parser//parser.nit:6667 */
19279 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19280 /* ./parser//parser.nit:6668 */
19281 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19282 /* ./parser//parser.nit:6669 */
19283 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19284 /* ./parser//parser.nit:6671 */
19285 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*/;
19286 if (UNTAG_Bool(REGB0)) {
19287 } else {
19288 nit_abort("Assert failed", NULL, LOCATE_parser, 6671);
19289 }
19290 /* ./parser//parser.nit:6673 */
19291 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*/;
19292 if (UNTAG_Bool(REGB0)) {
19293 } else {
19294 nit_abort("Assert failed", NULL, LOCATE_parser, 6673);
19295 }
19296 /* ./parser//parser.nit:6675 */
19297 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*/;
19298 if (UNTAG_Bool(REGB0)) {
19299 } else {
19300 nit_abort("Assert failed", NULL, LOCATE_parser, 6675);
19301 }
19302 /* ./parser//parser.nit:6676 */
19303 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
19304 /* ./parser//parser.nit:6681 */
19305 fra.me.REG[2] = fra.me.REG[3];
19306 /* ./parser//parser.nit:6682 */
19307 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19308 if (UNTAG_Bool(REGB0)) {
19309 } else {
19310 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6682);
19311 }
19312 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19313 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19314 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19315 stack_frame_head = fra.me.prev;
19316 return;
19317 }
19318 void parser___ReduceAction186___action(val_t p0, val_t p1){
19319 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
19320 val_t REGB0;
19321 val_t tmp;
19322 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19323 fra.me.file = LOCATE_parser;
19324 fra.me.line = 6687;
19325 fra.me.meth = LOCATE_parser___ReduceAction186___action;
19326 fra.me.has_broke = 0;
19327 fra.me.REG_size = 5;
19328 fra.me.REG[0] = NIT_NULL;
19329 fra.me.REG[1] = NIT_NULL;
19330 fra.me.REG[2] = NIT_NULL;
19331 fra.me.REG[3] = NIT_NULL;
19332 fra.me.REG[4] = NIT_NULL;
19333 fra.me.REG[0] = p0;
19334 fra.me.REG[1] = p1;
19335 /* ./parser//parser.nit:6689 */
19336 fra.me.REG[2] = NIT_NULL;
19337 /* ./parser//parser.nit:6690 */
19338 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19339 /* ./parser//parser.nit:6691 */
19340 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19341 /* ./parser//parser.nit:6692 */
19342 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
19343 /* ./parser//parser.nit:6694 */
19344 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]*/;
19345 if (UNTAG_Bool(REGB0)) {
19346 } else {
19347 nit_abort("Assert failed", NULL, LOCATE_parser, 6694);
19348 }
19349 /* ./parser//parser.nit:6695 */
19350 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
19351 fra.me.REG[4] = fra.me.REG[3];
19352 /* ./parser//parser.nit:6696 */
19353 fra.me.REG[2] = fra.me.REG[4];
19354 /* ./parser//parser.nit:6697 */
19355 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19356 if (UNTAG_Bool(REGB0)) {
19357 } else {
19358 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6697);
19359 }
19360 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19361 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19362 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19363 stack_frame_head = fra.me.prev;
19364 return;
19365 }
19366 void parser___ReduceAction187___action(val_t p0, val_t p1){
19367 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
19368 val_t REGB0;
19369 val_t tmp;
19370 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19371 fra.me.file = LOCATE_parser;
19372 fra.me.line = 6702;
19373 fra.me.meth = LOCATE_parser___ReduceAction187___action;
19374 fra.me.has_broke = 0;
19375 fra.me.REG_size = 6;
19376 fra.me.REG[0] = NIT_NULL;
19377 fra.me.REG[1] = NIT_NULL;
19378 fra.me.REG[2] = NIT_NULL;
19379 fra.me.REG[3] = NIT_NULL;
19380 fra.me.REG[4] = NIT_NULL;
19381 fra.me.REG[5] = NIT_NULL;
19382 fra.me.REG[0] = p0;
19383 fra.me.REG[1] = p1;
19384 /* ./parser//parser.nit:6704 */
19385 fra.me.REG[2] = NIT_NULL;
19386 /* ./parser//parser.nit:6705 */
19387 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19388 /* ./parser//parser.nit:6706 */
19389 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19390 /* ./parser//parser.nit:6707 */
19391 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19392 /* ./parser//parser.nit:6708 */
19393 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19394 /* ./parser//parser.nit:6710 */
19395 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*/;
19396 if (UNTAG_Bool(REGB0)) {
19397 } else {
19398 nit_abort("Assert failed", NULL, LOCATE_parser, 6710);
19399 }
19400 /* ./parser//parser.nit:6712 */
19401 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*/;
19402 if (UNTAG_Bool(REGB0)) {
19403 } else {
19404 nit_abort("Assert failed", NULL, LOCATE_parser, 6712);
19405 }
19406 /* ./parser//parser.nit:6714 */
19407 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*/;
19408 if (UNTAG_Bool(REGB0)) {
19409 } else {
19410 nit_abort("Assert failed", NULL, LOCATE_parser, 6714);
19411 }
19412 /* ./parser//parser.nit:6715 */
19413 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);
19414 /* ./parser//parser.nit:6722 */
19415 fra.me.REG[2] = fra.me.REG[3];
19416 /* ./parser//parser.nit:6723 */
19417 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19418 if (UNTAG_Bool(REGB0)) {
19419 } else {
19420 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6723);
19421 }
19422 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19424 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19425 stack_frame_head = fra.me.prev;
19426 return;
19427 }
19428 void parser___ReduceAction188___action(val_t p0, val_t p1){
19429 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
19430 val_t REGB0;
19431 val_t tmp;
19432 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19433 fra.me.file = LOCATE_parser;
19434 fra.me.line = 6728;
19435 fra.me.meth = LOCATE_parser___ReduceAction188___action;
19436 fra.me.has_broke = 0;
19437 fra.me.REG_size = 7;
19438 fra.me.REG[0] = NIT_NULL;
19439 fra.me.REG[1] = NIT_NULL;
19440 fra.me.REG[2] = NIT_NULL;
19441 fra.me.REG[3] = NIT_NULL;
19442 fra.me.REG[4] = NIT_NULL;
19443 fra.me.REG[5] = NIT_NULL;
19444 fra.me.REG[6] = NIT_NULL;
19445 fra.me.REG[0] = p0;
19446 fra.me.REG[1] = p1;
19447 /* ./parser//parser.nit:6730 */
19448 fra.me.REG[2] = NIT_NULL;
19449 /* ./parser//parser.nit:6731 */
19450 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19451 /* ./parser//parser.nit:6732 */
19452 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19453 /* ./parser//parser.nit:6733 */
19454 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19455 /* ./parser//parser.nit:6734 */
19456 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19457 /* ./parser//parser.nit:6735 */
19458 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19459 /* ./parser//parser.nit:6737 */
19460 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*/;
19461 if (UNTAG_Bool(REGB0)) {
19462 } else {
19463 nit_abort("Assert failed", NULL, LOCATE_parser, 6737);
19464 }
19465 /* ./parser//parser.nit:6739 */
19466 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*/;
19467 if (UNTAG_Bool(REGB0)) {
19468 } else {
19469 nit_abort("Assert failed", NULL, LOCATE_parser, 6739);
19470 }
19471 /* ./parser//parser.nit:6741 */
19472 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*/;
19473 if (UNTAG_Bool(REGB0)) {
19474 } else {
19475 nit_abort("Assert failed", NULL, LOCATE_parser, 6741);
19476 }
19477 /* ./parser//parser.nit:6743 */
19478 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*/;
19479 if (UNTAG_Bool(REGB0)) {
19480 } else {
19481 nit_abort("Assert failed", NULL, LOCATE_parser, 6743);
19482 }
19483 /* ./parser//parser.nit:6744 */
19484 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);
19485 /* ./parser//parser.nit:6751 */
19486 fra.me.REG[2] = fra.me.REG[3];
19487 /* ./parser//parser.nit:6752 */
19488 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19489 if (UNTAG_Bool(REGB0)) {
19490 } else {
19491 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6752);
19492 }
19493 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19494 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19495 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19496 stack_frame_head = fra.me.prev;
19497 return;
19498 }
19499 void parser___ReduceAction189___action(val_t p0, val_t p1){
19500 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
19501 val_t REGB0;
19502 val_t tmp;
19503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19504 fra.me.file = LOCATE_parser;
19505 fra.me.line = 6757;
19506 fra.me.meth = LOCATE_parser___ReduceAction189___action;
19507 fra.me.has_broke = 0;
19508 fra.me.REG_size = 7;
19509 fra.me.REG[0] = NIT_NULL;
19510 fra.me.REG[1] = NIT_NULL;
19511 fra.me.REG[2] = NIT_NULL;
19512 fra.me.REG[3] = NIT_NULL;
19513 fra.me.REG[4] = NIT_NULL;
19514 fra.me.REG[5] = NIT_NULL;
19515 fra.me.REG[6] = NIT_NULL;
19516 fra.me.REG[0] = p0;
19517 fra.me.REG[1] = p1;
19518 /* ./parser//parser.nit:6759 */
19519 fra.me.REG[2] = NIT_NULL;
19520 /* ./parser//parser.nit:6760 */
19521 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19522 /* ./parser//parser.nit:6761 */
19523 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19524 /* ./parser//parser.nit:6762 */
19525 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19526 /* ./parser//parser.nit:6763 */
19527 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19528 /* ./parser//parser.nit:6764 */
19529 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19530 /* ./parser//parser.nit:6765 */
19531 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19532 /* ./parser//parser.nit:6767 */
19533 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*/;
19534 if (UNTAG_Bool(REGB0)) {
19535 } else {
19536 nit_abort("Assert failed", NULL, LOCATE_parser, 6767);
19537 }
19538 /* ./parser//parser.nit:6769 */
19539 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*/;
19540 if (UNTAG_Bool(REGB0)) {
19541 } else {
19542 nit_abort("Assert failed", NULL, LOCATE_parser, 6769);
19543 }
19544 /* ./parser//parser.nit:6771 */
19545 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*/;
19546 if (UNTAG_Bool(REGB0)) {
19547 } else {
19548 nit_abort("Assert failed", NULL, LOCATE_parser, 6771);
19549 }
19550 /* ./parser//parser.nit:6773 */
19551 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*/;
19552 if (UNTAG_Bool(REGB0)) {
19553 } else {
19554 nit_abort("Assert failed", NULL, LOCATE_parser, 6773);
19555 }
19556 /* ./parser//parser.nit:6774 */
19557 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]);
19558 /* ./parser//parser.nit:6781 */
19559 fra.me.REG[2] = fra.me.REG[3];
19560 /* ./parser//parser.nit:6782 */
19561 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19562 if (UNTAG_Bool(REGB0)) {
19563 } else {
19564 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6782);
19565 }
19566 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19567 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19568 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19569 stack_frame_head = fra.me.prev;
19570 return;
19571 }
19572 void parser___ReduceAction190___action(val_t p0, val_t p1){
19573 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
19574 val_t REGB0;
19575 val_t tmp;
19576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19577 fra.me.file = LOCATE_parser;
19578 fra.me.line = 6787;
19579 fra.me.meth = LOCATE_parser___ReduceAction190___action;
19580 fra.me.has_broke = 0;
19581 fra.me.REG_size = 8;
19582 fra.me.REG[0] = NIT_NULL;
19583 fra.me.REG[1] = NIT_NULL;
19584 fra.me.REG[2] = NIT_NULL;
19585 fra.me.REG[3] = NIT_NULL;
19586 fra.me.REG[4] = NIT_NULL;
19587 fra.me.REG[5] = NIT_NULL;
19588 fra.me.REG[6] = NIT_NULL;
19589 fra.me.REG[7] = NIT_NULL;
19590 fra.me.REG[0] = p0;
19591 fra.me.REG[1] = p1;
19592 /* ./parser//parser.nit:6789 */
19593 fra.me.REG[2] = NIT_NULL;
19594 /* ./parser//parser.nit:6790 */
19595 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19596 /* ./parser//parser.nit:6791 */
19597 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19598 /* ./parser//parser.nit:6792 */
19599 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19600 /* ./parser//parser.nit:6793 */
19601 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19602 /* ./parser//parser.nit:6794 */
19603 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19604 /* ./parser//parser.nit:6795 */
19605 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19606 /* ./parser//parser.nit:6796 */
19607 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19608 /* ./parser//parser.nit:6798 */
19609 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*/;
19610 if (UNTAG_Bool(REGB0)) {
19611 } else {
19612 nit_abort("Assert failed", NULL, LOCATE_parser, 6798);
19613 }
19614 /* ./parser//parser.nit:6800 */
19615 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*/;
19616 if (UNTAG_Bool(REGB0)) {
19617 } else {
19618 nit_abort("Assert failed", NULL, LOCATE_parser, 6800);
19619 }
19620 /* ./parser//parser.nit:6802 */
19621 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*/;
19622 if (UNTAG_Bool(REGB0)) {
19623 } else {
19624 nit_abort("Assert failed", NULL, LOCATE_parser, 6802);
19625 }
19626 /* ./parser//parser.nit:6804 */
19627 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*/;
19628 if (UNTAG_Bool(REGB0)) {
19629 } else {
19630 nit_abort("Assert failed", NULL, LOCATE_parser, 6804);
19631 }
19632 /* ./parser//parser.nit:6806 */
19633 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*/;
19634 if (UNTAG_Bool(REGB0)) {
19635 } else {
19636 nit_abort("Assert failed", NULL, LOCATE_parser, 6806);
19637 }
19638 /* ./parser//parser.nit:6807 */
19639 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]);
19640 /* ./parser//parser.nit:6814 */
19641 fra.me.REG[2] = fra.me.REG[3];
19642 /* ./parser//parser.nit:6815 */
19643 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19644 if (UNTAG_Bool(REGB0)) {
19645 } else {
19646 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6815);
19647 }
19648 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19649 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19650 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19651 stack_frame_head = fra.me.prev;
19652 return;
19653 }
19654 void parser___ReduceAction191___action(val_t p0, val_t p1){
19655 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
19656 val_t REGB0;
19657 val_t tmp;
19658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19659 fra.me.file = LOCATE_parser;
19660 fra.me.line = 6820;
19661 fra.me.meth = LOCATE_parser___ReduceAction191___action;
19662 fra.me.has_broke = 0;
19663 fra.me.REG_size = 7;
19664 fra.me.REG[0] = NIT_NULL;
19665 fra.me.REG[1] = NIT_NULL;
19666 fra.me.REG[2] = NIT_NULL;
19667 fra.me.REG[3] = NIT_NULL;
19668 fra.me.REG[4] = NIT_NULL;
19669 fra.me.REG[5] = NIT_NULL;
19670 fra.me.REG[6] = NIT_NULL;
19671 fra.me.REG[0] = p0;
19672 fra.me.REG[1] = p1;
19673 /* ./parser//parser.nit:6822 */
19674 fra.me.REG[2] = NIT_NULL;
19675 /* ./parser//parser.nit:6823 */
19676 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19677 /* ./parser//parser.nit:6824 */
19678 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19679 /* ./parser//parser.nit:6825 */
19680 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19681 /* ./parser//parser.nit:6826 */
19682 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19683 /* ./parser//parser.nit:6827 */
19684 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19685 /* ./parser//parser.nit:6828 */
19686 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19687 /* ./parser//parser.nit:6829 */
19688 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19689 /* ./parser//parser.nit:6831 */
19690 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*/;
19691 if (UNTAG_Bool(REGB0)) {
19692 } else {
19693 nit_abort("Assert failed", NULL, LOCATE_parser, 6831);
19694 }
19695 /* ./parser//parser.nit:6833 */
19696 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*/;
19697 if (UNTAG_Bool(REGB0)) {
19698 } else {
19699 nit_abort("Assert failed", NULL, LOCATE_parser, 6833);
19700 }
19701 /* ./parser//parser.nit:6835 */
19702 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*/;
19703 if (UNTAG_Bool(REGB0)) {
19704 } else {
19705 nit_abort("Assert failed", NULL, LOCATE_parser, 6835);
19706 }
19707 /* ./parser//parser.nit:6837 */
19708 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*/;
19709 if (UNTAG_Bool(REGB0)) {
19710 } else {
19711 nit_abort("Assert failed", NULL, LOCATE_parser, 6837);
19712 }
19713 /* ./parser//parser.nit:6838 */
19714 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]);
19715 /* ./parser//parser.nit:6845 */
19716 fra.me.REG[2] = fra.me.REG[3];
19717 /* ./parser//parser.nit:6846 */
19718 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19719 if (UNTAG_Bool(REGB0)) {
19720 } else {
19721 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6846);
19722 }
19723 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19724 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19725 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19726 stack_frame_head = fra.me.prev;
19727 return;
19728 }
19729 void parser___ReduceAction192___action(val_t p0, val_t p1){
19730 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
19731 val_t REGB0;
19732 val_t tmp;
19733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19734 fra.me.file = LOCATE_parser;
19735 fra.me.line = 6851;
19736 fra.me.meth = LOCATE_parser___ReduceAction192___action;
19737 fra.me.has_broke = 0;
19738 fra.me.REG_size = 8;
19739 fra.me.REG[0] = NIT_NULL;
19740 fra.me.REG[1] = NIT_NULL;
19741 fra.me.REG[2] = NIT_NULL;
19742 fra.me.REG[3] = NIT_NULL;
19743 fra.me.REG[4] = NIT_NULL;
19744 fra.me.REG[5] = NIT_NULL;
19745 fra.me.REG[6] = NIT_NULL;
19746 fra.me.REG[7] = NIT_NULL;
19747 fra.me.REG[0] = p0;
19748 fra.me.REG[1] = p1;
19749 /* ./parser//parser.nit:6853 */
19750 fra.me.REG[2] = NIT_NULL;
19751 /* ./parser//parser.nit:6854 */
19752 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19753 /* ./parser//parser.nit:6855 */
19754 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19755 /* ./parser//parser.nit:6856 */
19756 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19757 /* ./parser//parser.nit:6857 */
19758 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19759 /* ./parser//parser.nit:6858 */
19760 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19761 /* ./parser//parser.nit:6859 */
19762 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19763 /* ./parser//parser.nit:6860 */
19764 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19765 /* ./parser//parser.nit:6861 */
19766 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19767 /* ./parser//parser.nit:6863 */
19768 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*/;
19769 if (UNTAG_Bool(REGB0)) {
19770 } else {
19771 nit_abort("Assert failed", NULL, LOCATE_parser, 6863);
19772 }
19773 /* ./parser//parser.nit:6865 */
19774 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*/;
19775 if (UNTAG_Bool(REGB0)) {
19776 } else {
19777 nit_abort("Assert failed", NULL, LOCATE_parser, 6865);
19778 }
19779 /* ./parser//parser.nit:6867 */
19780 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*/;
19781 if (UNTAG_Bool(REGB0)) {
19782 } else {
19783 nit_abort("Assert failed", NULL, LOCATE_parser, 6867);
19784 }
19785 /* ./parser//parser.nit:6869 */
19786 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*/;
19787 if (UNTAG_Bool(REGB0)) {
19788 } else {
19789 nit_abort("Assert failed", NULL, LOCATE_parser, 6869);
19790 }
19791 /* ./parser//parser.nit:6871 */
19792 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*/;
19793 if (UNTAG_Bool(REGB0)) {
19794 } else {
19795 nit_abort("Assert failed", NULL, LOCATE_parser, 6871);
19796 }
19797 /* ./parser//parser.nit:6872 */
19798 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]);
19799 /* ./parser//parser.nit:6879 */
19800 fra.me.REG[2] = fra.me.REG[3];
19801 /* ./parser//parser.nit:6880 */
19802 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19803 if (UNTAG_Bool(REGB0)) {
19804 } else {
19805 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6880);
19806 }
19807 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19808 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19809 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19810 stack_frame_head = fra.me.prev;
19811 return;
19812 }
19813 void parser___ReduceAction193___action(val_t p0, val_t p1){
19814 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19815 val_t REGB0;
19816 val_t tmp;
19817 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19818 fra.me.file = LOCATE_parser;
19819 fra.me.line = 6885;
19820 fra.me.meth = LOCATE_parser___ReduceAction193___action;
19821 fra.me.has_broke = 0;
19822 fra.me.REG_size = 4;
19823 fra.me.REG[0] = NIT_NULL;
19824 fra.me.REG[1] = NIT_NULL;
19825 fra.me.REG[2] = NIT_NULL;
19826 fra.me.REG[3] = NIT_NULL;
19827 fra.me.REG[0] = p0;
19828 fra.me.REG[1] = p1;
19829 /* ./parser//parser.nit:6887 */
19830 fra.me.REG[2] = NIT_NULL;
19831 /* ./parser//parser.nit:6888 */
19832 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19833 /* ./parser//parser.nit:6890 */
19834 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*/;
19835 if (UNTAG_Bool(REGB0)) {
19836 } else {
19837 nit_abort("Assert failed", NULL, LOCATE_parser, 6890);
19838 }
19839 /* ./parser//parser.nit:6891 */
19840 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(NIT_NULL, fra.me.REG[3]);
19841 /* ./parser//parser.nit:6895 */
19842 fra.me.REG[2] = fra.me.REG[3];
19843 /* ./parser//parser.nit:6896 */
19844 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19845 if (UNTAG_Bool(REGB0)) {
19846 } else {
19847 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6896);
19848 }
19849 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19850 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19851 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19852 stack_frame_head = fra.me.prev;
19853 return;
19854 }
19855 void parser___ReduceAction194___action(val_t p0, val_t p1){
19856 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
19857 val_t REGB0;
19858 val_t tmp;
19859 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19860 fra.me.file = LOCATE_parser;
19861 fra.me.line = 6901;
19862 fra.me.meth = LOCATE_parser___ReduceAction194___action;
19863 fra.me.has_broke = 0;
19864 fra.me.REG_size = 5;
19865 fra.me.REG[0] = NIT_NULL;
19866 fra.me.REG[1] = NIT_NULL;
19867 fra.me.REG[2] = NIT_NULL;
19868 fra.me.REG[3] = NIT_NULL;
19869 fra.me.REG[4] = NIT_NULL;
19870 fra.me.REG[0] = p0;
19871 fra.me.REG[1] = p1;
19872 /* ./parser//parser.nit:6903 */
19873 fra.me.REG[2] = NIT_NULL;
19874 /* ./parser//parser.nit:6904 */
19875 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19876 /* ./parser//parser.nit:6905 */
19877 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
19878 /* ./parser//parser.nit:6907 */
19879 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*/;
19880 if (UNTAG_Bool(REGB0)) {
19881 } else {
19882 nit_abort("Assert failed", NULL, LOCATE_parser, 6907);
19883 }
19884 /* ./parser//parser.nit:6908 */
19885 fra.me.REG[4] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
19886 /* ./parser//parser.nit:6913 */
19887 fra.me.REG[2] = fra.me.REG[4];
19888 /* ./parser//parser.nit:6914 */
19889 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19890 if (UNTAG_Bool(REGB0)) {
19891 } else {
19892 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6914);
19893 }
19894 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19895 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19896 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19897 stack_frame_head = fra.me.prev;
19898 return;
19899 }
19900 void parser___ReduceAction195___action(val_t p0, val_t p1){
19901 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
19902 val_t REGB0;
19903 val_t tmp;
19904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19905 fra.me.file = LOCATE_parser;
19906 fra.me.line = 6919;
19907 fra.me.meth = LOCATE_parser___ReduceAction195___action;
19908 fra.me.has_broke = 0;
19909 fra.me.REG_size = 6;
19910 fra.me.REG[0] = NIT_NULL;
19911 fra.me.REG[1] = NIT_NULL;
19912 fra.me.REG[2] = NIT_NULL;
19913 fra.me.REG[3] = NIT_NULL;
19914 fra.me.REG[4] = NIT_NULL;
19915 fra.me.REG[5] = NIT_NULL;
19916 fra.me.REG[0] = p0;
19917 fra.me.REG[1] = p1;
19918 /* ./parser//parser.nit:6921 */
19919 fra.me.REG[2] = NIT_NULL;
19920 /* ./parser//parser.nit:6922 */
19921 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19922 /* ./parser//parser.nit:6923 */
19923 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19924 /* ./parser//parser.nit:6924 */
19925 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
19926 /* ./parser//parser.nit:6926 */
19927 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*/;
19928 if (UNTAG_Bool(REGB0)) {
19929 } else {
19930 nit_abort("Assert failed", NULL, LOCATE_parser, 6926);
19931 }
19932 /* ./parser//parser.nit:6928 */
19933 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*/;
19934 if (UNTAG_Bool(REGB0)) {
19935 } else {
19936 nit_abort("Assert failed", NULL, LOCATE_parser, 6928);
19937 }
19938 /* ./parser//parser.nit:6929 */
19939 fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
19940 /* ./parser//parser.nit:6934 */
19941 fra.me.REG[2] = fra.me.REG[5];
19942 /* ./parser//parser.nit:6935 */
19943 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19944 if (UNTAG_Bool(REGB0)) {
19945 } else {
19946 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6935);
19947 }
19948 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19949 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19950 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19951 stack_frame_head = fra.me.prev;
19952 return;
19953 }
19954 void parser___ReduceAction196___action(val_t p0, val_t p1){
19955 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
19956 val_t REGB0;
19957 val_t tmp;
19958 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19959 fra.me.file = LOCATE_parser;
19960 fra.me.line = 6940;
19961 fra.me.meth = LOCATE_parser___ReduceAction196___action;
19962 fra.me.has_broke = 0;
19963 fra.me.REG_size = 6;
19964 fra.me.REG[0] = NIT_NULL;
19965 fra.me.REG[1] = NIT_NULL;
19966 fra.me.REG[2] = NIT_NULL;
19967 fra.me.REG[3] = NIT_NULL;
19968 fra.me.REG[4] = NIT_NULL;
19969 fra.me.REG[5] = NIT_NULL;
19970 fra.me.REG[0] = p0;
19971 fra.me.REG[1] = p1;
19972 /* ./parser//parser.nit:6942 */
19973 fra.me.REG[2] = NIT_NULL;
19974 /* ./parser//parser.nit:6943 */
19975 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19976 /* ./parser//parser.nit:6944 */
19977 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19978 /* ./parser//parser.nit:6945 */
19979 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19980 /* ./parser//parser.nit:6946 */
19981 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19982 /* ./parser//parser.nit:6947 */
19983 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19984 /* ./parser//parser.nit:6948 */
19985 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19986 /* ./parser//parser.nit:6949 */
19987 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
19988 /* ./parser//parser.nit:6951 */
19989 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*/;
19990 if (UNTAG_Bool(REGB0)) {
19991 } else {
19992 nit_abort("Assert failed", NULL, LOCATE_parser, 6951);
19993 }
19994 /* ./parser//parser.nit:6953 */
19995 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]*/;
19996 if (UNTAG_Bool(REGB0)) {
19997 } else {
19998 nit_abort("Assert failed", NULL, LOCATE_parser, 6953);
19999 }
20000 /* ./parser//parser.nit:6954 */
20001 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
20002 fra.me.REG[5] = fra.me.REG[3];
20003 /* ./parser//parser.nit:6955 */
20004 fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
20005 /* ./parser//parser.nit:6960 */
20006 fra.me.REG[2] = fra.me.REG[5];
20007 /* ./parser//parser.nit:6961 */
20008 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20009 if (UNTAG_Bool(REGB0)) {
20010 } else {
20011 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6961);
20012 }
20013 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20014 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20015 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20016 stack_frame_head = fra.me.prev;
20017 return;
20018 }
20019 void parser___ReduceAction197___action(val_t p0, val_t p1){
20020 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
20021 val_t REGB0;
20022 val_t tmp;
20023 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20024 fra.me.file = LOCATE_parser;
20025 fra.me.line = 6966;
20026 fra.me.meth = LOCATE_parser___ReduceAction197___action;
20027 fra.me.has_broke = 0;
20028 fra.me.REG_size = 7;
20029 fra.me.REG[0] = NIT_NULL;
20030 fra.me.REG[1] = NIT_NULL;
20031 fra.me.REG[2] = NIT_NULL;
20032 fra.me.REG[3] = NIT_NULL;
20033 fra.me.REG[4] = NIT_NULL;
20034 fra.me.REG[5] = NIT_NULL;
20035 fra.me.REG[6] = NIT_NULL;
20036 fra.me.REG[0] = p0;
20037 fra.me.REG[1] = p1;
20038 /* ./parser//parser.nit:6968 */
20039 fra.me.REG[2] = NIT_NULL;
20040 /* ./parser//parser.nit:6969 */
20041 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20042 /* ./parser//parser.nit:6970 */
20043 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20044 /* ./parser//parser.nit:6971 */
20045 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20046 /* ./parser//parser.nit:6972 */
20047 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20048 /* ./parser//parser.nit:6973 */
20049 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20050 /* ./parser//parser.nit:6974 */
20051 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20052 /* ./parser//parser.nit:6975 */
20053 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20054 /* ./parser//parser.nit:6976 */
20055 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
20056 /* ./parser//parser.nit:6978 */
20057 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*/;
20058 if (UNTAG_Bool(REGB0)) {
20059 } else {
20060 nit_abort("Assert failed", NULL, LOCATE_parser, 6978);
20061 }
20062 /* ./parser//parser.nit:6980 */
20063 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*/;
20064 if (UNTAG_Bool(REGB0)) {
20065 } else {
20066 nit_abort("Assert failed", NULL, LOCATE_parser, 6980);
20067 }
20068 /* ./parser//parser.nit:6982 */
20069 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]*/;
20070 if (UNTAG_Bool(REGB0)) {
20071 } else {
20072 nit_abort("Assert failed", NULL, LOCATE_parser, 6982);
20073 }
20074 /* ./parser//parser.nit:6983 */
20075 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
20076 fra.me.REG[6] = fra.me.REG[3];
20077 /* ./parser//parser.nit:6984 */
20078 fra.me.REG[6] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
20079 /* ./parser//parser.nit:6989 */
20080 fra.me.REG[2] = fra.me.REG[6];
20081 /* ./parser//parser.nit:6990 */
20082 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20083 if (UNTAG_Bool(REGB0)) {
20084 } else {
20085 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6990);
20086 }
20087 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20088 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20089 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20090 stack_frame_head = fra.me.prev;
20091 return;
20092 }
20093 void parser___ReduceAction198___action(val_t p0, val_t p1){
20094 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20095 val_t REGB0;
20096 val_t REGB1;
20097 val_t tmp;
20098 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20099 fra.me.file = LOCATE_parser;
20100 fra.me.line = 6995;
20101 fra.me.meth = LOCATE_parser___ReduceAction198___action;
20102 fra.me.has_broke = 0;
20103 fra.me.REG_size = 5;
20104 fra.me.REG[0] = NIT_NULL;
20105 fra.me.REG[1] = NIT_NULL;
20106 fra.me.REG[2] = NIT_NULL;
20107 fra.me.REG[3] = NIT_NULL;
20108 fra.me.REG[4] = NIT_NULL;
20109 fra.me.REG[0] = p0;
20110 fra.me.REG[1] = p1;
20111 /* ./parser//parser.nit:6997 */
20112 fra.me.REG[2] = NIT_NULL;
20113 /* ./parser//parser.nit:6998 */
20114 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20115 /* ./parser//parser.nit:6999 */
20116 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
20117 /* ./parser//parser.nit:7001 */
20118 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
20119 if (UNTAG_Bool(REGB0)) {
20120 } else {
20121 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
20122 if (UNTAG_Bool(REGB1)) {
20123 REGB1 = TAG_Bool(false);
20124 REGB0 = REGB1;
20125 } else {
20126 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
20127 REGB0 = REGB1;
20128 }
20129 }
20130 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20131 if (UNTAG_Bool(REGB0)) {
20132 /* ./parser//parser.nit:7002 */
20133 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
20134 }
20135 /* ./parser//parser.nit:7004 */
20136 fra.me.REG[2] = fra.me.REG[4];
20137 /* ./parser//parser.nit:7005 */
20138 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20139 if (UNTAG_Bool(REGB0)) {
20140 } else {
20141 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7005);
20142 }
20143 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20144 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20145 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20146 stack_frame_head = fra.me.prev;
20147 return;
20148 }
20149 void parser___ReduceAction199___action(val_t p0, val_t p1){
20150 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
20151 val_t REGB0;
20152 val_t REGB1;
20153 val_t tmp;
20154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20155 fra.me.file = LOCATE_parser;
20156 fra.me.line = 7010;
20157 fra.me.meth = LOCATE_parser___ReduceAction199___action;
20158 fra.me.has_broke = 0;
20159 fra.me.REG_size = 6;
20160 fra.me.REG[0] = NIT_NULL;
20161 fra.me.REG[1] = NIT_NULL;
20162 fra.me.REG[2] = NIT_NULL;
20163 fra.me.REG[3] = NIT_NULL;
20164 fra.me.REG[4] = NIT_NULL;
20165 fra.me.REG[5] = NIT_NULL;
20166 fra.me.REG[0] = p0;
20167 fra.me.REG[1] = p1;
20168 /* ./parser//parser.nit:7012 */
20169 fra.me.REG[2] = NIT_NULL;
20170 /* ./parser//parser.nit:7013 */
20171 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20172 /* ./parser//parser.nit:7014 */
20173 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20174 /* ./parser//parser.nit:7015 */
20175 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
20176 /* ./parser//parser.nit:7018 */
20177 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]*/;
20178 if (UNTAG_Bool(REGB0)) {
20179 } else {
20180 nit_abort("Assert failed", NULL, LOCATE_parser, 7018);
20181 }
20182 /* ./parser//parser.nit:7019 */
20183 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
20184 if (UNTAG_Bool(REGB0)) {
20185 } else {
20186 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
20187 if (UNTAG_Bool(REGB1)) {
20188 REGB1 = TAG_Bool(false);
20189 REGB0 = REGB1;
20190 } else {
20191 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
20192 REGB0 = REGB1;
20193 }
20194 }
20195 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20196 if (UNTAG_Bool(REGB0)) {
20197 /* ./parser//parser.nit:7020 */
20198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
20199 }
20200 /* ./parser//parser.nit:7022 */
20201 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
20202 fra.me.REG[5] = fra.me.REG[3];
20203 /* ./parser//parser.nit:7023 */
20204 fra.me.REG[2] = fra.me.REG[5];
20205 /* ./parser//parser.nit:7024 */
20206 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20207 if (UNTAG_Bool(REGB0)) {
20208 } else {
20209 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7024);
20210 }
20211 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20212 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20213 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20214 stack_frame_head = fra.me.prev;
20215 return;
20216 }
20217 void parser___ReduceAction200___action(val_t p0, val_t p1){
20218 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20219 val_t REGB0;
20220 val_t tmp;
20221 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20222 fra.me.file = LOCATE_parser;
20223 fra.me.line = 7029;
20224 fra.me.meth = LOCATE_parser___ReduceAction200___action;
20225 fra.me.has_broke = 0;
20226 fra.me.REG_size = 5;
20227 fra.me.REG[0] = NIT_NULL;
20228 fra.me.REG[1] = NIT_NULL;
20229 fra.me.REG[2] = NIT_NULL;
20230 fra.me.REG[3] = NIT_NULL;
20231 fra.me.REG[4] = NIT_NULL;
20232 fra.me.REG[0] = p0;
20233 fra.me.REG[1] = p1;
20234 /* ./parser//parser.nit:7031 */
20235 fra.me.REG[2] = NIT_NULL;
20236 /* ./parser//parser.nit:7032 */
20237 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20238 /* ./parser//parser.nit:7033 */
20239 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20240 /* ./parser//parser.nit:7034 */
20241 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20242 /* ./parser//parser.nit:7036 */
20243 fra.me.REG[2] = fra.me.REG[3];
20244 /* ./parser//parser.nit:7037 */
20245 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20246 if (UNTAG_Bool(REGB0)) {
20247 } else {
20248 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7037);
20249 }
20250 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20251 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20252 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20253 stack_frame_head = fra.me.prev;
20254 return;
20255 }
20256 void parser___ReduceAction202___action(val_t p0, val_t p1){
20257 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20258 val_t REGB0;
20259 val_t tmp;
20260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20261 fra.me.file = LOCATE_parser;
20262 fra.me.line = 7042;
20263 fra.me.meth = LOCATE_parser___ReduceAction202___action;
20264 fra.me.has_broke = 0;
20265 fra.me.REG_size = 5;
20266 fra.me.REG[0] = NIT_NULL;
20267 fra.me.REG[1] = NIT_NULL;
20268 fra.me.REG[2] = NIT_NULL;
20269 fra.me.REG[3] = NIT_NULL;
20270 fra.me.REG[4] = NIT_NULL;
20271 fra.me.REG[0] = p0;
20272 fra.me.REG[1] = p1;
20273 /* ./parser//parser.nit:7044 */
20274 fra.me.REG[2] = NIT_NULL;
20275 /* ./parser//parser.nit:7045 */
20276 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20277 /* ./parser//parser.nit:7046 */
20278 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20279 /* ./parser//parser.nit:7047 */
20280 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20281 /* ./parser//parser.nit:7049 */
20282 fra.me.REG[2] = fra.me.REG[3];
20283 /* ./parser//parser.nit:7050 */
20284 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20285 if (UNTAG_Bool(REGB0)) {
20286 } else {
20287 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7050);
20288 }
20289 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20290 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20291 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20292 stack_frame_head = fra.me.prev;
20293 return;
20294 }
20295 void parser___ReduceAction203___action(val_t p0, val_t p1){
20296 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20297 val_t REGB0;
20298 val_t tmp;
20299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20300 fra.me.file = LOCATE_parser;
20301 fra.me.line = 7055;
20302 fra.me.meth = LOCATE_parser___ReduceAction203___action;
20303 fra.me.has_broke = 0;
20304 fra.me.REG_size = 4;
20305 fra.me.REG[0] = NIT_NULL;
20306 fra.me.REG[1] = NIT_NULL;
20307 fra.me.REG[2] = NIT_NULL;
20308 fra.me.REG[3] = NIT_NULL;
20309 fra.me.REG[0] = p0;
20310 fra.me.REG[1] = p1;
20311 /* ./parser//parser.nit:7057 */
20312 fra.me.REG[2] = NIT_NULL;
20313 /* ./parser//parser.nit:7058 */
20314 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20315 /* ./parser//parser.nit:7059 */
20316 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20317 /* ./parser//parser.nit:7060 */
20318 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
20319 /* ./parser//parser.nit:7061 */
20320 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
20321 /* ./parser//parser.nit:7064 */
20322 fra.me.REG[2] = fra.me.REG[3];
20323 /* ./parser//parser.nit:7065 */
20324 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20325 if (UNTAG_Bool(REGB0)) {
20326 } else {
20327 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7065);
20328 }
20329 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20330 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20331 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20332 stack_frame_head = fra.me.prev;
20333 return;
20334 }
20335 void parser___ReduceAction204___action(val_t p0, val_t p1){
20336 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20337 val_t REGB0;
20338 val_t tmp;
20339 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20340 fra.me.file = LOCATE_parser;
20341 fra.me.line = 7070;
20342 fra.me.meth = LOCATE_parser___ReduceAction204___action;
20343 fra.me.has_broke = 0;
20344 fra.me.REG_size = 4;
20345 fra.me.REG[0] = NIT_NULL;
20346 fra.me.REG[1] = NIT_NULL;
20347 fra.me.REG[2] = NIT_NULL;
20348 fra.me.REG[3] = NIT_NULL;
20349 fra.me.REG[0] = p0;
20350 fra.me.REG[1] = p1;
20351 /* ./parser//parser.nit:7072 */
20352 fra.me.REG[2] = NIT_NULL;
20353 /* ./parser//parser.nit:7073 */
20354 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20355 /* ./parser//parser.nit:7074 */
20356 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
20357 /* ./parser//parser.nit:7075 */
20358 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[3]);
20359 /* ./parser//parser.nit:7078 */
20360 fra.me.REG[2] = fra.me.REG[3];
20361 /* ./parser//parser.nit:7079 */
20362 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20363 if (UNTAG_Bool(REGB0)) {
20364 } else {
20365 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7079);
20366 }
20367 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20368 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20369 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20370 stack_frame_head = fra.me.prev;
20371 return;
20372 }
20373 void parser___ReduceAction205___action(val_t p0, val_t p1){
20374 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20375 val_t REGB0;
20376 val_t tmp;
20377 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20378 fra.me.file = LOCATE_parser;
20379 fra.me.line = 7084;
20380 fra.me.meth = LOCATE_parser___ReduceAction205___action;
20381 fra.me.has_broke = 0;
20382 fra.me.REG_size = 4;
20383 fra.me.REG[0] = NIT_NULL;
20384 fra.me.REG[1] = NIT_NULL;
20385 fra.me.REG[2] = NIT_NULL;
20386 fra.me.REG[3] = NIT_NULL;
20387 fra.me.REG[0] = p0;
20388 fra.me.REG[1] = p1;
20389 /* ./parser//parser.nit:7086 */
20390 fra.me.REG[2] = NIT_NULL;
20391 /* ./parser//parser.nit:7087 */
20392 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20393 /* ./parser//parser.nit:7089 */
20394 fra.me.REG[2] = fra.me.REG[3];
20395 /* ./parser//parser.nit:7090 */
20396 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20397 if (UNTAG_Bool(REGB0)) {
20398 } else {
20399 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7090);
20400 }
20401 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20402 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20403 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20404 stack_frame_head = fra.me.prev;
20405 return;
20406 }
20407 void parser___ReduceAction206___action(val_t p0, val_t p1){
20408 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20409 val_t REGB0;
20410 val_t REGB1;
20411 val_t tmp;
20412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20413 fra.me.file = LOCATE_parser;
20414 fra.me.line = 7095;
20415 fra.me.meth = LOCATE_parser___ReduceAction206___action;
20416 fra.me.has_broke = 0;
20417 fra.me.REG_size = 5;
20418 fra.me.REG[0] = NIT_NULL;
20419 fra.me.REG[1] = NIT_NULL;
20420 fra.me.REG[2] = NIT_NULL;
20421 fra.me.REG[3] = NIT_NULL;
20422 fra.me.REG[4] = NIT_NULL;
20423 fra.me.REG[0] = p0;
20424 fra.me.REG[1] = p1;
20425 /* ./parser//parser.nit:7097 */
20426 fra.me.REG[2] = NIT_NULL;
20427 /* ./parser//parser.nit:7098 */
20428 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20429 /* ./parser//parser.nit:7099 */
20430 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
20431 /* ./parser//parser.nit:7101 */
20432 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*/;
20433 if (UNTAG_Bool(REGB0)) {
20434 } else {
20435 nit_abort("Assert failed", NULL, LOCATE_parser, 7101);
20436 }
20437 /* ./parser//parser.nit:7102 */
20438 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
20439 if (UNTAG_Bool(REGB0)) {
20440 } else {
20441 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
20442 if (UNTAG_Bool(REGB1)) {
20443 REGB1 = TAG_Bool(false);
20444 REGB0 = REGB1;
20445 } else {
20446 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
20447 REGB0 = REGB1;
20448 }
20449 }
20450 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20451 if (UNTAG_Bool(REGB0)) {
20452 /* ./parser//parser.nit:7103 */
20453 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
20454 }
20455 /* ./parser//parser.nit:7105 */
20456 fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
20457 /* ./parser//parser.nit:7108 */
20458 fra.me.REG[2] = fra.me.REG[4];
20459 /* ./parser//parser.nit:7109 */
20460 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20461 if (UNTAG_Bool(REGB0)) {
20462 } else {
20463 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7109);
20464 }
20465 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20466 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20467 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20468 stack_frame_head = fra.me.prev;
20469 return;
20470 }
20471 void parser___ReduceAction207___action(val_t p0, val_t p1){
20472 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
20473 val_t REGB0;
20474 val_t REGB1;
20475 val_t tmp;
20476 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20477 fra.me.file = LOCATE_parser;
20478 fra.me.line = 7114;
20479 fra.me.meth = LOCATE_parser___ReduceAction207___action;
20480 fra.me.has_broke = 0;
20481 fra.me.REG_size = 6;
20482 fra.me.REG[0] = NIT_NULL;
20483 fra.me.REG[1] = NIT_NULL;
20484 fra.me.REG[2] = NIT_NULL;
20485 fra.me.REG[3] = NIT_NULL;
20486 fra.me.REG[4] = NIT_NULL;
20487 fra.me.REG[5] = NIT_NULL;
20488 fra.me.REG[0] = p0;
20489 fra.me.REG[1] = p1;
20490 /* ./parser//parser.nit:7116 */
20491 fra.me.REG[2] = NIT_NULL;
20492 /* ./parser//parser.nit:7117 */
20493 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20494 /* ./parser//parser.nit:7118 */
20495 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20496 /* ./parser//parser.nit:7119 */
20497 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
20498 /* ./parser//parser.nit:7121 */
20499 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*/;
20500 if (UNTAG_Bool(REGB0)) {
20501 } else {
20502 nit_abort("Assert failed", NULL, LOCATE_parser, 7121);
20503 }
20504 /* ./parser//parser.nit:7123 */
20505 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]*/;
20506 if (UNTAG_Bool(REGB0)) {
20507 } else {
20508 nit_abort("Assert failed", NULL, LOCATE_parser, 7123);
20509 }
20510 /* ./parser//parser.nit:7124 */
20511 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
20512 if (UNTAG_Bool(REGB0)) {
20513 } else {
20514 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
20515 if (UNTAG_Bool(REGB1)) {
20516 REGB1 = TAG_Bool(false);
20517 REGB0 = REGB1;
20518 } else {
20519 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
20520 REGB0 = REGB1;
20521 }
20522 }
20523 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20524 if (UNTAG_Bool(REGB0)) {
20525 /* ./parser//parser.nit:7125 */
20526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
20527 }
20528 /* ./parser//parser.nit:7127 */
20529 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
20530 fra.me.REG[5] = fra.me.REG[3];
20531 /* ./parser//parser.nit:7128 */
20532 fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
20533 /* ./parser//parser.nit:7131 */
20534 fra.me.REG[2] = fra.me.REG[5];
20535 /* ./parser//parser.nit:7132 */
20536 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20537 if (UNTAG_Bool(REGB0)) {
20538 } else {
20539 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7132);
20540 }
20541 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20542 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20543 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20544 stack_frame_head = fra.me.prev;
20545 return;
20546 }
20547 void parser___ReduceAction208___action(val_t p0, val_t p1){
20548 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20549 val_t REGB0;
20550 val_t REGB1;
20551 val_t tmp;
20552 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20553 fra.me.file = LOCATE_parser;
20554 fra.me.line = 7137;
20555 fra.me.meth = LOCATE_parser___ReduceAction208___action;
20556 fra.me.has_broke = 0;
20557 fra.me.REG_size = 5;
20558 fra.me.REG[0] = NIT_NULL;
20559 fra.me.REG[1] = NIT_NULL;
20560 fra.me.REG[2] = NIT_NULL;
20561 fra.me.REG[3] = NIT_NULL;
20562 fra.me.REG[4] = NIT_NULL;
20563 fra.me.REG[0] = p0;
20564 fra.me.REG[1] = p1;
20565 /* ./parser//parser.nit:7139 */
20566 fra.me.REG[2] = NIT_NULL;
20567 /* ./parser//parser.nit:7140 */
20568 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20569 /* ./parser//parser.nit:7141 */
20570 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20571 /* ./parser//parser.nit:7142 */
20572 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
20573 /* ./parser//parser.nit:7144 */
20574 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*/;
20575 if (UNTAG_Bool(REGB0)) {
20576 } else {
20577 nit_abort("Assert failed", NULL, LOCATE_parser, 7144);
20578 }
20579 /* ./parser//parser.nit:7145 */
20580 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
20581 if (UNTAG_Bool(REGB0)) {
20582 } else {
20583 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
20584 if (UNTAG_Bool(REGB1)) {
20585 REGB1 = TAG_Bool(false);
20586 REGB0 = REGB1;
20587 } else {
20588 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
20589 REGB0 = REGB1;
20590 }
20591 }
20592 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20593 if (UNTAG_Bool(REGB0)) {
20594 /* ./parser//parser.nit:7146 */
20595 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
20596 }
20597 /* ./parser//parser.nit:7148 */
20598 fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4]);
20599 /* ./parser//parser.nit:7151 */
20600 fra.me.REG[2] = fra.me.REG[4];
20601 /* ./parser//parser.nit:7152 */
20602 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20603 if (UNTAG_Bool(REGB0)) {
20604 } else {
20605 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7152);
20606 }
20607 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20608 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20609 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20610 stack_frame_head = fra.me.prev;
20611 return;
20612 }
20613 void parser___ReduceAction209___action(val_t p0, val_t p1){
20614 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
20615 val_t REGB0;
20616 val_t REGB1;
20617 val_t tmp;
20618 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20619 fra.me.file = LOCATE_parser;
20620 fra.me.line = 7157;
20621 fra.me.meth = LOCATE_parser___ReduceAction209___action;
20622 fra.me.has_broke = 0;
20623 fra.me.REG_size = 6;
20624 fra.me.REG[0] = NIT_NULL;
20625 fra.me.REG[1] = NIT_NULL;
20626 fra.me.REG[2] = NIT_NULL;
20627 fra.me.REG[3] = NIT_NULL;
20628 fra.me.REG[4] = NIT_NULL;
20629 fra.me.REG[5] = NIT_NULL;
20630 fra.me.REG[0] = p0;
20631 fra.me.REG[1] = p1;
20632 /* ./parser//parser.nit:7159 */
20633 fra.me.REG[2] = NIT_NULL;
20634 /* ./parser//parser.nit:7160 */
20635 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20636 /* ./parser//parser.nit:7161 */
20637 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20638 /* ./parser//parser.nit:7162 */
20639 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20640 /* ./parser//parser.nit:7163 */
20641 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
20642 /* ./parser//parser.nit:7165 */
20643 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*/;
20644 if (UNTAG_Bool(REGB0)) {
20645 } else {
20646 nit_abort("Assert failed", NULL, LOCATE_parser, 7165);
20647 }
20648 /* ./parser//parser.nit:7167 */
20649 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]*/;
20650 if (UNTAG_Bool(REGB0)) {
20651 } else {
20652 nit_abort("Assert failed", NULL, LOCATE_parser, 7167);
20653 }
20654 /* ./parser//parser.nit:7168 */
20655 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
20656 if (UNTAG_Bool(REGB0)) {
20657 } else {
20658 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
20659 if (UNTAG_Bool(REGB1)) {
20660 REGB1 = TAG_Bool(false);
20661 REGB0 = REGB1;
20662 } else {
20663 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
20664 REGB0 = REGB1;
20665 }
20666 }
20667 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20668 if (UNTAG_Bool(REGB0)) {
20669 /* ./parser//parser.nit:7169 */
20670 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
20671 }
20672 /* ./parser//parser.nit:7171 */
20673 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
20674 fra.me.REG[5] = fra.me.REG[3];
20675 /* ./parser//parser.nit:7172 */
20676 fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5]);
20677 /* ./parser//parser.nit:7175 */
20678 fra.me.REG[2] = fra.me.REG[5];
20679 /* ./parser//parser.nit:7176 */
20680 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20681 if (UNTAG_Bool(REGB0)) {
20682 } else {
20683 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7176);
20684 }
20685 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20686 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20687 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20688 stack_frame_head = fra.me.prev;
20689 return;
20690 }
20691 void parser___ReduceAction210___action(val_t p0, val_t p1){
20692 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20693 val_t REGB0;
20694 val_t tmp;
20695 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20696 fra.me.file = LOCATE_parser;
20697 fra.me.line = 7181;
20698 fra.me.meth = LOCATE_parser___ReduceAction210___action;
20699 fra.me.has_broke = 0;
20700 fra.me.REG_size = 5;
20701 fra.me.REG[0] = NIT_NULL;
20702 fra.me.REG[1] = NIT_NULL;
20703 fra.me.REG[2] = NIT_NULL;
20704 fra.me.REG[3] = NIT_NULL;
20705 fra.me.REG[4] = NIT_NULL;
20706 fra.me.REG[0] = p0;
20707 fra.me.REG[1] = p1;
20708 /* ./parser//parser.nit:7183 */
20709 fra.me.REG[2] = NIT_NULL;
20710 /* ./parser//parser.nit:7184 */
20711 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20712 /* ./parser//parser.nit:7185 */
20713 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20714 /* ./parser//parser.nit:7187 */
20715 fra.me.REG[2] = fra.me.REG[3];
20716 /* ./parser//parser.nit:7188 */
20717 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20718 if (UNTAG_Bool(REGB0)) {
20719 } else {
20720 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7188);
20721 }
20722 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20723 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20724 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20725 stack_frame_head = fra.me.prev;
20726 return;
20727 }
20728 void parser___ReduceAction213___action(val_t p0, val_t p1){
20729 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20730 val_t REGB0;
20731 val_t tmp;
20732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20733 fra.me.file = LOCATE_parser;
20734 fra.me.line = 7193;
20735 fra.me.meth = LOCATE_parser___ReduceAction213___action;
20736 fra.me.has_broke = 0;
20737 fra.me.REG_size = 4;
20738 fra.me.REG[0] = NIT_NULL;
20739 fra.me.REG[1] = NIT_NULL;
20740 fra.me.REG[2] = NIT_NULL;
20741 fra.me.REG[3] = NIT_NULL;
20742 fra.me.REG[0] = p0;
20743 fra.me.REG[1] = p1;
20744 /* ./parser//parser.nit:7195 */
20745 fra.me.REG[2] = NIT_NULL;
20746 /* ./parser//parser.nit:7196 */
20747 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20748 /* ./parser//parser.nit:7198 */
20749 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*/;
20750 if (UNTAG_Bool(REGB0)) {
20751 } else {
20752 nit_abort("Assert failed", NULL, LOCATE_parser, 7198);
20753 }
20754 /* ./parser//parser.nit:7199 */
20755 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], NIT_NULL);
20756 /* ./parser//parser.nit:7203 */
20757 fra.me.REG[2] = fra.me.REG[3];
20758 /* ./parser//parser.nit:7204 */
20759 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20760 if (UNTAG_Bool(REGB0)) {
20761 } else {
20762 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7204);
20763 }
20764 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20765 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20766 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20767 stack_frame_head = fra.me.prev;
20768 return;
20769 }
20770 void parser___ReduceAction214___action(val_t p0, val_t p1){
20771 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20772 val_t REGB0;
20773 val_t tmp;
20774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20775 fra.me.file = LOCATE_parser;
20776 fra.me.line = 7209;
20777 fra.me.meth = LOCATE_parser___ReduceAction214___action;
20778 fra.me.has_broke = 0;
20779 fra.me.REG_size = 5;
20780 fra.me.REG[0] = NIT_NULL;
20781 fra.me.REG[1] = NIT_NULL;
20782 fra.me.REG[2] = NIT_NULL;
20783 fra.me.REG[3] = NIT_NULL;
20784 fra.me.REG[4] = NIT_NULL;
20785 fra.me.REG[0] = p0;
20786 fra.me.REG[1] = p1;
20787 /* ./parser//parser.nit:7211 */
20788 fra.me.REG[2] = NIT_NULL;
20789 /* ./parser//parser.nit:7212 */
20790 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20791 /* ./parser//parser.nit:7213 */
20792 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20793 /* ./parser//parser.nit:7215 */
20794 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*/;
20795 if (UNTAG_Bool(REGB0)) {
20796 } else {
20797 nit_abort("Assert failed", NULL, LOCATE_parser, 7215);
20798 }
20799 /* ./parser//parser.nit:7217 */
20800 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*/;
20801 if (UNTAG_Bool(REGB0)) {
20802 } else {
20803 nit_abort("Assert failed", NULL, LOCATE_parser, 7217);
20804 }
20805 /* ./parser//parser.nit:7218 */
20806 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[4], fra.me.REG[3]);
20807 /* ./parser//parser.nit:7222 */
20808 fra.me.REG[2] = fra.me.REG[3];
20809 /* ./parser//parser.nit:7223 */
20810 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20811 if (UNTAG_Bool(REGB0)) {
20812 } else {
20813 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7223);
20814 }
20815 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20816 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20817 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20818 stack_frame_head = fra.me.prev;
20819 return;
20820 }
20821 void parser___ReduceAction215___action(val_t p0, val_t p1){
20822 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20823 val_t REGB0;
20824 val_t tmp;
20825 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20826 fra.me.file = LOCATE_parser;
20827 fra.me.line = 7228;
20828 fra.me.meth = LOCATE_parser___ReduceAction215___action;
20829 fra.me.has_broke = 0;
20830 fra.me.REG_size = 4;
20831 fra.me.REG[0] = NIT_NULL;
20832 fra.me.REG[1] = NIT_NULL;
20833 fra.me.REG[2] = NIT_NULL;
20834 fra.me.REG[3] = NIT_NULL;
20835 fra.me.REG[0] = p0;
20836 fra.me.REG[1] = p1;
20837 /* ./parser//parser.nit:7230 */
20838 fra.me.REG[2] = NIT_NULL;
20839 /* ./parser//parser.nit:7231 */
20840 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20841 /* ./parser//parser.nit:7233 */
20842 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*/;
20843 if (UNTAG_Bool(REGB0)) {
20844 } else {
20845 nit_abort("Assert failed", NULL, LOCATE_parser, 7233);
20846 }
20847 /* ./parser//parser.nit:7234 */
20848 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
20849 /* ./parser//parser.nit:7239 */
20850 fra.me.REG[2] = fra.me.REG[3];
20851 /* ./parser//parser.nit:7240 */
20852 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20853 if (UNTAG_Bool(REGB0)) {
20854 } else {
20855 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7240);
20856 }
20857 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20858 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20859 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20860 stack_frame_head = fra.me.prev;
20861 return;
20862 }
20863 void parser___ReduceAction216___action(val_t p0, val_t p1){
20864 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20865 val_t REGB0;
20866 val_t tmp;
20867 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20868 fra.me.file = LOCATE_parser;
20869 fra.me.line = 7245;
20870 fra.me.meth = LOCATE_parser___ReduceAction216___action;
20871 fra.me.has_broke = 0;
20872 fra.me.REG_size = 5;
20873 fra.me.REG[0] = NIT_NULL;
20874 fra.me.REG[1] = NIT_NULL;
20875 fra.me.REG[2] = NIT_NULL;
20876 fra.me.REG[3] = NIT_NULL;
20877 fra.me.REG[4] = NIT_NULL;
20878 fra.me.REG[0] = p0;
20879 fra.me.REG[1] = p1;
20880 /* ./parser//parser.nit:7247 */
20881 fra.me.REG[2] = NIT_NULL;
20882 /* ./parser//parser.nit:7248 */
20883 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20884 /* ./parser//parser.nit:7249 */
20885 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20886 /* ./parser//parser.nit:7251 */
20887 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*/;
20888 if (UNTAG_Bool(REGB0)) {
20889 } else {
20890 nit_abort("Assert failed", NULL, LOCATE_parser, 7251);
20891 }
20892 /* ./parser//parser.nit:7253 */
20893 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*/;
20894 if (UNTAG_Bool(REGB0)) {
20895 } else {
20896 nit_abort("Assert failed", NULL, LOCATE_parser, 7253);
20897 }
20898 /* ./parser//parser.nit:7254 */
20899 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
20900 /* ./parser//parser.nit:7259 */
20901 fra.me.REG[2] = fra.me.REG[3];
20902 /* ./parser//parser.nit:7260 */
20903 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20904 if (UNTAG_Bool(REGB0)) {
20905 } else {
20906 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7260);
20907 }
20908 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20909 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20910 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20911 stack_frame_head = fra.me.prev;
20912 return;
20913 }
20914 void parser___ReduceAction217___action(val_t p0, val_t p1){
20915 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20916 val_t REGB0;
20917 val_t tmp;
20918 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20919 fra.me.file = LOCATE_parser;
20920 fra.me.line = 7265;
20921 fra.me.meth = LOCATE_parser___ReduceAction217___action;
20922 fra.me.has_broke = 0;
20923 fra.me.REG_size = 5;
20924 fra.me.REG[0] = NIT_NULL;
20925 fra.me.REG[1] = NIT_NULL;
20926 fra.me.REG[2] = NIT_NULL;
20927 fra.me.REG[3] = NIT_NULL;
20928 fra.me.REG[4] = NIT_NULL;
20929 fra.me.REG[0] = p0;
20930 fra.me.REG[1] = p1;
20931 /* ./parser//parser.nit:7267 */
20932 fra.me.REG[2] = NIT_NULL;
20933 /* ./parser//parser.nit:7268 */
20934 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20935 /* ./parser//parser.nit:7269 */
20936 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20937 /* ./parser//parser.nit:7271 */
20938 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*/;
20939 if (UNTAG_Bool(REGB0)) {
20940 } else {
20941 nit_abort("Assert failed", NULL, LOCATE_parser, 7271);
20942 }
20943 /* ./parser//parser.nit:7273 */
20944 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*/;
20945 if (UNTAG_Bool(REGB0)) {
20946 } else {
20947 nit_abort("Assert failed", NULL, LOCATE_parser, 7273);
20948 }
20949 /* ./parser//parser.nit:7274 */
20950 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
20951 /* ./parser//parser.nit:7279 */
20952 fra.me.REG[2] = fra.me.REG[3];
20953 /* ./parser//parser.nit:7280 */
20954 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20955 if (UNTAG_Bool(REGB0)) {
20956 } else {
20957 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7280);
20958 }
20959 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20960 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20961 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20962 stack_frame_head = fra.me.prev;
20963 return;
20964 }
20965 void parser___ReduceAction218___action(val_t p0, val_t p1){
20966 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
20967 val_t REGB0;
20968 val_t tmp;
20969 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20970 fra.me.file = LOCATE_parser;
20971 fra.me.line = 7285;
20972 fra.me.meth = LOCATE_parser___ReduceAction218___action;
20973 fra.me.has_broke = 0;
20974 fra.me.REG_size = 6;
20975 fra.me.REG[0] = NIT_NULL;
20976 fra.me.REG[1] = NIT_NULL;
20977 fra.me.REG[2] = NIT_NULL;
20978 fra.me.REG[3] = NIT_NULL;
20979 fra.me.REG[4] = NIT_NULL;
20980 fra.me.REG[5] = NIT_NULL;
20981 fra.me.REG[0] = p0;
20982 fra.me.REG[1] = p1;
20983 /* ./parser//parser.nit:7287 */
20984 fra.me.REG[2] = NIT_NULL;
20985 /* ./parser//parser.nit:7288 */
20986 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20987 /* ./parser//parser.nit:7289 */
20988 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20989 /* ./parser//parser.nit:7290 */
20990 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20991 /* ./parser//parser.nit:7292 */
20992 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*/;
20993 if (UNTAG_Bool(REGB0)) {
20994 } else {
20995 nit_abort("Assert failed", NULL, LOCATE_parser, 7292);
20996 }
20997 /* ./parser//parser.nit:7294 */
20998 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*/;
20999 if (UNTAG_Bool(REGB0)) {
21000 } else {
21001 nit_abort("Assert failed", NULL, LOCATE_parser, 7294);
21002 }
21003 /* ./parser//parser.nit:7296 */
21004 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*/;
21005 if (UNTAG_Bool(REGB0)) {
21006 } else {
21007 nit_abort("Assert failed", NULL, LOCATE_parser, 7296);
21008 }
21009 /* ./parser//parser.nit:7297 */
21010 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
21011 /* ./parser//parser.nit:7302 */
21012 fra.me.REG[2] = fra.me.REG[3];
21013 /* ./parser//parser.nit:7303 */
21014 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21015 if (UNTAG_Bool(REGB0)) {
21016 } else {
21017 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7303);
21018 }
21019 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21020 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21021 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21022 stack_frame_head = fra.me.prev;
21023 return;
21024 }
21025 void parser___ReduceAction219___action(val_t p0, val_t p1){
21026 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
21027 val_t REGB0;
21028 val_t tmp;
21029 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21030 fra.me.file = LOCATE_parser;
21031 fra.me.line = 7308;
21032 fra.me.meth = LOCATE_parser___ReduceAction219___action;
21033 fra.me.has_broke = 0;
21034 fra.me.REG_size = 4;
21035 fra.me.REG[0] = NIT_NULL;
21036 fra.me.REG[1] = NIT_NULL;
21037 fra.me.REG[2] = NIT_NULL;
21038 fra.me.REG[3] = NIT_NULL;
21039 fra.me.REG[0] = p0;
21040 fra.me.REG[1] = p1;
21041 /* ./parser//parser.nit:7310 */
21042 fra.me.REG[2] = NIT_NULL;
21043 /* ./parser//parser.nit:7311 */
21044 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21045 /* ./parser//parser.nit:7313 */
21046 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*/;
21047 if (UNTAG_Bool(REGB0)) {
21048 } else {
21049 nit_abort("Assert failed", NULL, LOCATE_parser, 7313);
21050 }
21051 /* ./parser//parser.nit:7314 */
21052 fra.me.REG[3] = NEW_AAbortExpr_parser___parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[3]);
21053 /* ./parser//parser.nit:7317 */
21054 fra.me.REG[2] = fra.me.REG[3];
21055 /* ./parser//parser.nit:7318 */
21056 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21057 if (UNTAG_Bool(REGB0)) {
21058 } else {
21059 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7318);
21060 }
21061 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21062 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21063 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21064 stack_frame_head = fra.me.prev;
21065 return;
21066 }
21067 void parser___ReduceAction220___action(val_t p0, val_t p1){
21068 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
21069 val_t REGB0;
21070 val_t tmp;
21071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21072 fra.me.file = LOCATE_parser;
21073 fra.me.line = 7323;
21074 fra.me.meth = LOCATE_parser___ReduceAction220___action;
21075 fra.me.has_broke = 0;
21076 fra.me.REG_size = 4;
21077 fra.me.REG[0] = NIT_NULL;
21078 fra.me.REG[1] = NIT_NULL;
21079 fra.me.REG[2] = NIT_NULL;
21080 fra.me.REG[3] = NIT_NULL;
21081 fra.me.REG[0] = p0;
21082 fra.me.REG[1] = p1;
21083 /* ./parser//parser.nit:7325 */
21084 fra.me.REG[2] = NIT_NULL;
21085 /* ./parser//parser.nit:7326 */
21086 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21087 /* ./parser//parser.nit:7328 */
21088 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*/;
21089 if (UNTAG_Bool(REGB0)) {
21090 } else {
21091 nit_abort("Assert failed", NULL, LOCATE_parser, 7328);
21092 }
21093 /* ./parser//parser.nit:7329 */
21094 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
21095 /* ./parser//parser.nit:7334 */
21096 fra.me.REG[2] = fra.me.REG[3];
21097 /* ./parser//parser.nit:7335 */
21098 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21099 if (UNTAG_Bool(REGB0)) {
21100 } else {
21101 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7335);
21102 }
21103 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21104 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21105 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21106 stack_frame_head = fra.me.prev;
21107 return;
21108 }
21109 void parser___ReduceAction221___action(val_t p0, val_t p1){
21110 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
21111 val_t REGB0;
21112 val_t tmp;
21113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21114 fra.me.file = LOCATE_parser;
21115 fra.me.line = 7340;
21116 fra.me.meth = LOCATE_parser___ReduceAction221___action;
21117 fra.me.has_broke = 0;
21118 fra.me.REG_size = 5;
21119 fra.me.REG[0] = NIT_NULL;
21120 fra.me.REG[1] = NIT_NULL;
21121 fra.me.REG[2] = NIT_NULL;
21122 fra.me.REG[3] = NIT_NULL;
21123 fra.me.REG[4] = NIT_NULL;
21124 fra.me.REG[0] = p0;
21125 fra.me.REG[1] = p1;
21126 /* ./parser//parser.nit:7342 */
21127 fra.me.REG[2] = NIT_NULL;
21128 /* ./parser//parser.nit:7343 */
21129 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21130 /* ./parser//parser.nit:7344 */
21131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21132 /* ./parser//parser.nit:7346 */
21133 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*/;
21134 if (UNTAG_Bool(REGB0)) {
21135 } else {
21136 nit_abort("Assert failed", NULL, LOCATE_parser, 7346);
21137 }
21138 /* ./parser//parser.nit:7348 */
21139 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*/;
21140 if (UNTAG_Bool(REGB0)) {
21141 } else {
21142 nit_abort("Assert failed", NULL, LOCATE_parser, 7348);
21143 }
21144 /* ./parser//parser.nit:7349 */
21145 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
21146 /* ./parser//parser.nit:7354 */
21147 fra.me.REG[2] = fra.me.REG[3];
21148 /* ./parser//parser.nit:7355 */
21149 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21150 if (UNTAG_Bool(REGB0)) {
21151 } else {
21152 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7355);
21153 }
21154 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21155 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21156 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21157 stack_frame_head = fra.me.prev;
21158 return;
21159 }
21160 void parser___ReduceAction222___action(val_t p0, val_t p1){
21161 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
21162 val_t REGB0;
21163 val_t tmp;
21164 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21165 fra.me.file = LOCATE_parser;
21166 fra.me.line = 7360;
21167 fra.me.meth = LOCATE_parser___ReduceAction222___action;
21168 fra.me.has_broke = 0;
21169 fra.me.REG_size = 5;
21170 fra.me.REG[0] = NIT_NULL;
21171 fra.me.REG[1] = NIT_NULL;
21172 fra.me.REG[2] = NIT_NULL;
21173 fra.me.REG[3] = NIT_NULL;
21174 fra.me.REG[4] = NIT_NULL;
21175 fra.me.REG[0] = p0;
21176 fra.me.REG[1] = p1;
21177 /* ./parser//parser.nit:7362 */
21178 fra.me.REG[2] = NIT_NULL;
21179 /* ./parser//parser.nit:7363 */
21180 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21181 /* ./parser//parser.nit:7364 */
21182 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21183 /* ./parser//parser.nit:7366 */
21184 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*/;
21185 if (UNTAG_Bool(REGB0)) {
21186 } else {
21187 nit_abort("Assert failed", NULL, LOCATE_parser, 7366);
21188 }
21189 /* ./parser//parser.nit:7368 */
21190 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*/;
21191 if (UNTAG_Bool(REGB0)) {
21192 } else {
21193 nit_abort("Assert failed", NULL, LOCATE_parser, 7368);
21194 }
21195 /* ./parser//parser.nit:7369 */
21196 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
21197 /* ./parser//parser.nit:7374 */
21198 fra.me.REG[2] = fra.me.REG[3];
21199 /* ./parser//parser.nit:7375 */
21200 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21201 if (UNTAG_Bool(REGB0)) {
21202 } else {
21203 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7375);
21204 }
21205 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21206 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21208 stack_frame_head = fra.me.prev;
21209 return;
21210 }
21211 void parser___ReduceAction223___action(val_t p0, val_t p1){
21212 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
21213 val_t REGB0;
21214 val_t tmp;
21215 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21216 fra.me.file = LOCATE_parser;
21217 fra.me.line = 7380;
21218 fra.me.meth = LOCATE_parser___ReduceAction223___action;
21219 fra.me.has_broke = 0;
21220 fra.me.REG_size = 6;
21221 fra.me.REG[0] = NIT_NULL;
21222 fra.me.REG[1] = NIT_NULL;
21223 fra.me.REG[2] = NIT_NULL;
21224 fra.me.REG[3] = NIT_NULL;
21225 fra.me.REG[4] = NIT_NULL;
21226 fra.me.REG[5] = NIT_NULL;
21227 fra.me.REG[0] = p0;
21228 fra.me.REG[1] = p1;
21229 /* ./parser//parser.nit:7382 */
21230 fra.me.REG[2] = NIT_NULL;
21231 /* ./parser//parser.nit:7383 */
21232 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21233 /* ./parser//parser.nit:7384 */
21234 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21235 /* ./parser//parser.nit:7385 */
21236 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21237 /* ./parser//parser.nit:7387 */
21238 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*/;
21239 if (UNTAG_Bool(REGB0)) {
21240 } else {
21241 nit_abort("Assert failed", NULL, LOCATE_parser, 7387);
21242 }
21243 /* ./parser//parser.nit:7389 */
21244 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*/;
21245 if (UNTAG_Bool(REGB0)) {
21246 } else {
21247 nit_abort("Assert failed", NULL, LOCATE_parser, 7389);
21248 }
21249 /* ./parser//parser.nit:7391 */
21250 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*/;
21251 if (UNTAG_Bool(REGB0)) {
21252 } else {
21253 nit_abort("Assert failed", NULL, LOCATE_parser, 7391);
21254 }
21255 /* ./parser//parser.nit:7392 */
21256 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
21257 /* ./parser//parser.nit:7397 */
21258 fra.me.REG[2] = fra.me.REG[3];
21259 /* ./parser//parser.nit:7398 */
21260 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21261 if (UNTAG_Bool(REGB0)) {
21262 } else {
21263 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7398);
21264 }
21265 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21266 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21267 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21268 stack_frame_head = fra.me.prev;
21269 return;
21270 }
21271 void parser___ReduceAction230___action(val_t p0, val_t p1){
21272 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
21273 val_t REGB0;
21274 val_t tmp;
21275 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21276 fra.me.file = LOCATE_parser;
21277 fra.me.line = 7403;
21278 fra.me.meth = LOCATE_parser___ReduceAction230___action;
21279 fra.me.has_broke = 0;
21280 fra.me.REG_size = 8;
21281 fra.me.REG[0] = NIT_NULL;
21282 fra.me.REG[1] = NIT_NULL;
21283 fra.me.REG[2] = NIT_NULL;
21284 fra.me.REG[3] = NIT_NULL;
21285 fra.me.REG[4] = NIT_NULL;
21286 fra.me.REG[5] = NIT_NULL;
21287 fra.me.REG[6] = NIT_NULL;
21288 fra.me.REG[7] = NIT_NULL;
21289 fra.me.REG[0] = p0;
21290 fra.me.REG[1] = p1;
21291 /* ./parser//parser.nit:7405 */
21292 fra.me.REG[2] = NIT_NULL;
21293 /* ./parser//parser.nit:7406 */
21294 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21295 /* ./parser//parser.nit:7407 */
21296 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21297 /* ./parser//parser.nit:7408 */
21298 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21299 /* ./parser//parser.nit:7409 */
21300 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21301 /* ./parser//parser.nit:7410 */
21302 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21303 /* ./parser//parser.nit:7411 */
21304 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21305 /* ./parser//parser.nit:7412 */
21306 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21307 /* ./parser//parser.nit:7414 */
21308 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*/;
21309 if (UNTAG_Bool(REGB0)) {
21310 } else {
21311 nit_abort("Assert failed", NULL, LOCATE_parser, 7414);
21312 }
21313 /* ./parser//parser.nit:7416 */
21314 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*/;
21315 if (UNTAG_Bool(REGB0)) {
21316 } else {
21317 nit_abort("Assert failed", NULL, LOCATE_parser, 7416);
21318 }
21319 /* ./parser//parser.nit:7418 */
21320 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]*/;
21321 if (UNTAG_Bool(REGB0)) {
21322 } else {
21323 nit_abort("Assert failed", NULL, LOCATE_parser, 7418);
21324 }
21325 /* ./parser//parser.nit:7419 */
21326 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
21327 fra.me.REG[6] = fra.me.REG[3];
21328 /* ./parser//parser.nit:7420 */
21329 fra.me.REG[7] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
21330 /* ./parser//parser.nit:7426 */
21331 fra.me.REG[2] = fra.me.REG[7];
21332 /* ./parser//parser.nit:7427 */
21333 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21334 if (UNTAG_Bool(REGB0)) {
21335 } else {
21336 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7427);
21337 }
21338 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21339 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21340 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21341 stack_frame_head = fra.me.prev;
21342 return;
21343 }
21344 void parser___ReduceAction231___action(val_t p0, val_t p1){
21345 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
21346 val_t REGB0;
21347 val_t tmp;
21348 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21349 fra.me.file = LOCATE_parser;
21350 fra.me.line = 7432;
21351 fra.me.meth = LOCATE_parser___ReduceAction231___action;
21352 fra.me.has_broke = 0;
21353 fra.me.REG_size = 8;
21354 fra.me.REG[0] = NIT_NULL;
21355 fra.me.REG[1] = NIT_NULL;
21356 fra.me.REG[2] = NIT_NULL;
21357 fra.me.REG[3] = NIT_NULL;
21358 fra.me.REG[4] = NIT_NULL;
21359 fra.me.REG[5] = NIT_NULL;
21360 fra.me.REG[6] = NIT_NULL;
21361 fra.me.REG[7] = NIT_NULL;
21362 fra.me.REG[0] = p0;
21363 fra.me.REG[1] = p1;
21364 /* ./parser//parser.nit:7434 */
21365 fra.me.REG[2] = NIT_NULL;
21366 /* ./parser//parser.nit:7435 */
21367 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21368 /* ./parser//parser.nit:7436 */
21369 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21370 /* ./parser//parser.nit:7437 */
21371 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21372 /* ./parser//parser.nit:7438 */
21373 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21374 /* ./parser//parser.nit:7439 */
21375 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
21376 /* ./parser//parser.nit:7442 */
21377 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*/;
21378 if (UNTAG_Bool(REGB0)) {
21379 } else {
21380 nit_abort("Assert failed", NULL, LOCATE_parser, 7442);
21381 }
21382 /* ./parser//parser.nit:7444 */
21383 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]*/;
21384 if (UNTAG_Bool(REGB0)) {
21385 } else {
21386 nit_abort("Assert failed", NULL, LOCATE_parser, 7444);
21387 }
21388 /* ./parser//parser.nit:7445 */
21389 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
21390 fra.me.REG[5] = fra.me.REG[3];
21391 /* ./parser//parser.nit:7446 */
21392 fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
21393 /* ./parser//parser.nit:7452 */
21394 fra.me.REG[2] = fra.me.REG[6];
21395 /* ./parser//parser.nit:7453 */
21396 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21397 if (UNTAG_Bool(REGB0)) {
21398 } else {
21399 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7453);
21400 }
21401 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21402 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21403 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21404 stack_frame_head = fra.me.prev;
21405 return;
21406 }
21407 void parser___ReduceAction232___action(val_t p0, val_t p1){
21408 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21409 val_t REGB0;
21410 val_t tmp;
21411 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21412 fra.me.file = LOCATE_parser;
21413 fra.me.line = 7458;
21414 fra.me.meth = LOCATE_parser___ReduceAction232___action;
21415 fra.me.has_broke = 0;
21416 fra.me.REG_size = 9;
21417 fra.me.REG[0] = NIT_NULL;
21418 fra.me.REG[1] = NIT_NULL;
21419 fra.me.REG[2] = NIT_NULL;
21420 fra.me.REG[3] = NIT_NULL;
21421 fra.me.REG[4] = NIT_NULL;
21422 fra.me.REG[5] = NIT_NULL;
21423 fra.me.REG[6] = NIT_NULL;
21424 fra.me.REG[7] = NIT_NULL;
21425 fra.me.REG[8] = NIT_NULL;
21426 fra.me.REG[0] = p0;
21427 fra.me.REG[1] = p1;
21428 /* ./parser//parser.nit:7460 */
21429 fra.me.REG[2] = NIT_NULL;
21430 /* ./parser//parser.nit:7461 */
21431 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21432 /* ./parser//parser.nit:7462 */
21433 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21434 /* ./parser//parser.nit:7463 */
21435 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21436 /* ./parser//parser.nit:7464 */
21437 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21438 /* ./parser//parser.nit:7465 */
21439 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21440 /* ./parser//parser.nit:7466 */
21441 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21442 /* ./parser//parser.nit:7467 */
21443 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21444 /* ./parser//parser.nit:7468 */
21445 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
21446 /* ./parser//parser.nit:7470 */
21447 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*/;
21448 if (UNTAG_Bool(REGB0)) {
21449 } else {
21450 nit_abort("Assert failed", NULL, LOCATE_parser, 7470);
21451 }
21452 /* ./parser//parser.nit:7472 */
21453 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*/;
21454 if (UNTAG_Bool(REGB0)) {
21455 } else {
21456 nit_abort("Assert failed", NULL, LOCATE_parser, 7472);
21457 }
21458 /* ./parser//parser.nit:7474 */
21459 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]*/;
21460 if (UNTAG_Bool(REGB0)) {
21461 } else {
21462 nit_abort("Assert failed", NULL, LOCATE_parser, 7474);
21463 }
21464 /* ./parser//parser.nit:7475 */
21465 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
21466 fra.me.REG[7] = fra.me.REG[4];
21467 /* ./parser//parser.nit:7477 */
21468 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]*/;
21469 if (UNTAG_Bool(REGB0)) {
21470 } else {
21471 nit_abort("Assert failed", NULL, LOCATE_parser, 7477);
21472 }
21473 /* ./parser//parser.nit:7478 */
21474 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
21475 fra.me.REG[8] = fra.me.REG[3];
21476 /* ./parser//parser.nit:7479 */
21477 fra.me.REG[8] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[7], fra.me.REG[8]);
21478 /* ./parser//parser.nit:7485 */
21479 fra.me.REG[2] = fra.me.REG[8];
21480 /* ./parser//parser.nit:7486 */
21481 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21482 if (UNTAG_Bool(REGB0)) {
21483 } else {
21484 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7486);
21485 }
21486 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21487 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21489 stack_frame_head = fra.me.prev;
21490 return;
21491 }
21492 void parser___ReduceAction233___action(val_t p0, val_t p1){
21493 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21494 val_t REGB0;
21495 val_t tmp;
21496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21497 fra.me.file = LOCATE_parser;
21498 fra.me.line = 7491;
21499 fra.me.meth = LOCATE_parser___ReduceAction233___action;
21500 fra.me.has_broke = 0;
21501 fra.me.REG_size = 9;
21502 fra.me.REG[0] = NIT_NULL;
21503 fra.me.REG[1] = NIT_NULL;
21504 fra.me.REG[2] = NIT_NULL;
21505 fra.me.REG[3] = NIT_NULL;
21506 fra.me.REG[4] = NIT_NULL;
21507 fra.me.REG[5] = NIT_NULL;
21508 fra.me.REG[6] = NIT_NULL;
21509 fra.me.REG[7] = NIT_NULL;
21510 fra.me.REG[8] = NIT_NULL;
21511 fra.me.REG[0] = p0;
21512 fra.me.REG[1] = p1;
21513 /* ./parser//parser.nit:7493 */
21514 fra.me.REG[2] = NIT_NULL;
21515 /* ./parser//parser.nit:7494 */
21516 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21517 /* ./parser//parser.nit:7495 */
21518 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21519 /* ./parser//parser.nit:7496 */
21520 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21521 /* ./parser//parser.nit:7497 */
21522 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21523 /* ./parser//parser.nit:7498 */
21524 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
21525 /* ./parser//parser.nit:7499 */
21526 fra.me.REG[8] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
21527 /* ./parser//parser.nit:7502 */
21528 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*/;
21529 if (UNTAG_Bool(REGB0)) {
21530 } else {
21531 nit_abort("Assert failed", NULL, LOCATE_parser, 7502);
21532 }
21533 /* ./parser//parser.nit:7504 */
21534 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]*/;
21535 if (UNTAG_Bool(REGB0)) {
21536 } else {
21537 nit_abort("Assert failed", NULL, LOCATE_parser, 7504);
21538 }
21539 /* ./parser//parser.nit:7505 */
21540 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
21541 fra.me.REG[6] = fra.me.REG[4];
21542 /* ./parser//parser.nit:7507 */
21543 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]*/;
21544 if (UNTAG_Bool(REGB0)) {
21545 } else {
21546 nit_abort("Assert failed", NULL, LOCATE_parser, 7507);
21547 }
21548 /* ./parser//parser.nit:7508 */
21549 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
21550 fra.me.REG[7] = fra.me.REG[3];
21551 /* ./parser//parser.nit:7509 */
21552 fra.me.REG[7] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[8], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
21553 /* ./parser//parser.nit:7515 */
21554 fra.me.REG[2] = fra.me.REG[7];
21555 /* ./parser//parser.nit:7516 */
21556 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21557 if (UNTAG_Bool(REGB0)) {
21558 } else {
21559 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7516);
21560 }
21561 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21562 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21563 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21564 stack_frame_head = fra.me.prev;
21565 return;
21566 }
21567 void parser___ReduceAction234___action(val_t p0, val_t p1){
21568 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
21569 val_t REGB0;
21570 val_t tmp;
21571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21572 fra.me.file = LOCATE_parser;
21573 fra.me.line = 7521;
21574 fra.me.meth = LOCATE_parser___ReduceAction234___action;
21575 fra.me.has_broke = 0;
21576 fra.me.REG_size = 6;
21577 fra.me.REG[0] = NIT_NULL;
21578 fra.me.REG[1] = NIT_NULL;
21579 fra.me.REG[2] = NIT_NULL;
21580 fra.me.REG[3] = NIT_NULL;
21581 fra.me.REG[4] = NIT_NULL;
21582 fra.me.REG[5] = NIT_NULL;
21583 fra.me.REG[0] = p0;
21584 fra.me.REG[1] = p1;
21585 /* ./parser//parser.nit:7523 */
21586 fra.me.REG[2] = NIT_NULL;
21587 /* ./parser//parser.nit:7524 */
21588 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21589 /* ./parser//parser.nit:7525 */
21590 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21591 /* ./parser//parser.nit:7526 */
21592 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21593 /* ./parser//parser.nit:7528 */
21594 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*/;
21595 if (UNTAG_Bool(REGB0)) {
21596 } else {
21597 nit_abort("Assert failed", NULL, LOCATE_parser, 7528);
21598 }
21599 /* ./parser//parser.nit:7530 */
21600 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]*/;
21601 if (UNTAG_Bool(REGB0)) {
21602 } else {
21603 nit_abort("Assert failed", NULL, LOCATE_parser, 7530);
21604 }
21605 /* ./parser//parser.nit:7531 */
21606 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
21607 fra.me.REG[5] = fra.me.REG[3];
21608 /* ./parser//parser.nit:7532 */
21609 fra.me.REG[5] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
21610 /* ./parser//parser.nit:7537 */
21611 fra.me.REG[2] = fra.me.REG[5];
21612 /* ./parser//parser.nit:7538 */
21613 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21614 if (UNTAG_Bool(REGB0)) {
21615 } else {
21616 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7538);
21617 }
21618 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21619 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21620 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21621 stack_frame_head = fra.me.prev;
21622 return;
21623 }
21624 void parser___ReduceAction235___action(val_t p0, val_t p1){
21625 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
21626 val_t REGB0;
21627 val_t tmp;
21628 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21629 fra.me.file = LOCATE_parser;
21630 fra.me.line = 7543;
21631 fra.me.meth = LOCATE_parser___ReduceAction235___action;
21632 fra.me.has_broke = 0;
21633 fra.me.REG_size = 7;
21634 fra.me.REG[0] = NIT_NULL;
21635 fra.me.REG[1] = NIT_NULL;
21636 fra.me.REG[2] = NIT_NULL;
21637 fra.me.REG[3] = NIT_NULL;
21638 fra.me.REG[4] = NIT_NULL;
21639 fra.me.REG[5] = NIT_NULL;
21640 fra.me.REG[6] = NIT_NULL;
21641 fra.me.REG[0] = p0;
21642 fra.me.REG[1] = p1;
21643 /* ./parser//parser.nit:7545 */
21644 fra.me.REG[2] = NIT_NULL;
21645 /* ./parser//parser.nit:7546 */
21646 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21647 /* ./parser//parser.nit:7547 */
21648 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21649 /* ./parser//parser.nit:7548 */
21650 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21651 /* ./parser//parser.nit:7549 */
21652 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21653 /* ./parser//parser.nit:7551 */
21654 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*/;
21655 if (UNTAG_Bool(REGB0)) {
21656 } else {
21657 nit_abort("Assert failed", NULL, LOCATE_parser, 7551);
21658 }
21659 /* ./parser//parser.nit:7553 */
21660 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*/;
21661 if (UNTAG_Bool(REGB0)) {
21662 } else {
21663 nit_abort("Assert failed", NULL, LOCATE_parser, 7553);
21664 }
21665 /* ./parser//parser.nit:7555 */
21666 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]*/;
21667 if (UNTAG_Bool(REGB0)) {
21668 } else {
21669 nit_abort("Assert failed", NULL, LOCATE_parser, 7555);
21670 }
21671 /* ./parser//parser.nit:7556 */
21672 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
21673 fra.me.REG[6] = fra.me.REG[3];
21674 /* ./parser//parser.nit:7557 */
21675 fra.me.REG[6] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
21676 /* ./parser//parser.nit:7562 */
21677 fra.me.REG[2] = fra.me.REG[6];
21678 /* ./parser//parser.nit:7563 */
21679 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21680 if (UNTAG_Bool(REGB0)) {
21681 } else {
21682 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7563);
21683 }
21684 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21685 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21686 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21687 stack_frame_head = fra.me.prev;
21688 return;
21689 }
21690 void parser___ReduceAction236___action(val_t p0, val_t p1){
21691 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
21692 val_t REGB0;
21693 val_t tmp;
21694 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21695 fra.me.file = LOCATE_parser;
21696 fra.me.line = 7568;
21697 fra.me.meth = LOCATE_parser___ReduceAction236___action;
21698 fra.me.has_broke = 0;
21699 fra.me.REG_size = 7;
21700 fra.me.REG[0] = NIT_NULL;
21701 fra.me.REG[1] = NIT_NULL;
21702 fra.me.REG[2] = NIT_NULL;
21703 fra.me.REG[3] = NIT_NULL;
21704 fra.me.REG[4] = NIT_NULL;
21705 fra.me.REG[5] = NIT_NULL;
21706 fra.me.REG[6] = NIT_NULL;
21707 fra.me.REG[0] = p0;
21708 fra.me.REG[1] = p1;
21709 /* ./parser//parser.nit:7570 */
21710 fra.me.REG[2] = NIT_NULL;
21711 /* ./parser//parser.nit:7571 */
21712 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21713 /* ./parser//parser.nit:7572 */
21714 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21715 /* ./parser//parser.nit:7573 */
21716 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21717 /* ./parser//parser.nit:7574 */
21718 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21719 /* ./parser//parser.nit:7575 */
21720 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21721 /* ./parser//parser.nit:7576 */
21722 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
21723 /* ./parser//parser.nit:7578 */
21724 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*/;
21725 if (UNTAG_Bool(REGB0)) {
21726 } else {
21727 nit_abort("Assert failed", NULL, LOCATE_parser, 7578);
21728 }
21729 /* ./parser//parser.nit:7580 */
21730 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*/;
21731 if (UNTAG_Bool(REGB0)) {
21732 } else {
21733 nit_abort("Assert failed", NULL, LOCATE_parser, 7580);
21734 }
21735 /* ./parser//parser.nit:7582 */
21736 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]*/;
21737 if (UNTAG_Bool(REGB0)) {
21738 } else {
21739 nit_abort("Assert failed", NULL, LOCATE_parser, 7582);
21740 }
21741 /* ./parser//parser.nit:7583 */
21742 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
21743 fra.me.REG[6] = fra.me.REG[3];
21744 /* ./parser//parser.nit:7584 */
21745 fra.me.REG[6] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
21746 /* ./parser//parser.nit:7589 */
21747 fra.me.REG[2] = fra.me.REG[6];
21748 /* ./parser//parser.nit:7590 */
21749 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21750 if (UNTAG_Bool(REGB0)) {
21751 } else {
21752 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7590);
21753 }
21754 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21755 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21756 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21757 stack_frame_head = fra.me.prev;
21758 return;
21759 }
21760 void parser___ReduceAction237___action(val_t p0, val_t p1){
21761 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
21762 val_t REGB0;
21763 val_t tmp;
21764 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21765 fra.me.file = LOCATE_parser;
21766 fra.me.line = 7595;
21767 fra.me.meth = LOCATE_parser___ReduceAction237___action;
21768 fra.me.has_broke = 0;
21769 fra.me.REG_size = 7;
21770 fra.me.REG[0] = NIT_NULL;
21771 fra.me.REG[1] = NIT_NULL;
21772 fra.me.REG[2] = NIT_NULL;
21773 fra.me.REG[3] = NIT_NULL;
21774 fra.me.REG[4] = NIT_NULL;
21775 fra.me.REG[5] = NIT_NULL;
21776 fra.me.REG[6] = NIT_NULL;
21777 fra.me.REG[0] = p0;
21778 fra.me.REG[1] = p1;
21779 /* ./parser//parser.nit:7597 */
21780 fra.me.REG[2] = NIT_NULL;
21781 /* ./parser//parser.nit:7598 */
21782 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21783 /* ./parser//parser.nit:7599 */
21784 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21785 /* ./parser//parser.nit:7600 */
21786 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21787 /* ./parser//parser.nit:7601 */
21788 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
21789 /* ./parser//parser.nit:7604 */
21790 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*/;
21791 if (UNTAG_Bool(REGB0)) {
21792 } else {
21793 nit_abort("Assert failed", NULL, LOCATE_parser, 7604);
21794 }
21795 /* ./parser//parser.nit:7606 */
21796 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]*/;
21797 if (UNTAG_Bool(REGB0)) {
21798 } else {
21799 nit_abort("Assert failed", NULL, LOCATE_parser, 7606);
21800 }
21801 /* ./parser//parser.nit:7607 */
21802 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
21803 fra.me.REG[5] = fra.me.REG[3];
21804 /* ./parser//parser.nit:7608 */
21805 fra.me.REG[5] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[6], fra.me.REG[4], fra.me.REG[5]);
21806 /* ./parser//parser.nit:7613 */
21807 fra.me.REG[2] = fra.me.REG[5];
21808 /* ./parser//parser.nit:7614 */
21809 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21810 if (UNTAG_Bool(REGB0)) {
21811 } else {
21812 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7614);
21813 }
21814 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21815 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21816 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21817 stack_frame_head = fra.me.prev;
21818 return;
21819 }
21820 void parser___ReduceAction238___action(val_t p0, val_t p1){
21821 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
21822 val_t REGB0;
21823 val_t tmp;
21824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21825 fra.me.file = LOCATE_parser;
21826 fra.me.line = 7619;
21827 fra.me.meth = LOCATE_parser___ReduceAction238___action;
21828 fra.me.has_broke = 0;
21829 fra.me.REG_size = 5;
21830 fra.me.REG[0] = NIT_NULL;
21831 fra.me.REG[1] = NIT_NULL;
21832 fra.me.REG[2] = NIT_NULL;
21833 fra.me.REG[3] = NIT_NULL;
21834 fra.me.REG[4] = NIT_NULL;
21835 fra.me.REG[0] = p0;
21836 fra.me.REG[1] = p1;
21837 /* ./parser//parser.nit:7621 */
21838 fra.me.REG[2] = NIT_NULL;
21839 /* ./parser//parser.nit:7622 */
21840 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21841 /* ./parser//parser.nit:7623 */
21842 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21843 /* ./parser//parser.nit:7625 */
21844 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*/;
21845 if (UNTAG_Bool(REGB0)) {
21846 } else {
21847 nit_abort("Assert failed", NULL, LOCATE_parser, 7625);
21848 }
21849 /* ./parser//parser.nit:7627 */
21850 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*/;
21851 if (UNTAG_Bool(REGB0)) {
21852 } else {
21853 nit_abort("Assert failed", NULL, LOCATE_parser, 7627);
21854 }
21855 /* ./parser//parser.nit:7628 */
21856 fra.me.REG[3] = NEW_ALabel_parser___parser_prod___ALabel___init_alabel(fra.me.REG[4], fra.me.REG[3]);
21857 /* ./parser//parser.nit:7632 */
21858 fra.me.REG[2] = fra.me.REG[3];
21859 /* ./parser//parser.nit:7633 */
21860 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21861 if (UNTAG_Bool(REGB0)) {
21862 } else {
21863 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7633);
21864 }
21865 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21866 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21867 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21868 stack_frame_head = fra.me.prev;
21869 return;
21870 }
21871 void parser___ReduceAction239___action(val_t p0, val_t p1){
21872 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
21873 val_t REGB0;
21874 val_t REGB1;
21875 val_t tmp;
21876 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21877 fra.me.file = LOCATE_parser;
21878 fra.me.line = 7638;
21879 fra.me.meth = LOCATE_parser___ReduceAction239___action;
21880 fra.me.has_broke = 0;
21881 fra.me.REG_size = 5;
21882 fra.me.REG[0] = NIT_NULL;
21883 fra.me.REG[1] = NIT_NULL;
21884 fra.me.REG[2] = NIT_NULL;
21885 fra.me.REG[3] = NIT_NULL;
21886 fra.me.REG[4] = NIT_NULL;
21887 fra.me.REG[0] = p0;
21888 fra.me.REG[1] = p1;
21889 /* ./parser//parser.nit:7640 */
21890 fra.me.REG[2] = NIT_NULL;
21891 /* ./parser//parser.nit:7641 */
21892 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21893 /* ./parser//parser.nit:7642 */
21894 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
21895 /* ./parser//parser.nit:7644 */
21896 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
21897 if (UNTAG_Bool(REGB0)) {
21898 } else {
21899 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
21900 if (UNTAG_Bool(REGB1)) {
21901 REGB1 = TAG_Bool(false);
21902 REGB0 = REGB1;
21903 } else {
21904 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
21905 REGB0 = REGB1;
21906 }
21907 }
21908 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21909 if (UNTAG_Bool(REGB0)) {
21910 /* ./parser//parser.nit:7645 */
21911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
21912 }
21913 /* ./parser//parser.nit:7647 */
21914 fra.me.REG[2] = fra.me.REG[4];
21915 /* ./parser//parser.nit:7648 */
21916 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21917 if (UNTAG_Bool(REGB0)) {
21918 } else {
21919 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7648);
21920 }
21921 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21922 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21923 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21924 stack_frame_head = fra.me.prev;
21925 return;
21926 }
21927 void parser___ReduceAction240___action(val_t p0, val_t p1){
21928 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
21929 val_t REGB0;
21930 val_t REGB1;
21931 val_t tmp;
21932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21933 fra.me.file = LOCATE_parser;
21934 fra.me.line = 7653;
21935 fra.me.meth = LOCATE_parser___ReduceAction240___action;
21936 fra.me.has_broke = 0;
21937 fra.me.REG_size = 6;
21938 fra.me.REG[0] = NIT_NULL;
21939 fra.me.REG[1] = NIT_NULL;
21940 fra.me.REG[2] = NIT_NULL;
21941 fra.me.REG[3] = NIT_NULL;
21942 fra.me.REG[4] = NIT_NULL;
21943 fra.me.REG[5] = NIT_NULL;
21944 fra.me.REG[0] = p0;
21945 fra.me.REG[1] = p1;
21946 /* ./parser//parser.nit:7655 */
21947 fra.me.REG[2] = NIT_NULL;
21948 /* ./parser//parser.nit:7656 */
21949 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21950 /* ./parser//parser.nit:7657 */
21951 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21952 /* ./parser//parser.nit:7658 */
21953 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
21954 /* ./parser//parser.nit:7661 */
21955 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]*/;
21956 if (UNTAG_Bool(REGB0)) {
21957 } else {
21958 nit_abort("Assert failed", NULL, LOCATE_parser, 7661);
21959 }
21960 /* ./parser//parser.nit:7662 */
21961 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
21962 if (UNTAG_Bool(REGB0)) {
21963 } else {
21964 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
21965 if (UNTAG_Bool(REGB1)) {
21966 REGB1 = TAG_Bool(false);
21967 REGB0 = REGB1;
21968 } else {
21969 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
21970 REGB0 = REGB1;
21971 }
21972 }
21973 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21974 if (UNTAG_Bool(REGB0)) {
21975 /* ./parser//parser.nit:7663 */
21976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
21977 }
21978 /* ./parser//parser.nit:7665 */
21979 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
21980 fra.me.REG[5] = fra.me.REG[3];
21981 /* ./parser//parser.nit:7666 */
21982 fra.me.REG[2] = fra.me.REG[5];
21983 /* ./parser//parser.nit:7667 */
21984 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21985 if (UNTAG_Bool(REGB0)) {
21986 } else {
21987 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7667);
21988 }
21989 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21990 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21991 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21992 stack_frame_head = fra.me.prev;
21993 return;
21994 }
21995 void parser___ReduceAction241___action(val_t p0, val_t p1){
21996 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21997 val_t REGB0;
21998 val_t tmp;
21999 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22000 fra.me.file = LOCATE_parser;
22001 fra.me.line = 7672;
22002 fra.me.meth = LOCATE_parser___ReduceAction241___action;
22003 fra.me.has_broke = 0;
22004 fra.me.REG_size = 9;
22005 fra.me.REG[0] = NIT_NULL;
22006 fra.me.REG[1] = NIT_NULL;
22007 fra.me.REG[2] = NIT_NULL;
22008 fra.me.REG[3] = NIT_NULL;
22009 fra.me.REG[4] = NIT_NULL;
22010 fra.me.REG[5] = NIT_NULL;
22011 fra.me.REG[6] = NIT_NULL;
22012 fra.me.REG[7] = NIT_NULL;
22013 fra.me.REG[8] = NIT_NULL;
22014 fra.me.REG[0] = p0;
22015 fra.me.REG[1] = p1;
22016 /* ./parser//parser.nit:7674 */
22017 fra.me.REG[2] = NIT_NULL;
22018 /* ./parser//parser.nit:7675 */
22019 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22020 /* ./parser//parser.nit:7676 */
22021 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22022 /* ./parser//parser.nit:7677 */
22023 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22024 /* ./parser//parser.nit:7678 */
22025 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22026 /* ./parser//parser.nit:7679 */
22027 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22028 /* ./parser//parser.nit:7680 */
22029 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
22030 /* ./parser//parser.nit:7682 */
22031 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*/;
22032 if (UNTAG_Bool(REGB0)) {
22033 } else {
22034 nit_abort("Assert failed", NULL, LOCATE_parser, 7682);
22035 }
22036 /* ./parser//parser.nit:7684 */
22037 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*/;
22038 if (UNTAG_Bool(REGB0)) {
22039 } else {
22040 nit_abort("Assert failed", NULL, LOCATE_parser, 7684);
22041 }
22042 /* ./parser//parser.nit:7686 */
22043 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*/;
22044 if (UNTAG_Bool(REGB0)) {
22045 } else {
22046 nit_abort("Assert failed", NULL, LOCATE_parser, 7686);
22047 }
22048 /* ./parser//parser.nit:7688 */
22049 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*/;
22050 if (UNTAG_Bool(REGB0)) {
22051 } else {
22052 nit_abort("Assert failed", NULL, LOCATE_parser, 7688);
22053 }
22054 /* ./parser//parser.nit:7690 */
22055 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*/;
22056 if (UNTAG_Bool(REGB0)) {
22057 } else {
22058 nit_abort("Assert failed", NULL, LOCATE_parser, 7690);
22059 }
22060 /* ./parser//parser.nit:7691 */
22061 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]);
22062 /* ./parser//parser.nit:7699 */
22063 fra.me.REG[2] = fra.me.REG[3];
22064 /* ./parser//parser.nit:7700 */
22065 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22066 if (UNTAG_Bool(REGB0)) {
22067 } else {
22068 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7700);
22069 }
22070 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22071 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22072 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22073 stack_frame_head = fra.me.prev;
22074 return;
22075 }
22076 void parser___ReduceAction242___action(val_t p0, val_t p1){
22077 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
22078 val_t REGB0;
22079 val_t tmp;
22080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22081 fra.me.file = LOCATE_parser;
22082 fra.me.line = 7705;
22083 fra.me.meth = LOCATE_parser___ReduceAction242___action;
22084 fra.me.has_broke = 0;
22085 fra.me.REG_size = 10;
22086 fra.me.REG[0] = NIT_NULL;
22087 fra.me.REG[1] = NIT_NULL;
22088 fra.me.REG[2] = NIT_NULL;
22089 fra.me.REG[3] = NIT_NULL;
22090 fra.me.REG[4] = NIT_NULL;
22091 fra.me.REG[5] = NIT_NULL;
22092 fra.me.REG[6] = NIT_NULL;
22093 fra.me.REG[7] = NIT_NULL;
22094 fra.me.REG[8] = NIT_NULL;
22095 fra.me.REG[9] = NIT_NULL;
22096 fra.me.REG[0] = p0;
22097 fra.me.REG[1] = p1;
22098 /* ./parser//parser.nit:7707 */
22099 fra.me.REG[2] = NIT_NULL;
22100 /* ./parser//parser.nit:7708 */
22101 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22102 /* ./parser//parser.nit:7709 */
22103 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22104 /* ./parser//parser.nit:7710 */
22105 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22106 /* ./parser//parser.nit:7711 */
22107 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22108 /* ./parser//parser.nit:7712 */
22109 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22110 /* ./parser//parser.nit:7713 */
22111 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22112 /* ./parser//parser.nit:7714 */
22113 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22114 /* ./parser//parser.nit:7715 */
22115 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22116 /* ./parser//parser.nit:7716 */
22117 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
22118 /* ./parser//parser.nit:7718 */
22119 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*/;
22120 if (UNTAG_Bool(REGB0)) {
22121 } else {
22122 nit_abort("Assert failed", NULL, LOCATE_parser, 7718);
22123 }
22124 /* ./parser//parser.nit:7720 */
22125 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*/;
22126 if (UNTAG_Bool(REGB0)) {
22127 } else {
22128 nit_abort("Assert failed", NULL, LOCATE_parser, 7720);
22129 }
22130 /* ./parser//parser.nit:7722 */
22131 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]*/;
22132 if (UNTAG_Bool(REGB0)) {
22133 } else {
22134 nit_abort("Assert failed", NULL, LOCATE_parser, 7722);
22135 }
22136 /* ./parser//parser.nit:7723 */
22137 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
22138 fra.me.REG[9] = fra.me.REG[6];
22139 /* ./parser//parser.nit:7725 */
22140 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*/;
22141 if (UNTAG_Bool(REGB0)) {
22142 } else {
22143 nit_abort("Assert failed", NULL, LOCATE_parser, 7725);
22144 }
22145 /* ./parser//parser.nit:7727 */
22146 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*/;
22147 if (UNTAG_Bool(REGB0)) {
22148 } else {
22149 nit_abort("Assert failed", NULL, LOCATE_parser, 7727);
22150 }
22151 /* ./parser//parser.nit:7729 */
22152 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*/;
22153 if (UNTAG_Bool(REGB0)) {
22154 } else {
22155 nit_abort("Assert failed", NULL, LOCATE_parser, 7729);
22156 }
22157 /* ./parser//parser.nit:7730 */
22158 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]);
22159 /* ./parser//parser.nit:7738 */
22160 fra.me.REG[2] = fra.me.REG[3];
22161 /* ./parser//parser.nit:7739 */
22162 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22163 if (UNTAG_Bool(REGB0)) {
22164 } else {
22165 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7739);
22166 }
22167 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22168 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22169 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22170 stack_frame_head = fra.me.prev;
22171 return;
22172 }
22173 void parser___ReduceAction243___action(val_t p0, val_t p1){
22174 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
22175 val_t REGB0;
22176 val_t tmp;
22177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22178 fra.me.file = LOCATE_parser;
22179 fra.me.line = 7744;
22180 fra.me.meth = LOCATE_parser___ReduceAction243___action;
22181 fra.me.has_broke = 0;
22182 fra.me.REG_size = 10;
22183 fra.me.REG[0] = NIT_NULL;
22184 fra.me.REG[1] = NIT_NULL;
22185 fra.me.REG[2] = NIT_NULL;
22186 fra.me.REG[3] = NIT_NULL;
22187 fra.me.REG[4] = NIT_NULL;
22188 fra.me.REG[5] = NIT_NULL;
22189 fra.me.REG[6] = NIT_NULL;
22190 fra.me.REG[7] = NIT_NULL;
22191 fra.me.REG[8] = NIT_NULL;
22192 fra.me.REG[9] = NIT_NULL;
22193 fra.me.REG[0] = p0;
22194 fra.me.REG[1] = p1;
22195 /* ./parser//parser.nit:7746 */
22196 fra.me.REG[2] = NIT_NULL;
22197 /* ./parser//parser.nit:7747 */
22198 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22199 /* ./parser//parser.nit:7748 */
22200 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22201 /* ./parser//parser.nit:7749 */
22202 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22203 /* ./parser//parser.nit:7750 */
22204 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22205 /* ./parser//parser.nit:7751 */
22206 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22207 /* ./parser//parser.nit:7752 */
22208 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22209 /* ./parser//parser.nit:7753 */
22210 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
22211 /* ./parser//parser.nit:7755 */
22212 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*/;
22213 if (UNTAG_Bool(REGB0)) {
22214 } else {
22215 nit_abort("Assert failed", NULL, LOCATE_parser, 7755);
22216 }
22217 /* ./parser//parser.nit:7757 */
22218 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*/;
22219 if (UNTAG_Bool(REGB0)) {
22220 } else {
22221 nit_abort("Assert failed", NULL, LOCATE_parser, 7757);
22222 }
22223 /* ./parser//parser.nit:7759 */
22224 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]*/;
22225 if (UNTAG_Bool(REGB0)) {
22226 } else {
22227 nit_abort("Assert failed", NULL, LOCATE_parser, 7759);
22228 }
22229 /* ./parser//parser.nit:7760 */
22230 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
22231 fra.me.REG[9] = fra.me.REG[6];
22232 /* ./parser//parser.nit:7762 */
22233 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*/;
22234 if (UNTAG_Bool(REGB0)) {
22235 } else {
22236 nit_abort("Assert failed", NULL, LOCATE_parser, 7762);
22237 }
22238 /* ./parser//parser.nit:7764 */
22239 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*/;
22240 if (UNTAG_Bool(REGB0)) {
22241 } else {
22242 nit_abort("Assert failed", NULL, LOCATE_parser, 7764);
22243 }
22244 /* ./parser//parser.nit:7766 */
22245 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*/;
22246 if (UNTAG_Bool(REGB0)) {
22247 } else {
22248 nit_abort("Assert failed", NULL, LOCATE_parser, 7766);
22249 }
22250 /* ./parser//parser.nit:7767 */
22251 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]);
22252 /* ./parser//parser.nit:7775 */
22253 fra.me.REG[2] = fra.me.REG[3];
22254 /* ./parser//parser.nit:7776 */
22255 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22256 if (UNTAG_Bool(REGB0)) {
22257 } else {
22258 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7776);
22259 }
22260 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22261 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22262 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22263 stack_frame_head = fra.me.prev;
22264 return;
22265 }
22266 void parser___ReduceAction244___action(val_t p0, val_t p1){
22267 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
22268 val_t REGB0;
22269 val_t tmp;
22270 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22271 fra.me.file = LOCATE_parser;
22272 fra.me.line = 7781;
22273 fra.me.meth = LOCATE_parser___ReduceAction244___action;
22274 fra.me.has_broke = 0;
22275 fra.me.REG_size = 8;
22276 fra.me.REG[0] = NIT_NULL;
22277 fra.me.REG[1] = NIT_NULL;
22278 fra.me.REG[2] = NIT_NULL;
22279 fra.me.REG[3] = NIT_NULL;
22280 fra.me.REG[4] = NIT_NULL;
22281 fra.me.REG[5] = NIT_NULL;
22282 fra.me.REG[6] = NIT_NULL;
22283 fra.me.REG[7] = NIT_NULL;
22284 fra.me.REG[0] = p0;
22285 fra.me.REG[1] = p1;
22286 /* ./parser//parser.nit:7783 */
22287 fra.me.REG[2] = NIT_NULL;
22288 /* ./parser//parser.nit:7784 */
22289 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22290 /* ./parser//parser.nit:7785 */
22291 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22292 /* ./parser//parser.nit:7786 */
22293 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22294 /* ./parser//parser.nit:7787 */
22295 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22296 /* ./parser//parser.nit:7788 */
22297 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
22298 /* ./parser//parser.nit:7790 */
22299 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*/;
22300 if (UNTAG_Bool(REGB0)) {
22301 } else {
22302 nit_abort("Assert failed", NULL, LOCATE_parser, 7790);
22303 }
22304 /* ./parser//parser.nit:7792 */
22305 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*/;
22306 if (UNTAG_Bool(REGB0)) {
22307 } else {
22308 nit_abort("Assert failed", NULL, LOCATE_parser, 7792);
22309 }
22310 /* ./parser//parser.nit:7794 */
22311 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*/;
22312 if (UNTAG_Bool(REGB0)) {
22313 } else {
22314 nit_abort("Assert failed", NULL, LOCATE_parser, 7794);
22315 }
22316 /* ./parser//parser.nit:7796 */
22317 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*/;
22318 if (UNTAG_Bool(REGB0)) {
22319 } else {
22320 nit_abort("Assert failed", NULL, LOCATE_parser, 7796);
22321 }
22322 /* ./parser//parser.nit:7797 */
22323 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);
22324 /* ./parser//parser.nit:7805 */
22325 fra.me.REG[2] = fra.me.REG[3];
22326 /* ./parser//parser.nit:7806 */
22327 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22328 if (UNTAG_Bool(REGB0)) {
22329 } else {
22330 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7806);
22331 }
22332 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22333 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22334 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22335 stack_frame_head = fra.me.prev;
22336 return;
22337 }
22338 void parser___ReduceAction245___action(val_t p0, val_t p1){
22339 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22340 val_t REGB0;
22341 val_t tmp;
22342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22343 fra.me.file = LOCATE_parser;
22344 fra.me.line = 7811;
22345 fra.me.meth = LOCATE_parser___ReduceAction245___action;
22346 fra.me.has_broke = 0;
22347 fra.me.REG_size = 9;
22348 fra.me.REG[0] = NIT_NULL;
22349 fra.me.REG[1] = NIT_NULL;
22350 fra.me.REG[2] = NIT_NULL;
22351 fra.me.REG[3] = NIT_NULL;
22352 fra.me.REG[4] = NIT_NULL;
22353 fra.me.REG[5] = NIT_NULL;
22354 fra.me.REG[6] = NIT_NULL;
22355 fra.me.REG[7] = NIT_NULL;
22356 fra.me.REG[8] = NIT_NULL;
22357 fra.me.REG[0] = p0;
22358 fra.me.REG[1] = p1;
22359 /* ./parser//parser.nit:7813 */
22360 fra.me.REG[2] = NIT_NULL;
22361 /* ./parser//parser.nit:7814 */
22362 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22363 /* ./parser//parser.nit:7815 */
22364 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22365 /* ./parser//parser.nit:7816 */
22366 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22367 /* ./parser//parser.nit:7817 */
22368 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22369 /* ./parser//parser.nit:7818 */
22370 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22371 /* ./parser//parser.nit:7819 */
22372 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22373 /* ./parser//parser.nit:7820 */
22374 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22375 /* ./parser//parser.nit:7821 */
22376 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
22377 /* ./parser//parser.nit:7823 */
22378 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*/;
22379 if (UNTAG_Bool(REGB0)) {
22380 } else {
22381 nit_abort("Assert failed", NULL, LOCATE_parser, 7823);
22382 }
22383 /* ./parser//parser.nit:7825 */
22384 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*/;
22385 if (UNTAG_Bool(REGB0)) {
22386 } else {
22387 nit_abort("Assert failed", NULL, LOCATE_parser, 7825);
22388 }
22389 /* ./parser//parser.nit:7827 */
22390 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]*/;
22391 if (UNTAG_Bool(REGB0)) {
22392 } else {
22393 nit_abort("Assert failed", NULL, LOCATE_parser, 7827);
22394 }
22395 /* ./parser//parser.nit:7828 */
22396 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
22397 fra.me.REG[8] = fra.me.REG[5];
22398 /* ./parser//parser.nit:7830 */
22399 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*/;
22400 if (UNTAG_Bool(REGB0)) {
22401 } else {
22402 nit_abort("Assert failed", NULL, LOCATE_parser, 7830);
22403 }
22404 /* ./parser//parser.nit:7832 */
22405 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*/;
22406 if (UNTAG_Bool(REGB0)) {
22407 } else {
22408 nit_abort("Assert failed", NULL, LOCATE_parser, 7832);
22409 }
22410 /* ./parser//parser.nit:7833 */
22411 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);
22412 /* ./parser//parser.nit:7841 */
22413 fra.me.REG[2] = fra.me.REG[3];
22414 /* ./parser//parser.nit:7842 */
22415 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22416 if (UNTAG_Bool(REGB0)) {
22417 } else {
22418 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7842);
22419 }
22420 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22421 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22422 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22423 stack_frame_head = fra.me.prev;
22424 return;
22425 }
22426 void parser___ReduceAction246___action(val_t p0, val_t p1){
22427 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22428 val_t REGB0;
22429 val_t tmp;
22430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22431 fra.me.file = LOCATE_parser;
22432 fra.me.line = 7847;
22433 fra.me.meth = LOCATE_parser___ReduceAction246___action;
22434 fra.me.has_broke = 0;
22435 fra.me.REG_size = 9;
22436 fra.me.REG[0] = NIT_NULL;
22437 fra.me.REG[1] = NIT_NULL;
22438 fra.me.REG[2] = NIT_NULL;
22439 fra.me.REG[3] = NIT_NULL;
22440 fra.me.REG[4] = NIT_NULL;
22441 fra.me.REG[5] = NIT_NULL;
22442 fra.me.REG[6] = NIT_NULL;
22443 fra.me.REG[7] = NIT_NULL;
22444 fra.me.REG[8] = NIT_NULL;
22445 fra.me.REG[0] = p0;
22446 fra.me.REG[1] = p1;
22447 /* ./parser//parser.nit:7849 */
22448 fra.me.REG[2] = NIT_NULL;
22449 /* ./parser//parser.nit:7850 */
22450 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22451 /* ./parser//parser.nit:7851 */
22452 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22453 /* ./parser//parser.nit:7852 */
22454 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22455 /* ./parser//parser.nit:7853 */
22456 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22457 /* ./parser//parser.nit:7854 */
22458 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22459 /* ./parser//parser.nit:7855 */
22460 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
22461 /* ./parser//parser.nit:7857 */
22462 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*/;
22463 if (UNTAG_Bool(REGB0)) {
22464 } else {
22465 nit_abort("Assert failed", NULL, LOCATE_parser, 7857);
22466 }
22467 /* ./parser//parser.nit:7859 */
22468 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*/;
22469 if (UNTAG_Bool(REGB0)) {
22470 } else {
22471 nit_abort("Assert failed", NULL, LOCATE_parser, 7859);
22472 }
22473 /* ./parser//parser.nit:7861 */
22474 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]*/;
22475 if (UNTAG_Bool(REGB0)) {
22476 } else {
22477 nit_abort("Assert failed", NULL, LOCATE_parser, 7861);
22478 }
22479 /* ./parser//parser.nit:7862 */
22480 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
22481 fra.me.REG[8] = fra.me.REG[5];
22482 /* ./parser//parser.nit:7864 */
22483 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*/;
22484 if (UNTAG_Bool(REGB0)) {
22485 } else {
22486 nit_abort("Assert failed", NULL, LOCATE_parser, 7864);
22487 }
22488 /* ./parser//parser.nit:7866 */
22489 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*/;
22490 if (UNTAG_Bool(REGB0)) {
22491 } else {
22492 nit_abort("Assert failed", NULL, LOCATE_parser, 7866);
22493 }
22494 /* ./parser//parser.nit:7867 */
22495 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);
22496 /* ./parser//parser.nit:7875 */
22497 fra.me.REG[2] = fra.me.REG[3];
22498 /* ./parser//parser.nit:7876 */
22499 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22500 if (UNTAG_Bool(REGB0)) {
22501 } else {
22502 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7876);
22503 }
22504 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22505 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22506 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22507 stack_frame_head = fra.me.prev;
22508 return;
22509 }
22510 void parser___ReduceAction247___action(val_t p0, val_t p1){
22511 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
22512 val_t REGB0;
22513 val_t tmp;
22514 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22515 fra.me.file = LOCATE_parser;
22516 fra.me.line = 7881;
22517 fra.me.meth = LOCATE_parser___ReduceAction247___action;
22518 fra.me.has_broke = 0;
22519 fra.me.REG_size = 7;
22520 fra.me.REG[0] = NIT_NULL;
22521 fra.me.REG[1] = NIT_NULL;
22522 fra.me.REG[2] = NIT_NULL;
22523 fra.me.REG[3] = NIT_NULL;
22524 fra.me.REG[4] = NIT_NULL;
22525 fra.me.REG[5] = NIT_NULL;
22526 fra.me.REG[6] = NIT_NULL;
22527 fra.me.REG[0] = p0;
22528 fra.me.REG[1] = p1;
22529 /* ./parser//parser.nit:7883 */
22530 fra.me.REG[2] = NIT_NULL;
22531 /* ./parser//parser.nit:7884 */
22532 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22533 /* ./parser//parser.nit:7885 */
22534 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22535 /* ./parser//parser.nit:7886 */
22536 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22537 /* ./parser//parser.nit:7887 */
22538 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22539 /* ./parser//parser.nit:7888 */
22540 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22541 /* ./parser//parser.nit:7889 */
22542 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
22543 /* ./parser//parser.nit:7891 */
22544 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*/;
22545 if (UNTAG_Bool(REGB0)) {
22546 } else {
22547 nit_abort("Assert failed", NULL, LOCATE_parser, 7891);
22548 }
22549 /* ./parser//parser.nit:7893 */
22550 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*/;
22551 if (UNTAG_Bool(REGB0)) {
22552 } else {
22553 nit_abort("Assert failed", NULL, LOCATE_parser, 7893);
22554 }
22555 /* ./parser//parser.nit:7895 */
22556 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*/;
22557 if (UNTAG_Bool(REGB0)) {
22558 } else {
22559 nit_abort("Assert failed", NULL, LOCATE_parser, 7895);
22560 }
22561 /* ./parser//parser.nit:7896 */
22562 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);
22563 /* ./parser//parser.nit:7904 */
22564 fra.me.REG[2] = fra.me.REG[3];
22565 /* ./parser//parser.nit:7905 */
22566 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22567 if (UNTAG_Bool(REGB0)) {
22568 } else {
22569 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7905);
22570 }
22571 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22572 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22573 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22574 stack_frame_head = fra.me.prev;
22575 return;
22576 }
22577 void parser___ReduceAction248___action(val_t p0, val_t p1){
22578 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
22579 val_t REGB0;
22580 val_t tmp;
22581 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22582 fra.me.file = LOCATE_parser;
22583 fra.me.line = 7910;
22584 fra.me.meth = LOCATE_parser___ReduceAction248___action;
22585 fra.me.has_broke = 0;
22586 fra.me.REG_size = 8;
22587 fra.me.REG[0] = NIT_NULL;
22588 fra.me.REG[1] = NIT_NULL;
22589 fra.me.REG[2] = NIT_NULL;
22590 fra.me.REG[3] = NIT_NULL;
22591 fra.me.REG[4] = NIT_NULL;
22592 fra.me.REG[5] = NIT_NULL;
22593 fra.me.REG[6] = NIT_NULL;
22594 fra.me.REG[7] = NIT_NULL;
22595 fra.me.REG[0] = p0;
22596 fra.me.REG[1] = p1;
22597 /* ./parser//parser.nit:7912 */
22598 fra.me.REG[2] = NIT_NULL;
22599 /* ./parser//parser.nit:7913 */
22600 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22601 /* ./parser//parser.nit:7914 */
22602 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22603 /* ./parser//parser.nit:7915 */
22604 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22605 /* ./parser//parser.nit:7916 */
22606 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22607 /* ./parser//parser.nit:7917 */
22608 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22609 /* ./parser//parser.nit:7918 */
22610 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22611 /* ./parser//parser.nit:7919 */
22612 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22613 /* ./parser//parser.nit:7920 */
22614 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22615 /* ./parser//parser.nit:7921 */
22616 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
22617 /* ./parser//parser.nit:7923 */
22618 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*/;
22619 if (UNTAG_Bool(REGB0)) {
22620 } else {
22621 nit_abort("Assert failed", NULL, LOCATE_parser, 7923);
22622 }
22623 /* ./parser//parser.nit:7925 */
22624 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*/;
22625 if (UNTAG_Bool(REGB0)) {
22626 } else {
22627 nit_abort("Assert failed", NULL, LOCATE_parser, 7925);
22628 }
22629 /* ./parser//parser.nit:7927 */
22630 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]*/;
22631 if (UNTAG_Bool(REGB0)) {
22632 } else {
22633 nit_abort("Assert failed", NULL, LOCATE_parser, 7927);
22634 }
22635 /* ./parser//parser.nit:7928 */
22636 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
22637 fra.me.REG[7] = fra.me.REG[4];
22638 /* ./parser//parser.nit:7930 */
22639 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*/;
22640 if (UNTAG_Bool(REGB0)) {
22641 } else {
22642 nit_abort("Assert failed", NULL, LOCATE_parser, 7930);
22643 }
22644 /* ./parser//parser.nit:7931 */
22645 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);
22646 /* ./parser//parser.nit:7939 */
22647 fra.me.REG[2] = fra.me.REG[3];
22648 /* ./parser//parser.nit:7940 */
22649 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22650 if (UNTAG_Bool(REGB0)) {
22651 } else {
22652 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7940);
22653 }
22654 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22655 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22656 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22657 stack_frame_head = fra.me.prev;
22658 return;
22659 }
22660 void parser___ReduceAction249___action(val_t p0, val_t p1){
22661 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
22662 val_t REGB0;
22663 val_t tmp;
22664 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22665 fra.me.file = LOCATE_parser;
22666 fra.me.line = 7945;
22667 fra.me.meth = LOCATE_parser___ReduceAction249___action;
22668 fra.me.has_broke = 0;
22669 fra.me.REG_size = 8;
22670 fra.me.REG[0] = NIT_NULL;
22671 fra.me.REG[1] = NIT_NULL;
22672 fra.me.REG[2] = NIT_NULL;
22673 fra.me.REG[3] = NIT_NULL;
22674 fra.me.REG[4] = NIT_NULL;
22675 fra.me.REG[5] = NIT_NULL;
22676 fra.me.REG[6] = NIT_NULL;
22677 fra.me.REG[7] = NIT_NULL;
22678 fra.me.REG[0] = p0;
22679 fra.me.REG[1] = p1;
22680 /* ./parser//parser.nit:7947 */
22681 fra.me.REG[2] = NIT_NULL;
22682 /* ./parser//parser.nit:7948 */
22683 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22684 /* ./parser//parser.nit:7949 */
22685 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22686 /* ./parser//parser.nit:7950 */
22687 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22688 /* ./parser//parser.nit:7951 */
22689 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22690 /* ./parser//parser.nit:7952 */
22691 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22692 /* ./parser//parser.nit:7953 */
22693 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22694 /* ./parser//parser.nit:7954 */
22695 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
22696 /* ./parser//parser.nit:7956 */
22697 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*/;
22698 if (UNTAG_Bool(REGB0)) {
22699 } else {
22700 nit_abort("Assert failed", NULL, LOCATE_parser, 7956);
22701 }
22702 /* ./parser//parser.nit:7958 */
22703 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*/;
22704 if (UNTAG_Bool(REGB0)) {
22705 } else {
22706 nit_abort("Assert failed", NULL, LOCATE_parser, 7958);
22707 }
22708 /* ./parser//parser.nit:7960 */
22709 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]*/;
22710 if (UNTAG_Bool(REGB0)) {
22711 } else {
22712 nit_abort("Assert failed", NULL, LOCATE_parser, 7960);
22713 }
22714 /* ./parser//parser.nit:7961 */
22715 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
22716 fra.me.REG[7] = fra.me.REG[4];
22717 /* ./parser//parser.nit:7963 */
22718 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*/;
22719 if (UNTAG_Bool(REGB0)) {
22720 } else {
22721 nit_abort("Assert failed", NULL, LOCATE_parser, 7963);
22722 }
22723 /* ./parser//parser.nit:7964 */
22724 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);
22725 /* ./parser//parser.nit:7972 */
22726 fra.me.REG[2] = fra.me.REG[3];
22727 /* ./parser//parser.nit:7973 */
22728 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22729 if (UNTAG_Bool(REGB0)) {
22730 } else {
22731 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7973);
22732 }
22733 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22734 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22735 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22736 stack_frame_head = fra.me.prev;
22737 return;
22738 }
22739 void parser___ReduceAction250___action(val_t p0, val_t p1){
22740 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
22741 val_t REGB0;
22742 val_t tmp;
22743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22744 fra.me.file = LOCATE_parser;
22745 fra.me.line = 7978;
22746 fra.me.meth = LOCATE_parser___ReduceAction250___action;
22747 fra.me.has_broke = 0;
22748 fra.me.REG_size = 8;
22749 fra.me.REG[0] = NIT_NULL;
22750 fra.me.REG[1] = NIT_NULL;
22751 fra.me.REG[2] = NIT_NULL;
22752 fra.me.REG[3] = NIT_NULL;
22753 fra.me.REG[4] = NIT_NULL;
22754 fra.me.REG[5] = NIT_NULL;
22755 fra.me.REG[6] = NIT_NULL;
22756 fra.me.REG[7] = NIT_NULL;
22757 fra.me.REG[0] = p0;
22758 fra.me.REG[1] = p1;
22759 /* ./parser//parser.nit:7980 */
22760 fra.me.REG[2] = NIT_NULL;
22761 /* ./parser//parser.nit:7981 */
22762 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22763 /* ./parser//parser.nit:7982 */
22764 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22765 /* ./parser//parser.nit:7983 */
22766 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22767 /* ./parser//parser.nit:7984 */
22768 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22769 /* ./parser//parser.nit:7985 */
22770 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22771 /* ./parser//parser.nit:7986 */
22772 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
22773 /* ./parser//parser.nit:7988 */
22774 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*/;
22775 if (UNTAG_Bool(REGB0)) {
22776 } else {
22777 nit_abort("Assert failed", NULL, LOCATE_parser, 7988);
22778 }
22779 /* ./parser//parser.nit:7990 */
22780 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*/;
22781 if (UNTAG_Bool(REGB0)) {
22782 } else {
22783 nit_abort("Assert failed", NULL, LOCATE_parser, 7990);
22784 }
22785 /* ./parser//parser.nit:7992 */
22786 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*/;
22787 if (UNTAG_Bool(REGB0)) {
22788 } else {
22789 nit_abort("Assert failed", NULL, LOCATE_parser, 7992);
22790 }
22791 /* ./parser//parser.nit:7994 */
22792 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*/;
22793 if (UNTAG_Bool(REGB0)) {
22794 } else {
22795 nit_abort("Assert failed", NULL, LOCATE_parser, 7994);
22796 }
22797 /* ./parser//parser.nit:7995 */
22798 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);
22799 /* ./parser//parser.nit:8003 */
22800 fra.me.REG[2] = fra.me.REG[3];
22801 /* ./parser//parser.nit:8004 */
22802 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22803 if (UNTAG_Bool(REGB0)) {
22804 } else {
22805 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8004);
22806 }
22807 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22808 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22809 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22810 stack_frame_head = fra.me.prev;
22811 return;
22812 }
22813 void parser___ReduceAction251___action(val_t p0, val_t p1){
22814 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22815 val_t REGB0;
22816 val_t tmp;
22817 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22818 fra.me.file = LOCATE_parser;
22819 fra.me.line = 8009;
22820 fra.me.meth = LOCATE_parser___ReduceAction251___action;
22821 fra.me.has_broke = 0;
22822 fra.me.REG_size = 9;
22823 fra.me.REG[0] = NIT_NULL;
22824 fra.me.REG[1] = NIT_NULL;
22825 fra.me.REG[2] = NIT_NULL;
22826 fra.me.REG[3] = NIT_NULL;
22827 fra.me.REG[4] = NIT_NULL;
22828 fra.me.REG[5] = NIT_NULL;
22829 fra.me.REG[6] = NIT_NULL;
22830 fra.me.REG[7] = NIT_NULL;
22831 fra.me.REG[8] = NIT_NULL;
22832 fra.me.REG[0] = p0;
22833 fra.me.REG[1] = p1;
22834 /* ./parser//parser.nit:8011 */
22835 fra.me.REG[2] = NIT_NULL;
22836 /* ./parser//parser.nit:8012 */
22837 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22838 /* ./parser//parser.nit:8013 */
22839 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22840 /* ./parser//parser.nit:8014 */
22841 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22842 /* ./parser//parser.nit:8015 */
22843 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22844 /* ./parser//parser.nit:8016 */
22845 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22846 /* ./parser//parser.nit:8017 */
22847 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22848 /* ./parser//parser.nit:8018 */
22849 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22850 /* ./parser//parser.nit:8019 */
22851 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22852 /* ./parser//parser.nit:8020 */
22853 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
22854 /* ./parser//parser.nit:8022 */
22855 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*/;
22856 if (UNTAG_Bool(REGB0)) {
22857 } else {
22858 nit_abort("Assert failed", NULL, LOCATE_parser, 8022);
22859 }
22860 /* ./parser//parser.nit:8024 */
22861 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*/;
22862 if (UNTAG_Bool(REGB0)) {
22863 } else {
22864 nit_abort("Assert failed", NULL, LOCATE_parser, 8024);
22865 }
22866 /* ./parser//parser.nit:8026 */
22867 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]*/;
22868 if (UNTAG_Bool(REGB0)) {
22869 } else {
22870 nit_abort("Assert failed", NULL, LOCATE_parser, 8026);
22871 }
22872 /* ./parser//parser.nit:8027 */
22873 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
22874 fra.me.REG[8] = fra.me.REG[5];
22875 /* ./parser//parser.nit:8029 */
22876 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*/;
22877 if (UNTAG_Bool(REGB0)) {
22878 } else {
22879 nit_abort("Assert failed", NULL, LOCATE_parser, 8029);
22880 }
22881 /* ./parser//parser.nit:8031 */
22882 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*/;
22883 if (UNTAG_Bool(REGB0)) {
22884 } else {
22885 nit_abort("Assert failed", NULL, LOCATE_parser, 8031);
22886 }
22887 /* ./parser//parser.nit:8032 */
22888 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);
22889 /* ./parser//parser.nit:8040 */
22890 fra.me.REG[2] = fra.me.REG[3];
22891 /* ./parser//parser.nit:8041 */
22892 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22893 if (UNTAG_Bool(REGB0)) {
22894 } else {
22895 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8041);
22896 }
22897 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22898 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22899 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22900 stack_frame_head = fra.me.prev;
22901 return;
22902 }
22903 void parser___ReduceAction252___action(val_t p0, val_t p1){
22904 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22905 val_t REGB0;
22906 val_t tmp;
22907 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22908 fra.me.file = LOCATE_parser;
22909 fra.me.line = 8046;
22910 fra.me.meth = LOCATE_parser___ReduceAction252___action;
22911 fra.me.has_broke = 0;
22912 fra.me.REG_size = 9;
22913 fra.me.REG[0] = NIT_NULL;
22914 fra.me.REG[1] = NIT_NULL;
22915 fra.me.REG[2] = NIT_NULL;
22916 fra.me.REG[3] = NIT_NULL;
22917 fra.me.REG[4] = NIT_NULL;
22918 fra.me.REG[5] = NIT_NULL;
22919 fra.me.REG[6] = NIT_NULL;
22920 fra.me.REG[7] = NIT_NULL;
22921 fra.me.REG[8] = NIT_NULL;
22922 fra.me.REG[0] = p0;
22923 fra.me.REG[1] = p1;
22924 /* ./parser//parser.nit:8048 */
22925 fra.me.REG[2] = NIT_NULL;
22926 /* ./parser//parser.nit:8049 */
22927 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22928 /* ./parser//parser.nit:8050 */
22929 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22930 /* ./parser//parser.nit:8051 */
22931 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22932 /* ./parser//parser.nit:8052 */
22933 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22934 /* ./parser//parser.nit:8053 */
22935 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22936 /* ./parser//parser.nit:8054 */
22937 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22938 /* ./parser//parser.nit:8055 */
22939 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
22940 /* ./parser//parser.nit:8057 */
22941 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*/;
22942 if (UNTAG_Bool(REGB0)) {
22943 } else {
22944 nit_abort("Assert failed", NULL, LOCATE_parser, 8057);
22945 }
22946 /* ./parser//parser.nit:8059 */
22947 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*/;
22948 if (UNTAG_Bool(REGB0)) {
22949 } else {
22950 nit_abort("Assert failed", NULL, LOCATE_parser, 8059);
22951 }
22952 /* ./parser//parser.nit:8061 */
22953 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]*/;
22954 if (UNTAG_Bool(REGB0)) {
22955 } else {
22956 nit_abort("Assert failed", NULL, LOCATE_parser, 8061);
22957 }
22958 /* ./parser//parser.nit:8062 */
22959 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
22960 fra.me.REG[8] = fra.me.REG[5];
22961 /* ./parser//parser.nit:8064 */
22962 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*/;
22963 if (UNTAG_Bool(REGB0)) {
22964 } else {
22965 nit_abort("Assert failed", NULL, LOCATE_parser, 8064);
22966 }
22967 /* ./parser//parser.nit:8066 */
22968 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*/;
22969 if (UNTAG_Bool(REGB0)) {
22970 } else {
22971 nit_abort("Assert failed", NULL, LOCATE_parser, 8066);
22972 }
22973 /* ./parser//parser.nit:8067 */
22974 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);
22975 /* ./parser//parser.nit:8075 */
22976 fra.me.REG[2] = fra.me.REG[3];
22977 /* ./parser//parser.nit:8076 */
22978 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22979 if (UNTAG_Bool(REGB0)) {
22980 } else {
22981 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8076);
22982 }
22983 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22984 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22985 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22986 stack_frame_head = fra.me.prev;
22987 return;
22988 }
22989 void parser___ReduceAction253___action(val_t p0, val_t p1){
22990 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
22991 val_t REGB0;
22992 val_t tmp;
22993 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22994 fra.me.file = LOCATE_parser;
22995 fra.me.line = 8081;
22996 fra.me.meth = LOCATE_parser___ReduceAction253___action;
22997 fra.me.has_broke = 0;
22998 fra.me.REG_size = 7;
22999 fra.me.REG[0] = NIT_NULL;
23000 fra.me.REG[1] = NIT_NULL;
23001 fra.me.REG[2] = NIT_NULL;
23002 fra.me.REG[3] = NIT_NULL;
23003 fra.me.REG[4] = NIT_NULL;
23004 fra.me.REG[5] = NIT_NULL;
23005 fra.me.REG[6] = NIT_NULL;
23006 fra.me.REG[0] = p0;
23007 fra.me.REG[1] = p1;
23008 /* ./parser//parser.nit:8083 */
23009 fra.me.REG[2] = NIT_NULL;
23010 /* ./parser//parser.nit:8084 */
23011 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23012 /* ./parser//parser.nit:8085 */
23013 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23014 /* ./parser//parser.nit:8086 */
23015 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23016 /* ./parser//parser.nit:8087 */
23017 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23018 /* ./parser//parser.nit:8088 */
23019 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
23020 /* ./parser//parser.nit:8090 */
23021 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*/;
23022 if (UNTAG_Bool(REGB0)) {
23023 } else {
23024 nit_abort("Assert failed", NULL, LOCATE_parser, 8090);
23025 }
23026 /* ./parser//parser.nit:8092 */
23027 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*/;
23028 if (UNTAG_Bool(REGB0)) {
23029 } else {
23030 nit_abort("Assert failed", NULL, LOCATE_parser, 8092);
23031 }
23032 /* ./parser//parser.nit:8094 */
23033 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*/;
23034 if (UNTAG_Bool(REGB0)) {
23035 } else {
23036 nit_abort("Assert failed", NULL, LOCATE_parser, 8094);
23037 }
23038 /* ./parser//parser.nit:8095 */
23039 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);
23040 /* ./parser//parser.nit:8103 */
23041 fra.me.REG[2] = fra.me.REG[3];
23042 /* ./parser//parser.nit:8104 */
23043 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23044 if (UNTAG_Bool(REGB0)) {
23045 } else {
23046 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8104);
23047 }
23048 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23049 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23050 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23051 stack_frame_head = fra.me.prev;
23052 return;
23053 }
23054 void parser___ReduceAction254___action(val_t p0, val_t p1){
23055 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23056 val_t REGB0;
23057 val_t tmp;
23058 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23059 fra.me.file = LOCATE_parser;
23060 fra.me.line = 8109;
23061 fra.me.meth = LOCATE_parser___ReduceAction254___action;
23062 fra.me.has_broke = 0;
23063 fra.me.REG_size = 8;
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[4] = NIT_NULL;
23069 fra.me.REG[5] = NIT_NULL;
23070 fra.me.REG[6] = NIT_NULL;
23071 fra.me.REG[7] = NIT_NULL;
23072 fra.me.REG[0] = p0;
23073 fra.me.REG[1] = p1;
23074 /* ./parser//parser.nit:8111 */
23075 fra.me.REG[2] = NIT_NULL;
23076 /* ./parser//parser.nit:8112 */
23077 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23078 /* ./parser//parser.nit:8113 */
23079 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23080 /* ./parser//parser.nit:8114 */
23081 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23082 /* ./parser//parser.nit:8115 */
23083 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23084 /* ./parser//parser.nit:8116 */
23085 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23086 /* ./parser//parser.nit:8117 */
23087 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23088 /* ./parser//parser.nit:8118 */
23089 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23090 /* ./parser//parser.nit:8119 */
23091 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
23092 /* ./parser//parser.nit:8121 */
23093 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*/;
23094 if (UNTAG_Bool(REGB0)) {
23095 } else {
23096 nit_abort("Assert failed", NULL, LOCATE_parser, 8121);
23097 }
23098 /* ./parser//parser.nit:8123 */
23099 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*/;
23100 if (UNTAG_Bool(REGB0)) {
23101 } else {
23102 nit_abort("Assert failed", NULL, LOCATE_parser, 8123);
23103 }
23104 /* ./parser//parser.nit:8125 */
23105 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]*/;
23106 if (UNTAG_Bool(REGB0)) {
23107 } else {
23108 nit_abort("Assert failed", NULL, LOCATE_parser, 8125);
23109 }
23110 /* ./parser//parser.nit:8126 */
23111 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
23112 fra.me.REG[7] = fra.me.REG[4];
23113 /* ./parser//parser.nit:8128 */
23114 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*/;
23115 if (UNTAG_Bool(REGB0)) {
23116 } else {
23117 nit_abort("Assert failed", NULL, LOCATE_parser, 8128);
23118 }
23119 /* ./parser//parser.nit:8129 */
23120 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);
23121 /* ./parser//parser.nit:8137 */
23122 fra.me.REG[2] = fra.me.REG[3];
23123 /* ./parser//parser.nit:8138 */
23124 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23125 if (UNTAG_Bool(REGB0)) {
23126 } else {
23127 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8138);
23128 }
23129 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23130 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23131 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23132 stack_frame_head = fra.me.prev;
23133 return;
23134 }
23135 void parser___ReduceAction255___action(val_t p0, val_t p1){
23136 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23137 val_t REGB0;
23138 val_t tmp;
23139 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23140 fra.me.file = LOCATE_parser;
23141 fra.me.line = 8143;
23142 fra.me.meth = LOCATE_parser___ReduceAction255___action;
23143 fra.me.has_broke = 0;
23144 fra.me.REG_size = 8;
23145 fra.me.REG[0] = NIT_NULL;
23146 fra.me.REG[1] = NIT_NULL;
23147 fra.me.REG[2] = NIT_NULL;
23148 fra.me.REG[3] = NIT_NULL;
23149 fra.me.REG[4] = NIT_NULL;
23150 fra.me.REG[5] = NIT_NULL;
23151 fra.me.REG[6] = NIT_NULL;
23152 fra.me.REG[7] = NIT_NULL;
23153 fra.me.REG[0] = p0;
23154 fra.me.REG[1] = p1;
23155 /* ./parser//parser.nit:8145 */
23156 fra.me.REG[2] = NIT_NULL;
23157 /* ./parser//parser.nit:8146 */
23158 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23159 /* ./parser//parser.nit:8147 */
23160 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23161 /* ./parser//parser.nit:8148 */
23162 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23163 /* ./parser//parser.nit:8149 */
23164 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23165 /* ./parser//parser.nit:8150 */
23166 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23167 /* ./parser//parser.nit:8151 */
23168 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
23169 /* ./parser//parser.nit:8153 */
23170 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*/;
23171 if (UNTAG_Bool(REGB0)) {
23172 } else {
23173 nit_abort("Assert failed", NULL, LOCATE_parser, 8153);
23174 }
23175 /* ./parser//parser.nit:8155 */
23176 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*/;
23177 if (UNTAG_Bool(REGB0)) {
23178 } else {
23179 nit_abort("Assert failed", NULL, LOCATE_parser, 8155);
23180 }
23181 /* ./parser//parser.nit:8157 */
23182 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]*/;
23183 if (UNTAG_Bool(REGB0)) {
23184 } else {
23185 nit_abort("Assert failed", NULL, LOCATE_parser, 8157);
23186 }
23187 /* ./parser//parser.nit:8158 */
23188 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
23189 fra.me.REG[7] = fra.me.REG[4];
23190 /* ./parser//parser.nit:8160 */
23191 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*/;
23192 if (UNTAG_Bool(REGB0)) {
23193 } else {
23194 nit_abort("Assert failed", NULL, LOCATE_parser, 8160);
23195 }
23196 /* ./parser//parser.nit:8161 */
23197 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);
23198 /* ./parser//parser.nit:8169 */
23199 fra.me.REG[2] = fra.me.REG[3];
23200 /* ./parser//parser.nit:8170 */
23201 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23202 if (UNTAG_Bool(REGB0)) {
23203 } else {
23204 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8170);
23205 }
23206 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23207 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23208 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23209 stack_frame_head = fra.me.prev;
23210 return;
23211 }
23212 void parser___ReduceAction256___action(val_t p0, val_t p1){
23213 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23214 val_t REGB0;
23215 val_t tmp;
23216 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23217 fra.me.file = LOCATE_parser;
23218 fra.me.line = 8175;
23219 fra.me.meth = LOCATE_parser___ReduceAction256___action;
23220 fra.me.has_broke = 0;
23221 fra.me.REG_size = 4;
23222 fra.me.REG[0] = NIT_NULL;
23223 fra.me.REG[1] = NIT_NULL;
23224 fra.me.REG[2] = NIT_NULL;
23225 fra.me.REG[3] = NIT_NULL;
23226 fra.me.REG[0] = p0;
23227 fra.me.REG[1] = p1;
23228 /* ./parser//parser.nit:8177 */
23229 fra.me.REG[2] = NIT_NULL;
23230 /* ./parser//parser.nit:8178 */
23231 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23232 /* ./parser//parser.nit:8180 */
23233 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*/;
23234 if (UNTAG_Bool(REGB0)) {
23235 } else {
23236 nit_abort("Assert failed", NULL, LOCATE_parser, 8180);
23237 }
23238 /* ./parser//parser.nit:8181 */
23239 fra.me.REG[3] = NEW_ASimpleClosureId_parser___parser_prod___ASimpleClosureId___init_asimpleclosureid(fra.me.REG[3]);
23240 /* ./parser//parser.nit:8184 */
23241 fra.me.REG[2] = fra.me.REG[3];
23242 /* ./parser//parser.nit:8185 */
23243 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23244 if (UNTAG_Bool(REGB0)) {
23245 } else {
23246 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8185);
23247 }
23248 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23249 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23250 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23251 stack_frame_head = fra.me.prev;
23252 return;
23253 }
23254 void parser___ReduceAction257___action(val_t p0, val_t p1){
23255 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23256 val_t REGB0;
23257 val_t tmp;
23258 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23259 fra.me.file = LOCATE_parser;
23260 fra.me.line = 8190;
23261 fra.me.meth = LOCATE_parser___ReduceAction257___action;
23262 fra.me.has_broke = 0;
23263 fra.me.REG_size = 4;
23264 fra.me.REG[0] = NIT_NULL;
23265 fra.me.REG[1] = NIT_NULL;
23266 fra.me.REG[2] = NIT_NULL;
23267 fra.me.REG[3] = NIT_NULL;
23268 fra.me.REG[0] = p0;
23269 fra.me.REG[1] = p1;
23270 /* ./parser//parser.nit:8192 */
23271 fra.me.REG[2] = NIT_NULL;
23272 /* ./parser//parser.nit:8193 */
23273 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23274 /* ./parser//parser.nit:8195 */
23275 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*/;
23276 if (UNTAG_Bool(REGB0)) {
23277 } else {
23278 nit_abort("Assert failed", NULL, LOCATE_parser, 8195);
23279 }
23280 /* ./parser//parser.nit:8196 */
23281 fra.me.REG[3] = NEW_ABreakClosureId_parser___parser_prod___ABreakClosureId___init_abreakclosureid(fra.me.REG[3]);
23282 /* ./parser//parser.nit:8199 */
23283 fra.me.REG[2] = fra.me.REG[3];
23284 /* ./parser//parser.nit:8200 */
23285 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23286 if (UNTAG_Bool(REGB0)) {
23287 } else {
23288 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8200);
23289 }
23290 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23291 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23292 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23293 stack_frame_head = fra.me.prev;
23294 return;
23295 }
23296 void parser___ReduceAction258___action(val_t p0, val_t p1){
23297 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23298 val_t REGB0;
23299 val_t tmp;
23300 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23301 fra.me.file = LOCATE_parser;
23302 fra.me.line = 8205;
23303 fra.me.meth = LOCATE_parser___ReduceAction258___action;
23304 fra.me.has_broke = 0;
23305 fra.me.REG_size = 4;
23306 fra.me.REG[0] = NIT_NULL;
23307 fra.me.REG[1] = NIT_NULL;
23308 fra.me.REG[2] = NIT_NULL;
23309 fra.me.REG[3] = NIT_NULL;
23310 fra.me.REG[0] = p0;
23311 fra.me.REG[1] = p1;
23312 /* ./parser//parser.nit:8207 */
23313 fra.me.REG[2] = NIT_NULL;
23314 /* ./parser//parser.nit:8208 */
23315 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23316 /* ./parser//parser.nit:8210 */
23317 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*/;
23318 if (UNTAG_Bool(REGB0)) {
23319 } else {
23320 nit_abort("Assert failed", NULL, LOCATE_parser, 8210);
23321 }
23322 /* ./parser//parser.nit:8211 */
23323 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[3]);
23324 /* ./parser//parser.nit:8216 */
23325 fra.me.REG[2] = fra.me.REG[3];
23326 /* ./parser//parser.nit:8217 */
23327 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23328 if (UNTAG_Bool(REGB0)) {
23329 } else {
23330 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8217);
23331 }
23332 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23333 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23334 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23335 stack_frame_head = fra.me.prev;
23336 return;
23337 }
23338 void parser___ReduceAction259___action(val_t p0, val_t p1){
23339 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23340 val_t REGB0;
23341 val_t tmp;
23342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23343 fra.me.file = LOCATE_parser;
23344 fra.me.line = 8222;
23345 fra.me.meth = LOCATE_parser___ReduceAction259___action;
23346 fra.me.has_broke = 0;
23347 fra.me.REG_size = 5;
23348 fra.me.REG[0] = NIT_NULL;
23349 fra.me.REG[1] = NIT_NULL;
23350 fra.me.REG[2] = NIT_NULL;
23351 fra.me.REG[3] = NIT_NULL;
23352 fra.me.REG[4] = NIT_NULL;
23353 fra.me.REG[0] = p0;
23354 fra.me.REG[1] = p1;
23355 /* ./parser//parser.nit:8224 */
23356 fra.me.REG[2] = NIT_NULL;
23357 /* ./parser//parser.nit:8225 */
23358 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23359 /* ./parser//parser.nit:8226 */
23360 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23361 /* ./parser//parser.nit:8228 */
23362 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*/;
23363 if (UNTAG_Bool(REGB0)) {
23364 } else {
23365 nit_abort("Assert failed", NULL, LOCATE_parser, 8228);
23366 }
23367 /* ./parser//parser.nit:8230 */
23368 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*/;
23369 if (UNTAG_Bool(REGB0)) {
23370 } else {
23371 nit_abort("Assert failed", NULL, LOCATE_parser, 8230);
23372 }
23373 /* ./parser//parser.nit:8231 */
23374 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);
23375 /* ./parser//parser.nit:8238 */
23376 fra.me.REG[2] = fra.me.REG[3];
23377 /* ./parser//parser.nit:8239 */
23378 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23379 if (UNTAG_Bool(REGB0)) {
23380 } else {
23381 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8239);
23382 }
23383 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23384 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23385 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23386 stack_frame_head = fra.me.prev;
23387 return;
23388 }
23389 void parser___ReduceAction260___action(val_t p0, val_t p1){
23390 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
23391 val_t REGB0;
23392 val_t tmp;
23393 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23394 fra.me.file = LOCATE_parser;
23395 fra.me.line = 8244;
23396 fra.me.meth = LOCATE_parser___ReduceAction260___action;
23397 fra.me.has_broke = 0;
23398 fra.me.REG_size = 6;
23399 fra.me.REG[0] = NIT_NULL;
23400 fra.me.REG[1] = NIT_NULL;
23401 fra.me.REG[2] = NIT_NULL;
23402 fra.me.REG[3] = NIT_NULL;
23403 fra.me.REG[4] = NIT_NULL;
23404 fra.me.REG[5] = NIT_NULL;
23405 fra.me.REG[0] = p0;
23406 fra.me.REG[1] = p1;
23407 /* ./parser//parser.nit:8246 */
23408 fra.me.REG[2] = NIT_NULL;
23409 /* ./parser//parser.nit:8247 */
23410 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23411 /* ./parser//parser.nit:8248 */
23412 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23413 /* ./parser//parser.nit:8249 */
23414 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23415 /* ./parser//parser.nit:8251 */
23416 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*/;
23417 if (UNTAG_Bool(REGB0)) {
23418 } else {
23419 nit_abort("Assert failed", NULL, LOCATE_parser, 8251);
23420 }
23421 /* ./parser//parser.nit:8253 */
23422 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*/;
23423 if (UNTAG_Bool(REGB0)) {
23424 } else {
23425 nit_abort("Assert failed", NULL, LOCATE_parser, 8253);
23426 }
23427 /* ./parser//parser.nit:8255 */
23428 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*/;
23429 if (UNTAG_Bool(REGB0)) {
23430 } else {
23431 nit_abort("Assert failed", NULL, LOCATE_parser, 8255);
23432 }
23433 /* ./parser//parser.nit:8256 */
23434 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);
23435 /* ./parser//parser.nit:8263 */
23436 fra.me.REG[2] = fra.me.REG[3];
23437 /* ./parser//parser.nit:8264 */
23438 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23439 if (UNTAG_Bool(REGB0)) {
23440 } else {
23441 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8264);
23442 }
23443 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23444 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23445 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23446 stack_frame_head = fra.me.prev;
23447 return;
23448 }
23449 void parser___ReduceAction261___action(val_t p0, val_t p1){
23450 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
23451 val_t REGB0;
23452 val_t tmp;
23453 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23454 fra.me.file = LOCATE_parser;
23455 fra.me.line = 8269;
23456 fra.me.meth = LOCATE_parser___ReduceAction261___action;
23457 fra.me.has_broke = 0;
23458 fra.me.REG_size = 7;
23459 fra.me.REG[0] = NIT_NULL;
23460 fra.me.REG[1] = NIT_NULL;
23461 fra.me.REG[2] = NIT_NULL;
23462 fra.me.REG[3] = NIT_NULL;
23463 fra.me.REG[4] = NIT_NULL;
23464 fra.me.REG[5] = NIT_NULL;
23465 fra.me.REG[6] = NIT_NULL;
23466 fra.me.REG[0] = p0;
23467 fra.me.REG[1] = p1;
23468 /* ./parser//parser.nit:8271 */
23469 fra.me.REG[2] = NIT_NULL;
23470 /* ./parser//parser.nit:8272 */
23471 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23472 /* ./parser//parser.nit:8273 */
23473 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23474 /* ./parser//parser.nit:8274 */
23475 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23476 /* ./parser//parser.nit:8275 */
23477 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23478 /* ./parser//parser.nit:8276 */
23479 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23480 /* ./parser//parser.nit:8278 */
23481 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*/;
23482 if (UNTAG_Bool(REGB0)) {
23483 } else {
23484 nit_abort("Assert failed", NULL, LOCATE_parser, 8278);
23485 }
23486 /* ./parser//parser.nit:8280 */
23487 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*/;
23488 if (UNTAG_Bool(REGB0)) {
23489 } else {
23490 nit_abort("Assert failed", NULL, LOCATE_parser, 8280);
23491 }
23492 /* ./parser//parser.nit:8282 */
23493 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*/;
23494 if (UNTAG_Bool(REGB0)) {
23495 } else {
23496 nit_abort("Assert failed", NULL, LOCATE_parser, 8282);
23497 }
23498 /* ./parser//parser.nit:8284 */
23499 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*/;
23500 if (UNTAG_Bool(REGB0)) {
23501 } else {
23502 nit_abort("Assert failed", NULL, LOCATE_parser, 8284);
23503 }
23504 /* ./parser//parser.nit:8285 */
23505 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]);
23506 /* ./parser//parser.nit:8292 */
23507 fra.me.REG[2] = fra.me.REG[3];
23508 /* ./parser//parser.nit:8293 */
23509 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23510 if (UNTAG_Bool(REGB0)) {
23511 } else {
23512 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8293);
23513 }
23514 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23515 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23516 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23517 stack_frame_head = fra.me.prev;
23518 return;
23519 }
23520 void parser___ReduceAction262___action(val_t p0, val_t p1){
23521 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23522 val_t REGB0;
23523 val_t tmp;
23524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23525 fra.me.file = LOCATE_parser;
23526 fra.me.line = 8298;
23527 fra.me.meth = LOCATE_parser___ReduceAction262___action;
23528 fra.me.has_broke = 0;
23529 fra.me.REG_size = 8;
23530 fra.me.REG[0] = NIT_NULL;
23531 fra.me.REG[1] = NIT_NULL;
23532 fra.me.REG[2] = NIT_NULL;
23533 fra.me.REG[3] = NIT_NULL;
23534 fra.me.REG[4] = NIT_NULL;
23535 fra.me.REG[5] = NIT_NULL;
23536 fra.me.REG[6] = NIT_NULL;
23537 fra.me.REG[7] = NIT_NULL;
23538 fra.me.REG[0] = p0;
23539 fra.me.REG[1] = p1;
23540 /* ./parser//parser.nit:8300 */
23541 fra.me.REG[2] = NIT_NULL;
23542 /* ./parser//parser.nit:8301 */
23543 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23544 /* ./parser//parser.nit:8302 */
23545 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23546 /* ./parser//parser.nit:8303 */
23547 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23548 /* ./parser//parser.nit:8304 */
23549 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23550 /* ./parser//parser.nit:8305 */
23551 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23552 /* ./parser//parser.nit:8306 */
23553 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23554 /* ./parser//parser.nit:8308 */
23555 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*/;
23556 if (UNTAG_Bool(REGB0)) {
23557 } else {
23558 nit_abort("Assert failed", NULL, LOCATE_parser, 8308);
23559 }
23560 /* ./parser//parser.nit:8310 */
23561 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*/;
23562 if (UNTAG_Bool(REGB0)) {
23563 } else {
23564 nit_abort("Assert failed", NULL, LOCATE_parser, 8310);
23565 }
23566 /* ./parser//parser.nit:8312 */
23567 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*/;
23568 if (UNTAG_Bool(REGB0)) {
23569 } else {
23570 nit_abort("Assert failed", NULL, LOCATE_parser, 8312);
23571 }
23572 /* ./parser//parser.nit:8314 */
23573 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*/;
23574 if (UNTAG_Bool(REGB0)) {
23575 } else {
23576 nit_abort("Assert failed", NULL, LOCATE_parser, 8314);
23577 }
23578 /* ./parser//parser.nit:8316 */
23579 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*/;
23580 if (UNTAG_Bool(REGB0)) {
23581 } else {
23582 nit_abort("Assert failed", NULL, LOCATE_parser, 8316);
23583 }
23584 /* ./parser//parser.nit:8317 */
23585 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]);
23586 /* ./parser//parser.nit:8324 */
23587 fra.me.REG[2] = fra.me.REG[3];
23588 /* ./parser//parser.nit:8325 */
23589 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23590 if (UNTAG_Bool(REGB0)) {
23591 } else {
23592 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8325);
23593 }
23594 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23595 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23596 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23597 stack_frame_head = fra.me.prev;
23598 return;
23599 }
23600 void parser___ReduceAction263___action(val_t p0, val_t p1){
23601 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
23602 val_t REGB0;
23603 val_t tmp;
23604 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23605 fra.me.file = LOCATE_parser;
23606 fra.me.line = 8330;
23607 fra.me.meth = LOCATE_parser___ReduceAction263___action;
23608 fra.me.has_broke = 0;
23609 fra.me.REG_size = 7;
23610 fra.me.REG[0] = NIT_NULL;
23611 fra.me.REG[1] = NIT_NULL;
23612 fra.me.REG[2] = NIT_NULL;
23613 fra.me.REG[3] = NIT_NULL;
23614 fra.me.REG[4] = NIT_NULL;
23615 fra.me.REG[5] = NIT_NULL;
23616 fra.me.REG[6] = NIT_NULL;
23617 fra.me.REG[0] = p0;
23618 fra.me.REG[1] = p1;
23619 /* ./parser//parser.nit:8332 */
23620 fra.me.REG[2] = NIT_NULL;
23621 /* ./parser//parser.nit:8333 */
23622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23623 /* ./parser//parser.nit:8334 */
23624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23625 /* ./parser//parser.nit:8335 */
23626 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23627 /* ./parser//parser.nit:8336 */
23628 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23629 /* ./parser//parser.nit:8337 */
23630 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23631 /* ./parser//parser.nit:8338 */
23632 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23633 /* ./parser//parser.nit:8340 */
23634 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*/;
23635 if (UNTAG_Bool(REGB0)) {
23636 } else {
23637 nit_abort("Assert failed", NULL, LOCATE_parser, 8340);
23638 }
23639 /* ./parser//parser.nit:8342 */
23640 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*/;
23641 if (UNTAG_Bool(REGB0)) {
23642 } else {
23643 nit_abort("Assert failed", NULL, LOCATE_parser, 8342);
23644 }
23645 /* ./parser//parser.nit:8344 */
23646 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*/;
23647 if (UNTAG_Bool(REGB0)) {
23648 } else {
23649 nit_abort("Assert failed", NULL, LOCATE_parser, 8344);
23650 }
23651 /* ./parser//parser.nit:8346 */
23652 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*/;
23653 if (UNTAG_Bool(REGB0)) {
23654 } else {
23655 nit_abort("Assert failed", NULL, LOCATE_parser, 8346);
23656 }
23657 /* ./parser//parser.nit:8347 */
23658 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]);
23659 /* ./parser//parser.nit:8353 */
23660 fra.me.REG[2] = fra.me.REG[3];
23661 /* ./parser//parser.nit:8354 */
23662 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23663 if (UNTAG_Bool(REGB0)) {
23664 } else {
23665 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8354);
23666 }
23667 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23668 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23669 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23670 stack_frame_head = fra.me.prev;
23671 return;
23672 }
23673 void parser___ReduceAction264___action(val_t p0, val_t p1){
23674 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
23675 val_t REGB0;
23676 val_t tmp;
23677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23678 fra.me.file = LOCATE_parser;
23679 fra.me.line = 8359;
23680 fra.me.meth = LOCATE_parser___ReduceAction264___action;
23681 fra.me.has_broke = 0;
23682 fra.me.REG_size = 7;
23683 fra.me.REG[0] = NIT_NULL;
23684 fra.me.REG[1] = NIT_NULL;
23685 fra.me.REG[2] = NIT_NULL;
23686 fra.me.REG[3] = NIT_NULL;
23687 fra.me.REG[4] = NIT_NULL;
23688 fra.me.REG[5] = NIT_NULL;
23689 fra.me.REG[6] = NIT_NULL;
23690 fra.me.REG[0] = p0;
23691 fra.me.REG[1] = p1;
23692 /* ./parser//parser.nit:8361 */
23693 fra.me.REG[2] = NIT_NULL;
23694 /* ./parser//parser.nit:8362 */
23695 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23696 /* ./parser//parser.nit:8363 */
23697 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23698 /* ./parser//parser.nit:8364 */
23699 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23700 /* ./parser//parser.nit:8365 */
23701 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
23702 /* ./parser//parser.nit:8368 */
23703 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*/;
23704 if (UNTAG_Bool(REGB0)) {
23705 } else {
23706 nit_abort("Assert failed", NULL, LOCATE_parser, 8368);
23707 }
23708 /* ./parser//parser.nit:8370 */
23709 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*/;
23710 if (UNTAG_Bool(REGB0)) {
23711 } else {
23712 nit_abort("Assert failed", NULL, LOCATE_parser, 8370);
23713 }
23714 /* ./parser//parser.nit:8372 */
23715 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*/;
23716 if (UNTAG_Bool(REGB0)) {
23717 } else {
23718 nit_abort("Assert failed", NULL, LOCATE_parser, 8372);
23719 }
23720 /* ./parser//parser.nit:8373 */
23721 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]);
23722 /* ./parser//parser.nit:8379 */
23723 fra.me.REG[2] = fra.me.REG[3];
23724 /* ./parser//parser.nit:8380 */
23725 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23726 if (UNTAG_Bool(REGB0)) {
23727 } else {
23728 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8380);
23729 }
23730 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23731 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23732 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23733 stack_frame_head = fra.me.prev;
23734 return;
23735 }
23736 void parser___ReduceAction265___action(val_t p0, val_t p1){
23737 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
23738 val_t REGB0;
23739 val_t tmp;
23740 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23741 fra.me.file = LOCATE_parser;
23742 fra.me.line = 8385;
23743 fra.me.meth = LOCATE_parser___ReduceAction265___action;
23744 fra.me.has_broke = 0;
23745 fra.me.REG_size = 9;
23746 fra.me.REG[0] = NIT_NULL;
23747 fra.me.REG[1] = NIT_NULL;
23748 fra.me.REG[2] = NIT_NULL;
23749 fra.me.REG[3] = NIT_NULL;
23750 fra.me.REG[4] = NIT_NULL;
23751 fra.me.REG[5] = NIT_NULL;
23752 fra.me.REG[6] = NIT_NULL;
23753 fra.me.REG[7] = NIT_NULL;
23754 fra.me.REG[8] = NIT_NULL;
23755 fra.me.REG[0] = p0;
23756 fra.me.REG[1] = p1;
23757 /* ./parser//parser.nit:8387 */
23758 fra.me.REG[2] = NIT_NULL;
23759 /* ./parser//parser.nit:8388 */
23760 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23761 /* ./parser//parser.nit:8389 */
23762 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23763 /* ./parser//parser.nit:8390 */
23764 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23765 /* ./parser//parser.nit:8391 */
23766 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23767 /* ./parser//parser.nit:8392 */
23768 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23769 /* ./parser//parser.nit:8393 */
23770 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23771 /* ./parser//parser.nit:8394 */
23772 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23773 /* ./parser//parser.nit:8395 */
23774 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
23775 /* ./parser//parser.nit:8397 */
23776 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*/;
23777 if (UNTAG_Bool(REGB0)) {
23778 } else {
23779 nit_abort("Assert failed", NULL, LOCATE_parser, 8397);
23780 }
23781 /* ./parser//parser.nit:8399 */
23782 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*/;
23783 if (UNTAG_Bool(REGB0)) {
23784 } else {
23785 nit_abort("Assert failed", NULL, LOCATE_parser, 8399);
23786 }
23787 /* ./parser//parser.nit:8401 */
23788 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]*/;
23789 if (UNTAG_Bool(REGB0)) {
23790 } else {
23791 nit_abort("Assert failed", NULL, LOCATE_parser, 8401);
23792 }
23793 /* ./parser//parser.nit:8402 */
23794 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
23795 fra.me.REG[8] = fra.me.REG[5];
23796 /* ./parser//parser.nit:8404 */
23797 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*/;
23798 if (UNTAG_Bool(REGB0)) {
23799 } else {
23800 nit_abort("Assert failed", NULL, LOCATE_parser, 8404);
23801 }
23802 /* ./parser//parser.nit:8406 */
23803 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*/;
23804 if (UNTAG_Bool(REGB0)) {
23805 } else {
23806 nit_abort("Assert failed", NULL, LOCATE_parser, 8406);
23807 }
23808 /* ./parser//parser.nit:8407 */
23809 fra.me.REG[3] = NEW_ACallAssignExpr_parser___parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3]);
23810 /* ./parser//parser.nit:8414 */
23811 fra.me.REG[2] = fra.me.REG[3];
23812 /* ./parser//parser.nit:8415 */
23813 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23814 if (UNTAG_Bool(REGB0)) {
23815 } else {
23816 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8415);
23817 }
23818 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23819 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23820 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23821 stack_frame_head = fra.me.prev;
23822 return;
23823 }
23824 void parser___ReduceAction266___action(val_t p0, val_t p1){
23825 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
23826 val_t REGB0;
23827 val_t tmp;
23828 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23829 fra.me.file = LOCATE_parser;
23830 fra.me.line = 8420;
23831 fra.me.meth = LOCATE_parser___ReduceAction266___action;
23832 fra.me.has_broke = 0;
23833 fra.me.REG_size = 9;
23834 fra.me.REG[0] = NIT_NULL;
23835 fra.me.REG[1] = NIT_NULL;
23836 fra.me.REG[2] = NIT_NULL;
23837 fra.me.REG[3] = NIT_NULL;
23838 fra.me.REG[4] = NIT_NULL;
23839 fra.me.REG[5] = NIT_NULL;
23840 fra.me.REG[6] = NIT_NULL;
23841 fra.me.REG[7] = NIT_NULL;
23842 fra.me.REG[8] = NIT_NULL;
23843 fra.me.REG[0] = p0;
23844 fra.me.REG[1] = p1;
23845 /* ./parser//parser.nit:8422 */
23846 fra.me.REG[2] = NIT_NULL;
23847 /* ./parser//parser.nit:8423 */
23848 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23849 /* ./parser//parser.nit:8424 */
23850 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23851 /* ./parser//parser.nit:8425 */
23852 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23853 /* ./parser//parser.nit:8426 */
23854 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23855 /* ./parser//parser.nit:8427 */
23856 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
23857 /* ./parser//parser.nit:8428 */
23858 fra.me.REG[8] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
23859 /* ./parser//parser.nit:8431 */
23860 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*/;
23861 if (UNTAG_Bool(REGB0)) {
23862 } else {
23863 nit_abort("Assert failed", NULL, LOCATE_parser, 8431);
23864 }
23865 /* ./parser//parser.nit:8433 */
23866 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]*/;
23867 if (UNTAG_Bool(REGB0)) {
23868 } else {
23869 nit_abort("Assert failed", NULL, LOCATE_parser, 8433);
23870 }
23871 /* ./parser//parser.nit:8434 */
23872 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
23873 fra.me.REG[7] = fra.me.REG[5];
23874 /* ./parser//parser.nit:8436 */
23875 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*/;
23876 if (UNTAG_Bool(REGB0)) {
23877 } else {
23878 nit_abort("Assert failed", NULL, LOCATE_parser, 8436);
23879 }
23880 /* ./parser//parser.nit:8438 */
23881 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*/;
23882 if (UNTAG_Bool(REGB0)) {
23883 } else {
23884 nit_abort("Assert failed", NULL, LOCATE_parser, 8438);
23885 }
23886 /* ./parser//parser.nit:8439 */
23887 fra.me.REG[3] = NEW_ACallAssignExpr_parser___parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[8], fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3]);
23888 /* ./parser//parser.nit:8446 */
23889 fra.me.REG[2] = fra.me.REG[3];
23890 /* ./parser//parser.nit:8447 */
23891 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23892 if (UNTAG_Bool(REGB0)) {
23893 } else {
23894 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8447);
23895 }
23896 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23897 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23898 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23899 stack_frame_head = fra.me.prev;
23900 return;
23901 }
23902 void parser___ReduceAction267___action(val_t p0, val_t p1){
23903 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23904 val_t REGB0;
23905 val_t tmp;
23906 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23907 fra.me.file = LOCATE_parser;
23908 fra.me.line = 8452;
23909 fra.me.meth = LOCATE_parser___ReduceAction267___action;
23910 fra.me.has_broke = 0;
23911 fra.me.REG_size = 8;
23912 fra.me.REG[0] = NIT_NULL;
23913 fra.me.REG[1] = NIT_NULL;
23914 fra.me.REG[2] = NIT_NULL;
23915 fra.me.REG[3] = NIT_NULL;
23916 fra.me.REG[4] = NIT_NULL;
23917 fra.me.REG[5] = NIT_NULL;
23918 fra.me.REG[6] = NIT_NULL;
23919 fra.me.REG[7] = NIT_NULL;
23920 fra.me.REG[0] = p0;
23921 fra.me.REG[1] = p1;
23922 /* ./parser//parser.nit:8454 */
23923 fra.me.REG[2] = NIT_NULL;
23924 /* ./parser//parser.nit:8455 */
23925 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23926 /* ./parser//parser.nit:8456 */
23927 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23928 /* ./parser//parser.nit:8457 */
23929 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23930 /* ./parser//parser.nit:8458 */
23931 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23932 /* ./parser//parser.nit:8459 */
23933 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
23934 /* ./parser//parser.nit:8461 */
23935 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*/;
23936 if (UNTAG_Bool(REGB0)) {
23937 } else {
23938 nit_abort("Assert failed", NULL, LOCATE_parser, 8461);
23939 }
23940 /* ./parser//parser.nit:8463 */
23941 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]*/;
23942 if (UNTAG_Bool(REGB0)) {
23943 } else {
23944 nit_abort("Assert failed", NULL, LOCATE_parser, 8463);
23945 }
23946 /* ./parser//parser.nit:8464 */
23947 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
23948 fra.me.REG[7] = fra.me.REG[5];
23949 /* ./parser//parser.nit:8466 */
23950 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*/;
23951 if (UNTAG_Bool(REGB0)) {
23952 } else {
23953 nit_abort("Assert failed", NULL, LOCATE_parser, 8466);
23954 }
23955 /* ./parser//parser.nit:8468 */
23956 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*/;
23957 if (UNTAG_Bool(REGB0)) {
23958 } else {
23959 nit_abort("Assert failed", NULL, LOCATE_parser, 8468);
23960 }
23961 /* ./parser//parser.nit:8469 */
23962 fra.me.REG[3] = NEW_ABraAssignExpr_parser___parser_prod___ABraAssignExpr___init_abraassignexpr(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3]);
23963 /* ./parser//parser.nit:8475 */
23964 fra.me.REG[2] = fra.me.REG[3];
23965 /* ./parser//parser.nit:8476 */
23966 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23967 if (UNTAG_Bool(REGB0)) {
23968 } else {
23969 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8476);
23970 }
23971 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23972 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23973 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23974 stack_frame_head = fra.me.prev;
23975 return;
23976 }
23977 void parser___ReduceAction268___action(val_t p0, val_t p1){
23978 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
23979 val_t REGB0;
23980 val_t tmp;
23981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23982 fra.me.file = LOCATE_parser;
23983 fra.me.line = 8481;
23984 fra.me.meth = LOCATE_parser___ReduceAction268___action;
23985 fra.me.has_broke = 0;
23986 fra.me.REG_size = 7;
23987 fra.me.REG[0] = NIT_NULL;
23988 fra.me.REG[1] = NIT_NULL;
23989 fra.me.REG[2] = NIT_NULL;
23990 fra.me.REG[3] = NIT_NULL;
23991 fra.me.REG[4] = NIT_NULL;
23992 fra.me.REG[5] = NIT_NULL;
23993 fra.me.REG[6] = NIT_NULL;
23994 fra.me.REG[0] = p0;
23995 fra.me.REG[1] = p1;
23996 /* ./parser//parser.nit:8483 */
23997 fra.me.REG[2] = NIT_NULL;
23998 /* ./parser//parser.nit:8484 */
23999 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24000 /* ./parser//parser.nit:8485 */
24001 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24002 /* ./parser//parser.nit:8486 */
24003 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24004 /* ./parser//parser.nit:8487 */
24005 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24006 /* ./parser//parser.nit:8488 */
24007 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24008 /* ./parser//parser.nit:8489 */
24009 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24010 /* ./parser//parser.nit:8491 */
24011 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*/;
24012 if (UNTAG_Bool(REGB0)) {
24013 } else {
24014 nit_abort("Assert failed", NULL, LOCATE_parser, 8491);
24015 }
24016 /* ./parser//parser.nit:8493 */
24017 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*/;
24018 if (UNTAG_Bool(REGB0)) {
24019 } else {
24020 nit_abort("Assert failed", NULL, LOCATE_parser, 8493);
24021 }
24022 /* ./parser//parser.nit:8495 */
24023 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*/;
24024 if (UNTAG_Bool(REGB0)) {
24025 } else {
24026 nit_abort("Assert failed", NULL, LOCATE_parser, 8495);
24027 }
24028 /* ./parser//parser.nit:8497 */
24029 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*/;
24030 if (UNTAG_Bool(REGB0)) {
24031 } else {
24032 nit_abort("Assert failed", NULL, LOCATE_parser, 8497);
24033 }
24034 /* ./parser//parser.nit:8498 */
24035 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]);
24036 /* ./parser//parser.nit:8504 */
24037 fra.me.REG[2] = fra.me.REG[3];
24038 /* ./parser//parser.nit:8505 */
24039 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24040 if (UNTAG_Bool(REGB0)) {
24041 } else {
24042 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8505);
24043 }
24044 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24045 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24046 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24047 stack_frame_head = fra.me.prev;
24048 return;
24049 }
24050 void parser___ReduceAction269___action(val_t p0, val_t p1){
24051 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
24052 val_t REGB0;
24053 val_t tmp;
24054 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24055 fra.me.file = LOCATE_parser;
24056 fra.me.line = 8510;
24057 fra.me.meth = LOCATE_parser___ReduceAction269___action;
24058 fra.me.has_broke = 0;
24059 fra.me.REG_size = 7;
24060 fra.me.REG[0] = NIT_NULL;
24061 fra.me.REG[1] = NIT_NULL;
24062 fra.me.REG[2] = NIT_NULL;
24063 fra.me.REG[3] = NIT_NULL;
24064 fra.me.REG[4] = NIT_NULL;
24065 fra.me.REG[5] = NIT_NULL;
24066 fra.me.REG[6] = NIT_NULL;
24067 fra.me.REG[0] = p0;
24068 fra.me.REG[1] = p1;
24069 /* ./parser//parser.nit:8512 */
24070 fra.me.REG[2] = NIT_NULL;
24071 /* ./parser//parser.nit:8513 */
24072 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24073 /* ./parser//parser.nit:8514 */
24074 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24075 /* ./parser//parser.nit:8515 */
24076 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24077 /* ./parser//parser.nit:8516 */
24078 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
24079 /* ./parser//parser.nit:8519 */
24080 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*/;
24081 if (UNTAG_Bool(REGB0)) {
24082 } else {
24083 nit_abort("Assert failed", NULL, LOCATE_parser, 8519);
24084 }
24085 /* ./parser//parser.nit:8521 */
24086 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*/;
24087 if (UNTAG_Bool(REGB0)) {
24088 } else {
24089 nit_abort("Assert failed", NULL, LOCATE_parser, 8521);
24090 }
24091 /* ./parser//parser.nit:8523 */
24092 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*/;
24093 if (UNTAG_Bool(REGB0)) {
24094 } else {
24095 nit_abort("Assert failed", NULL, LOCATE_parser, 8523);
24096 }
24097 /* ./parser//parser.nit:8524 */
24098 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]);
24099 /* ./parser//parser.nit:8530 */
24100 fra.me.REG[2] = fra.me.REG[3];
24101 /* ./parser//parser.nit:8531 */
24102 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24103 if (UNTAG_Bool(REGB0)) {
24104 } else {
24105 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8531);
24106 }
24107 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24108 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24109 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24110 stack_frame_head = fra.me.prev;
24111 return;
24112 }
24113 void parser___ReduceAction270___action(val_t p0, val_t p1){
24114 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24115 val_t REGB0;
24116 val_t tmp;
24117 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24118 fra.me.file = LOCATE_parser;
24119 fra.me.line = 8536;
24120 fra.me.meth = LOCATE_parser___ReduceAction270___action;
24121 fra.me.has_broke = 0;
24122 fra.me.REG_size = 9;
24123 fra.me.REG[0] = NIT_NULL;
24124 fra.me.REG[1] = NIT_NULL;
24125 fra.me.REG[2] = NIT_NULL;
24126 fra.me.REG[3] = NIT_NULL;
24127 fra.me.REG[4] = NIT_NULL;
24128 fra.me.REG[5] = NIT_NULL;
24129 fra.me.REG[6] = NIT_NULL;
24130 fra.me.REG[7] = NIT_NULL;
24131 fra.me.REG[8] = NIT_NULL;
24132 fra.me.REG[0] = p0;
24133 fra.me.REG[1] = p1;
24134 /* ./parser//parser.nit:8538 */
24135 fra.me.REG[2] = NIT_NULL;
24136 /* ./parser//parser.nit:8539 */
24137 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24138 /* ./parser//parser.nit:8540 */
24139 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24140 /* ./parser//parser.nit:8541 */
24141 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24142 /* ./parser//parser.nit:8542 */
24143 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24144 /* ./parser//parser.nit:8543 */
24145 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24146 /* ./parser//parser.nit:8544 */
24147 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24148 /* ./parser//parser.nit:8545 */
24149 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24150 /* ./parser//parser.nit:8546 */
24151 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
24152 /* ./parser//parser.nit:8548 */
24153 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*/;
24154 if (UNTAG_Bool(REGB0)) {
24155 } else {
24156 nit_abort("Assert failed", NULL, LOCATE_parser, 8548);
24157 }
24158 /* ./parser//parser.nit:8550 */
24159 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*/;
24160 if (UNTAG_Bool(REGB0)) {
24161 } else {
24162 nit_abort("Assert failed", NULL, LOCATE_parser, 8550);
24163 }
24164 /* ./parser//parser.nit:8552 */
24165 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]*/;
24166 if (UNTAG_Bool(REGB0)) {
24167 } else {
24168 nit_abort("Assert failed", NULL, LOCATE_parser, 8552);
24169 }
24170 /* ./parser//parser.nit:8553 */
24171 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
24172 fra.me.REG[8] = fra.me.REG[5];
24173 /* ./parser//parser.nit:8555 */
24174 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*/;
24175 if (UNTAG_Bool(REGB0)) {
24176 } else {
24177 nit_abort("Assert failed", NULL, LOCATE_parser, 8555);
24178 }
24179 /* ./parser//parser.nit:8557 */
24180 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*/;
24181 if (UNTAG_Bool(REGB0)) {
24182 } else {
24183 nit_abort("Assert failed", NULL, LOCATE_parser, 8557);
24184 }
24185 /* ./parser//parser.nit:8558 */
24186 fra.me.REG[3] = NEW_ACallReassignExpr_parser___parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[8], fra.me.REG[4], fra.me.REG[3]);
24187 /* ./parser//parser.nit:8565 */
24188 fra.me.REG[2] = fra.me.REG[3];
24189 /* ./parser//parser.nit:8566 */
24190 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24191 if (UNTAG_Bool(REGB0)) {
24192 } else {
24193 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8566);
24194 }
24195 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24196 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24197 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24198 stack_frame_head = fra.me.prev;
24199 return;
24200 }
24201 void parser___ReduceAction271___action(val_t p0, val_t p1){
24202 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24203 val_t REGB0;
24204 val_t tmp;
24205 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24206 fra.me.file = LOCATE_parser;
24207 fra.me.line = 8571;
24208 fra.me.meth = LOCATE_parser___ReduceAction271___action;
24209 fra.me.has_broke = 0;
24210 fra.me.REG_size = 9;
24211 fra.me.REG[0] = NIT_NULL;
24212 fra.me.REG[1] = NIT_NULL;
24213 fra.me.REG[2] = NIT_NULL;
24214 fra.me.REG[3] = NIT_NULL;
24215 fra.me.REG[4] = NIT_NULL;
24216 fra.me.REG[5] = NIT_NULL;
24217 fra.me.REG[6] = NIT_NULL;
24218 fra.me.REG[7] = NIT_NULL;
24219 fra.me.REG[8] = NIT_NULL;
24220 fra.me.REG[0] = p0;
24221 fra.me.REG[1] = p1;
24222 /* ./parser//parser.nit:8573 */
24223 fra.me.REG[2] = NIT_NULL;
24224 /* ./parser//parser.nit:8574 */
24225 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24226 /* ./parser//parser.nit:8575 */
24227 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24228 /* ./parser//parser.nit:8576 */
24229 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24230 /* ./parser//parser.nit:8577 */
24231 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24232 /* ./parser//parser.nit:8578 */
24233 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
24234 /* ./parser//parser.nit:8579 */
24235 fra.me.REG[8] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
24236 /* ./parser//parser.nit:8582 */
24237 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*/;
24238 if (UNTAG_Bool(REGB0)) {
24239 } else {
24240 nit_abort("Assert failed", NULL, LOCATE_parser, 8582);
24241 }
24242 /* ./parser//parser.nit:8584 */
24243 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]*/;
24244 if (UNTAG_Bool(REGB0)) {
24245 } else {
24246 nit_abort("Assert failed", NULL, LOCATE_parser, 8584);
24247 }
24248 /* ./parser//parser.nit:8585 */
24249 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
24250 fra.me.REG[7] = fra.me.REG[5];
24251 /* ./parser//parser.nit:8587 */
24252 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*/;
24253 if (UNTAG_Bool(REGB0)) {
24254 } else {
24255 nit_abort("Assert failed", NULL, LOCATE_parser, 8587);
24256 }
24257 /* ./parser//parser.nit:8589 */
24258 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*/;
24259 if (UNTAG_Bool(REGB0)) {
24260 } else {
24261 nit_abort("Assert failed", NULL, LOCATE_parser, 8589);
24262 }
24263 /* ./parser//parser.nit:8590 */
24264 fra.me.REG[3] = NEW_ACallReassignExpr_parser___parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[8], fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3]);
24265 /* ./parser//parser.nit:8597 */
24266 fra.me.REG[2] = fra.me.REG[3];
24267 /* ./parser//parser.nit:8598 */
24268 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24269 if (UNTAG_Bool(REGB0)) {
24270 } else {
24271 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8598);
24272 }
24273 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24274 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24275 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24276 stack_frame_head = fra.me.prev;
24277 return;
24278 }
24279 void parser___ReduceAction272___action(val_t p0, val_t p1){
24280 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
24281 val_t REGB0;
24282 val_t tmp;
24283 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24284 fra.me.file = LOCATE_parser;
24285 fra.me.line = 8603;
24286 fra.me.meth = LOCATE_parser___ReduceAction272___action;
24287 fra.me.has_broke = 0;
24288 fra.me.REG_size = 8;
24289 fra.me.REG[0] = NIT_NULL;
24290 fra.me.REG[1] = NIT_NULL;
24291 fra.me.REG[2] = NIT_NULL;
24292 fra.me.REG[3] = NIT_NULL;
24293 fra.me.REG[4] = NIT_NULL;
24294 fra.me.REG[5] = NIT_NULL;
24295 fra.me.REG[6] = NIT_NULL;
24296 fra.me.REG[7] = NIT_NULL;
24297 fra.me.REG[0] = p0;
24298 fra.me.REG[1] = p1;
24299 /* ./parser//parser.nit:8605 */
24300 fra.me.REG[2] = NIT_NULL;
24301 /* ./parser//parser.nit:8606 */
24302 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24303 /* ./parser//parser.nit:8607 */
24304 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24305 /* ./parser//parser.nit:8608 */
24306 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24307 /* ./parser//parser.nit:8609 */
24308 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24309 /* ./parser//parser.nit:8610 */
24310 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
24311 /* ./parser//parser.nit:8612 */
24312 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*/;
24313 if (UNTAG_Bool(REGB0)) {
24314 } else {
24315 nit_abort("Assert failed", NULL, LOCATE_parser, 8612);
24316 }
24317 /* ./parser//parser.nit:8614 */
24318 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]*/;
24319 if (UNTAG_Bool(REGB0)) {
24320 } else {
24321 nit_abort("Assert failed", NULL, LOCATE_parser, 8614);
24322 }
24323 /* ./parser//parser.nit:8615 */
24324 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
24325 fra.me.REG[7] = fra.me.REG[5];
24326 /* ./parser//parser.nit:8617 */
24327 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*/;
24328 if (UNTAG_Bool(REGB0)) {
24329 } else {
24330 nit_abort("Assert failed", NULL, LOCATE_parser, 8617);
24331 }
24332 /* ./parser//parser.nit:8619 */
24333 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*/;
24334 if (UNTAG_Bool(REGB0)) {
24335 } else {
24336 nit_abort("Assert failed", NULL, LOCATE_parser, 8619);
24337 }
24338 /* ./parser//parser.nit:8620 */
24339 fra.me.REG[3] = NEW_ABraReassignExpr_parser___parser_prod___ABraReassignExpr___init_abrareassignexpr(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3]);
24340 /* ./parser//parser.nit:8626 */
24341 fra.me.REG[2] = fra.me.REG[3];
24342 /* ./parser//parser.nit:8627 */
24343 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24344 if (UNTAG_Bool(REGB0)) {
24345 } else {
24346 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8627);
24347 }
24348 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24349 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24350 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24351 stack_frame_head = fra.me.prev;
24352 return;
24353 }
24354 void parser___ReduceAction273___action(val_t p0, val_t p1){
24355 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
24356 val_t REGB0;
24357 val_t tmp;
24358 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24359 fra.me.file = LOCATE_parser;
24360 fra.me.line = 8632;
24361 fra.me.meth = LOCATE_parser___ReduceAction273___action;
24362 fra.me.has_broke = 0;
24363 fra.me.REG_size = 4;
24364 fra.me.REG[0] = NIT_NULL;
24365 fra.me.REG[1] = NIT_NULL;
24366 fra.me.REG[2] = NIT_NULL;
24367 fra.me.REG[3] = NIT_NULL;
24368 fra.me.REG[0] = p0;
24369 fra.me.REG[1] = p1;
24370 /* ./parser//parser.nit:8634 */
24371 fra.me.REG[2] = NIT_NULL;
24372 /* ./parser//parser.nit:8635 */
24373 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24374 /* ./parser//parser.nit:8637 */
24375 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*/;
24376 if (UNTAG_Bool(REGB0)) {
24377 } else {
24378 nit_abort("Assert failed", NULL, LOCATE_parser, 8637);
24379 }
24380 /* ./parser//parser.nit:8638 */
24381 fra.me.REG[3] = NEW_APlusAssignOp_parser___parser_prod___APlusAssignOp___init_aplusassignop(fra.me.REG[3]);
24382 /* ./parser//parser.nit:8641 */
24383 fra.me.REG[2] = fra.me.REG[3];
24384 /* ./parser//parser.nit:8642 */
24385 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24386 if (UNTAG_Bool(REGB0)) {
24387 } else {
24388 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8642);
24389 }
24390 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24391 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24392 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24393 stack_frame_head = fra.me.prev;
24394 return;
24395 }
24396 void parser___ReduceAction274___action(val_t p0, val_t p1){
24397 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
24398 val_t REGB0;
24399 val_t tmp;
24400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24401 fra.me.file = LOCATE_parser;
24402 fra.me.line = 8647;
24403 fra.me.meth = LOCATE_parser___ReduceAction274___action;
24404 fra.me.has_broke = 0;
24405 fra.me.REG_size = 4;
24406 fra.me.REG[0] = NIT_NULL;
24407 fra.me.REG[1] = NIT_NULL;
24408 fra.me.REG[2] = NIT_NULL;
24409 fra.me.REG[3] = NIT_NULL;
24410 fra.me.REG[0] = p0;
24411 fra.me.REG[1] = p1;
24412 /* ./parser//parser.nit:8649 */
24413 fra.me.REG[2] = NIT_NULL;
24414 /* ./parser//parser.nit:8650 */
24415 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24416 /* ./parser//parser.nit:8652 */
24417 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*/;
24418 if (UNTAG_Bool(REGB0)) {
24419 } else {
24420 nit_abort("Assert failed", NULL, LOCATE_parser, 8652);
24421 }
24422 /* ./parser//parser.nit:8653 */
24423 fra.me.REG[3] = NEW_AMinusAssignOp_parser___parser_prod___AMinusAssignOp___init_aminusassignop(fra.me.REG[3]);
24424 /* ./parser//parser.nit:8656 */
24425 fra.me.REG[2] = fra.me.REG[3];
24426 /* ./parser//parser.nit:8657 */
24427 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24428 if (UNTAG_Bool(REGB0)) {
24429 } else {
24430 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8657);
24431 }
24432 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24433 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24434 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24435 stack_frame_head = fra.me.prev;
24436 return;
24437 }
24438 void parser___ReduceAction275___action(val_t p0, val_t p1){
24439 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24440 val_t REGB0;
24441 val_t tmp;
24442 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24443 fra.me.file = LOCATE_parser;
24444 fra.me.line = 8662;
24445 fra.me.meth = LOCATE_parser___ReduceAction275___action;
24446 fra.me.has_broke = 0;
24447 fra.me.REG_size = 6;
24448 fra.me.REG[0] = NIT_NULL;
24449 fra.me.REG[1] = NIT_NULL;
24450 fra.me.REG[2] = NIT_NULL;
24451 fra.me.REG[3] = NIT_NULL;
24452 fra.me.REG[4] = NIT_NULL;
24453 fra.me.REG[5] = NIT_NULL;
24454 fra.me.REG[0] = p0;
24455 fra.me.REG[1] = p1;
24456 /* ./parser//parser.nit:8664 */
24457 fra.me.REG[2] = NIT_NULL;
24458 /* ./parser//parser.nit:8665 */
24459 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24460 /* ./parser//parser.nit:8666 */
24461 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24462 /* ./parser//parser.nit:8667 */
24463 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24464 /* ./parser//parser.nit:8669 */
24465 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*/;
24466 if (UNTAG_Bool(REGB0)) {
24467 } else {
24468 nit_abort("Assert failed", NULL, LOCATE_parser, 8669);
24469 }
24470 /* ./parser//parser.nit:8671 */
24471 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*/;
24472 if (UNTAG_Bool(REGB0)) {
24473 } else {
24474 nit_abort("Assert failed", NULL, LOCATE_parser, 8671);
24475 }
24476 /* ./parser//parser.nit:8673 */
24477 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*/;
24478 if (UNTAG_Bool(REGB0)) {
24479 } else {
24480 nit_abort("Assert failed", NULL, LOCATE_parser, 8673);
24481 }
24482 /* ./parser//parser.nit:8674 */
24483 fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
24484 /* ./parser//parser.nit:8679 */
24485 fra.me.REG[2] = fra.me.REG[3];
24486 /* ./parser//parser.nit:8680 */
24487 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24488 if (UNTAG_Bool(REGB0)) {
24489 } else {
24490 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8680);
24491 }
24492 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24493 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24494 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24495 stack_frame_head = fra.me.prev;
24496 return;
24497 }
24498 void parser___ReduceAction276___action(val_t p0, val_t p1){
24499 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24500 val_t REGB0;
24501 val_t tmp;
24502 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24503 fra.me.file = LOCATE_parser;
24504 fra.me.line = 8685;
24505 fra.me.meth = LOCATE_parser___ReduceAction276___action;
24506 fra.me.has_broke = 0;
24507 fra.me.REG_size = 5;
24508 fra.me.REG[0] = NIT_NULL;
24509 fra.me.REG[1] = NIT_NULL;
24510 fra.me.REG[2] = NIT_NULL;
24511 fra.me.REG[3] = NIT_NULL;
24512 fra.me.REG[4] = NIT_NULL;
24513 fra.me.REG[0] = p0;
24514 fra.me.REG[1] = p1;
24515 /* ./parser//parser.nit:8687 */
24516 fra.me.REG[2] = NIT_NULL;
24517 /* ./parser//parser.nit:8688 */
24518 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24519 /* ./parser//parser.nit:8689 */
24520 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24521 /* ./parser//parser.nit:8691 */
24522 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*/;
24523 if (UNTAG_Bool(REGB0)) {
24524 } else {
24525 nit_abort("Assert failed", NULL, LOCATE_parser, 8691);
24526 }
24527 /* ./parser//parser.nit:8693 */
24528 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*/;
24529 if (UNTAG_Bool(REGB0)) {
24530 } else {
24531 nit_abort("Assert failed", NULL, LOCATE_parser, 8693);
24532 }
24533 /* ./parser//parser.nit:8694 */
24534 fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
24535 /* ./parser//parser.nit:8699 */
24536 fra.me.REG[2] = fra.me.REG[3];
24537 /* ./parser//parser.nit:8700 */
24538 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24539 if (UNTAG_Bool(REGB0)) {
24540 } else {
24541 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8700);
24542 }
24543 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24544 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24545 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24546 stack_frame_head = fra.me.prev;
24547 return;
24548 }
24549 void parser___ReduceAction277___action(val_t p0, val_t p1){
24550 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
24551 val_t REGB0;
24552 val_t tmp;
24553 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24554 fra.me.file = LOCATE_parser;
24555 fra.me.line = 8705;
24556 fra.me.meth = LOCATE_parser___ReduceAction277___action;
24557 fra.me.has_broke = 0;
24558 fra.me.REG_size = 7;
24559 fra.me.REG[0] = NIT_NULL;
24560 fra.me.REG[1] = NIT_NULL;
24561 fra.me.REG[2] = NIT_NULL;
24562 fra.me.REG[3] = NIT_NULL;
24563 fra.me.REG[4] = NIT_NULL;
24564 fra.me.REG[5] = NIT_NULL;
24565 fra.me.REG[6] = NIT_NULL;
24566 fra.me.REG[0] = p0;
24567 fra.me.REG[1] = p1;
24568 /* ./parser//parser.nit:8707 */
24569 fra.me.REG[2] = NIT_NULL;
24570 /* ./parser//parser.nit:8708 */
24571 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24572 /* ./parser//parser.nit:8709 */
24573 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24574 /* ./parser//parser.nit:8710 */
24575 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24576 /* ./parser//parser.nit:8711 */
24577 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24578 /* ./parser//parser.nit:8712 */
24579 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24580 /* ./parser//parser.nit:8713 */
24581 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24582 /* ./parser//parser.nit:8714 */
24583 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24584 /* ./parser//parser.nit:8715 */
24585 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24586 /* ./parser//parser.nit:8717 */
24587 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*/;
24588 if (UNTAG_Bool(REGB0)) {
24589 } else {
24590 nit_abort("Assert failed", NULL, LOCATE_parser, 8717);
24591 }
24592 /* ./parser//parser.nit:8719 */
24593 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*/;
24594 if (UNTAG_Bool(REGB0)) {
24595 } else {
24596 nit_abort("Assert failed", NULL, LOCATE_parser, 8719);
24597 }
24598 /* ./parser//parser.nit:8721 */
24599 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*/;
24600 if (UNTAG_Bool(REGB0)) {
24601 } else {
24602 nit_abort("Assert failed", NULL, LOCATE_parser, 8721);
24603 }
24604 /* ./parser//parser.nit:8723 */
24605 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*/;
24606 if (UNTAG_Bool(REGB0)) {
24607 } else {
24608 nit_abort("Assert failed", NULL, LOCATE_parser, 8723);
24609 }
24610 /* ./parser//parser.nit:8724 */
24611 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]);
24612 /* ./parser//parser.nit:8730 */
24613 fra.me.REG[2] = fra.me.REG[3];
24614 /* ./parser//parser.nit:8731 */
24615 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24616 if (UNTAG_Bool(REGB0)) {
24617 } else {
24618 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8731);
24619 }
24620 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24622 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24623 stack_frame_head = fra.me.prev;
24624 return;
24625 }
24626 void parser___ReduceAction278___action(val_t p0, val_t p1){
24627 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24628 val_t REGB0;
24629 val_t tmp;
24630 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24631 fra.me.file = LOCATE_parser;
24632 fra.me.line = 8736;
24633 fra.me.meth = LOCATE_parser___ReduceAction278___action;
24634 fra.me.has_broke = 0;
24635 fra.me.REG_size = 6;
24636 fra.me.REG[0] = NIT_NULL;
24637 fra.me.REG[1] = NIT_NULL;
24638 fra.me.REG[2] = NIT_NULL;
24639 fra.me.REG[3] = NIT_NULL;
24640 fra.me.REG[4] = NIT_NULL;
24641 fra.me.REG[5] = NIT_NULL;
24642 fra.me.REG[0] = p0;
24643 fra.me.REG[1] = p1;
24644 /* ./parser//parser.nit:8738 */
24645 fra.me.REG[2] = NIT_NULL;
24646 /* ./parser//parser.nit:8739 */
24647 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24648 /* ./parser//parser.nit:8740 */
24649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24650 /* ./parser//parser.nit:8741 */
24651 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24652 /* ./parser//parser.nit:8742 */
24653 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24654 /* ./parser//parser.nit:8743 */
24655 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24656 /* ./parser//parser.nit:8744 */
24657 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24658 /* ./parser//parser.nit:8746 */
24659 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*/;
24660 if (UNTAG_Bool(REGB0)) {
24661 } else {
24662 nit_abort("Assert failed", NULL, LOCATE_parser, 8746);
24663 }
24664 /* ./parser//parser.nit:8748 */
24665 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*/;
24666 if (UNTAG_Bool(REGB0)) {
24667 } else {
24668 nit_abort("Assert failed", NULL, LOCATE_parser, 8748);
24669 }
24670 /* ./parser//parser.nit:8750 */
24671 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*/;
24672 if (UNTAG_Bool(REGB0)) {
24673 } else {
24674 nit_abort("Assert failed", NULL, LOCATE_parser, 8750);
24675 }
24676 /* ./parser//parser.nit:8751 */
24677 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);
24678 /* ./parser//parser.nit:8757 */
24679 fra.me.REG[2] = fra.me.REG[3];
24680 /* ./parser//parser.nit:8758 */
24681 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24682 if (UNTAG_Bool(REGB0)) {
24683 } else {
24684 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8758);
24685 }
24686 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24687 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24688 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24689 stack_frame_head = fra.me.prev;
24690 return;
24691 }
24692 void parser___ReduceAction279___action(val_t p0, val_t p1){
24693 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
24694 val_t REGB0;
24695 val_t tmp;
24696 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24697 fra.me.file = LOCATE_parser;
24698 fra.me.line = 8763;
24699 fra.me.meth = LOCATE_parser___ReduceAction279___action;
24700 fra.me.has_broke = 0;
24701 fra.me.REG_size = 7;
24702 fra.me.REG[0] = NIT_NULL;
24703 fra.me.REG[1] = NIT_NULL;
24704 fra.me.REG[2] = NIT_NULL;
24705 fra.me.REG[3] = NIT_NULL;
24706 fra.me.REG[4] = NIT_NULL;
24707 fra.me.REG[5] = NIT_NULL;
24708 fra.me.REG[6] = NIT_NULL;
24709 fra.me.REG[0] = p0;
24710 fra.me.REG[1] = p1;
24711 /* ./parser//parser.nit:8765 */
24712 fra.me.REG[2] = NIT_NULL;
24713 /* ./parser//parser.nit:8766 */
24714 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24715 /* ./parser//parser.nit:8767 */
24716 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24717 /* ./parser//parser.nit:8768 */
24718 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24719 /* ./parser//parser.nit:8769 */
24720 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24721 /* ./parser//parser.nit:8770 */
24722 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24723 /* ./parser//parser.nit:8771 */
24724 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24725 /* ./parser//parser.nit:8772 */
24726 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24727 /* ./parser//parser.nit:8773 */
24728 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24729 /* ./parser//parser.nit:8775 */
24730 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*/;
24731 if (UNTAG_Bool(REGB0)) {
24732 } else {
24733 nit_abort("Assert failed", NULL, LOCATE_parser, 8775);
24734 }
24735 /* ./parser//parser.nit:8777 */
24736 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*/;
24737 if (UNTAG_Bool(REGB0)) {
24738 } else {
24739 nit_abort("Assert failed", NULL, LOCATE_parser, 8777);
24740 }
24741 /* ./parser//parser.nit:8779 */
24742 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*/;
24743 if (UNTAG_Bool(REGB0)) {
24744 } else {
24745 nit_abort("Assert failed", NULL, LOCATE_parser, 8779);
24746 }
24747 /* ./parser//parser.nit:8781 */
24748 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*/;
24749 if (UNTAG_Bool(REGB0)) {
24750 } else {
24751 nit_abort("Assert failed", NULL, LOCATE_parser, 8781);
24752 }
24753 /* ./parser//parser.nit:8782 */
24754 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]);
24755 /* ./parser//parser.nit:8788 */
24756 fra.me.REG[2] = fra.me.REG[3];
24757 /* ./parser//parser.nit:8789 */
24758 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24759 if (UNTAG_Bool(REGB0)) {
24760 } else {
24761 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8789);
24762 }
24763 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24764 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24765 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24766 stack_frame_head = fra.me.prev;
24767 return;
24768 }
24769 void parser___ReduceAction280___action(val_t p0, val_t p1){
24770 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24771 val_t REGB0;
24772 val_t tmp;
24773 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24774 fra.me.file = LOCATE_parser;
24775 fra.me.line = 8794;
24776 fra.me.meth = LOCATE_parser___ReduceAction280___action;
24777 fra.me.has_broke = 0;
24778 fra.me.REG_size = 6;
24779 fra.me.REG[0] = NIT_NULL;
24780 fra.me.REG[1] = NIT_NULL;
24781 fra.me.REG[2] = NIT_NULL;
24782 fra.me.REG[3] = NIT_NULL;
24783 fra.me.REG[4] = NIT_NULL;
24784 fra.me.REG[5] = NIT_NULL;
24785 fra.me.REG[0] = p0;
24786 fra.me.REG[1] = p1;
24787 /* ./parser//parser.nit:8796 */
24788 fra.me.REG[2] = NIT_NULL;
24789 /* ./parser//parser.nit:8797 */
24790 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24791 /* ./parser//parser.nit:8798 */
24792 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24793 /* ./parser//parser.nit:8799 */
24794 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24795 /* ./parser//parser.nit:8800 */
24796 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24797 /* ./parser//parser.nit:8801 */
24798 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24799 /* ./parser//parser.nit:8802 */
24800 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24801 /* ./parser//parser.nit:8804 */
24802 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*/;
24803 if (UNTAG_Bool(REGB0)) {
24804 } else {
24805 nit_abort("Assert failed", NULL, LOCATE_parser, 8804);
24806 }
24807 /* ./parser//parser.nit:8806 */
24808 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*/;
24809 if (UNTAG_Bool(REGB0)) {
24810 } else {
24811 nit_abort("Assert failed", NULL, LOCATE_parser, 8806);
24812 }
24813 /* ./parser//parser.nit:8808 */
24814 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*/;
24815 if (UNTAG_Bool(REGB0)) {
24816 } else {
24817 nit_abort("Assert failed", NULL, LOCATE_parser, 8808);
24818 }
24819 /* ./parser//parser.nit:8809 */
24820 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]);
24821 /* ./parser//parser.nit:8815 */
24822 fra.me.REG[2] = fra.me.REG[3];
24823 /* ./parser//parser.nit:8816 */
24824 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24825 if (UNTAG_Bool(REGB0)) {
24826 } else {
24827 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8816);
24828 }
24829 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24830 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24831 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24832 stack_frame_head = fra.me.prev;
24833 return;
24834 }
24835 void parser___ReduceAction281___action(val_t p0, val_t p1){
24836 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24837 val_t REGB0;
24838 val_t tmp;
24839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24840 fra.me.file = LOCATE_parser;
24841 fra.me.line = 8821;
24842 fra.me.meth = LOCATE_parser___ReduceAction281___action;
24843 fra.me.has_broke = 0;
24844 fra.me.REG_size = 6;
24845 fra.me.REG[0] = NIT_NULL;
24846 fra.me.REG[1] = NIT_NULL;
24847 fra.me.REG[2] = NIT_NULL;
24848 fra.me.REG[3] = NIT_NULL;
24849 fra.me.REG[4] = NIT_NULL;
24850 fra.me.REG[5] = NIT_NULL;
24851 fra.me.REG[0] = p0;
24852 fra.me.REG[1] = p1;
24853 /* ./parser//parser.nit:8823 */
24854 fra.me.REG[2] = NIT_NULL;
24855 /* ./parser//parser.nit:8824 */
24856 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24857 /* ./parser//parser.nit:8825 */
24858 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24859 /* ./parser//parser.nit:8826 */
24860 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24861 /* ./parser//parser.nit:8827 */
24862 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24863 /* ./parser//parser.nit:8828 */
24864 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24865 /* ./parser//parser.nit:8829 */
24866 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24867 /* ./parser//parser.nit:8830 */
24868 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24869 /* ./parser//parser.nit:8832 */
24870 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*/;
24871 if (UNTAG_Bool(REGB0)) {
24872 } else {
24873 nit_abort("Assert failed", NULL, LOCATE_parser, 8832);
24874 }
24875 /* ./parser//parser.nit:8834 */
24876 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*/;
24877 if (UNTAG_Bool(REGB0)) {
24878 } else {
24879 nit_abort("Assert failed", NULL, LOCATE_parser, 8834);
24880 }
24881 /* ./parser//parser.nit:8836 */
24882 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*/;
24883 if (UNTAG_Bool(REGB0)) {
24884 } else {
24885 nit_abort("Assert failed", NULL, LOCATE_parser, 8836);
24886 }
24887 /* ./parser//parser.nit:8837 */
24888 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]);
24889 /* ./parser//parser.nit:8843 */
24890 fra.me.REG[2] = fra.me.REG[3];
24891 /* ./parser//parser.nit:8844 */
24892 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24893 if (UNTAG_Bool(REGB0)) {
24894 } else {
24895 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8844);
24896 }
24897 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24898 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24899 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24900 stack_frame_head = fra.me.prev;
24901 return;
24902 }
24903 void parser___ReduceAction284___action(val_t p0, val_t p1){
24904 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24905 val_t REGB0;
24906 val_t tmp;
24907 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24908 fra.me.file = LOCATE_parser;
24909 fra.me.line = 8849;
24910 fra.me.meth = LOCATE_parser___ReduceAction284___action;
24911 fra.me.has_broke = 0;
24912 fra.me.REG_size = 6;
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[5] = NIT_NULL;
24919 fra.me.REG[0] = p0;
24920 fra.me.REG[1] = p1;
24921 /* ./parser//parser.nit:8851 */
24922 fra.me.REG[2] = NIT_NULL;
24923 /* ./parser//parser.nit:8852 */
24924 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24925 /* ./parser//parser.nit:8853 */
24926 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24927 /* ./parser//parser.nit:8854 */
24928 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24929 /* ./parser//parser.nit:8856 */
24930 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*/;
24931 if (UNTAG_Bool(REGB0)) {
24932 } else {
24933 nit_abort("Assert failed", NULL, LOCATE_parser, 8856);
24934 }
24935 /* ./parser//parser.nit:8858 */
24936 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*/;
24937 if (UNTAG_Bool(REGB0)) {
24938 } else {
24939 nit_abort("Assert failed", NULL, LOCATE_parser, 8858);
24940 }
24941 /* ./parser//parser.nit:8860 */
24942 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*/;
24943 if (UNTAG_Bool(REGB0)) {
24944 } else {
24945 nit_abort("Assert failed", NULL, LOCATE_parser, 8860);
24946 }
24947 /* ./parser//parser.nit:8861 */
24948 fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
24949 /* ./parser//parser.nit:8866 */
24950 fra.me.REG[2] = fra.me.REG[3];
24951 /* ./parser//parser.nit:8867 */
24952 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24953 if (UNTAG_Bool(REGB0)) {
24954 } else {
24955 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8867);
24956 }
24957 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24958 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24959 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24960 stack_frame_head = fra.me.prev;
24961 return;
24962 }
24963 void parser___ReduceAction285___action(val_t p0, val_t p1){
24964 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
24965 val_t REGB0;
24966 val_t tmp;
24967 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24968 fra.me.file = LOCATE_parser;
24969 fra.me.line = 8872;
24970 fra.me.meth = LOCATE_parser___ReduceAction285___action;
24971 fra.me.has_broke = 0;
24972 fra.me.REG_size = 5;
24973 fra.me.REG[0] = NIT_NULL;
24974 fra.me.REG[1] = NIT_NULL;
24975 fra.me.REG[2] = NIT_NULL;
24976 fra.me.REG[3] = NIT_NULL;
24977 fra.me.REG[4] = NIT_NULL;
24978 fra.me.REG[0] = p0;
24979 fra.me.REG[1] = p1;
24980 /* ./parser//parser.nit:8874 */
24981 fra.me.REG[2] = NIT_NULL;
24982 /* ./parser//parser.nit:8875 */
24983 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24984 /* ./parser//parser.nit:8876 */
24985 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24986 /* ./parser//parser.nit:8878 */
24987 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*/;
24988 if (UNTAG_Bool(REGB0)) {
24989 } else {
24990 nit_abort("Assert failed", NULL, LOCATE_parser, 8878);
24991 }
24992 /* ./parser//parser.nit:8880 */
24993 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*/;
24994 if (UNTAG_Bool(REGB0)) {
24995 } else {
24996 nit_abort("Assert failed", NULL, LOCATE_parser, 8880);
24997 }
24998 /* ./parser//parser.nit:8881 */
24999 fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
25000 /* ./parser//parser.nit:8886 */
25001 fra.me.REG[2] = fra.me.REG[3];
25002 /* ./parser//parser.nit:8887 */
25003 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25004 if (UNTAG_Bool(REGB0)) {
25005 } else {
25006 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8887);
25007 }
25008 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25009 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25010 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25011 stack_frame_head = fra.me.prev;
25012 return;
25013 }
25014 void parser___ReduceAction286___action(val_t p0, val_t p1){
25015 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25016 val_t REGB0;
25017 val_t tmp;
25018 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25019 fra.me.file = LOCATE_parser;
25020 fra.me.line = 8892;
25021 fra.me.meth = LOCATE_parser___ReduceAction286___action;
25022 fra.me.has_broke = 0;
25023 fra.me.REG_size = 8;
25024 fra.me.REG[0] = NIT_NULL;
25025 fra.me.REG[1] = NIT_NULL;
25026 fra.me.REG[2] = NIT_NULL;
25027 fra.me.REG[3] = NIT_NULL;
25028 fra.me.REG[4] = NIT_NULL;
25029 fra.me.REG[5] = NIT_NULL;
25030 fra.me.REG[6] = NIT_NULL;
25031 fra.me.REG[7] = NIT_NULL;
25032 fra.me.REG[0] = p0;
25033 fra.me.REG[1] = p1;
25034 /* ./parser//parser.nit:8894 */
25035 fra.me.REG[2] = NIT_NULL;
25036 /* ./parser//parser.nit:8895 */
25037 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25038 /* ./parser//parser.nit:8896 */
25039 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25040 /* ./parser//parser.nit:8897 */
25041 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25042 /* ./parser//parser.nit:8898 */
25043 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25044 /* ./parser//parser.nit:8899 */
25045 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25046 /* ./parser//parser.nit:8900 */
25047 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25048 /* ./parser//parser.nit:8901 */
25049 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25050 /* ./parser//parser.nit:8903 */
25051 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*/;
25052 if (UNTAG_Bool(REGB0)) {
25053 } else {
25054 nit_abort("Assert failed", NULL, LOCATE_parser, 8903);
25055 }
25056 /* ./parser//parser.nit:8905 */
25057 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*/;
25058 if (UNTAG_Bool(REGB0)) {
25059 } else {
25060 nit_abort("Assert failed", NULL, LOCATE_parser, 8905);
25061 }
25062 /* ./parser//parser.nit:8907 */
25063 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*/;
25064 if (UNTAG_Bool(REGB0)) {
25065 } else {
25066 nit_abort("Assert failed", NULL, LOCATE_parser, 8907);
25067 }
25068 /* ./parser//parser.nit:8909 */
25069 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*/;
25070 if (UNTAG_Bool(REGB0)) {
25071 } else {
25072 nit_abort("Assert failed", NULL, LOCATE_parser, 8909);
25073 }
25074 /* ./parser//parser.nit:8911 */
25075 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*/;
25076 if (UNTAG_Bool(REGB0)) {
25077 } else {
25078 nit_abort("Assert failed", NULL, LOCATE_parser, 8911);
25079 }
25080 /* ./parser//parser.nit:8912 */
25081 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]);
25082 /* ./parser//parser.nit:8919 */
25083 fra.me.REG[2] = fra.me.REG[3];
25084 /* ./parser//parser.nit:8920 */
25085 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25086 if (UNTAG_Bool(REGB0)) {
25087 } else {
25088 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8920);
25089 }
25090 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25091 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25092 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25093 stack_frame_head = fra.me.prev;
25094 return;
25095 }
25096 void parser___ReduceAction287___action(val_t p0, val_t p1){
25097 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
25098 val_t REGB0;
25099 val_t tmp;
25100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25101 fra.me.file = LOCATE_parser;
25102 fra.me.line = 8925;
25103 fra.me.meth = LOCATE_parser___ReduceAction287___action;
25104 fra.me.has_broke = 0;
25105 fra.me.REG_size = 7;
25106 fra.me.REG[0] = NIT_NULL;
25107 fra.me.REG[1] = NIT_NULL;
25108 fra.me.REG[2] = NIT_NULL;
25109 fra.me.REG[3] = NIT_NULL;
25110 fra.me.REG[4] = NIT_NULL;
25111 fra.me.REG[5] = NIT_NULL;
25112 fra.me.REG[6] = NIT_NULL;
25113 fra.me.REG[0] = p0;
25114 fra.me.REG[1] = p1;
25115 /* ./parser//parser.nit:8927 */
25116 fra.me.REG[2] = NIT_NULL;
25117 /* ./parser//parser.nit:8928 */
25118 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25119 /* ./parser//parser.nit:8929 */
25120 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25121 /* ./parser//parser.nit:8930 */
25122 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25123 /* ./parser//parser.nit:8931 */
25124 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25125 /* ./parser//parser.nit:8932 */
25126 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25127 /* ./parser//parser.nit:8933 */
25128 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25129 /* ./parser//parser.nit:8935 */
25130 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*/;
25131 if (UNTAG_Bool(REGB0)) {
25132 } else {
25133 nit_abort("Assert failed", NULL, LOCATE_parser, 8935);
25134 }
25135 /* ./parser//parser.nit:8937 */
25136 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*/;
25137 if (UNTAG_Bool(REGB0)) {
25138 } else {
25139 nit_abort("Assert failed", NULL, LOCATE_parser, 8937);
25140 }
25141 /* ./parser//parser.nit:8939 */
25142 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*/;
25143 if (UNTAG_Bool(REGB0)) {
25144 } else {
25145 nit_abort("Assert failed", NULL, LOCATE_parser, 8939);
25146 }
25147 /* ./parser//parser.nit:8941 */
25148 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*/;
25149 if (UNTAG_Bool(REGB0)) {
25150 } else {
25151 nit_abort("Assert failed", NULL, LOCATE_parser, 8941);
25152 }
25153 /* ./parser//parser.nit:8942 */
25154 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);
25155 /* ./parser//parser.nit:8949 */
25156 fra.me.REG[2] = fra.me.REG[3];
25157 /* ./parser//parser.nit:8950 */
25158 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25159 if (UNTAG_Bool(REGB0)) {
25160 } else {
25161 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8950);
25162 }
25163 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25164 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25165 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25166 stack_frame_head = fra.me.prev;
25167 return;
25168 }
25169 void parser___ReduceAction288___action(val_t p0, val_t p1){
25170 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
25171 val_t REGB0;
25172 val_t tmp;
25173 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25174 fra.me.file = LOCATE_parser;
25175 fra.me.line = 8955;
25176 fra.me.meth = LOCATE_parser___ReduceAction288___action;
25177 fra.me.has_broke = 0;
25178 fra.me.REG_size = 10;
25179 fra.me.REG[0] = NIT_NULL;
25180 fra.me.REG[1] = NIT_NULL;
25181 fra.me.REG[2] = NIT_NULL;
25182 fra.me.REG[3] = NIT_NULL;
25183 fra.me.REG[4] = NIT_NULL;
25184 fra.me.REG[5] = NIT_NULL;
25185 fra.me.REG[6] = NIT_NULL;
25186 fra.me.REG[7] = NIT_NULL;
25187 fra.me.REG[8] = NIT_NULL;
25188 fra.me.REG[9] = NIT_NULL;
25189 fra.me.REG[0] = p0;
25190 fra.me.REG[1] = p1;
25191 /* ./parser//parser.nit:8957 */
25192 fra.me.REG[2] = NIT_NULL;
25193 /* ./parser//parser.nit:8958 */
25194 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25195 /* ./parser//parser.nit:8959 */
25196 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25197 /* ./parser//parser.nit:8960 */
25198 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25199 /* ./parser//parser.nit:8961 */
25200 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25201 /* ./parser//parser.nit:8962 */
25202 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25203 /* ./parser//parser.nit:8963 */
25204 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25205 /* ./parser//parser.nit:8964 */
25206 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25207 /* ./parser//parser.nit:8965 */
25208 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25209 /* ./parser//parser.nit:8966 */
25210 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25211 /* ./parser//parser.nit:8967 */
25212 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25213 /* ./parser//parser.nit:8968 */
25214 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25215 /* ./parser//parser.nit:8969 */
25216 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25217 /* ./parser//parser.nit:8970 */
25218 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25219 /* ./parser//parser.nit:8971 */
25220 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
25221 /* ./parser//parser.nit:8973 */
25222 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*/;
25223 if (UNTAG_Bool(REGB0)) {
25224 } else {
25225 nit_abort("Assert failed", NULL, LOCATE_parser, 8973);
25226 }
25227 /* ./parser//parser.nit:8975 */
25228 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]*/;
25229 if (UNTAG_Bool(REGB0)) {
25230 } else {
25231 nit_abort("Assert failed", NULL, LOCATE_parser, 8975);
25232 }
25233 /* ./parser//parser.nit:8976 */
25234 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
25235 fra.me.REG[9] = fra.me.REG[7];
25236 /* ./parser//parser.nit:8978 */
25237 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*/;
25238 if (UNTAG_Bool(REGB0)) {
25239 } else {
25240 nit_abort("Assert failed", NULL, LOCATE_parser, 8978);
25241 }
25242 /* ./parser//parser.nit:8980 */
25243 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*/;
25244 if (UNTAG_Bool(REGB0)) {
25245 } else {
25246 nit_abort("Assert failed", NULL, LOCATE_parser, 8980);
25247 }
25248 /* ./parser//parser.nit:8982 */
25249 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*/;
25250 if (UNTAG_Bool(REGB0)) {
25251 } else {
25252 nit_abort("Assert failed", NULL, LOCATE_parser, 8982);
25253 }
25254 /* ./parser//parser.nit:8984 */
25255 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*/;
25256 if (UNTAG_Bool(REGB0)) {
25257 } else {
25258 nit_abort("Assert failed", NULL, LOCATE_parser, 8984);
25259 }
25260 /* ./parser//parser.nit:8985 */
25261 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]);
25262 /* ./parser//parser.nit:8993 */
25263 fra.me.REG[2] = fra.me.REG[3];
25264 /* ./parser//parser.nit:8994 */
25265 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25266 if (UNTAG_Bool(REGB0)) {
25267 } else {
25268 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8994);
25269 }
25270 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25271 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25272 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25273 stack_frame_head = fra.me.prev;
25274 return;
25275 }
25276 void parser___ReduceAction289___action(val_t p0, val_t p1){
25277 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
25278 val_t REGB0;
25279 val_t tmp;
25280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25281 fra.me.file = LOCATE_parser;
25282 fra.me.line = 8999;
25283 fra.me.meth = LOCATE_parser___ReduceAction289___action;
25284 fra.me.has_broke = 0;
25285 fra.me.REG_size = 10;
25286 fra.me.REG[0] = NIT_NULL;
25287 fra.me.REG[1] = NIT_NULL;
25288 fra.me.REG[2] = NIT_NULL;
25289 fra.me.REG[3] = NIT_NULL;
25290 fra.me.REG[4] = NIT_NULL;
25291 fra.me.REG[5] = NIT_NULL;
25292 fra.me.REG[6] = NIT_NULL;
25293 fra.me.REG[7] = NIT_NULL;
25294 fra.me.REG[8] = NIT_NULL;
25295 fra.me.REG[9] = NIT_NULL;
25296 fra.me.REG[0] = p0;
25297 fra.me.REG[1] = p1;
25298 /* ./parser//parser.nit:9001 */
25299 fra.me.REG[2] = NIT_NULL;
25300 /* ./parser//parser.nit:9002 */
25301 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25302 /* ./parser//parser.nit:9003 */
25303 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25304 /* ./parser//parser.nit:9004 */
25305 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25306 /* ./parser//parser.nit:9005 */
25307 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25308 /* ./parser//parser.nit:9006 */
25309 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25310 /* ./parser//parser.nit:9007 */
25311 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25312 /* ./parser//parser.nit:9008 */
25313 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25314 /* ./parser//parser.nit:9009 */
25315 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25316 /* ./parser//parser.nit:9010 */
25317 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25318 /* ./parser//parser.nit:9011 */
25319 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25320 /* ./parser//parser.nit:9012 */
25321 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25322 /* ./parser//parser.nit:9013 */
25323 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
25324 /* ./parser//parser.nit:9015 */
25325 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*/;
25326 if (UNTAG_Bool(REGB0)) {
25327 } else {
25328 nit_abort("Assert failed", NULL, LOCATE_parser, 9015);
25329 }
25330 /* ./parser//parser.nit:9017 */
25331 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]*/;
25332 if (UNTAG_Bool(REGB0)) {
25333 } else {
25334 nit_abort("Assert failed", NULL, LOCATE_parser, 9017);
25335 }
25336 /* ./parser//parser.nit:9018 */
25337 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
25338 fra.me.REG[9] = fra.me.REG[7];
25339 /* ./parser//parser.nit:9020 */
25340 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*/;
25341 if (UNTAG_Bool(REGB0)) {
25342 } else {
25343 nit_abort("Assert failed", NULL, LOCATE_parser, 9020);
25344 }
25345 /* ./parser//parser.nit:9022 */
25346 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*/;
25347 if (UNTAG_Bool(REGB0)) {
25348 } else {
25349 nit_abort("Assert failed", NULL, LOCATE_parser, 9022);
25350 }
25351 /* ./parser//parser.nit:9024 */
25352 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*/;
25353 if (UNTAG_Bool(REGB0)) {
25354 } else {
25355 nit_abort("Assert failed", NULL, LOCATE_parser, 9024);
25356 }
25357 /* ./parser//parser.nit:9026 */
25358 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*/;
25359 if (UNTAG_Bool(REGB0)) {
25360 } else {
25361 nit_abort("Assert failed", NULL, LOCATE_parser, 9026);
25362 }
25363 /* ./parser//parser.nit:9027 */
25364 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]);
25365 /* ./parser//parser.nit:9035 */
25366 fra.me.REG[2] = fra.me.REG[3];
25367 /* ./parser//parser.nit:9036 */
25368 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25369 if (UNTAG_Bool(REGB0)) {
25370 } else {
25371 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9036);
25372 }
25373 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25374 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25375 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25376 stack_frame_head = fra.me.prev;
25377 return;
25378 }
25379 void parser___ReduceAction290___action(val_t p0, val_t p1){
25380 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25381 val_t REGB0;
25382 val_t tmp;
25383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25384 fra.me.file = LOCATE_parser;
25385 fra.me.line = 9041;
25386 fra.me.meth = LOCATE_parser___ReduceAction290___action;
25387 fra.me.has_broke = 0;
25388 fra.me.REG_size = 9;
25389 fra.me.REG[0] = NIT_NULL;
25390 fra.me.REG[1] = NIT_NULL;
25391 fra.me.REG[2] = NIT_NULL;
25392 fra.me.REG[3] = NIT_NULL;
25393 fra.me.REG[4] = NIT_NULL;
25394 fra.me.REG[5] = NIT_NULL;
25395 fra.me.REG[6] = NIT_NULL;
25396 fra.me.REG[7] = NIT_NULL;
25397 fra.me.REG[8] = NIT_NULL;
25398 fra.me.REG[0] = p0;
25399 fra.me.REG[1] = p1;
25400 /* ./parser//parser.nit:9043 */
25401 fra.me.REG[2] = NIT_NULL;
25402 /* ./parser//parser.nit:9044 */
25403 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25404 /* ./parser//parser.nit:9045 */
25405 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25406 /* ./parser//parser.nit:9046 */
25407 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25408 /* ./parser//parser.nit:9047 */
25409 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25410 /* ./parser//parser.nit:9048 */
25411 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25412 /* ./parser//parser.nit:9049 */
25413 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25414 /* ./parser//parser.nit:9050 */
25415 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25416 /* ./parser//parser.nit:9051 */
25417 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25418 /* ./parser//parser.nit:9052 */
25419 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25420 /* ./parser//parser.nit:9053 */
25421 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25422 /* ./parser//parser.nit:9054 */
25423 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25424 /* ./parser//parser.nit:9055 */
25425 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25426 /* ./parser//parser.nit:9056 */
25427 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
25428 /* ./parser//parser.nit:9058 */
25429 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*/;
25430 if (UNTAG_Bool(REGB0)) {
25431 } else {
25432 nit_abort("Assert failed", NULL, LOCATE_parser, 9058);
25433 }
25434 /* ./parser//parser.nit:9060 */
25435 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]*/;
25436 if (UNTAG_Bool(REGB0)) {
25437 } else {
25438 nit_abort("Assert failed", NULL, LOCATE_parser, 9060);
25439 }
25440 /* ./parser//parser.nit:9061 */
25441 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
25442 fra.me.REG[8] = fra.me.REG[6];
25443 /* ./parser//parser.nit:9063 */
25444 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*/;
25445 if (UNTAG_Bool(REGB0)) {
25446 } else {
25447 nit_abort("Assert failed", NULL, LOCATE_parser, 9063);
25448 }
25449 /* ./parser//parser.nit:9065 */
25450 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*/;
25451 if (UNTAG_Bool(REGB0)) {
25452 } else {
25453 nit_abort("Assert failed", NULL, LOCATE_parser, 9065);
25454 }
25455 /* ./parser//parser.nit:9067 */
25456 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*/;
25457 if (UNTAG_Bool(REGB0)) {
25458 } else {
25459 nit_abort("Assert failed", NULL, LOCATE_parser, 9067);
25460 }
25461 /* ./parser//parser.nit:9068 */
25462 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);
25463 /* ./parser//parser.nit:9076 */
25464 fra.me.REG[2] = fra.me.REG[3];
25465 /* ./parser//parser.nit:9077 */
25466 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25467 if (UNTAG_Bool(REGB0)) {
25468 } else {
25469 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9077);
25470 }
25471 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25472 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25473 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25474 stack_frame_head = fra.me.prev;
25475 return;
25476 }
25477 void parser___ReduceAction291___action(val_t p0, val_t p1){
25478 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25479 val_t REGB0;
25480 val_t tmp;
25481 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25482 fra.me.file = LOCATE_parser;
25483 fra.me.line = 9082;
25484 fra.me.meth = LOCATE_parser___ReduceAction291___action;
25485 fra.me.has_broke = 0;
25486 fra.me.REG_size = 9;
25487 fra.me.REG[0] = NIT_NULL;
25488 fra.me.REG[1] = NIT_NULL;
25489 fra.me.REG[2] = NIT_NULL;
25490 fra.me.REG[3] = NIT_NULL;
25491 fra.me.REG[4] = NIT_NULL;
25492 fra.me.REG[5] = NIT_NULL;
25493 fra.me.REG[6] = NIT_NULL;
25494 fra.me.REG[7] = NIT_NULL;
25495 fra.me.REG[8] = NIT_NULL;
25496 fra.me.REG[0] = p0;
25497 fra.me.REG[1] = p1;
25498 /* ./parser//parser.nit:9084 */
25499 fra.me.REG[2] = NIT_NULL;
25500 /* ./parser//parser.nit:9085 */
25501 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25502 /* ./parser//parser.nit:9086 */
25503 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25504 /* ./parser//parser.nit:9087 */
25505 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25506 /* ./parser//parser.nit:9088 */
25507 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25508 /* ./parser//parser.nit:9089 */
25509 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25510 /* ./parser//parser.nit:9090 */
25511 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25512 /* ./parser//parser.nit:9091 */
25513 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25514 /* ./parser//parser.nit:9092 */
25515 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25516 /* ./parser//parser.nit:9093 */
25517 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25518 /* ./parser//parser.nit:9094 */
25519 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25520 /* ./parser//parser.nit:9095 */
25521 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
25522 /* ./parser//parser.nit:9097 */
25523 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*/;
25524 if (UNTAG_Bool(REGB0)) {
25525 } else {
25526 nit_abort("Assert failed", NULL, LOCATE_parser, 9097);
25527 }
25528 /* ./parser//parser.nit:9099 */
25529 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]*/;
25530 if (UNTAG_Bool(REGB0)) {
25531 } else {
25532 nit_abort("Assert failed", NULL, LOCATE_parser, 9099);
25533 }
25534 /* ./parser//parser.nit:9100 */
25535 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
25536 fra.me.REG[8] = fra.me.REG[6];
25537 /* ./parser//parser.nit:9102 */
25538 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*/;
25539 if (UNTAG_Bool(REGB0)) {
25540 } else {
25541 nit_abort("Assert failed", NULL, LOCATE_parser, 9102);
25542 }
25543 /* ./parser//parser.nit:9104 */
25544 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*/;
25545 if (UNTAG_Bool(REGB0)) {
25546 } else {
25547 nit_abort("Assert failed", NULL, LOCATE_parser, 9104);
25548 }
25549 /* ./parser//parser.nit:9106 */
25550 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*/;
25551 if (UNTAG_Bool(REGB0)) {
25552 } else {
25553 nit_abort("Assert failed", NULL, LOCATE_parser, 9106);
25554 }
25555 /* ./parser//parser.nit:9107 */
25556 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);
25557 /* ./parser//parser.nit:9115 */
25558 fra.me.REG[2] = fra.me.REG[3];
25559 /* ./parser//parser.nit:9116 */
25560 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25561 if (UNTAG_Bool(REGB0)) {
25562 } else {
25563 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9116);
25564 }
25565 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25566 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25567 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25568 stack_frame_head = fra.me.prev;
25569 return;
25570 }
25571 void parser___ReduceAction292___action(val_t p0, val_t p1){
25572 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
25573 val_t REGB0;
25574 val_t tmp;
25575 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25576 fra.me.file = LOCATE_parser;
25577 fra.me.line = 9121;
25578 fra.me.meth = LOCATE_parser___ReduceAction292___action;
25579 fra.me.has_broke = 0;
25580 fra.me.REG_size = 6;
25581 fra.me.REG[0] = NIT_NULL;
25582 fra.me.REG[1] = NIT_NULL;
25583 fra.me.REG[2] = NIT_NULL;
25584 fra.me.REG[3] = NIT_NULL;
25585 fra.me.REG[4] = NIT_NULL;
25586 fra.me.REG[5] = NIT_NULL;
25587 fra.me.REG[0] = p0;
25588 fra.me.REG[1] = p1;
25589 /* ./parser//parser.nit:9123 */
25590 fra.me.REG[2] = NIT_NULL;
25591 /* ./parser//parser.nit:9124 */
25592 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25593 /* ./parser//parser.nit:9125 */
25594 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25595 /* ./parser//parser.nit:9126 */
25596 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25597 /* ./parser//parser.nit:9127 */
25598 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25599 /* ./parser//parser.nit:9129 */
25600 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*/;
25601 if (UNTAG_Bool(REGB0)) {
25602 } else {
25603 nit_abort("Assert failed", NULL, LOCATE_parser, 9129);
25604 }
25605 /* ./parser//parser.nit:9131 */
25606 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*/;
25607 if (UNTAG_Bool(REGB0)) {
25608 } else {
25609 nit_abort("Assert failed", NULL, LOCATE_parser, 9131);
25610 }
25611 /* ./parser//parser.nit:9133 */
25612 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*/;
25613 if (UNTAG_Bool(REGB0)) {
25614 } else {
25615 nit_abort("Assert failed", NULL, LOCATE_parser, 9133);
25616 }
25617 /* ./parser//parser.nit:9134 */
25618 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]);
25619 /* ./parser//parser.nit:9140 */
25620 fra.me.REG[2] = fra.me.REG[3];
25621 /* ./parser//parser.nit:9141 */
25622 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25623 if (UNTAG_Bool(REGB0)) {
25624 } else {
25625 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9141);
25626 }
25627 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25628 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25629 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25630 stack_frame_head = fra.me.prev;
25631 return;
25632 }
25633 void parser___ReduceAction293___action(val_t p0, val_t p1){
25634 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
25635 val_t REGB0;
25636 val_t tmp;
25637 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25638 fra.me.file = LOCATE_parser;
25639 fra.me.line = 9146;
25640 fra.me.meth = LOCATE_parser___ReduceAction293___action;
25641 fra.me.has_broke = 0;
25642 fra.me.REG_size = 7;
25643 fra.me.REG[0] = NIT_NULL;
25644 fra.me.REG[1] = NIT_NULL;
25645 fra.me.REG[2] = NIT_NULL;
25646 fra.me.REG[3] = NIT_NULL;
25647 fra.me.REG[4] = NIT_NULL;
25648 fra.me.REG[5] = NIT_NULL;
25649 fra.me.REG[6] = NIT_NULL;
25650 fra.me.REG[0] = p0;
25651 fra.me.REG[1] = p1;
25652 /* ./parser//parser.nit:9148 */
25653 fra.me.REG[2] = NIT_NULL;
25654 /* ./parser//parser.nit:9149 */
25655 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25656 /* ./parser//parser.nit:9150 */
25657 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25658 /* ./parser//parser.nit:9151 */
25659 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25660 /* ./parser//parser.nit:9152 */
25661 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25662 /* ./parser//parser.nit:9153 */
25663 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25664 /* ./parser//parser.nit:9155 */
25665 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*/;
25666 if (UNTAG_Bool(REGB0)) {
25667 } else {
25668 nit_abort("Assert failed", NULL, LOCATE_parser, 9155);
25669 }
25670 /* ./parser//parser.nit:9157 */
25671 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*/;
25672 if (UNTAG_Bool(REGB0)) {
25673 } else {
25674 nit_abort("Assert failed", NULL, LOCATE_parser, 9157);
25675 }
25676 /* ./parser//parser.nit:9159 */
25677 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*/;
25678 if (UNTAG_Bool(REGB0)) {
25679 } else {
25680 nit_abort("Assert failed", NULL, LOCATE_parser, 9159);
25681 }
25682 /* ./parser//parser.nit:9161 */
25683 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*/;
25684 if (UNTAG_Bool(REGB0)) {
25685 } else {
25686 nit_abort("Assert failed", NULL, LOCATE_parser, 9161);
25687 }
25688 /* ./parser//parser.nit:9162 */
25689 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]);
25690 /* ./parser//parser.nit:9168 */
25691 fra.me.REG[2] = fra.me.REG[3];
25692 /* ./parser//parser.nit:9169 */
25693 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25694 if (UNTAG_Bool(REGB0)) {
25695 } else {
25696 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9169);
25697 }
25698 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25699 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25700 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25701 stack_frame_head = fra.me.prev;
25702 return;
25703 }
25704 void parser___ReduceAction294___action(val_t p0, val_t p1){
25705 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
25706 val_t REGB0;
25707 val_t tmp;
25708 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25709 fra.me.file = LOCATE_parser;
25710 fra.me.line = 9174;
25711 fra.me.meth = LOCATE_parser___ReduceAction294___action;
25712 fra.me.has_broke = 0;
25713 fra.me.REG_size = 5;
25714 fra.me.REG[0] = NIT_NULL;
25715 fra.me.REG[1] = NIT_NULL;
25716 fra.me.REG[2] = NIT_NULL;
25717 fra.me.REG[3] = NIT_NULL;
25718 fra.me.REG[4] = NIT_NULL;
25719 fra.me.REG[0] = p0;
25720 fra.me.REG[1] = p1;
25721 /* ./parser//parser.nit:9176 */
25722 fra.me.REG[2] = NIT_NULL;
25723 /* ./parser//parser.nit:9177 */
25724 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25725 /* ./parser//parser.nit:9178 */
25726 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25727 /* ./parser//parser.nit:9180 */
25728 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*/;
25729 if (UNTAG_Bool(REGB0)) {
25730 } else {
25731 nit_abort("Assert failed", NULL, LOCATE_parser, 9180);
25732 }
25733 /* ./parser//parser.nit:9182 */
25734 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*/;
25735 if (UNTAG_Bool(REGB0)) {
25736 } else {
25737 nit_abort("Assert failed", NULL, LOCATE_parser, 9182);
25738 }
25739 /* ./parser//parser.nit:9183 */
25740 fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
25741 /* ./parser//parser.nit:9189 */
25742 fra.me.REG[2] = fra.me.REG[3];
25743 /* ./parser//parser.nit:9190 */
25744 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25745 if (UNTAG_Bool(REGB0)) {
25746 } else {
25747 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9190);
25748 }
25749 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25751 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25752 stack_frame_head = fra.me.prev;
25753 return;
25754 }
25755 void parser___ReduceAction295___action(val_t p0, val_t p1){
25756 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
25757 val_t REGB0;
25758 val_t tmp;
25759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25760 fra.me.file = LOCATE_parser;
25761 fra.me.line = 9195;
25762 fra.me.meth = LOCATE_parser___ReduceAction295___action;
25763 fra.me.has_broke = 0;
25764 fra.me.REG_size = 6;
25765 fra.me.REG[0] = NIT_NULL;
25766 fra.me.REG[1] = NIT_NULL;
25767 fra.me.REG[2] = NIT_NULL;
25768 fra.me.REG[3] = NIT_NULL;
25769 fra.me.REG[4] = NIT_NULL;
25770 fra.me.REG[5] = NIT_NULL;
25771 fra.me.REG[0] = p0;
25772 fra.me.REG[1] = p1;
25773 /* ./parser//parser.nit:9197 */
25774 fra.me.REG[2] = NIT_NULL;
25775 /* ./parser//parser.nit:9198 */
25776 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25777 /* ./parser//parser.nit:9199 */
25778 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25779 /* ./parser//parser.nit:9200 */
25780 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25781 /* ./parser//parser.nit:9202 */
25782 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*/;
25783 if (UNTAG_Bool(REGB0)) {
25784 } else {
25785 nit_abort("Assert failed", NULL, LOCATE_parser, 9202);
25786 }
25787 /* ./parser//parser.nit:9204 */
25788 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*/;
25789 if (UNTAG_Bool(REGB0)) {
25790 } else {
25791 nit_abort("Assert failed", NULL, LOCATE_parser, 9204);
25792 }
25793 /* ./parser//parser.nit:9206 */
25794 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*/;
25795 if (UNTAG_Bool(REGB0)) {
25796 } else {
25797 nit_abort("Assert failed", NULL, LOCATE_parser, 9206);
25798 }
25799 /* ./parser//parser.nit:9207 */
25800 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);
25801 /* ./parser//parser.nit:9213 */
25802 fra.me.REG[2] = fra.me.REG[3];
25803 /* ./parser//parser.nit:9214 */
25804 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25805 if (UNTAG_Bool(REGB0)) {
25806 } else {
25807 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9214);
25808 }
25809 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25810 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25811 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25812 stack_frame_head = fra.me.prev;
25813 return;
25814 }
25815 void parser___ReduceAction296___action(val_t p0, val_t p1){
25816 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
25817 val_t REGB0;
25818 val_t tmp;
25819 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25820 fra.me.file = LOCATE_parser;
25821 fra.me.line = 9219;
25822 fra.me.meth = LOCATE_parser___ReduceAction296___action;
25823 fra.me.has_broke = 0;
25824 fra.me.REG_size = 4;
25825 fra.me.REG[0] = NIT_NULL;
25826 fra.me.REG[1] = NIT_NULL;
25827 fra.me.REG[2] = NIT_NULL;
25828 fra.me.REG[3] = NIT_NULL;
25829 fra.me.REG[0] = p0;
25830 fra.me.REG[1] = p1;
25831 /* ./parser//parser.nit:9221 */
25832 fra.me.REG[2] = NIT_NULL;
25833 /* ./parser//parser.nit:9222 */
25834 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25835 /* ./parser//parser.nit:9223 */
25836 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25837 /* ./parser//parser.nit:9225 */
25838 fra.me.REG[2] = fra.me.REG[3];
25839 /* ./parser//parser.nit:9226 */
25840 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25841 if (UNTAG_Bool(REGB0)) {
25842 } else {
25843 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9226);
25844 }
25845 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25846 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25847 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25848 stack_frame_head = fra.me.prev;
25849 return;
25850 }
25851 void parser___ReduceAction300___action(val_t p0, val_t p1){
25852 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25853 val_t REGB0;
25854 val_t tmp;
25855 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25856 fra.me.file = LOCATE_parser;
25857 fra.me.line = 9231;
25858 fra.me.meth = LOCATE_parser___ReduceAction300___action;
25859 fra.me.has_broke = 0;
25860 fra.me.REG_size = 8;
25861 fra.me.REG[0] = NIT_NULL;
25862 fra.me.REG[1] = NIT_NULL;
25863 fra.me.REG[2] = NIT_NULL;
25864 fra.me.REG[3] = NIT_NULL;
25865 fra.me.REG[4] = NIT_NULL;
25866 fra.me.REG[5] = NIT_NULL;
25867 fra.me.REG[6] = NIT_NULL;
25868 fra.me.REG[7] = NIT_NULL;
25869 fra.me.REG[0] = p0;
25870 fra.me.REG[1] = p1;
25871 /* ./parser//parser.nit:9233 */
25872 fra.me.REG[2] = NIT_NULL;
25873 /* ./parser//parser.nit:9234 */
25874 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25875 /* ./parser//parser.nit:9235 */
25876 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25877 /* ./parser//parser.nit:9236 */
25878 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25879 /* ./parser//parser.nit:9237 */
25880 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
25881 /* ./parser//parser.nit:9238 */
25882 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
25883 /* ./parser//parser.nit:9240 */
25884 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*/;
25885 if (UNTAG_Bool(REGB0)) {
25886 } else {
25887 nit_abort("Assert failed", NULL, LOCATE_parser, 9240);
25888 }
25889 /* ./parser//parser.nit:9242 */
25890 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]*/;
25891 if (UNTAG_Bool(REGB0)) {
25892 } else {
25893 nit_abort("Assert failed", NULL, LOCATE_parser, 9242);
25894 }
25895 /* ./parser//parser.nit:9243 */
25896 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
25897 fra.me.REG[6] = fra.me.REG[4];
25898 /* ./parser//parser.nit:9245 */
25899 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]*/;
25900 if (UNTAG_Bool(REGB0)) {
25901 } else {
25902 nit_abort("Assert failed", NULL, LOCATE_parser, 9245);
25903 }
25904 /* ./parser//parser.nit:9246 */
25905 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
25906 fra.me.REG[7] = fra.me.REG[3];
25907 /* ./parser//parser.nit:9247 */
25908 fra.me.REG[7] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
25909 /* ./parser//parser.nit:9252 */
25910 fra.me.REG[2] = fra.me.REG[7];
25911 /* ./parser//parser.nit:9253 */
25912 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25913 if (UNTAG_Bool(REGB0)) {
25914 } else {
25915 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9253);
25916 }
25917 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25918 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25919 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25920 stack_frame_head = fra.me.prev;
25921 return;
25922 }
25923 void parser___ReduceAction302___action(val_t p0, val_t p1){
25924 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25925 val_t REGB0;
25926 val_t tmp;
25927 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25928 fra.me.file = LOCATE_parser;
25929 fra.me.line = 9258;
25930 fra.me.meth = LOCATE_parser___ReduceAction302___action;
25931 fra.me.has_broke = 0;
25932 fra.me.REG_size = 9;
25933 fra.me.REG[0] = NIT_NULL;
25934 fra.me.REG[1] = NIT_NULL;
25935 fra.me.REG[2] = NIT_NULL;
25936 fra.me.REG[3] = NIT_NULL;
25937 fra.me.REG[4] = NIT_NULL;
25938 fra.me.REG[5] = NIT_NULL;
25939 fra.me.REG[6] = NIT_NULL;
25940 fra.me.REG[7] = NIT_NULL;
25941 fra.me.REG[8] = NIT_NULL;
25942 fra.me.REG[0] = p0;
25943 fra.me.REG[1] = p1;
25944 /* ./parser//parser.nit:9260 */
25945 fra.me.REG[2] = NIT_NULL;
25946 /* ./parser//parser.nit:9261 */
25947 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25948 /* ./parser//parser.nit:9262 */
25949 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25950 /* ./parser//parser.nit:9263 */
25951 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25952 /* ./parser//parser.nit:9264 */
25953 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25954 /* ./parser//parser.nit:9265 */
25955 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25956 /* ./parser//parser.nit:9266 */
25957 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25958 /* ./parser//parser.nit:9267 */
25959 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25960 /* ./parser//parser.nit:9268 */
25961 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25962 /* ./parser//parser.nit:9269 */
25963 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25964 /* ./parser//parser.nit:9270 */
25965 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25966 /* ./parser//parser.nit:9271 */
25967 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25968 /* ./parser//parser.nit:9273 */
25969 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*/;
25970 if (UNTAG_Bool(REGB0)) {
25971 } else {
25972 nit_abort("Assert failed", NULL, LOCATE_parser, 9273);
25973 }
25974 /* ./parser//parser.nit:9275 */
25975 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*/;
25976 if (UNTAG_Bool(REGB0)) {
25977 } else {
25978 nit_abort("Assert failed", NULL, LOCATE_parser, 9275);
25979 }
25980 /* ./parser//parser.nit:9277 */
25981 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*/;
25982 if (UNTAG_Bool(REGB0)) {
25983 } else {
25984 nit_abort("Assert failed", NULL, LOCATE_parser, 9277);
25985 }
25986 /* ./parser//parser.nit:9279 */
25987 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*/;
25988 if (UNTAG_Bool(REGB0)) {
25989 } else {
25990 nit_abort("Assert failed", NULL, LOCATE_parser, 9279);
25991 }
25992 /* ./parser//parser.nit:9281 */
25993 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*/;
25994 if (UNTAG_Bool(REGB0)) {
25995 } else {
25996 nit_abort("Assert failed", NULL, LOCATE_parser, 9281);
25997 }
25998 /* ./parser//parser.nit:9283 */
25999 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*/;
26000 if (UNTAG_Bool(REGB0)) {
26001 } else {
26002 nit_abort("Assert failed", NULL, LOCATE_parser, 9283);
26003 }
26004 /* ./parser//parser.nit:9284 */
26005 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]);
26006 /* ./parser//parser.nit:9292 */
26007 fra.me.REG[2] = fra.me.REG[3];
26008 /* ./parser//parser.nit:9293 */
26009 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26010 if (UNTAG_Bool(REGB0)) {
26011 } else {
26012 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9293);
26013 }
26014 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26015 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26016 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26017 stack_frame_head = fra.me.prev;
26018 return;
26019 }
26020 void parser___ReduceAction304___action(val_t p0, val_t p1){
26021 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26022 val_t REGB0;
26023 val_t tmp;
26024 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26025 fra.me.file = LOCATE_parser;
26026 fra.me.line = 9298;
26027 fra.me.meth = LOCATE_parser___ReduceAction304___action;
26028 fra.me.has_broke = 0;
26029 fra.me.REG_size = 5;
26030 fra.me.REG[0] = NIT_NULL;
26031 fra.me.REG[1] = NIT_NULL;
26032 fra.me.REG[2] = NIT_NULL;
26033 fra.me.REG[3] = NIT_NULL;
26034 fra.me.REG[4] = NIT_NULL;
26035 fra.me.REG[0] = p0;
26036 fra.me.REG[1] = p1;
26037 /* ./parser//parser.nit:9300 */
26038 fra.me.REG[2] = NIT_NULL;
26039 /* ./parser//parser.nit:9301 */
26040 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26041 /* ./parser//parser.nit:9302 */
26042 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26043 /* ./parser//parser.nit:9303 */
26044 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26045 /* ./parser//parser.nit:9304 */
26046 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26047 /* ./parser//parser.nit:9306 */
26048 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*/;
26049 if (UNTAG_Bool(REGB0)) {
26050 } else {
26051 nit_abort("Assert failed", NULL, LOCATE_parser, 9306);
26052 }
26053 /* ./parser//parser.nit:9308 */
26054 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*/;
26055 if (UNTAG_Bool(REGB0)) {
26056 } else {
26057 nit_abort("Assert failed", NULL, LOCATE_parser, 9308);
26058 }
26059 /* ./parser//parser.nit:9309 */
26060 fra.me.REG[3] = NEW_AOrExpr_parser___parser_prod___AOrExpr___init_aorexpr(fra.me.REG[4], fra.me.REG[3]);
26061 /* ./parser//parser.nit:9313 */
26062 fra.me.REG[2] = fra.me.REG[3];
26063 /* ./parser//parser.nit:9314 */
26064 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26065 if (UNTAG_Bool(REGB0)) {
26066 } else {
26067 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9314);
26068 }
26069 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26070 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26071 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26072 stack_frame_head = fra.me.prev;
26073 return;
26074 }
26075 void parser___ReduceAction305___action(val_t p0, val_t p1){
26076 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26077 val_t REGB0;
26078 val_t tmp;
26079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26080 fra.me.file = LOCATE_parser;
26081 fra.me.line = 9319;
26082 fra.me.meth = LOCATE_parser___ReduceAction305___action;
26083 fra.me.has_broke = 0;
26084 fra.me.REG_size = 5;
26085 fra.me.REG[0] = NIT_NULL;
26086 fra.me.REG[1] = NIT_NULL;
26087 fra.me.REG[2] = NIT_NULL;
26088 fra.me.REG[3] = NIT_NULL;
26089 fra.me.REG[4] = NIT_NULL;
26090 fra.me.REG[0] = p0;
26091 fra.me.REG[1] = p1;
26092 /* ./parser//parser.nit:9321 */
26093 fra.me.REG[2] = NIT_NULL;
26094 /* ./parser//parser.nit:9322 */
26095 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26096 /* ./parser//parser.nit:9323 */
26097 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26098 /* ./parser//parser.nit:9324 */
26099 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26100 /* ./parser//parser.nit:9325 */
26101 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26102 /* ./parser//parser.nit:9327 */
26103 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*/;
26104 if (UNTAG_Bool(REGB0)) {
26105 } else {
26106 nit_abort("Assert failed", NULL, LOCATE_parser, 9327);
26107 }
26108 /* ./parser//parser.nit:9329 */
26109 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*/;
26110 if (UNTAG_Bool(REGB0)) {
26111 } else {
26112 nit_abort("Assert failed", NULL, LOCATE_parser, 9329);
26113 }
26114 /* ./parser//parser.nit:9330 */
26115 fra.me.REG[3] = NEW_AAndExpr_parser___parser_prod___AAndExpr___init_aandexpr(fra.me.REG[4], fra.me.REG[3]);
26116 /* ./parser//parser.nit:9334 */
26117 fra.me.REG[2] = fra.me.REG[3];
26118 /* ./parser//parser.nit:9335 */
26119 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26120 if (UNTAG_Bool(REGB0)) {
26121 } else {
26122 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9335);
26123 }
26124 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26125 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26126 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26127 stack_frame_head = fra.me.prev;
26128 return;
26129 }
26130 void parser___ReduceAction306___action(val_t p0, val_t p1){
26131 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26132 val_t REGB0;
26133 val_t tmp;
26134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26135 fra.me.file = LOCATE_parser;
26136 fra.me.line = 9340;
26137 fra.me.meth = LOCATE_parser___ReduceAction306___action;
26138 fra.me.has_broke = 0;
26139 fra.me.REG_size = 5;
26140 fra.me.REG[0] = NIT_NULL;
26141 fra.me.REG[1] = NIT_NULL;
26142 fra.me.REG[2] = NIT_NULL;
26143 fra.me.REG[3] = NIT_NULL;
26144 fra.me.REG[4] = NIT_NULL;
26145 fra.me.REG[0] = p0;
26146 fra.me.REG[1] = p1;
26147 /* ./parser//parser.nit:9342 */
26148 fra.me.REG[2] = NIT_NULL;
26149 /* ./parser//parser.nit:9343 */
26150 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26151 /* ./parser//parser.nit:9344 */
26152 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26153 /* ./parser//parser.nit:9345 */
26154 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26155 /* ./parser//parser.nit:9346 */
26156 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26157 /* ./parser//parser.nit:9347 */
26158 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26159 /* ./parser//parser.nit:9349 */
26160 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*/;
26161 if (UNTAG_Bool(REGB0)) {
26162 } else {
26163 nit_abort("Assert failed", NULL, LOCATE_parser, 9349);
26164 }
26165 /* ./parser//parser.nit:9351 */
26166 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*/;
26167 if (UNTAG_Bool(REGB0)) {
26168 } else {
26169 nit_abort("Assert failed", NULL, LOCATE_parser, 9351);
26170 }
26171 /* ./parser//parser.nit:9352 */
26172 fra.me.REG[3] = NEW_AOrElseExpr_parser___parser_prod___AOrElseExpr___init_aorelseexpr(fra.me.REG[4], fra.me.REG[3]);
26173 /* ./parser//parser.nit:9356 */
26174 fra.me.REG[2] = fra.me.REG[3];
26175 /* ./parser//parser.nit:9357 */
26176 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26177 if (UNTAG_Bool(REGB0)) {
26178 } else {
26179 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9357);
26180 }
26181 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26182 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26183 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26184 stack_frame_head = fra.me.prev;
26185 return;
26186 }
26187 void parser___ReduceAction308___action(val_t p0, val_t p1){
26188 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26189 val_t REGB0;
26190 val_t tmp;
26191 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26192 fra.me.file = LOCATE_parser;
26193 fra.me.line = 9362;
26194 fra.me.meth = LOCATE_parser___ReduceAction308___action;
26195 fra.me.has_broke = 0;
26196 fra.me.REG_size = 5;
26197 fra.me.REG[0] = NIT_NULL;
26198 fra.me.REG[1] = NIT_NULL;
26199 fra.me.REG[2] = NIT_NULL;
26200 fra.me.REG[3] = NIT_NULL;
26201 fra.me.REG[4] = NIT_NULL;
26202 fra.me.REG[0] = p0;
26203 fra.me.REG[1] = p1;
26204 /* ./parser//parser.nit:9364 */
26205 fra.me.REG[2] = NIT_NULL;
26206 /* ./parser//parser.nit:9365 */
26207 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26208 /* ./parser//parser.nit:9366 */
26209 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26210 /* ./parser//parser.nit:9367 */
26211 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26212 /* ./parser//parser.nit:9369 */
26213 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*/;
26214 if (UNTAG_Bool(REGB0)) {
26215 } else {
26216 nit_abort("Assert failed", NULL, LOCATE_parser, 9369);
26217 }
26218 /* ./parser//parser.nit:9371 */
26219 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*/;
26220 if (UNTAG_Bool(REGB0)) {
26221 } else {
26222 nit_abort("Assert failed", NULL, LOCATE_parser, 9371);
26223 }
26224 /* ./parser//parser.nit:9372 */
26225 fra.me.REG[3] = NEW_ANotExpr_parser___parser_prod___ANotExpr___init_anotexpr(fra.me.REG[4], fra.me.REG[3]);
26226 /* ./parser//parser.nit:9376 */
26227 fra.me.REG[2] = fra.me.REG[3];
26228 /* ./parser//parser.nit:9377 */
26229 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26230 if (UNTAG_Bool(REGB0)) {
26231 } else {
26232 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9377);
26233 }
26234 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26235 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26236 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26237 stack_frame_head = fra.me.prev;
26238 return;
26239 }
26240 void parser___ReduceAction310___action(val_t p0, val_t p1){
26241 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26242 val_t REGB0;
26243 val_t tmp;
26244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26245 fra.me.file = LOCATE_parser;
26246 fra.me.line = 9382;
26247 fra.me.meth = LOCATE_parser___ReduceAction310___action;
26248 fra.me.has_broke = 0;
26249 fra.me.REG_size = 5;
26250 fra.me.REG[0] = NIT_NULL;
26251 fra.me.REG[1] = NIT_NULL;
26252 fra.me.REG[2] = NIT_NULL;
26253 fra.me.REG[3] = NIT_NULL;
26254 fra.me.REG[4] = NIT_NULL;
26255 fra.me.REG[0] = p0;
26256 fra.me.REG[1] = p1;
26257 /* ./parser//parser.nit:9384 */
26258 fra.me.REG[2] = NIT_NULL;
26259 /* ./parser//parser.nit:9385 */
26260 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26261 /* ./parser//parser.nit:9386 */
26262 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26263 /* ./parser//parser.nit:9387 */
26264 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26265 /* ./parser//parser.nit:9388 */
26266 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26267 /* ./parser//parser.nit:9390 */
26268 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*/;
26269 if (UNTAG_Bool(REGB0)) {
26270 } else {
26271 nit_abort("Assert failed", NULL, LOCATE_parser, 9390);
26272 }
26273 /* ./parser//parser.nit:9392 */
26274 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*/;
26275 if (UNTAG_Bool(REGB0)) {
26276 } else {
26277 nit_abort("Assert failed", NULL, LOCATE_parser, 9392);
26278 }
26279 /* ./parser//parser.nit:9393 */
26280 fra.me.REG[3] = NEW_AEqExpr_parser___parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[4], fra.me.REG[3]);
26281 /* ./parser//parser.nit:9397 */
26282 fra.me.REG[2] = fra.me.REG[3];
26283 /* ./parser//parser.nit:9398 */
26284 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26285 if (UNTAG_Bool(REGB0)) {
26286 } else {
26287 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9398);
26288 }
26289 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26290 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26291 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26292 stack_frame_head = fra.me.prev;
26293 return;
26294 }
26295 void parser___ReduceAction311___action(val_t p0, val_t p1){
26296 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26297 val_t REGB0;
26298 val_t tmp;
26299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26300 fra.me.file = LOCATE_parser;
26301 fra.me.line = 9403;
26302 fra.me.meth = LOCATE_parser___ReduceAction311___action;
26303 fra.me.has_broke = 0;
26304 fra.me.REG_size = 5;
26305 fra.me.REG[0] = NIT_NULL;
26306 fra.me.REG[1] = NIT_NULL;
26307 fra.me.REG[2] = NIT_NULL;
26308 fra.me.REG[3] = NIT_NULL;
26309 fra.me.REG[4] = NIT_NULL;
26310 fra.me.REG[0] = p0;
26311 fra.me.REG[1] = p1;
26312 /* ./parser//parser.nit:9405 */
26313 fra.me.REG[2] = NIT_NULL;
26314 /* ./parser//parser.nit:9406 */
26315 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26316 /* ./parser//parser.nit:9407 */
26317 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26318 /* ./parser//parser.nit:9408 */
26319 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26320 /* ./parser//parser.nit:9409 */
26321 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26322 /* ./parser//parser.nit:9411 */
26323 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*/;
26324 if (UNTAG_Bool(REGB0)) {
26325 } else {
26326 nit_abort("Assert failed", NULL, LOCATE_parser, 9411);
26327 }
26328 /* ./parser//parser.nit:9413 */
26329 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*/;
26330 if (UNTAG_Bool(REGB0)) {
26331 } else {
26332 nit_abort("Assert failed", NULL, LOCATE_parser, 9413);
26333 }
26334 /* ./parser//parser.nit:9414 */
26335 fra.me.REG[3] = NEW_AEeExpr_parser___parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[4], fra.me.REG[3]);
26336 /* ./parser//parser.nit:9418 */
26337 fra.me.REG[2] = fra.me.REG[3];
26338 /* ./parser//parser.nit:9419 */
26339 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26340 if (UNTAG_Bool(REGB0)) {
26341 } else {
26342 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9419);
26343 }
26344 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26345 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26346 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26347 stack_frame_head = fra.me.prev;
26348 return;
26349 }
26350 void parser___ReduceAction312___action(val_t p0, val_t p1){
26351 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26352 val_t REGB0;
26353 val_t tmp;
26354 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26355 fra.me.file = LOCATE_parser;
26356 fra.me.line = 9424;
26357 fra.me.meth = LOCATE_parser___ReduceAction312___action;
26358 fra.me.has_broke = 0;
26359 fra.me.REG_size = 5;
26360 fra.me.REG[0] = NIT_NULL;
26361 fra.me.REG[1] = NIT_NULL;
26362 fra.me.REG[2] = NIT_NULL;
26363 fra.me.REG[3] = NIT_NULL;
26364 fra.me.REG[4] = NIT_NULL;
26365 fra.me.REG[0] = p0;
26366 fra.me.REG[1] = p1;
26367 /* ./parser//parser.nit:9426 */
26368 fra.me.REG[2] = NIT_NULL;
26369 /* ./parser//parser.nit:9427 */
26370 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26371 /* ./parser//parser.nit:9428 */
26372 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26373 /* ./parser//parser.nit:9429 */
26374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26375 /* ./parser//parser.nit:9430 */
26376 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26377 /* ./parser//parser.nit:9432 */
26378 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*/;
26379 if (UNTAG_Bool(REGB0)) {
26380 } else {
26381 nit_abort("Assert failed", NULL, LOCATE_parser, 9432);
26382 }
26383 /* ./parser//parser.nit:9434 */
26384 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*/;
26385 if (UNTAG_Bool(REGB0)) {
26386 } else {
26387 nit_abort("Assert failed", NULL, LOCATE_parser, 9434);
26388 }
26389 /* ./parser//parser.nit:9435 */
26390 fra.me.REG[3] = NEW_ANeExpr_parser___parser_prod___ANeExpr___init_aneexpr(fra.me.REG[4], fra.me.REG[3]);
26391 /* ./parser//parser.nit:9439 */
26392 fra.me.REG[2] = fra.me.REG[3];
26393 /* ./parser//parser.nit:9440 */
26394 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26395 if (UNTAG_Bool(REGB0)) {
26396 } else {
26397 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9440);
26398 }
26399 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26400 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26401 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26402 stack_frame_head = fra.me.prev;
26403 return;
26404 }
26405 void parser___ReduceAction313___action(val_t p0, val_t p1){
26406 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26407 val_t REGB0;
26408 val_t tmp;
26409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26410 fra.me.file = LOCATE_parser;
26411 fra.me.line = 9445;
26412 fra.me.meth = LOCATE_parser___ReduceAction313___action;
26413 fra.me.has_broke = 0;
26414 fra.me.REG_size = 5;
26415 fra.me.REG[0] = NIT_NULL;
26416 fra.me.REG[1] = NIT_NULL;
26417 fra.me.REG[2] = NIT_NULL;
26418 fra.me.REG[3] = NIT_NULL;
26419 fra.me.REG[4] = NIT_NULL;
26420 fra.me.REG[0] = p0;
26421 fra.me.REG[1] = p1;
26422 /* ./parser//parser.nit:9447 */
26423 fra.me.REG[2] = NIT_NULL;
26424 /* ./parser//parser.nit:9448 */
26425 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26426 /* ./parser//parser.nit:9449 */
26427 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26428 /* ./parser//parser.nit:9450 */
26429 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26430 /* ./parser//parser.nit:9451 */
26431 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26432 /* ./parser//parser.nit:9453 */
26433 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*/;
26434 if (UNTAG_Bool(REGB0)) {
26435 } else {
26436 nit_abort("Assert failed", NULL, LOCATE_parser, 9453);
26437 }
26438 /* ./parser//parser.nit:9455 */
26439 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*/;
26440 if (UNTAG_Bool(REGB0)) {
26441 } else {
26442 nit_abort("Assert failed", NULL, LOCATE_parser, 9455);
26443 }
26444 /* ./parser//parser.nit:9456 */
26445 fra.me.REG[3] = NEW_ALtExpr_parser___parser_prod___ALtExpr___init_altexpr(fra.me.REG[4], fra.me.REG[3]);
26446 /* ./parser//parser.nit:9460 */
26447 fra.me.REG[2] = fra.me.REG[3];
26448 /* ./parser//parser.nit:9461 */
26449 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26450 if (UNTAG_Bool(REGB0)) {
26451 } else {
26452 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9461);
26453 }
26454 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26455 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26456 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26457 stack_frame_head = fra.me.prev;
26458 return;
26459 }
26460 void parser___ReduceAction314___action(val_t p0, val_t p1){
26461 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26462 val_t REGB0;
26463 val_t tmp;
26464 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26465 fra.me.file = LOCATE_parser;
26466 fra.me.line = 9466;
26467 fra.me.meth = LOCATE_parser___ReduceAction314___action;
26468 fra.me.has_broke = 0;
26469 fra.me.REG_size = 5;
26470 fra.me.REG[0] = NIT_NULL;
26471 fra.me.REG[1] = NIT_NULL;
26472 fra.me.REG[2] = NIT_NULL;
26473 fra.me.REG[3] = NIT_NULL;
26474 fra.me.REG[4] = NIT_NULL;
26475 fra.me.REG[0] = p0;
26476 fra.me.REG[1] = p1;
26477 /* ./parser//parser.nit:9468 */
26478 fra.me.REG[2] = NIT_NULL;
26479 /* ./parser//parser.nit:9469 */
26480 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26481 /* ./parser//parser.nit:9470 */
26482 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26483 /* ./parser//parser.nit:9471 */
26484 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26485 /* ./parser//parser.nit:9472 */
26486 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26487 /* ./parser//parser.nit:9474 */
26488 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*/;
26489 if (UNTAG_Bool(REGB0)) {
26490 } else {
26491 nit_abort("Assert failed", NULL, LOCATE_parser, 9474);
26492 }
26493 /* ./parser//parser.nit:9476 */
26494 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*/;
26495 if (UNTAG_Bool(REGB0)) {
26496 } else {
26497 nit_abort("Assert failed", NULL, LOCATE_parser, 9476);
26498 }
26499 /* ./parser//parser.nit:9477 */
26500 fra.me.REG[3] = NEW_ALeExpr_parser___parser_prod___ALeExpr___init_aleexpr(fra.me.REG[4], fra.me.REG[3]);
26501 /* ./parser//parser.nit:9481 */
26502 fra.me.REG[2] = fra.me.REG[3];
26503 /* ./parser//parser.nit:9482 */
26504 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26505 if (UNTAG_Bool(REGB0)) {
26506 } else {
26507 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9482);
26508 }
26509 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26510 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26511 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26512 stack_frame_head = fra.me.prev;
26513 return;
26514 }
26515 void parser___ReduceAction315___action(val_t p0, val_t p1){
26516 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26517 val_t REGB0;
26518 val_t tmp;
26519 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26520 fra.me.file = LOCATE_parser;
26521 fra.me.line = 9487;
26522 fra.me.meth = LOCATE_parser___ReduceAction315___action;
26523 fra.me.has_broke = 0;
26524 fra.me.REG_size = 5;
26525 fra.me.REG[0] = NIT_NULL;
26526 fra.me.REG[1] = NIT_NULL;
26527 fra.me.REG[2] = NIT_NULL;
26528 fra.me.REG[3] = NIT_NULL;
26529 fra.me.REG[4] = NIT_NULL;
26530 fra.me.REG[0] = p0;
26531 fra.me.REG[1] = p1;
26532 /* ./parser//parser.nit:9489 */
26533 fra.me.REG[2] = NIT_NULL;
26534 /* ./parser//parser.nit:9490 */
26535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26536 /* ./parser//parser.nit:9491 */
26537 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26538 /* ./parser//parser.nit:9492 */
26539 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26540 /* ./parser//parser.nit:9493 */
26541 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26542 /* ./parser//parser.nit:9495 */
26543 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*/;
26544 if (UNTAG_Bool(REGB0)) {
26545 } else {
26546 nit_abort("Assert failed", NULL, LOCATE_parser, 9495);
26547 }
26548 /* ./parser//parser.nit:9497 */
26549 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*/;
26550 if (UNTAG_Bool(REGB0)) {
26551 } else {
26552 nit_abort("Assert failed", NULL, LOCATE_parser, 9497);
26553 }
26554 /* ./parser//parser.nit:9498 */
26555 fra.me.REG[3] = NEW_ALlExpr_parser___parser_prod___ALlExpr___init_allexpr(fra.me.REG[4], fra.me.REG[3]);
26556 /* ./parser//parser.nit:9502 */
26557 fra.me.REG[2] = fra.me.REG[3];
26558 /* ./parser//parser.nit:9503 */
26559 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26560 if (UNTAG_Bool(REGB0)) {
26561 } else {
26562 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9503);
26563 }
26564 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26565 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26566 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26567 stack_frame_head = fra.me.prev;
26568 return;
26569 }
26570 void parser___ReduceAction316___action(val_t p0, val_t p1){
26571 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26572 val_t REGB0;
26573 val_t tmp;
26574 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26575 fra.me.file = LOCATE_parser;
26576 fra.me.line = 9508;
26577 fra.me.meth = LOCATE_parser___ReduceAction316___action;
26578 fra.me.has_broke = 0;
26579 fra.me.REG_size = 5;
26580 fra.me.REG[0] = NIT_NULL;
26581 fra.me.REG[1] = NIT_NULL;
26582 fra.me.REG[2] = NIT_NULL;
26583 fra.me.REG[3] = NIT_NULL;
26584 fra.me.REG[4] = NIT_NULL;
26585 fra.me.REG[0] = p0;
26586 fra.me.REG[1] = p1;
26587 /* ./parser//parser.nit:9510 */
26588 fra.me.REG[2] = NIT_NULL;
26589 /* ./parser//parser.nit:9511 */
26590 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26591 /* ./parser//parser.nit:9512 */
26592 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26593 /* ./parser//parser.nit:9513 */
26594 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26595 /* ./parser//parser.nit:9514 */
26596 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26597 /* ./parser//parser.nit:9516 */
26598 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*/;
26599 if (UNTAG_Bool(REGB0)) {
26600 } else {
26601 nit_abort("Assert failed", NULL, LOCATE_parser, 9516);
26602 }
26603 /* ./parser//parser.nit:9518 */
26604 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*/;
26605 if (UNTAG_Bool(REGB0)) {
26606 } else {
26607 nit_abort("Assert failed", NULL, LOCATE_parser, 9518);
26608 }
26609 /* ./parser//parser.nit:9519 */
26610 fra.me.REG[3] = NEW_AGtExpr_parser___parser_prod___AGtExpr___init_agtexpr(fra.me.REG[4], fra.me.REG[3]);
26611 /* ./parser//parser.nit:9523 */
26612 fra.me.REG[2] = fra.me.REG[3];
26613 /* ./parser//parser.nit:9524 */
26614 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26615 if (UNTAG_Bool(REGB0)) {
26616 } else {
26617 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9524);
26618 }
26619 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26620 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26621 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26622 stack_frame_head = fra.me.prev;
26623 return;
26624 }
26625 void parser___ReduceAction317___action(val_t p0, val_t p1){
26626 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26627 val_t REGB0;
26628 val_t tmp;
26629 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26630 fra.me.file = LOCATE_parser;
26631 fra.me.line = 9529;
26632 fra.me.meth = LOCATE_parser___ReduceAction317___action;
26633 fra.me.has_broke = 0;
26634 fra.me.REG_size = 5;
26635 fra.me.REG[0] = NIT_NULL;
26636 fra.me.REG[1] = NIT_NULL;
26637 fra.me.REG[2] = NIT_NULL;
26638 fra.me.REG[3] = NIT_NULL;
26639 fra.me.REG[4] = NIT_NULL;
26640 fra.me.REG[0] = p0;
26641 fra.me.REG[1] = p1;
26642 /* ./parser//parser.nit:9531 */
26643 fra.me.REG[2] = NIT_NULL;
26644 /* ./parser//parser.nit:9532 */
26645 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26646 /* ./parser//parser.nit:9533 */
26647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26648 /* ./parser//parser.nit:9534 */
26649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26650 /* ./parser//parser.nit:9535 */
26651 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26652 /* ./parser//parser.nit:9537 */
26653 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*/;
26654 if (UNTAG_Bool(REGB0)) {
26655 } else {
26656 nit_abort("Assert failed", NULL, LOCATE_parser, 9537);
26657 }
26658 /* ./parser//parser.nit:9539 */
26659 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*/;
26660 if (UNTAG_Bool(REGB0)) {
26661 } else {
26662 nit_abort("Assert failed", NULL, LOCATE_parser, 9539);
26663 }
26664 /* ./parser//parser.nit:9540 */
26665 fra.me.REG[3] = NEW_AGeExpr_parser___parser_prod___AGeExpr___init_ageexpr(fra.me.REG[4], fra.me.REG[3]);
26666 /* ./parser//parser.nit:9544 */
26667 fra.me.REG[2] = fra.me.REG[3];
26668 /* ./parser//parser.nit:9545 */
26669 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26670 if (UNTAG_Bool(REGB0)) {
26671 } else {
26672 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9545);
26673 }
26674 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26675 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26676 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26677 stack_frame_head = fra.me.prev;
26678 return;
26679 }
26680 void parser___ReduceAction318___action(val_t p0, val_t p1){
26681 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26682 val_t REGB0;
26683 val_t tmp;
26684 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26685 fra.me.file = LOCATE_parser;
26686 fra.me.line = 9550;
26687 fra.me.meth = LOCATE_parser___ReduceAction318___action;
26688 fra.me.has_broke = 0;
26689 fra.me.REG_size = 5;
26690 fra.me.REG[0] = NIT_NULL;
26691 fra.me.REG[1] = NIT_NULL;
26692 fra.me.REG[2] = NIT_NULL;
26693 fra.me.REG[3] = NIT_NULL;
26694 fra.me.REG[4] = NIT_NULL;
26695 fra.me.REG[0] = p0;
26696 fra.me.REG[1] = p1;
26697 /* ./parser//parser.nit:9552 */
26698 fra.me.REG[2] = NIT_NULL;
26699 /* ./parser//parser.nit:9553 */
26700 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26701 /* ./parser//parser.nit:9554 */
26702 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26703 /* ./parser//parser.nit:9555 */
26704 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26705 /* ./parser//parser.nit:9556 */
26706 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26707 /* ./parser//parser.nit:9558 */
26708 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*/;
26709 if (UNTAG_Bool(REGB0)) {
26710 } else {
26711 nit_abort("Assert failed", NULL, LOCATE_parser, 9558);
26712 }
26713 /* ./parser//parser.nit:9560 */
26714 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*/;
26715 if (UNTAG_Bool(REGB0)) {
26716 } else {
26717 nit_abort("Assert failed", NULL, LOCATE_parser, 9560);
26718 }
26719 /* ./parser//parser.nit:9561 */
26720 fra.me.REG[3] = NEW_AGgExpr_parser___parser_prod___AGgExpr___init_aggexpr(fra.me.REG[4], fra.me.REG[3]);
26721 /* ./parser//parser.nit:9565 */
26722 fra.me.REG[2] = fra.me.REG[3];
26723 /* ./parser//parser.nit:9566 */
26724 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26725 if (UNTAG_Bool(REGB0)) {
26726 } else {
26727 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9566);
26728 }
26729 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26730 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26731 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26732 stack_frame_head = fra.me.prev;
26733 return;
26734 }
26735 void parser___ReduceAction319___action(val_t p0, val_t p1){
26736 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26737 val_t REGB0;
26738 val_t tmp;
26739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26740 fra.me.file = LOCATE_parser;
26741 fra.me.line = 9571;
26742 fra.me.meth = LOCATE_parser___ReduceAction319___action;
26743 fra.me.has_broke = 0;
26744 fra.me.REG_size = 5;
26745 fra.me.REG[0] = NIT_NULL;
26746 fra.me.REG[1] = NIT_NULL;
26747 fra.me.REG[2] = NIT_NULL;
26748 fra.me.REG[3] = NIT_NULL;
26749 fra.me.REG[4] = NIT_NULL;
26750 fra.me.REG[0] = p0;
26751 fra.me.REG[1] = p1;
26752 /* ./parser//parser.nit:9573 */
26753 fra.me.REG[2] = NIT_NULL;
26754 /* ./parser//parser.nit:9574 */
26755 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26756 /* ./parser//parser.nit:9575 */
26757 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26758 /* ./parser//parser.nit:9576 */
26759 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26760 /* ./parser//parser.nit:9577 */
26761 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26762 /* ./parser//parser.nit:9579 */
26763 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*/;
26764 if (UNTAG_Bool(REGB0)) {
26765 } else {
26766 nit_abort("Assert failed", NULL, LOCATE_parser, 9579);
26767 }
26768 /* ./parser//parser.nit:9581 */
26769 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*/;
26770 if (UNTAG_Bool(REGB0)) {
26771 } else {
26772 nit_abort("Assert failed", NULL, LOCATE_parser, 9581);
26773 }
26774 /* ./parser//parser.nit:9582 */
26775 fra.me.REG[3] = NEW_AStarshipExpr_parser___parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[4], fra.me.REG[3]);
26776 /* ./parser//parser.nit:9586 */
26777 fra.me.REG[2] = fra.me.REG[3];
26778 /* ./parser//parser.nit:9587 */
26779 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26780 if (UNTAG_Bool(REGB0)) {
26781 } else {
26782 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9587);
26783 }
26784 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26785 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26786 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26787 stack_frame_head = fra.me.prev;
26788 return;
26789 }
26790 void parser___ReduceAction320___action(val_t p0, val_t p1){
26791 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26792 val_t REGB0;
26793 val_t tmp;
26794 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26795 fra.me.file = LOCATE_parser;
26796 fra.me.line = 9592;
26797 fra.me.meth = LOCATE_parser___ReduceAction320___action;
26798 fra.me.has_broke = 0;
26799 fra.me.REG_size = 5;
26800 fra.me.REG[0] = NIT_NULL;
26801 fra.me.REG[1] = NIT_NULL;
26802 fra.me.REG[2] = NIT_NULL;
26803 fra.me.REG[3] = NIT_NULL;
26804 fra.me.REG[4] = NIT_NULL;
26805 fra.me.REG[0] = p0;
26806 fra.me.REG[1] = p1;
26807 /* ./parser//parser.nit:9594 */
26808 fra.me.REG[2] = NIT_NULL;
26809 /* ./parser//parser.nit:9595 */
26810 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26811 /* ./parser//parser.nit:9596 */
26812 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26813 /* ./parser//parser.nit:9597 */
26814 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26815 /* ./parser//parser.nit:9598 */
26816 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26817 /* ./parser//parser.nit:9600 */
26818 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*/;
26819 if (UNTAG_Bool(REGB0)) {
26820 } else {
26821 nit_abort("Assert failed", NULL, LOCATE_parser, 9600);
26822 }
26823 /* ./parser//parser.nit:9602 */
26824 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*/;
26825 if (UNTAG_Bool(REGB0)) {
26826 } else {
26827 nit_abort("Assert failed", NULL, LOCATE_parser, 9602);
26828 }
26829 /* ./parser//parser.nit:9603 */
26830 fra.me.REG[3] = NEW_AIsaExpr_parser___parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[4], fra.me.REG[3]);
26831 /* ./parser//parser.nit:9607 */
26832 fra.me.REG[2] = fra.me.REG[3];
26833 /* ./parser//parser.nit:9608 */
26834 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26835 if (UNTAG_Bool(REGB0)) {
26836 } else {
26837 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9608);
26838 }
26839 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26840 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26841 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26842 stack_frame_head = fra.me.prev;
26843 return;
26844 }
26845 void parser___ReduceAction322___action(val_t p0, val_t p1){
26846 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26847 val_t REGB0;
26848 val_t tmp;
26849 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26850 fra.me.file = LOCATE_parser;
26851 fra.me.line = 9613;
26852 fra.me.meth = LOCATE_parser___ReduceAction322___action;
26853 fra.me.has_broke = 0;
26854 fra.me.REG_size = 5;
26855 fra.me.REG[0] = NIT_NULL;
26856 fra.me.REG[1] = NIT_NULL;
26857 fra.me.REG[2] = NIT_NULL;
26858 fra.me.REG[3] = NIT_NULL;
26859 fra.me.REG[4] = NIT_NULL;
26860 fra.me.REG[0] = p0;
26861 fra.me.REG[1] = p1;
26862 /* ./parser//parser.nit:9615 */
26863 fra.me.REG[2] = NIT_NULL;
26864 /* ./parser//parser.nit:9616 */
26865 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26866 /* ./parser//parser.nit:9617 */
26867 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26868 /* ./parser//parser.nit:9618 */
26869 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26870 /* ./parser//parser.nit:9619 */
26871 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26872 /* ./parser//parser.nit:9621 */
26873 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*/;
26874 if (UNTAG_Bool(REGB0)) {
26875 } else {
26876 nit_abort("Assert failed", NULL, LOCATE_parser, 9621);
26877 }
26878 /* ./parser//parser.nit:9623 */
26879 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*/;
26880 if (UNTAG_Bool(REGB0)) {
26881 } else {
26882 nit_abort("Assert failed", NULL, LOCATE_parser, 9623);
26883 }
26884 /* ./parser//parser.nit:9624 */
26885 fra.me.REG[3] = NEW_APlusExpr_parser___parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[4], fra.me.REG[3]);
26886 /* ./parser//parser.nit:9628 */
26887 fra.me.REG[2] = fra.me.REG[3];
26888 /* ./parser//parser.nit:9629 */
26889 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26890 if (UNTAG_Bool(REGB0)) {
26891 } else {
26892 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9629);
26893 }
26894 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26895 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26896 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26897 stack_frame_head = fra.me.prev;
26898 return;
26899 }
26900 void parser___ReduceAction323___action(val_t p0, val_t p1){
26901 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26902 val_t REGB0;
26903 val_t tmp;
26904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26905 fra.me.file = LOCATE_parser;
26906 fra.me.line = 9634;
26907 fra.me.meth = LOCATE_parser___ReduceAction323___action;
26908 fra.me.has_broke = 0;
26909 fra.me.REG_size = 5;
26910 fra.me.REG[0] = NIT_NULL;
26911 fra.me.REG[1] = NIT_NULL;
26912 fra.me.REG[2] = NIT_NULL;
26913 fra.me.REG[3] = NIT_NULL;
26914 fra.me.REG[4] = NIT_NULL;
26915 fra.me.REG[0] = p0;
26916 fra.me.REG[1] = p1;
26917 /* ./parser//parser.nit:9636 */
26918 fra.me.REG[2] = NIT_NULL;
26919 /* ./parser//parser.nit:9637 */
26920 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26921 /* ./parser//parser.nit:9638 */
26922 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26923 /* ./parser//parser.nit:9639 */
26924 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26925 /* ./parser//parser.nit:9640 */
26926 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26927 /* ./parser//parser.nit:9642 */
26928 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*/;
26929 if (UNTAG_Bool(REGB0)) {
26930 } else {
26931 nit_abort("Assert failed", NULL, LOCATE_parser, 9642);
26932 }
26933 /* ./parser//parser.nit:9644 */
26934 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*/;
26935 if (UNTAG_Bool(REGB0)) {
26936 } else {
26937 nit_abort("Assert failed", NULL, LOCATE_parser, 9644);
26938 }
26939 /* ./parser//parser.nit:9645 */
26940 fra.me.REG[3] = NEW_AMinusExpr_parser___parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[4], fra.me.REG[3]);
26941 /* ./parser//parser.nit:9649 */
26942 fra.me.REG[2] = fra.me.REG[3];
26943 /* ./parser//parser.nit:9650 */
26944 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26945 if (UNTAG_Bool(REGB0)) {
26946 } else {
26947 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9650);
26948 }
26949 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26950 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26951 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26952 stack_frame_head = fra.me.prev;
26953 return;
26954 }
26955 void parser___ReduceAction325___action(val_t p0, val_t p1){
26956 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
26957 val_t REGB0;
26958 val_t tmp;
26959 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26960 fra.me.file = LOCATE_parser;
26961 fra.me.line = 9655;
26962 fra.me.meth = LOCATE_parser___ReduceAction325___action;
26963 fra.me.has_broke = 0;
26964 fra.me.REG_size = 5;
26965 fra.me.REG[0] = NIT_NULL;
26966 fra.me.REG[1] = NIT_NULL;
26967 fra.me.REG[2] = NIT_NULL;
26968 fra.me.REG[3] = NIT_NULL;
26969 fra.me.REG[4] = NIT_NULL;
26970 fra.me.REG[0] = p0;
26971 fra.me.REG[1] = p1;
26972 /* ./parser//parser.nit:9657 */
26973 fra.me.REG[2] = NIT_NULL;
26974 /* ./parser//parser.nit:9658 */
26975 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26976 /* ./parser//parser.nit:9659 */
26977 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26978 /* ./parser//parser.nit:9660 */
26979 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26980 /* ./parser//parser.nit:9661 */
26981 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26982 /* ./parser//parser.nit:9663 */
26983 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*/;
26984 if (UNTAG_Bool(REGB0)) {
26985 } else {
26986 nit_abort("Assert failed", NULL, LOCATE_parser, 9663);
26987 }
26988 /* ./parser//parser.nit:9665 */
26989 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*/;
26990 if (UNTAG_Bool(REGB0)) {
26991 } else {
26992 nit_abort("Assert failed", NULL, LOCATE_parser, 9665);
26993 }
26994 /* ./parser//parser.nit:9666 */
26995 fra.me.REG[3] = NEW_AStarExpr_parser___parser_prod___AStarExpr___init_astarexpr(fra.me.REG[4], fra.me.REG[3]);
26996 /* ./parser//parser.nit:9670 */
26997 fra.me.REG[2] = fra.me.REG[3];
26998 /* ./parser//parser.nit:9671 */
26999 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27000 if (UNTAG_Bool(REGB0)) {
27001 } else {
27002 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9671);
27003 }
27004 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27005 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27006 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27007 stack_frame_head = fra.me.prev;
27008 return;
27009 }
27010 void parser___ReduceAction326___action(val_t p0, val_t p1){
27011 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27012 val_t REGB0;
27013 val_t tmp;
27014 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27015 fra.me.file = LOCATE_parser;
27016 fra.me.line = 9676;
27017 fra.me.meth = LOCATE_parser___ReduceAction326___action;
27018 fra.me.has_broke = 0;
27019 fra.me.REG_size = 5;
27020 fra.me.REG[0] = NIT_NULL;
27021 fra.me.REG[1] = NIT_NULL;
27022 fra.me.REG[2] = NIT_NULL;
27023 fra.me.REG[3] = NIT_NULL;
27024 fra.me.REG[4] = NIT_NULL;
27025 fra.me.REG[0] = p0;
27026 fra.me.REG[1] = p1;
27027 /* ./parser//parser.nit:9678 */
27028 fra.me.REG[2] = NIT_NULL;
27029 /* ./parser//parser.nit:9679 */
27030 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27031 /* ./parser//parser.nit:9680 */
27032 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27033 /* ./parser//parser.nit:9681 */
27034 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27035 /* ./parser//parser.nit:9682 */
27036 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27037 /* ./parser//parser.nit:9684 */
27038 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*/;
27039 if (UNTAG_Bool(REGB0)) {
27040 } else {
27041 nit_abort("Assert failed", NULL, LOCATE_parser, 9684);
27042 }
27043 /* ./parser//parser.nit:9686 */
27044 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*/;
27045 if (UNTAG_Bool(REGB0)) {
27046 } else {
27047 nit_abort("Assert failed", NULL, LOCATE_parser, 9686);
27048 }
27049 /* ./parser//parser.nit:9687 */
27050 fra.me.REG[3] = NEW_ASlashExpr_parser___parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[4], fra.me.REG[3]);
27051 /* ./parser//parser.nit:9691 */
27052 fra.me.REG[2] = fra.me.REG[3];
27053 /* ./parser//parser.nit:9692 */
27054 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27055 if (UNTAG_Bool(REGB0)) {
27056 } else {
27057 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9692);
27058 }
27059 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27060 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27061 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27062 stack_frame_head = fra.me.prev;
27063 return;
27064 }
27065 void parser___ReduceAction327___action(val_t p0, val_t p1){
27066 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27067 val_t REGB0;
27068 val_t tmp;
27069 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27070 fra.me.file = LOCATE_parser;
27071 fra.me.line = 9697;
27072 fra.me.meth = LOCATE_parser___ReduceAction327___action;
27073 fra.me.has_broke = 0;
27074 fra.me.REG_size = 5;
27075 fra.me.REG[0] = NIT_NULL;
27076 fra.me.REG[1] = NIT_NULL;
27077 fra.me.REG[2] = NIT_NULL;
27078 fra.me.REG[3] = NIT_NULL;
27079 fra.me.REG[4] = NIT_NULL;
27080 fra.me.REG[0] = p0;
27081 fra.me.REG[1] = p1;
27082 /* ./parser//parser.nit:9699 */
27083 fra.me.REG[2] = NIT_NULL;
27084 /* ./parser//parser.nit:9700 */
27085 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27086 /* ./parser//parser.nit:9701 */
27087 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27088 /* ./parser//parser.nit:9702 */
27089 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27090 /* ./parser//parser.nit:9703 */
27091 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27092 /* ./parser//parser.nit:9705 */
27093 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*/;
27094 if (UNTAG_Bool(REGB0)) {
27095 } else {
27096 nit_abort("Assert failed", NULL, LOCATE_parser, 9705);
27097 }
27098 /* ./parser//parser.nit:9707 */
27099 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*/;
27100 if (UNTAG_Bool(REGB0)) {
27101 } else {
27102 nit_abort("Assert failed", NULL, LOCATE_parser, 9707);
27103 }
27104 /* ./parser//parser.nit:9708 */
27105 fra.me.REG[3] = NEW_APercentExpr_parser___parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[4], fra.me.REG[3]);
27106 /* ./parser//parser.nit:9712 */
27107 fra.me.REG[2] = fra.me.REG[3];
27108 /* ./parser//parser.nit:9713 */
27109 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27110 if (UNTAG_Bool(REGB0)) {
27111 } else {
27112 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9713);
27113 }
27114 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27115 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27116 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27117 stack_frame_head = fra.me.prev;
27118 return;
27119 }
27120 void parser___ReduceAction329___action(val_t p0, val_t p1){
27121 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27122 val_t REGB0;
27123 val_t tmp;
27124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27125 fra.me.file = LOCATE_parser;
27126 fra.me.line = 9718;
27127 fra.me.meth = LOCATE_parser___ReduceAction329___action;
27128 fra.me.has_broke = 0;
27129 fra.me.REG_size = 5;
27130 fra.me.REG[0] = NIT_NULL;
27131 fra.me.REG[1] = NIT_NULL;
27132 fra.me.REG[2] = NIT_NULL;
27133 fra.me.REG[3] = NIT_NULL;
27134 fra.me.REG[4] = NIT_NULL;
27135 fra.me.REG[0] = p0;
27136 fra.me.REG[1] = p1;
27137 /* ./parser//parser.nit:9720 */
27138 fra.me.REG[2] = NIT_NULL;
27139 /* ./parser//parser.nit:9721 */
27140 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27141 /* ./parser//parser.nit:9722 */
27142 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27143 /* ./parser//parser.nit:9723 */
27144 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27145 /* ./parser//parser.nit:9725 */
27146 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*/;
27147 if (UNTAG_Bool(REGB0)) {
27148 } else {
27149 nit_abort("Assert failed", NULL, LOCATE_parser, 9725);
27150 }
27151 /* ./parser//parser.nit:9727 */
27152 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*/;
27153 if (UNTAG_Bool(REGB0)) {
27154 } else {
27155 nit_abort("Assert failed", NULL, LOCATE_parser, 9727);
27156 }
27157 /* ./parser//parser.nit:9728 */
27158 fra.me.REG[3] = NEW_AUminusExpr_parser___parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[4], fra.me.REG[3]);
27159 /* ./parser//parser.nit:9732 */
27160 fra.me.REG[2] = fra.me.REG[3];
27161 /* ./parser//parser.nit:9733 */
27162 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27163 if (UNTAG_Bool(REGB0)) {
27164 } else {
27165 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9733);
27166 }
27167 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27168 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27169 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27170 stack_frame_head = fra.me.prev;
27171 return;
27172 }
27173 void parser___ReduceAction330___action(val_t p0, val_t p1){
27174 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27175 val_t REGB0;
27176 val_t tmp;
27177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27178 fra.me.file = LOCATE_parser;
27179 fra.me.line = 9738;
27180 fra.me.meth = LOCATE_parser___ReduceAction330___action;
27181 fra.me.has_broke = 0;
27182 fra.me.REG_size = 5;
27183 fra.me.REG[0] = NIT_NULL;
27184 fra.me.REG[1] = NIT_NULL;
27185 fra.me.REG[2] = NIT_NULL;
27186 fra.me.REG[3] = NIT_NULL;
27187 fra.me.REG[4] = NIT_NULL;
27188 fra.me.REG[0] = p0;
27189 fra.me.REG[1] = p1;
27190 /* ./parser//parser.nit:9740 */
27191 fra.me.REG[2] = NIT_NULL;
27192 /* ./parser//parser.nit:9741 */
27193 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27194 /* ./parser//parser.nit:9742 */
27195 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27196 /* ./parser//parser.nit:9743 */
27197 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27198 /* ./parser//parser.nit:9745 */
27199 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*/;
27200 if (UNTAG_Bool(REGB0)) {
27201 } else {
27202 nit_abort("Assert failed", NULL, LOCATE_parser, 9745);
27203 }
27204 /* ./parser//parser.nit:9747 */
27205 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*/;
27206 if (UNTAG_Bool(REGB0)) {
27207 } else {
27208 nit_abort("Assert failed", NULL, LOCATE_parser, 9747);
27209 }
27210 /* ./parser//parser.nit:9748 */
27211 fra.me.REG[3] = NEW_AOnceExpr_parser___parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[4], fra.me.REG[3]);
27212 /* ./parser//parser.nit:9752 */
27213 fra.me.REG[2] = fra.me.REG[3];
27214 /* ./parser//parser.nit:9753 */
27215 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27216 if (UNTAG_Bool(REGB0)) {
27217 } else {
27218 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9753);
27219 }
27220 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27221 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27222 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27223 stack_frame_head = fra.me.prev;
27224 return;
27225 }
27226 void parser___ReduceAction332___action(val_t p0, val_t p1){
27227 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27228 val_t REGB0;
27229 val_t tmp;
27230 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27231 fra.me.file = LOCATE_parser;
27232 fra.me.line = 9758;
27233 fra.me.meth = LOCATE_parser___ReduceAction332___action;
27234 fra.me.has_broke = 0;
27235 fra.me.REG_size = 7;
27236 fra.me.REG[0] = NIT_NULL;
27237 fra.me.REG[1] = NIT_NULL;
27238 fra.me.REG[2] = NIT_NULL;
27239 fra.me.REG[3] = NIT_NULL;
27240 fra.me.REG[4] = NIT_NULL;
27241 fra.me.REG[5] = NIT_NULL;
27242 fra.me.REG[6] = NIT_NULL;
27243 fra.me.REG[0] = p0;
27244 fra.me.REG[1] = p1;
27245 /* ./parser//parser.nit:9760 */
27246 fra.me.REG[2] = NIT_NULL;
27247 /* ./parser//parser.nit:9761 */
27248 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27249 /* ./parser//parser.nit:9762 */
27250 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27251 /* ./parser//parser.nit:9763 */
27252 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27253 /* ./parser//parser.nit:9764 */
27254 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27255 /* ./parser//parser.nit:9765 */
27256 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
27257 /* ./parser//parser.nit:9767 */
27258 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*/;
27259 if (UNTAG_Bool(REGB0)) {
27260 } else {
27261 nit_abort("Assert failed", NULL, LOCATE_parser, 9767);
27262 }
27263 /* ./parser//parser.nit:9769 */
27264 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*/;
27265 if (UNTAG_Bool(REGB0)) {
27266 } else {
27267 nit_abort("Assert failed", NULL, LOCATE_parser, 9769);
27268 }
27269 /* ./parser//parser.nit:9771 */
27270 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]*/;
27271 if (UNTAG_Bool(REGB0)) {
27272 } else {
27273 nit_abort("Assert failed", NULL, LOCATE_parser, 9771);
27274 }
27275 /* ./parser//parser.nit:9772 */
27276 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
27277 fra.me.REG[6] = fra.me.REG[3];
27278 /* ./parser//parser.nit:9773 */
27279 fra.me.REG[6] = NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[6]);
27280 /* ./parser//parser.nit:9779 */
27281 fra.me.REG[2] = fra.me.REG[6];
27282 /* ./parser//parser.nit:9780 */
27283 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27284 if (UNTAG_Bool(REGB0)) {
27285 } else {
27286 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9780);
27287 }
27288 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27289 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27290 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27291 stack_frame_head = fra.me.prev;
27292 return;
27293 }
27294 void parser___ReduceAction333___action(val_t p0, val_t p1){
27295 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
27296 val_t REGB0;
27297 val_t tmp;
27298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27299 fra.me.file = LOCATE_parser;
27300 fra.me.line = 9785;
27301 fra.me.meth = LOCATE_parser___ReduceAction333___action;
27302 fra.me.has_broke = 0;
27303 fra.me.REG_size = 6;
27304 fra.me.REG[0] = NIT_NULL;
27305 fra.me.REG[1] = NIT_NULL;
27306 fra.me.REG[2] = NIT_NULL;
27307 fra.me.REG[3] = NIT_NULL;
27308 fra.me.REG[4] = NIT_NULL;
27309 fra.me.REG[5] = NIT_NULL;
27310 fra.me.REG[0] = p0;
27311 fra.me.REG[1] = p1;
27312 /* ./parser//parser.nit:9787 */
27313 fra.me.REG[2] = NIT_NULL;
27314 /* ./parser//parser.nit:9788 */
27315 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27316 /* ./parser//parser.nit:9789 */
27317 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27318 /* ./parser//parser.nit:9790 */
27319 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27320 /* ./parser//parser.nit:9791 */
27321 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27322 /* ./parser//parser.nit:9792 */
27323 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27324 /* ./parser//parser.nit:9794 */
27325 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*/;
27326 if (UNTAG_Bool(REGB0)) {
27327 } else {
27328 nit_abort("Assert failed", NULL, LOCATE_parser, 9794);
27329 }
27330 /* ./parser//parser.nit:9796 */
27331 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*/;
27332 if (UNTAG_Bool(REGB0)) {
27333 } else {
27334 nit_abort("Assert failed", NULL, LOCATE_parser, 9796);
27335 }
27336 /* ./parser//parser.nit:9798 */
27337 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*/;
27338 if (UNTAG_Bool(REGB0)) {
27339 } else {
27340 nit_abort("Assert failed", NULL, LOCATE_parser, 9798);
27341 }
27342 /* ./parser//parser.nit:9799 */
27343 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
27344 /* ./parser//parser.nit:9804 */
27345 fra.me.REG[2] = fra.me.REG[3];
27346 /* ./parser//parser.nit:9805 */
27347 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27348 if (UNTAG_Bool(REGB0)) {
27349 } else {
27350 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9805);
27351 }
27352 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27353 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27354 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27355 stack_frame_head = fra.me.prev;
27356 return;
27357 }
27358 void parser___ReduceAction334___action(val_t p0, val_t p1){
27359 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
27360 val_t REGB0;
27361 val_t tmp;
27362 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27363 fra.me.file = LOCATE_parser;
27364 fra.me.line = 9810;
27365 fra.me.meth = LOCATE_parser___ReduceAction334___action;
27366 fra.me.has_broke = 0;
27367 fra.me.REG_size = 6;
27368 fra.me.REG[0] = NIT_NULL;
27369 fra.me.REG[1] = NIT_NULL;
27370 fra.me.REG[2] = NIT_NULL;
27371 fra.me.REG[3] = NIT_NULL;
27372 fra.me.REG[4] = NIT_NULL;
27373 fra.me.REG[5] = NIT_NULL;
27374 fra.me.REG[0] = p0;
27375 fra.me.REG[1] = p1;
27376 /* ./parser//parser.nit:9812 */
27377 fra.me.REG[2] = NIT_NULL;
27378 /* ./parser//parser.nit:9813 */
27379 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27380 /* ./parser//parser.nit:9814 */
27381 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27382 /* ./parser//parser.nit:9816 */
27383 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*/;
27384 if (UNTAG_Bool(REGB0)) {
27385 } else {
27386 nit_abort("Assert failed", NULL, LOCATE_parser, 9816);
27387 }
27388 /* ./parser//parser.nit:9817 */
27389 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
27390 /* ./parser//parser.nit:9820 */
27391 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*/;
27392 if (UNTAG_Bool(REGB0)) {
27393 } else {
27394 nit_abort("Assert failed", NULL, LOCATE_parser, 9820);
27395 }
27396 /* ./parser//parser.nit:9821 */
27397 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
27398 /* ./parser//parser.nit:9826 */
27399 fra.me.REG[2] = fra.me.REG[3];
27400 /* ./parser//parser.nit:9827 */
27401 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27402 if (UNTAG_Bool(REGB0)) {
27403 } else {
27404 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9827);
27405 }
27406 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27407 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27408 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27409 stack_frame_head = fra.me.prev;
27410 return;
27411 }
27412 void parser___ReduceAction335___action(val_t p0, val_t p1){
27413 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27414 val_t REGB0;
27415 val_t tmp;
27416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27417 fra.me.file = LOCATE_parser;
27418 fra.me.line = 9832;
27419 fra.me.meth = LOCATE_parser___ReduceAction335___action;
27420 fra.me.has_broke = 0;
27421 fra.me.REG_size = 5;
27422 fra.me.REG[0] = NIT_NULL;
27423 fra.me.REG[1] = NIT_NULL;
27424 fra.me.REG[2] = NIT_NULL;
27425 fra.me.REG[3] = NIT_NULL;
27426 fra.me.REG[4] = NIT_NULL;
27427 fra.me.REG[0] = p0;
27428 fra.me.REG[1] = p1;
27429 /* ./parser//parser.nit:9834 */
27430 fra.me.REG[2] = NIT_NULL;
27431 /* ./parser//parser.nit:9835 */
27432 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27433 /* ./parser//parser.nit:9836 */
27434 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27435 /* ./parser//parser.nit:9837 */
27436 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27437 /* ./parser//parser.nit:9838 */
27438 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27439 /* ./parser//parser.nit:9840 */
27440 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*/;
27441 if (UNTAG_Bool(REGB0)) {
27442 } else {
27443 nit_abort("Assert failed", NULL, LOCATE_parser, 9840);
27444 }
27445 /* ./parser//parser.nit:9842 */
27446 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*/;
27447 if (UNTAG_Bool(REGB0)) {
27448 } else {
27449 nit_abort("Assert failed", NULL, LOCATE_parser, 9842);
27450 }
27451 /* ./parser//parser.nit:9843 */
27452 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
27453 /* ./parser//parser.nit:9847 */
27454 fra.me.REG[2] = fra.me.REG[3];
27455 /* ./parser//parser.nit:9848 */
27456 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27457 if (UNTAG_Bool(REGB0)) {
27458 } else {
27459 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9848);
27460 }
27461 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27462 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27463 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27464 stack_frame_head = fra.me.prev;
27465 return;
27466 }
27467 void parser___ReduceAction336___action(val_t p0, val_t p1){
27468 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27469 val_t REGB0;
27470 val_t tmp;
27471 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27472 fra.me.file = LOCATE_parser;
27473 fra.me.line = 9853;
27474 fra.me.meth = LOCATE_parser___ReduceAction336___action;
27475 fra.me.has_broke = 0;
27476 fra.me.REG_size = 5;
27477 fra.me.REG[0] = NIT_NULL;
27478 fra.me.REG[1] = NIT_NULL;
27479 fra.me.REG[2] = NIT_NULL;
27480 fra.me.REG[3] = NIT_NULL;
27481 fra.me.REG[4] = NIT_NULL;
27482 fra.me.REG[0] = p0;
27483 fra.me.REG[1] = p1;
27484 /* ./parser//parser.nit:9855 */
27485 fra.me.REG[2] = NIT_NULL;
27486 /* ./parser//parser.nit:9856 */
27487 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27488 /* ./parser//parser.nit:9857 */
27489 fra.me.REG[4] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
27490 /* ./parser//parser.nit:9860 */
27491 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*/;
27492 if (UNTAG_Bool(REGB0)) {
27493 } else {
27494 nit_abort("Assert failed", NULL, LOCATE_parser, 9860);
27495 }
27496 /* ./parser//parser.nit:9861 */
27497 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
27498 /* ./parser//parser.nit:9865 */
27499 fra.me.REG[2] = fra.me.REG[3];
27500 /* ./parser//parser.nit:9866 */
27501 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27502 if (UNTAG_Bool(REGB0)) {
27503 } else {
27504 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9866);
27505 }
27506 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27507 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27508 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27509 stack_frame_head = fra.me.prev;
27510 return;
27511 }
27512 void parser___ReduceAction343___action(val_t p0, val_t p1){
27513 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
27514 val_t REGB0;
27515 val_t tmp;
27516 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27517 fra.me.file = LOCATE_parser;
27518 fra.me.line = 9871;
27519 fra.me.meth = LOCATE_parser___ReduceAction343___action;
27520 fra.me.has_broke = 0;
27521 fra.me.REG_size = 7;
27522 fra.me.REG[0] = NIT_NULL;
27523 fra.me.REG[1] = NIT_NULL;
27524 fra.me.REG[2] = NIT_NULL;
27525 fra.me.REG[3] = NIT_NULL;
27526 fra.me.REG[4] = NIT_NULL;
27527 fra.me.REG[5] = NIT_NULL;
27528 fra.me.REG[6] = NIT_NULL;
27529 fra.me.REG[0] = p0;
27530 fra.me.REG[1] = p1;
27531 /* ./parser//parser.nit:9873 */
27532 fra.me.REG[2] = NIT_NULL;
27533 /* ./parser//parser.nit:9874 */
27534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27535 /* ./parser//parser.nit:9875 */
27536 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27537 /* ./parser//parser.nit:9876 */
27538 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
27539 /* ./parser//parser.nit:9877 */
27540 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
27541 /* ./parser//parser.nit:9879 */
27542 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*/;
27543 if (UNTAG_Bool(REGB0)) {
27544 } else {
27545 nit_abort("Assert failed", NULL, LOCATE_parser, 9879);
27546 }
27547 /* ./parser//parser.nit:9881 */
27548 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]*/;
27549 if (UNTAG_Bool(REGB0)) {
27550 } else {
27551 nit_abort("Assert failed", NULL, LOCATE_parser, 9881);
27552 }
27553 /* ./parser//parser.nit:9882 */
27554 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
27555 fra.me.REG[5] = fra.me.REG[3];
27556 /* ./parser//parser.nit:9883 */
27557 fra.me.REG[6] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
27558 /* ./parser//parser.nit:9888 */
27559 fra.me.REG[2] = fra.me.REG[6];
27560 /* ./parser//parser.nit:9889 */
27561 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27562 if (UNTAG_Bool(REGB0)) {
27563 } else {
27564 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9889);
27565 }
27566 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27567 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27568 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27569 stack_frame_head = fra.me.prev;
27570 return;
27571 }
27572 void parser___ReduceAction344___action(val_t p0, val_t p1){
27573 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
27574 val_t REGB0;
27575 val_t tmp;
27576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27577 fra.me.file = LOCATE_parser;
27578 fra.me.line = 9894;
27579 fra.me.meth = LOCATE_parser___ReduceAction344___action;
27580 fra.me.has_broke = 0;
27581 fra.me.REG_size = 8;
27582 fra.me.REG[0] = NIT_NULL;
27583 fra.me.REG[1] = NIT_NULL;
27584 fra.me.REG[2] = NIT_NULL;
27585 fra.me.REG[3] = NIT_NULL;
27586 fra.me.REG[4] = NIT_NULL;
27587 fra.me.REG[5] = NIT_NULL;
27588 fra.me.REG[6] = NIT_NULL;
27589 fra.me.REG[7] = NIT_NULL;
27590 fra.me.REG[0] = p0;
27591 fra.me.REG[1] = p1;
27592 /* ./parser//parser.nit:9896 */
27593 fra.me.REG[2] = NIT_NULL;
27594 /* ./parser//parser.nit:9897 */
27595 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27596 /* ./parser//parser.nit:9898 */
27597 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27598 /* ./parser//parser.nit:9899 */
27599 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27600 /* ./parser//parser.nit:9900 */
27601 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27602 /* ./parser//parser.nit:9901 */
27603 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27604 /* ./parser//parser.nit:9902 */
27605 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27606 /* ./parser//parser.nit:9903 */
27607 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27608 /* ./parser//parser.nit:9904 */
27609 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
27610 /* ./parser//parser.nit:9906 */
27611 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*/;
27612 if (UNTAG_Bool(REGB0)) {
27613 } else {
27614 nit_abort("Assert failed", NULL, LOCATE_parser, 9906);
27615 }
27616 /* ./parser//parser.nit:9908 */
27617 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*/;
27618 if (UNTAG_Bool(REGB0)) {
27619 } else {
27620 nit_abort("Assert failed", NULL, LOCATE_parser, 9908);
27621 }
27622 /* ./parser//parser.nit:9910 */
27623 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*/;
27624 if (UNTAG_Bool(REGB0)) {
27625 } else {
27626 nit_abort("Assert failed", NULL, LOCATE_parser, 9910);
27627 }
27628 /* ./parser//parser.nit:9912 */
27629 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]*/;
27630 if (UNTAG_Bool(REGB0)) {
27631 } else {
27632 nit_abort("Assert failed", NULL, LOCATE_parser, 9912);
27633 }
27634 /* ./parser//parser.nit:9913 */
27635 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
27636 fra.me.REG[7] = fra.me.REG[3];
27637 /* ./parser//parser.nit:9914 */
27638 fra.me.REG[7] = NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7]);
27639 /* ./parser//parser.nit:9920 */
27640 fra.me.REG[2] = fra.me.REG[7];
27641 /* ./parser//parser.nit:9921 */
27642 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27643 if (UNTAG_Bool(REGB0)) {
27644 } else {
27645 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9921);
27646 }
27647 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27648 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27649 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27650 stack_frame_head = fra.me.prev;
27651 return;
27652 }
27653 void parser___ReduceAction345___action(val_t p0, val_t p1){
27654 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
27655 val_t REGB0;
27656 val_t tmp;
27657 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27658 fra.me.file = LOCATE_parser;
27659 fra.me.line = 9926;
27660 fra.me.meth = LOCATE_parser___ReduceAction345___action;
27661 fra.me.has_broke = 0;
27662 fra.me.REG_size = 6;
27663 fra.me.REG[0] = NIT_NULL;
27664 fra.me.REG[1] = NIT_NULL;
27665 fra.me.REG[2] = NIT_NULL;
27666 fra.me.REG[3] = NIT_NULL;
27667 fra.me.REG[4] = NIT_NULL;
27668 fra.me.REG[5] = NIT_NULL;
27669 fra.me.REG[0] = p0;
27670 fra.me.REG[1] = p1;
27671 /* ./parser//parser.nit:9928 */
27672 fra.me.REG[2] = NIT_NULL;
27673 /* ./parser//parser.nit:9929 */
27674 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27675 /* ./parser//parser.nit:9930 */
27676 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27677 /* ./parser//parser.nit:9931 */
27678 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27679 /* ./parser//parser.nit:9932 */
27680 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27681 /* ./parser//parser.nit:9933 */
27682 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27683 /* ./parser//parser.nit:9934 */
27684 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27685 /* ./parser//parser.nit:9935 */
27686 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27687 /* ./parser//parser.nit:9936 */
27688 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27689 /* ./parser//parser.nit:9937 */
27690 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27691 /* ./parser//parser.nit:9939 */
27692 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*/;
27693 if (UNTAG_Bool(REGB0)) {
27694 } else {
27695 nit_abort("Assert failed", NULL, LOCATE_parser, 9939);
27696 }
27697 /* ./parser//parser.nit:9941 */
27698 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*/;
27699 if (UNTAG_Bool(REGB0)) {
27700 } else {
27701 nit_abort("Assert failed", NULL, LOCATE_parser, 9941);
27702 }
27703 /* ./parser//parser.nit:9942 */
27704 fra.me.REG[3] = NEW_ACrangeExpr_parser___parser_prod___ACrangeExpr___init_acrangeexpr(fra.me.REG[4], fra.me.REG[3]);
27705 /* ./parser//parser.nit:9946 */
27706 fra.me.REG[2] = fra.me.REG[3];
27707 /* ./parser//parser.nit:9947 */
27708 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27709 if (UNTAG_Bool(REGB0)) {
27710 } else {
27711 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9947);
27712 }
27713 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27714 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27715 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27716 stack_frame_head = fra.me.prev;
27717 return;
27718 }
27719 void parser___ReduceAction346___action(val_t p0, val_t p1){
27720 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
27721 val_t REGB0;
27722 val_t tmp;
27723 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27724 fra.me.file = LOCATE_parser;
27725 fra.me.line = 9952;
27726 fra.me.meth = LOCATE_parser___ReduceAction346___action;
27727 fra.me.has_broke = 0;
27728 fra.me.REG_size = 6;
27729 fra.me.REG[0] = NIT_NULL;
27730 fra.me.REG[1] = NIT_NULL;
27731 fra.me.REG[2] = NIT_NULL;
27732 fra.me.REG[3] = NIT_NULL;
27733 fra.me.REG[4] = NIT_NULL;
27734 fra.me.REG[5] = NIT_NULL;
27735 fra.me.REG[0] = p0;
27736 fra.me.REG[1] = p1;
27737 /* ./parser//parser.nit:9954 */
27738 fra.me.REG[2] = NIT_NULL;
27739 /* ./parser//parser.nit:9955 */
27740 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27741 /* ./parser//parser.nit:9956 */
27742 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27743 /* ./parser//parser.nit:9957 */
27744 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27745 /* ./parser//parser.nit:9958 */
27746 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27747 /* ./parser//parser.nit:9959 */
27748 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27749 /* ./parser//parser.nit:9960 */
27750 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27751 /* ./parser//parser.nit:9961 */
27752 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27753 /* ./parser//parser.nit:9962 */
27754 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27755 /* ./parser//parser.nit:9963 */
27756 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27757 /* ./parser//parser.nit:9965 */
27758 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*/;
27759 if (UNTAG_Bool(REGB0)) {
27760 } else {
27761 nit_abort("Assert failed", NULL, LOCATE_parser, 9965);
27762 }
27763 /* ./parser//parser.nit:9967 */
27764 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*/;
27765 if (UNTAG_Bool(REGB0)) {
27766 } else {
27767 nit_abort("Assert failed", NULL, LOCATE_parser, 9967);
27768 }
27769 /* ./parser//parser.nit:9968 */
27770 fra.me.REG[3] = NEW_AOrangeExpr_parser___parser_prod___AOrangeExpr___init_aorangeexpr(fra.me.REG[4], fra.me.REG[3]);
27771 /* ./parser//parser.nit:9972 */
27772 fra.me.REG[2] = fra.me.REG[3];
27773 /* ./parser//parser.nit:9973 */
27774 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27775 if (UNTAG_Bool(REGB0)) {
27776 } else {
27777 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9973);
27778 }
27779 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27780 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27781 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27782 stack_frame_head = fra.me.prev;
27783 return;
27784 }
27785 void parser___ReduceAction347___action(val_t p0, val_t p1){
27786 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27787 val_t REGB0;
27788 val_t tmp;
27789 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27790 fra.me.file = LOCATE_parser;
27791 fra.me.line = 9978;
27792 fra.me.meth = LOCATE_parser___ReduceAction347___action;
27793 fra.me.has_broke = 0;
27794 fra.me.REG_size = 5;
27795 fra.me.REG[0] = NIT_NULL;
27796 fra.me.REG[1] = NIT_NULL;
27797 fra.me.REG[2] = NIT_NULL;
27798 fra.me.REG[3] = NIT_NULL;
27799 fra.me.REG[4] = NIT_NULL;
27800 fra.me.REG[0] = p0;
27801 fra.me.REG[1] = p1;
27802 /* ./parser//parser.nit:9980 */
27803 fra.me.REG[2] = NIT_NULL;
27804 /* ./parser//parser.nit:9981 */
27805 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27806 /* ./parser//parser.nit:9982 */
27807 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
27808 /* ./parser//parser.nit:9984 */
27809 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]*/;
27810 if (UNTAG_Bool(REGB0)) {
27811 } else {
27812 nit_abort("Assert failed", NULL, LOCATE_parser, 9984);
27813 }
27814 /* ./parser//parser.nit:9985 */
27815 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
27816 fra.me.REG[4] = fra.me.REG[3];
27817 /* ./parser//parser.nit:9986 */
27818 fra.me.REG[4] = NEW_AArrayExpr_parser___parser_prod___AArrayExpr___init_aarrayexpr(fra.me.REG[4]);
27819 /* ./parser//parser.nit:9989 */
27820 fra.me.REG[2] = fra.me.REG[4];
27821 /* ./parser//parser.nit:9990 */
27822 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27823 if (UNTAG_Bool(REGB0)) {
27824 } else {
27825 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9990);
27826 }
27827 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27828 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27829 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27830 stack_frame_head = fra.me.prev;
27831 return;
27832 }
27833 void parser___ReduceAction348___action(val_t p0, val_t p1){
27834 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27835 val_t REGB0;
27836 val_t tmp;
27837 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27838 fra.me.file = LOCATE_parser;
27839 fra.me.line = 9995;
27840 fra.me.meth = LOCATE_parser___ReduceAction348___action;
27841 fra.me.has_broke = 0;
27842 fra.me.REG_size = 4;
27843 fra.me.REG[0] = NIT_NULL;
27844 fra.me.REG[1] = NIT_NULL;
27845 fra.me.REG[2] = NIT_NULL;
27846 fra.me.REG[3] = NIT_NULL;
27847 fra.me.REG[0] = p0;
27848 fra.me.REG[1] = p1;
27849 /* ./parser//parser.nit:9997 */
27850 fra.me.REG[2] = NIT_NULL;
27851 /* ./parser//parser.nit:9998 */
27852 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27853 /* ./parser//parser.nit:10000 */
27854 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*/;
27855 if (UNTAG_Bool(REGB0)) {
27856 } else {
27857 nit_abort("Assert failed", NULL, LOCATE_parser, 10000);
27858 }
27859 /* ./parser//parser.nit:10001 */
27860 fra.me.REG[3] = NEW_ASelfExpr_parser___parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[3]);
27861 /* ./parser//parser.nit:10004 */
27862 fra.me.REG[2] = fra.me.REG[3];
27863 /* ./parser//parser.nit:10005 */
27864 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27865 if (UNTAG_Bool(REGB0)) {
27866 } else {
27867 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10005);
27868 }
27869 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27870 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27871 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27872 stack_frame_head = fra.me.prev;
27873 return;
27874 }
27875 void parser___ReduceAction349___action(val_t p0, val_t p1){
27876 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27877 val_t REGB0;
27878 val_t tmp;
27879 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27880 fra.me.file = LOCATE_parser;
27881 fra.me.line = 10010;
27882 fra.me.meth = LOCATE_parser___ReduceAction349___action;
27883 fra.me.has_broke = 0;
27884 fra.me.REG_size = 4;
27885 fra.me.REG[0] = NIT_NULL;
27886 fra.me.REG[1] = NIT_NULL;
27887 fra.me.REG[2] = NIT_NULL;
27888 fra.me.REG[3] = NIT_NULL;
27889 fra.me.REG[0] = p0;
27890 fra.me.REG[1] = p1;
27891 /* ./parser//parser.nit:10012 */
27892 fra.me.REG[2] = NIT_NULL;
27893 /* ./parser//parser.nit:10013 */
27894 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27895 /* ./parser//parser.nit:10015 */
27896 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*/;
27897 if (UNTAG_Bool(REGB0)) {
27898 } else {
27899 nit_abort("Assert failed", NULL, LOCATE_parser, 10015);
27900 }
27901 /* ./parser//parser.nit:10016 */
27902 fra.me.REG[3] = NEW_ATrueExpr_parser___parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[3]);
27903 /* ./parser//parser.nit:10019 */
27904 fra.me.REG[2] = fra.me.REG[3];
27905 /* ./parser//parser.nit:10020 */
27906 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27907 if (UNTAG_Bool(REGB0)) {
27908 } else {
27909 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10020);
27910 }
27911 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27912 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27913 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27914 stack_frame_head = fra.me.prev;
27915 return;
27916 }
27917 void parser___ReduceAction350___action(val_t p0, val_t p1){
27918 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27919 val_t REGB0;
27920 val_t tmp;
27921 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27922 fra.me.file = LOCATE_parser;
27923 fra.me.line = 10025;
27924 fra.me.meth = LOCATE_parser___ReduceAction350___action;
27925 fra.me.has_broke = 0;
27926 fra.me.REG_size = 4;
27927 fra.me.REG[0] = NIT_NULL;
27928 fra.me.REG[1] = NIT_NULL;
27929 fra.me.REG[2] = NIT_NULL;
27930 fra.me.REG[3] = NIT_NULL;
27931 fra.me.REG[0] = p0;
27932 fra.me.REG[1] = p1;
27933 /* ./parser//parser.nit:10027 */
27934 fra.me.REG[2] = NIT_NULL;
27935 /* ./parser//parser.nit:10028 */
27936 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27937 /* ./parser//parser.nit:10030 */
27938 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*/;
27939 if (UNTAG_Bool(REGB0)) {
27940 } else {
27941 nit_abort("Assert failed", NULL, LOCATE_parser, 10030);
27942 }
27943 /* ./parser//parser.nit:10031 */
27944 fra.me.REG[3] = NEW_AFalseExpr_parser___parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[3]);
27945 /* ./parser//parser.nit:10034 */
27946 fra.me.REG[2] = fra.me.REG[3];
27947 /* ./parser//parser.nit:10035 */
27948 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27949 if (UNTAG_Bool(REGB0)) {
27950 } else {
27951 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10035);
27952 }
27953 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27954 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27955 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27956 stack_frame_head = fra.me.prev;
27957 return;
27958 }
27959 void parser___ReduceAction351___action(val_t p0, val_t p1){
27960 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27961 val_t REGB0;
27962 val_t tmp;
27963 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27964 fra.me.file = LOCATE_parser;
27965 fra.me.line = 10040;
27966 fra.me.meth = LOCATE_parser___ReduceAction351___action;
27967 fra.me.has_broke = 0;
27968 fra.me.REG_size = 4;
27969 fra.me.REG[0] = NIT_NULL;
27970 fra.me.REG[1] = NIT_NULL;
27971 fra.me.REG[2] = NIT_NULL;
27972 fra.me.REG[3] = NIT_NULL;
27973 fra.me.REG[0] = p0;
27974 fra.me.REG[1] = p1;
27975 /* ./parser//parser.nit:10042 */
27976 fra.me.REG[2] = NIT_NULL;
27977 /* ./parser//parser.nit:10043 */
27978 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27979 /* ./parser//parser.nit:10045 */
27980 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*/;
27981 if (UNTAG_Bool(REGB0)) {
27982 } else {
27983 nit_abort("Assert failed", NULL, LOCATE_parser, 10045);
27984 }
27985 /* ./parser//parser.nit:10046 */
27986 fra.me.REG[3] = NEW_ANullExpr_parser___parser_prod___ANullExpr___init_anullexpr(fra.me.REG[3]);
27987 /* ./parser//parser.nit:10049 */
27988 fra.me.REG[2] = fra.me.REG[3];
27989 /* ./parser//parser.nit:10050 */
27990 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27991 if (UNTAG_Bool(REGB0)) {
27992 } else {
27993 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10050);
27994 }
27995 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27996 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27997 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27998 stack_frame_head = fra.me.prev;
27999 return;
28000 }
28001 void parser___ReduceAction352___action(val_t p0, val_t p1){
28002 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28003 val_t REGB0;
28004 val_t tmp;
28005 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28006 fra.me.file = LOCATE_parser;
28007 fra.me.line = 10055;
28008 fra.me.meth = LOCATE_parser___ReduceAction352___action;
28009 fra.me.has_broke = 0;
28010 fra.me.REG_size = 4;
28011 fra.me.REG[0] = NIT_NULL;
28012 fra.me.REG[1] = NIT_NULL;
28013 fra.me.REG[2] = NIT_NULL;
28014 fra.me.REG[3] = NIT_NULL;
28015 fra.me.REG[0] = p0;
28016 fra.me.REG[1] = p1;
28017 /* ./parser//parser.nit:10057 */
28018 fra.me.REG[2] = NIT_NULL;
28019 /* ./parser//parser.nit:10058 */
28020 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28021 /* ./parser//parser.nit:10060 */
28022 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*/;
28023 if (UNTAG_Bool(REGB0)) {
28024 } else {
28025 nit_abort("Assert failed", NULL, LOCATE_parser, 10060);
28026 }
28027 /* ./parser//parser.nit:10061 */
28028 fra.me.REG[3] = NEW_AIntExpr_parser___parser_prod___AIntExpr___init_aintexpr(fra.me.REG[3]);
28029 /* ./parser//parser.nit:10064 */
28030 fra.me.REG[2] = fra.me.REG[3];
28031 /* ./parser//parser.nit:10065 */
28032 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28033 if (UNTAG_Bool(REGB0)) {
28034 } else {
28035 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10065);
28036 }
28037 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28038 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28039 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28040 stack_frame_head = fra.me.prev;
28041 return;
28042 }
28043 void parser___ReduceAction353___action(val_t p0, val_t p1){
28044 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28045 val_t REGB0;
28046 val_t tmp;
28047 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28048 fra.me.file = LOCATE_parser;
28049 fra.me.line = 10070;
28050 fra.me.meth = LOCATE_parser___ReduceAction353___action;
28051 fra.me.has_broke = 0;
28052 fra.me.REG_size = 4;
28053 fra.me.REG[0] = NIT_NULL;
28054 fra.me.REG[1] = NIT_NULL;
28055 fra.me.REG[2] = NIT_NULL;
28056 fra.me.REG[3] = NIT_NULL;
28057 fra.me.REG[0] = p0;
28058 fra.me.REG[1] = p1;
28059 /* ./parser//parser.nit:10072 */
28060 fra.me.REG[2] = NIT_NULL;
28061 /* ./parser//parser.nit:10073 */
28062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28063 /* ./parser//parser.nit:10075 */
28064 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*/;
28065 if (UNTAG_Bool(REGB0)) {
28066 } else {
28067 nit_abort("Assert failed", NULL, LOCATE_parser, 10075);
28068 }
28069 /* ./parser//parser.nit:10076 */
28070 fra.me.REG[3] = NEW_AFloatExpr_parser___parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[3]);
28071 /* ./parser//parser.nit:10079 */
28072 fra.me.REG[2] = fra.me.REG[3];
28073 /* ./parser//parser.nit:10080 */
28074 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28075 if (UNTAG_Bool(REGB0)) {
28076 } else {
28077 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10080);
28078 }
28079 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28080 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28081 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28082 stack_frame_head = fra.me.prev;
28083 return;
28084 }
28085 void parser___ReduceAction354___action(val_t p0, val_t p1){
28086 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28087 val_t REGB0;
28088 val_t tmp;
28089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28090 fra.me.file = LOCATE_parser;
28091 fra.me.line = 10085;
28092 fra.me.meth = LOCATE_parser___ReduceAction354___action;
28093 fra.me.has_broke = 0;
28094 fra.me.REG_size = 4;
28095 fra.me.REG[0] = NIT_NULL;
28096 fra.me.REG[1] = NIT_NULL;
28097 fra.me.REG[2] = NIT_NULL;
28098 fra.me.REG[3] = NIT_NULL;
28099 fra.me.REG[0] = p0;
28100 fra.me.REG[1] = p1;
28101 /* ./parser//parser.nit:10087 */
28102 fra.me.REG[2] = NIT_NULL;
28103 /* ./parser//parser.nit:10088 */
28104 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28105 /* ./parser//parser.nit:10090 */
28106 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*/;
28107 if (UNTAG_Bool(REGB0)) {
28108 } else {
28109 nit_abort("Assert failed", NULL, LOCATE_parser, 10090);
28110 }
28111 /* ./parser//parser.nit:10091 */
28112 fra.me.REG[3] = NEW_ACharExpr_parser___parser_prod___ACharExpr___init_acharexpr(fra.me.REG[3]);
28113 /* ./parser//parser.nit:10094 */
28114 fra.me.REG[2] = fra.me.REG[3];
28115 /* ./parser//parser.nit:10095 */
28116 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28117 if (UNTAG_Bool(REGB0)) {
28118 } else {
28119 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10095);
28120 }
28121 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28122 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28123 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28124 stack_frame_head = fra.me.prev;
28125 return;
28126 }
28127 void parser___ReduceAction355___action(val_t p0, val_t p1){
28128 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28129 val_t REGB0;
28130 val_t tmp;
28131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28132 fra.me.file = LOCATE_parser;
28133 fra.me.line = 10100;
28134 fra.me.meth = LOCATE_parser___ReduceAction355___action;
28135 fra.me.has_broke = 0;
28136 fra.me.REG_size = 4;
28137 fra.me.REG[0] = NIT_NULL;
28138 fra.me.REG[1] = NIT_NULL;
28139 fra.me.REG[2] = NIT_NULL;
28140 fra.me.REG[3] = NIT_NULL;
28141 fra.me.REG[0] = p0;
28142 fra.me.REG[1] = p1;
28143 /* ./parser//parser.nit:10102 */
28144 fra.me.REG[2] = NIT_NULL;
28145 /* ./parser//parser.nit:10103 */
28146 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28147 /* ./parser//parser.nit:10105 */
28148 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*/;
28149 if (UNTAG_Bool(REGB0)) {
28150 } else {
28151 nit_abort("Assert failed", NULL, LOCATE_parser, 10105);
28152 }
28153 /* ./parser//parser.nit:10106 */
28154 fra.me.REG[3] = NEW_AStringExpr_parser___parser_prod___AStringExpr___init_astringexpr(fra.me.REG[3]);
28155 /* ./parser//parser.nit:10109 */
28156 fra.me.REG[2] = fra.me.REG[3];
28157 /* ./parser//parser.nit:10110 */
28158 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28159 if (UNTAG_Bool(REGB0)) {
28160 } else {
28161 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10110);
28162 }
28163 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28164 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28165 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28166 stack_frame_head = fra.me.prev;
28167 return;
28168 }
28169 void parser___ReduceAction358___action(val_t p0, val_t p1){
28170 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28171 val_t REGB0;
28172 val_t tmp;
28173 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28174 fra.me.file = LOCATE_parser;
28175 fra.me.line = 10115;
28176 fra.me.meth = LOCATE_parser___ReduceAction358___action;
28177 fra.me.has_broke = 0;
28178 fra.me.REG_size = 6;
28179 fra.me.REG[0] = NIT_NULL;
28180 fra.me.REG[1] = NIT_NULL;
28181 fra.me.REG[2] = NIT_NULL;
28182 fra.me.REG[3] = NIT_NULL;
28183 fra.me.REG[4] = NIT_NULL;
28184 fra.me.REG[5] = NIT_NULL;
28185 fra.me.REG[0] = p0;
28186 fra.me.REG[1] = p1;
28187 /* ./parser//parser.nit:10117 */
28188 fra.me.REG[2] = NIT_NULL;
28189 /* ./parser//parser.nit:10118 */
28190 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28191 /* ./parser//parser.nit:10119 */
28192 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28193 /* ./parser//parser.nit:10120 */
28194 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28195 /* ./parser//parser.nit:10121 */
28196 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28197 /* ./parser//parser.nit:10122 */
28198 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28199 /* ./parser//parser.nit:10123 */
28200 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28201 /* ./parser//parser.nit:10124 */
28202 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28203 /* ./parser//parser.nit:10125 */
28204 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28205 /* ./parser//parser.nit:10126 */
28206 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28207 /* ./parser//parser.nit:10127 */
28208 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28209 /* ./parser//parser.nit:10129 */
28210 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*/;
28211 if (UNTAG_Bool(REGB0)) {
28212 } else {
28213 nit_abort("Assert failed", NULL, LOCATE_parser, 10129);
28214 }
28215 /* ./parser//parser.nit:10131 */
28216 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*/;
28217 if (UNTAG_Bool(REGB0)) {
28218 } else {
28219 nit_abort("Assert failed", NULL, LOCATE_parser, 10131);
28220 }
28221 /* ./parser//parser.nit:10133 */
28222 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*/;
28223 if (UNTAG_Bool(REGB0)) {
28224 } else {
28225 nit_abort("Assert failed", NULL, LOCATE_parser, 10133);
28226 }
28227 /* ./parser//parser.nit:10134 */
28228 fra.me.REG[3] = NEW_AAsCastExpr_parser___parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28229 /* ./parser//parser.nit:10139 */
28230 fra.me.REG[2] = fra.me.REG[3];
28231 /* ./parser//parser.nit:10140 */
28232 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28233 if (UNTAG_Bool(REGB0)) {
28234 } else {
28235 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10140);
28236 }
28237 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28238 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28239 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28240 stack_frame_head = fra.me.prev;
28241 return;
28242 }
28243 void parser___ReduceAction359___action(val_t p0, val_t p1){
28244 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
28245 val_t REGB0;
28246 val_t tmp;
28247 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28248 fra.me.file = LOCATE_parser;
28249 fra.me.line = 10145;
28250 fra.me.meth = LOCATE_parser___ReduceAction359___action;
28251 fra.me.has_broke = 0;
28252 fra.me.REG_size = 7;
28253 fra.me.REG[0] = NIT_NULL;
28254 fra.me.REG[1] = NIT_NULL;
28255 fra.me.REG[2] = NIT_NULL;
28256 fra.me.REG[3] = NIT_NULL;
28257 fra.me.REG[4] = NIT_NULL;
28258 fra.me.REG[5] = NIT_NULL;
28259 fra.me.REG[6] = NIT_NULL;
28260 fra.me.REG[0] = p0;
28261 fra.me.REG[1] = p1;
28262 /* ./parser//parser.nit:10147 */
28263 fra.me.REG[2] = NIT_NULL;
28264 /* ./parser//parser.nit:10148 */
28265 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28266 /* ./parser//parser.nit:10149 */
28267 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28268 /* ./parser//parser.nit:10150 */
28269 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28270 /* ./parser//parser.nit:10151 */
28271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28272 /* ./parser//parser.nit:10152 */
28273 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28274 /* ./parser//parser.nit:10153 */
28275 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28276 /* ./parser//parser.nit:10154 */
28277 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28278 /* ./parser//parser.nit:10155 */
28279 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28280 /* ./parser//parser.nit:10156 */
28281 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28282 /* ./parser//parser.nit:10157 */
28283 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28284 /* ./parser//parser.nit:10158 */
28285 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28286 /* ./parser//parser.nit:10159 */
28287 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28288 /* ./parser//parser.nit:10161 */
28289 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*/;
28290 if (UNTAG_Bool(REGB0)) {
28291 } else {
28292 nit_abort("Assert failed", NULL, LOCATE_parser, 10161);
28293 }
28294 /* ./parser//parser.nit:10163 */
28295 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*/;
28296 if (UNTAG_Bool(REGB0)) {
28297 } else {
28298 nit_abort("Assert failed", NULL, LOCATE_parser, 10163);
28299 }
28300 /* ./parser//parser.nit:10165 */
28301 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*/;
28302 if (UNTAG_Bool(REGB0)) {
28303 } else {
28304 nit_abort("Assert failed", NULL, LOCATE_parser, 10165);
28305 }
28306 /* ./parser//parser.nit:10167 */
28307 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*/;
28308 if (UNTAG_Bool(REGB0)) {
28309 } else {
28310 nit_abort("Assert failed", NULL, LOCATE_parser, 10167);
28311 }
28312 /* ./parser//parser.nit:10168 */
28313 fra.me.REG[3] = NEW_AAsNotnullExpr_parser___parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28314 /* ./parser//parser.nit:10174 */
28315 fra.me.REG[2] = fra.me.REG[3];
28316 /* ./parser//parser.nit:10175 */
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, 10175);
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___ReduceAction360___action(val_t p0, val_t p1){
28329 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28330 val_t REGB0;
28331 val_t REGB1;
28332 val_t tmp;
28333 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28334 fra.me.file = LOCATE_parser;
28335 fra.me.line = 10180;
28336 fra.me.meth = LOCATE_parser___ReduceAction360___action;
28337 fra.me.has_broke = 0;
28338 fra.me.REG_size = 6;
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[5] = NIT_NULL;
28345 fra.me.REG[0] = p0;
28346 fra.me.REG[1] = p1;
28347 /* ./parser//parser.nit:10182 */
28348 fra.me.REG[2] = NIT_NULL;
28349 /* ./parser//parser.nit:10183 */
28350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28351 /* ./parser//parser.nit:10184 */
28352 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28353 /* ./parser//parser.nit:10185 */
28354 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
28355 /* ./parser//parser.nit:10187 */
28356 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]*/;
28357 if (UNTAG_Bool(REGB0)) {
28358 } else {
28359 nit_abort("Assert failed", NULL, LOCATE_parser, 10187);
28360 }
28361 /* ./parser//parser.nit:10189 */
28362 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*/;
28363 if (UNTAG_Bool(REGB0)) {
28364 } else {
28365 nit_abort("Assert failed", NULL, LOCATE_parser, 10189);
28366 }
28367 /* ./parser//parser.nit:10190 */
28368 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
28369 fra.me.REG[5] = fra.me.REG[4];
28370 /* ./parser//parser.nit:10191 */
28371 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28372 if (UNTAG_Bool(REGB0)) {
28373 } else {
28374 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28375 if (UNTAG_Bool(REGB1)) {
28376 REGB1 = TAG_Bool(false);
28377 REGB0 = REGB1;
28378 } else {
28379 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
28380 REGB0 = REGB1;
28381 }
28382 }
28383 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28384 if (UNTAG_Bool(REGB0)) {
28385 /* ./parser//parser.nit:10192 */
28386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
28387 }
28388 /* ./parser//parser.nit:10194 */
28389 fra.me.REG[5] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[5]);
28390 /* ./parser//parser.nit:10197 */
28391 fra.me.REG[2] = fra.me.REG[5];
28392 /* ./parser//parser.nit:10198 */
28393 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28394 if (UNTAG_Bool(REGB0)) {
28395 } else {
28396 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10198);
28397 }
28398 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28400 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28401 stack_frame_head = fra.me.prev;
28402 return;
28403 }
28404 void parser___ReduceAction361___action(val_t p0, val_t p1){
28405 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
28406 val_t REGB0;
28407 val_t REGB1;
28408 val_t tmp;
28409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28410 fra.me.file = LOCATE_parser;
28411 fra.me.line = 10203;
28412 fra.me.meth = LOCATE_parser___ReduceAction361___action;
28413 fra.me.has_broke = 0;
28414 fra.me.REG_size = 7;
28415 fra.me.REG[0] = NIT_NULL;
28416 fra.me.REG[1] = NIT_NULL;
28417 fra.me.REG[2] = NIT_NULL;
28418 fra.me.REG[3] = NIT_NULL;
28419 fra.me.REG[4] = NIT_NULL;
28420 fra.me.REG[5] = NIT_NULL;
28421 fra.me.REG[6] = NIT_NULL;
28422 fra.me.REG[0] = p0;
28423 fra.me.REG[1] = p1;
28424 /* ./parser//parser.nit:10205 */
28425 fra.me.REG[2] = NIT_NULL;
28426 /* ./parser//parser.nit:10206 */
28427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28428 /* ./parser//parser.nit:10207 */
28429 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28430 /* ./parser//parser.nit:10208 */
28431 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28432 /* ./parser//parser.nit:10209 */
28433 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
28434 /* ./parser//parser.nit:10211 */
28435 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]*/;
28436 if (UNTAG_Bool(REGB0)) {
28437 } else {
28438 nit_abort("Assert failed", NULL, LOCATE_parser, 10211);
28439 }
28440 /* ./parser//parser.nit:10213 */
28441 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]*/;
28442 if (UNTAG_Bool(REGB0)) {
28443 } else {
28444 nit_abort("Assert failed", NULL, LOCATE_parser, 10213);
28445 }
28446 /* ./parser//parser.nit:10215 */
28447 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*/;
28448 if (UNTAG_Bool(REGB0)) {
28449 } else {
28450 nit_abort("Assert failed", NULL, LOCATE_parser, 10215);
28451 }
28452 /* ./parser//parser.nit:10216 */
28453 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
28454 fra.me.REG[6] = fra.me.REG[5];
28455 /* ./parser//parser.nit:10217 */
28456 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
28457 fra.me.REG[6] = fra.me.REG[4];
28458 /* ./parser//parser.nit:10218 */
28459 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28460 if (UNTAG_Bool(REGB0)) {
28461 } else {
28462 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28463 if (UNTAG_Bool(REGB1)) {
28464 REGB1 = TAG_Bool(false);
28465 REGB0 = REGB1;
28466 } else {
28467 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
28468 REGB0 = REGB1;
28469 }
28470 }
28471 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28472 if (UNTAG_Bool(REGB0)) {
28473 /* ./parser//parser.nit:10219 */
28474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
28475 }
28476 /* ./parser//parser.nit:10221 */
28477 fra.me.REG[6] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[6]);
28478 /* ./parser//parser.nit:10224 */
28479 fra.me.REG[2] = fra.me.REG[6];
28480 /* ./parser//parser.nit:10225 */
28481 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28482 if (UNTAG_Bool(REGB0)) {
28483 } else {
28484 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10225);
28485 }
28486 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28487 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28489 stack_frame_head = fra.me.prev;
28490 return;
28491 }
28492 void parser___ReduceAction362___action(val_t p0, val_t p1){
28493 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28494 val_t REGB0;
28495 val_t REGB1;
28496 val_t tmp;
28497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28498 fra.me.file = LOCATE_parser;
28499 fra.me.line = 10230;
28500 fra.me.meth = LOCATE_parser___ReduceAction362___action;
28501 fra.me.has_broke = 0;
28502 fra.me.REG_size = 6;
28503 fra.me.REG[0] = NIT_NULL;
28504 fra.me.REG[1] = NIT_NULL;
28505 fra.me.REG[2] = NIT_NULL;
28506 fra.me.REG[3] = NIT_NULL;
28507 fra.me.REG[4] = NIT_NULL;
28508 fra.me.REG[5] = NIT_NULL;
28509 fra.me.REG[0] = p0;
28510 fra.me.REG[1] = p1;
28511 /* ./parser//parser.nit:10232 */
28512 fra.me.REG[2] = NIT_NULL;
28513 /* ./parser//parser.nit:10233 */
28514 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28515 /* ./parser//parser.nit:10234 */
28516 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28517 /* ./parser//parser.nit:10235 */
28518 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28519 /* ./parser//parser.nit:10236 */
28520 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28521 /* ./parser//parser.nit:10237 */
28522 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
28523 /* ./parser//parser.nit:10240 */
28524 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
28525 if (UNTAG_Bool(REGB0)) {
28526 } else {
28527 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
28528 if (UNTAG_Bool(REGB1)) {
28529 REGB1 = TAG_Bool(false);
28530 REGB0 = REGB1;
28531 } else {
28532 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
28533 REGB0 = REGB1;
28534 }
28535 }
28536 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28537 if (UNTAG_Bool(REGB0)) {
28538 /* ./parser//parser.nit:10241 */
28539 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
28540 }
28541 /* ./parser//parser.nit:10243 */
28542 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28543 if (UNTAG_Bool(REGB0)) {
28544 } else {
28545 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28546 if (UNTAG_Bool(REGB1)) {
28547 REGB1 = TAG_Bool(false);
28548 REGB0 = REGB1;
28549 } else {
28550 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
28551 REGB0 = REGB1;
28552 }
28553 }
28554 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28555 if (UNTAG_Bool(REGB0)) {
28556 /* ./parser//parser.nit:10244 */
28557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
28558 }
28559 /* ./parser//parser.nit:10246 */
28560 fra.me.REG[2] = fra.me.REG[5];
28561 /* ./parser//parser.nit:10247 */
28562 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28563 if (UNTAG_Bool(REGB0)) {
28564 } else {
28565 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10247);
28566 }
28567 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28568 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28569 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28570 stack_frame_head = fra.me.prev;
28571 return;
28572 }
28573 void parser___ReduceAction363___action(val_t p0, val_t p1){
28574 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28575 val_t REGB0;
28576 val_t tmp;
28577 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28578 fra.me.file = LOCATE_parser;
28579 fra.me.line = 10252;
28580 fra.me.meth = LOCATE_parser___ReduceAction363___action;
28581 fra.me.has_broke = 0;
28582 fra.me.REG_size = 4;
28583 fra.me.REG[0] = NIT_NULL;
28584 fra.me.REG[1] = NIT_NULL;
28585 fra.me.REG[2] = NIT_NULL;
28586 fra.me.REG[3] = NIT_NULL;
28587 fra.me.REG[0] = p0;
28588 fra.me.REG[1] = p1;
28589 /* ./parser//parser.nit:10254 */
28590 fra.me.REG[2] = NIT_NULL;
28591 /* ./parser//parser.nit:10255 */
28592 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28593 /* ./parser//parser.nit:10257 */
28594 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*/;
28595 if (UNTAG_Bool(REGB0)) {
28596 } else {
28597 nit_abort("Assert failed", NULL, LOCATE_parser, 10257);
28598 }
28599 /* ./parser//parser.nit:10258 */
28600 fra.me.REG[3] = NEW_AStartStringExpr_parser___parser_prod___AStartStringExpr___init_astartstringexpr(fra.me.REG[3]);
28601 /* ./parser//parser.nit:10261 */
28602 fra.me.REG[2] = fra.me.REG[3];
28603 /* ./parser//parser.nit:10262 */
28604 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28605 if (UNTAG_Bool(REGB0)) {
28606 } else {
28607 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10262);
28608 }
28609 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28610 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28611 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28612 stack_frame_head = fra.me.prev;
28613 return;
28614 }
28615 void parser___ReduceAction365___action(val_t p0, val_t p1){
28616 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28617 val_t REGB0;
28618 val_t tmp;
28619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28620 fra.me.file = LOCATE_parser;
28621 fra.me.line = 10267;
28622 fra.me.meth = LOCATE_parser___ReduceAction365___action;
28623 fra.me.has_broke = 0;
28624 fra.me.REG_size = 4;
28625 fra.me.REG[0] = NIT_NULL;
28626 fra.me.REG[1] = NIT_NULL;
28627 fra.me.REG[2] = NIT_NULL;
28628 fra.me.REG[3] = NIT_NULL;
28629 fra.me.REG[0] = p0;
28630 fra.me.REG[1] = p1;
28631 /* ./parser//parser.nit:10269 */
28632 fra.me.REG[2] = NIT_NULL;
28633 /* ./parser//parser.nit:10270 */
28634 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28635 /* ./parser//parser.nit:10272 */
28636 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*/;
28637 if (UNTAG_Bool(REGB0)) {
28638 } else {
28639 nit_abort("Assert failed", NULL, LOCATE_parser, 10272);
28640 }
28641 /* ./parser//parser.nit:10273 */
28642 fra.me.REG[3] = NEW_AMidStringExpr_parser___parser_prod___AMidStringExpr___init_amidstringexpr(fra.me.REG[3]);
28643 /* ./parser//parser.nit:10276 */
28644 fra.me.REG[2] = fra.me.REG[3];
28645 /* ./parser//parser.nit:10277 */
28646 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28647 if (UNTAG_Bool(REGB0)) {
28648 } else {
28649 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10277);
28650 }
28651 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28652 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28653 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28654 stack_frame_head = fra.me.prev;
28655 return;
28656 }
28657 void parser___ReduceAction366___action(val_t p0, val_t p1){
28658 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28659 val_t REGB0;
28660 val_t tmp;
28661 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28662 fra.me.file = LOCATE_parser;
28663 fra.me.line = 10282;
28664 fra.me.meth = LOCATE_parser___ReduceAction366___action;
28665 fra.me.has_broke = 0;
28666 fra.me.REG_size = 4;
28667 fra.me.REG[0] = NIT_NULL;
28668 fra.me.REG[1] = NIT_NULL;
28669 fra.me.REG[2] = NIT_NULL;
28670 fra.me.REG[3] = NIT_NULL;
28671 fra.me.REG[0] = p0;
28672 fra.me.REG[1] = p1;
28673 /* ./parser//parser.nit:10284 */
28674 fra.me.REG[2] = NIT_NULL;
28675 /* ./parser//parser.nit:10285 */
28676 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28677 /* ./parser//parser.nit:10287 */
28678 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*/;
28679 if (UNTAG_Bool(REGB0)) {
28680 } else {
28681 nit_abort("Assert failed", NULL, LOCATE_parser, 10287);
28682 }
28683 /* ./parser//parser.nit:10288 */
28684 fra.me.REG[3] = NEW_AEndStringExpr_parser___parser_prod___AEndStringExpr___init_aendstringexpr(fra.me.REG[3]);
28685 /* ./parser//parser.nit:10291 */
28686 fra.me.REG[2] = fra.me.REG[3];
28687 /* ./parser//parser.nit:10292 */
28688 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28689 if (UNTAG_Bool(REGB0)) {
28690 } else {
28691 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10292);
28692 }
28693 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28694 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28695 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28696 stack_frame_head = fra.me.prev;
28697 return;
28698 }
28699 void parser___ReduceAction367___action(val_t p0, val_t p1){
28700 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
28701 val_t REGB0;
28702 val_t REGB1;
28703 val_t tmp;
28704 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28705 fra.me.file = LOCATE_parser;
28706 fra.me.line = 10297;
28707 fra.me.meth = LOCATE_parser___ReduceAction367___action;
28708 fra.me.has_broke = 0;
28709 fra.me.REG_size = 5;
28710 fra.me.REG[0] = NIT_NULL;
28711 fra.me.REG[1] = NIT_NULL;
28712 fra.me.REG[2] = NIT_NULL;
28713 fra.me.REG[3] = NIT_NULL;
28714 fra.me.REG[4] = NIT_NULL;
28715 fra.me.REG[0] = p0;
28716 fra.me.REG[1] = p1;
28717 /* ./parser//parser.nit:10299 */
28718 fra.me.REG[2] = NIT_NULL;
28719 /* ./parser//parser.nit:10300 */
28720 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28721 /* ./parser//parser.nit:10301 */
28722 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28723 /* ./parser//parser.nit:10302 */
28724 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28725 /* ./parser//parser.nit:10303 */
28726 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28727 /* ./parser//parser.nit:10304 */
28728 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28729 /* ./parser//parser.nit:10305 */
28730 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
28731 /* ./parser//parser.nit:10307 */
28732 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28733 if (UNTAG_Bool(REGB0)) {
28734 } else {
28735 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28736 if (UNTAG_Bool(REGB1)) {
28737 REGB1 = TAG_Bool(false);
28738 REGB0 = REGB1;
28739 } else {
28740 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
28741 REGB0 = REGB1;
28742 }
28743 }
28744 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28745 if (UNTAG_Bool(REGB0)) {
28746 /* ./parser//parser.nit:10308 */
28747 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
28748 }
28749 /* ./parser//parser.nit:10310 */
28750 fra.me.REG[2] = fra.me.REG[4];
28751 /* ./parser//parser.nit:10311 */
28752 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28753 if (UNTAG_Bool(REGB0)) {
28754 } else {
28755 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10311);
28756 }
28757 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28758 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28759 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28760 stack_frame_head = fra.me.prev;
28761 return;
28762 }
28763 void parser___ReduceAction368___action(val_t p0, val_t p1){
28764 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
28765 val_t REGB0;
28766 val_t REGB1;
28767 val_t tmp;
28768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28769 fra.me.file = LOCATE_parser;
28770 fra.me.line = 10316;
28771 fra.me.meth = LOCATE_parser___ReduceAction368___action;
28772 fra.me.has_broke = 0;
28773 fra.me.REG_size = 6;
28774 fra.me.REG[0] = NIT_NULL;
28775 fra.me.REG[1] = NIT_NULL;
28776 fra.me.REG[2] = NIT_NULL;
28777 fra.me.REG[3] = NIT_NULL;
28778 fra.me.REG[4] = NIT_NULL;
28779 fra.me.REG[5] = NIT_NULL;
28780 fra.me.REG[0] = p0;
28781 fra.me.REG[1] = p1;
28782 /* ./parser//parser.nit:10318 */
28783 fra.me.REG[2] = NIT_NULL;
28784 /* ./parser//parser.nit:10319 */
28785 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28786 /* ./parser//parser.nit:10320 */
28787 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28788 /* ./parser//parser.nit:10321 */
28789 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28790 /* ./parser//parser.nit:10322 */
28791 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28792 /* ./parser//parser.nit:10323 */
28793 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28794 /* ./parser//parser.nit:10324 */
28795 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28796 /* ./parser//parser.nit:10325 */
28797 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
28798 /* ./parser//parser.nit:10328 */
28799 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]*/;
28800 if (UNTAG_Bool(REGB0)) {
28801 } else {
28802 nit_abort("Assert failed", NULL, LOCATE_parser, 10328);
28803 }
28804 /* ./parser//parser.nit:10329 */
28805 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
28806 if (UNTAG_Bool(REGB0)) {
28807 } else {
28808 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
28809 if (UNTAG_Bool(REGB1)) {
28810 REGB1 = TAG_Bool(false);
28811 REGB0 = REGB1;
28812 } else {
28813 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
28814 REGB0 = REGB1;
28815 }
28816 }
28817 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28818 if (UNTAG_Bool(REGB0)) {
28819 /* ./parser//parser.nit:10330 */
28820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
28821 }
28822 /* ./parser//parser.nit:10332 */
28823 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
28824 fra.me.REG[5] = fra.me.REG[3];
28825 /* ./parser//parser.nit:10333 */
28826 fra.me.REG[2] = fra.me.REG[5];
28827 /* ./parser//parser.nit:10334 */
28828 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28829 if (UNTAG_Bool(REGB0)) {
28830 } else {
28831 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10334);
28832 }
28833 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28834 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28835 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28836 stack_frame_head = fra.me.prev;
28837 return;
28838 }
28839 void parser___ReduceAction370___action(val_t p0, val_t p1){
28840 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28841 val_t REGB0;
28842 val_t tmp;
28843 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28844 fra.me.file = LOCATE_parser;
28845 fra.me.line = 10339;
28846 fra.me.meth = LOCATE_parser___ReduceAction370___action;
28847 fra.me.has_broke = 0;
28848 fra.me.REG_size = 4;
28849 fra.me.REG[0] = NIT_NULL;
28850 fra.me.REG[1] = NIT_NULL;
28851 fra.me.REG[2] = NIT_NULL;
28852 fra.me.REG[3] = NIT_NULL;
28853 fra.me.REG[0] = p0;
28854 fra.me.REG[1] = p1;
28855 /* ./parser//parser.nit:10341 */
28856 fra.me.REG[2] = NIT_NULL;
28857 /* ./parser//parser.nit:10342 */
28858 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
28859 /* ./parser//parser.nit:10343 */
28860 fra.me.REG[2] = fra.me.REG[3];
28861 /* ./parser//parser.nit:10344 */
28862 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28863 if (UNTAG_Bool(REGB0)) {
28864 } else {
28865 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10344);
28866 }
28867 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28868 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28869 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28870 stack_frame_head = fra.me.prev;
28871 return;
28872 }
28873 void parser___ReduceAction373___action(val_t p0, val_t p1){
28874 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
28875 val_t REGB0;
28876 val_t REGB1;
28877 val_t tmp;
28878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28879 fra.me.file = LOCATE_parser;
28880 fra.me.line = 10349;
28881 fra.me.meth = LOCATE_parser___ReduceAction373___action;
28882 fra.me.has_broke = 0;
28883 fra.me.REG_size = 5;
28884 fra.me.REG[0] = NIT_NULL;
28885 fra.me.REG[1] = NIT_NULL;
28886 fra.me.REG[2] = NIT_NULL;
28887 fra.me.REG[3] = NIT_NULL;
28888 fra.me.REG[4] = NIT_NULL;
28889 fra.me.REG[0] = p0;
28890 fra.me.REG[1] = p1;
28891 /* ./parser//parser.nit:10351 */
28892 fra.me.REG[2] = NIT_NULL;
28893 /* ./parser//parser.nit:10352 */
28894 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28895 /* ./parser//parser.nit:10353 */
28896 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
28897 /* ./parser//parser.nit:10355 */
28898 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28899 if (UNTAG_Bool(REGB0)) {
28900 } else {
28901 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28902 if (UNTAG_Bool(REGB1)) {
28903 REGB1 = TAG_Bool(false);
28904 REGB0 = REGB1;
28905 } else {
28906 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
28907 REGB0 = REGB1;
28908 }
28909 }
28910 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28911 if (UNTAG_Bool(REGB0)) {
28912 /* ./parser//parser.nit:10356 */
28913 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
28914 }
28915 /* ./parser//parser.nit:10358 */
28916 fra.me.REG[2] = fra.me.REG[4];
28917 /* ./parser//parser.nit:10359 */
28918 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28919 if (UNTAG_Bool(REGB0)) {
28920 } else {
28921 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10359);
28922 }
28923 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28924 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28925 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28926 stack_frame_head = fra.me.prev;
28927 return;
28928 }
28929 void parser___ReduceAction378___action(val_t p0, val_t p1){
28930 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
28931 val_t REGB0;
28932 val_t tmp;
28933 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28934 fra.me.file = LOCATE_parser;
28935 fra.me.line = 10364;
28936 fra.me.meth = LOCATE_parser___ReduceAction378___action;
28937 fra.me.has_broke = 0;
28938 fra.me.REG_size = 5;
28939 fra.me.REG[0] = NIT_NULL;
28940 fra.me.REG[1] = NIT_NULL;
28941 fra.me.REG[2] = NIT_NULL;
28942 fra.me.REG[3] = NIT_NULL;
28943 fra.me.REG[4] = NIT_NULL;
28944 fra.me.REG[0] = p0;
28945 fra.me.REG[1] = p1;
28946 /* ./parser//parser.nit:10366 */
28947 fra.me.REG[2] = NIT_NULL;
28948 /* ./parser//parser.nit:10367 */
28949 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28950 /* ./parser//parser.nit:10368 */
28951 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28952 /* ./parser//parser.nit:10369 */
28953 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28954 /* ./parser//parser.nit:10370 */
28955 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28956 /* ./parser//parser.nit:10372 */
28957 fra.me.REG[2] = fra.me.REG[3];
28958 /* ./parser//parser.nit:10373 */
28959 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28960 if (UNTAG_Bool(REGB0)) {
28961 } else {
28962 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10373);
28963 }
28964 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28965 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28966 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28967 stack_frame_head = fra.me.prev;
28968 return;
28969 }
28970 void parser___ReduceAction379___action(val_t p0, val_t p1){
28971 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
28972 val_t REGB0;
28973 val_t REGB1;
28974 val_t tmp;
28975 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28976 fra.me.file = LOCATE_parser;
28977 fra.me.line = 10378;
28978 fra.me.meth = LOCATE_parser___ReduceAction379___action;
28979 fra.me.has_broke = 0;
28980 fra.me.REG_size = 5;
28981 fra.me.REG[0] = NIT_NULL;
28982 fra.me.REG[1] = NIT_NULL;
28983 fra.me.REG[2] = NIT_NULL;
28984 fra.me.REG[3] = NIT_NULL;
28985 fra.me.REG[4] = NIT_NULL;
28986 fra.me.REG[0] = p0;
28987 fra.me.REG[1] = p1;
28988 /* ./parser//parser.nit:10380 */
28989 fra.me.REG[2] = NIT_NULL;
28990 /* ./parser//parser.nit:10381 */
28991 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28992 /* ./parser//parser.nit:10382 */
28993 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
28994 /* ./parser//parser.nit:10384 */
28995 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28996 if (UNTAG_Bool(REGB0)) {
28997 } else {
28998 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28999 if (UNTAG_Bool(REGB1)) {
29000 REGB1 = TAG_Bool(false);
29001 REGB0 = REGB1;
29002 } else {
29003 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
29004 REGB0 = REGB1;
29005 }
29006 }
29007 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29008 if (UNTAG_Bool(REGB0)) {
29009 /* ./parser//parser.nit:10385 */
29010 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
29011 }
29012 /* ./parser//parser.nit:10387 */
29013 fra.me.REG[2] = fra.me.REG[4];
29014 /* ./parser//parser.nit:10388 */
29015 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29016 if (UNTAG_Bool(REGB0)) {
29017 } else {
29018 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10388);
29019 }
29020 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29021 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29022 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29023 stack_frame_head = fra.me.prev;
29024 return;
29025 }
29026 void parser___ReduceAction380___action(val_t p0, val_t p1){
29027 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
29028 val_t REGB0;
29029 val_t REGB1;
29030 val_t tmp;
29031 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29032 fra.me.file = LOCATE_parser;
29033 fra.me.line = 10393;
29034 fra.me.meth = LOCATE_parser___ReduceAction380___action;
29035 fra.me.has_broke = 0;
29036 fra.me.REG_size = 6;
29037 fra.me.REG[0] = NIT_NULL;
29038 fra.me.REG[1] = NIT_NULL;
29039 fra.me.REG[2] = NIT_NULL;
29040 fra.me.REG[3] = NIT_NULL;
29041 fra.me.REG[4] = NIT_NULL;
29042 fra.me.REG[5] = NIT_NULL;
29043 fra.me.REG[0] = p0;
29044 fra.me.REG[1] = p1;
29045 /* ./parser//parser.nit:10395 */
29046 fra.me.REG[2] = NIT_NULL;
29047 /* ./parser//parser.nit:10396 */
29048 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29049 /* ./parser//parser.nit:10397 */
29050 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29051 /* ./parser//parser.nit:10398 */
29052 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29053 /* ./parser//parser.nit:10399 */
29054 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29055 /* ./parser//parser.nit:10400 */
29056 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29057 /* ./parser//parser.nit:10401 */
29058 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
29059 /* ./parser//parser.nit:10403 */
29060 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]*/;
29061 if (UNTAG_Bool(REGB0)) {
29062 } else {
29063 nit_abort("Assert failed", NULL, LOCATE_parser, 10403);
29064 }
29065 /* ./parser//parser.nit:10405 */
29066 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
29067 fra.me.REG[5] = fra.me.REG[4];
29068 /* ./parser//parser.nit:10406 */
29069 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
29070 if (UNTAG_Bool(REGB0)) {
29071 } else {
29072 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
29073 if (UNTAG_Bool(REGB1)) {
29074 REGB1 = TAG_Bool(false);
29075 REGB0 = REGB1;
29076 } else {
29077 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
29078 REGB0 = REGB1;
29079 }
29080 }
29081 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29082 if (UNTAG_Bool(REGB0)) {
29083 /* ./parser//parser.nit:10407 */
29084 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
29085 }
29086 /* ./parser//parser.nit:10409 */
29087 fra.me.REG[2] = fra.me.REG[5];
29088 /* ./parser//parser.nit:10410 */
29089 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29090 if (UNTAG_Bool(REGB0)) {
29091 } else {
29092 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10410);
29093 }
29094 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29095 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29096 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29097 stack_frame_head = fra.me.prev;
29098 return;
29099 }
29100 void parser___ReduceAction381___action(val_t p0, val_t p1){
29101 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29102 val_t REGB0;
29103 val_t tmp;
29104 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29105 fra.me.file = LOCATE_parser;
29106 fra.me.line = 10415;
29107 fra.me.meth = LOCATE_parser___ReduceAction381___action;
29108 fra.me.has_broke = 0;
29109 fra.me.REG_size = 5;
29110 fra.me.REG[0] = NIT_NULL;
29111 fra.me.REG[1] = NIT_NULL;
29112 fra.me.REG[2] = NIT_NULL;
29113 fra.me.REG[3] = NIT_NULL;
29114 fra.me.REG[4] = NIT_NULL;
29115 fra.me.REG[0] = p0;
29116 fra.me.REG[1] = p1;
29117 /* ./parser//parser.nit:10417 */
29118 fra.me.REG[2] = NIT_NULL;
29119 /* ./parser//parser.nit:10418 */
29120 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29121 /* ./parser//parser.nit:10419 */
29122 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
29123 /* ./parser//parser.nit:10421 */
29124 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*/;
29125 if (UNTAG_Bool(REGB0)) {
29126 } else {
29127 nit_abort("Assert failed", NULL, LOCATE_parser, 10421);
29128 }
29129 /* ./parser//parser.nit:10422 */
29130 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
29131 /* ./parser//parser.nit:10427 */
29132 fra.me.REG[2] = fra.me.REG[3];
29133 /* ./parser//parser.nit:10428 */
29134 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29135 if (UNTAG_Bool(REGB0)) {
29136 } else {
29137 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10428);
29138 }
29139 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29140 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29141 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29142 stack_frame_head = fra.me.prev;
29143 return;
29144 }
29145 void parser___ReduceAction382___action(val_t p0, val_t p1){
29146 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
29147 val_t REGB0;
29148 val_t tmp;
29149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29150 fra.me.file = LOCATE_parser;
29151 fra.me.line = 10433;
29152 fra.me.meth = LOCATE_parser___ReduceAction382___action;
29153 fra.me.has_broke = 0;
29154 fra.me.REG_size = 6;
29155 fra.me.REG[0] = NIT_NULL;
29156 fra.me.REG[1] = NIT_NULL;
29157 fra.me.REG[2] = NIT_NULL;
29158 fra.me.REG[3] = NIT_NULL;
29159 fra.me.REG[4] = NIT_NULL;
29160 fra.me.REG[5] = NIT_NULL;
29161 fra.me.REG[0] = p0;
29162 fra.me.REG[1] = p1;
29163 /* ./parser//parser.nit:10435 */
29164 fra.me.REG[2] = NIT_NULL;
29165 /* ./parser//parser.nit:10436 */
29166 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29167 /* ./parser//parser.nit:10437 */
29168 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29169 /* ./parser//parser.nit:10438 */
29170 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
29171 /* ./parser//parser.nit:10440 */
29172 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]*/;
29173 if (UNTAG_Bool(REGB0)) {
29174 } else {
29175 nit_abort("Assert failed", NULL, LOCATE_parser, 10440);
29176 }
29177 /* ./parser//parser.nit:10441 */
29178 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
29179 fra.me.REG[5] = fra.me.REG[4];
29180 /* ./parser//parser.nit:10443 */
29181 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*/;
29182 if (UNTAG_Bool(REGB0)) {
29183 } else {
29184 nit_abort("Assert failed", NULL, LOCATE_parser, 10443);
29185 }
29186 /* ./parser//parser.nit:10444 */
29187 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[5], fra.me.REG[3]);
29188 /* ./parser//parser.nit:10449 */
29189 fra.me.REG[2] = fra.me.REG[3];
29190 /* ./parser//parser.nit:10450 */
29191 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29192 if (UNTAG_Bool(REGB0)) {
29193 } else {
29194 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10450);
29195 }
29196 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29197 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29198 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29199 stack_frame_head = fra.me.prev;
29200 return;
29201 }
29202 void parser___ReduceAction383___action(val_t p0, val_t p1){
29203 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
29204 val_t REGB0;
29205 val_t tmp;
29206 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29207 fra.me.file = LOCATE_parser;
29208 fra.me.line = 10455;
29209 fra.me.meth = LOCATE_parser___ReduceAction383___action;
29210 fra.me.has_broke = 0;
29211 fra.me.REG_size = 6;
29212 fra.me.REG[0] = NIT_NULL;
29213 fra.me.REG[1] = NIT_NULL;
29214 fra.me.REG[2] = NIT_NULL;
29215 fra.me.REG[3] = NIT_NULL;
29216 fra.me.REG[4] = NIT_NULL;
29217 fra.me.REG[5] = NIT_NULL;
29218 fra.me.REG[0] = p0;
29219 fra.me.REG[1] = p1;
29220 /* ./parser//parser.nit:10457 */
29221 fra.me.REG[2] = NIT_NULL;
29222 /* ./parser//parser.nit:10458 */
29223 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29224 /* ./parser//parser.nit:10459 */
29225 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29226 /* ./parser//parser.nit:10460 */
29227 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29228 /* ./parser//parser.nit:10461 */
29229 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
29230 /* ./parser//parser.nit:10463 */
29231 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*/;
29232 if (UNTAG_Bool(REGB0)) {
29233 } else {
29234 nit_abort("Assert failed", NULL, LOCATE_parser, 10463);
29235 }
29236 /* ./parser//parser.nit:10465 */
29237 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*/;
29238 if (UNTAG_Bool(REGB0)) {
29239 } else {
29240 nit_abort("Assert failed", NULL, LOCATE_parser, 10465);
29241 }
29242 /* ./parser//parser.nit:10466 */
29243 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
29244 /* ./parser//parser.nit:10471 */
29245 fra.me.REG[2] = fra.me.REG[3];
29246 /* ./parser//parser.nit:10472 */
29247 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29248 if (UNTAG_Bool(REGB0)) {
29249 } else {
29250 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10472);
29251 }
29252 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29253 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29254 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29255 stack_frame_head = fra.me.prev;
29256 return;
29257 }
29258 void parser___ReduceAction384___action(val_t p0, val_t p1){
29259 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
29260 val_t REGB0;
29261 val_t tmp;
29262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29263 fra.me.file = LOCATE_parser;
29264 fra.me.line = 10477;
29265 fra.me.meth = LOCATE_parser___ReduceAction384___action;
29266 fra.me.has_broke = 0;
29267 fra.me.REG_size = 7;
29268 fra.me.REG[0] = NIT_NULL;
29269 fra.me.REG[1] = NIT_NULL;
29270 fra.me.REG[2] = NIT_NULL;
29271 fra.me.REG[3] = NIT_NULL;
29272 fra.me.REG[4] = NIT_NULL;
29273 fra.me.REG[5] = NIT_NULL;
29274 fra.me.REG[6] = NIT_NULL;
29275 fra.me.REG[0] = p0;
29276 fra.me.REG[1] = p1;
29277 /* ./parser//parser.nit:10479 */
29278 fra.me.REG[2] = NIT_NULL;
29279 /* ./parser//parser.nit:10480 */
29280 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29281 /* ./parser//parser.nit:10481 */
29282 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29283 /* ./parser//parser.nit:10482 */
29284 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29285 /* ./parser//parser.nit:10483 */
29286 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29287 /* ./parser//parser.nit:10484 */
29288 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
29289 /* ./parser//parser.nit:10486 */
29290 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*/;
29291 if (UNTAG_Bool(REGB0)) {
29292 } else {
29293 nit_abort("Assert failed", NULL, LOCATE_parser, 10486);
29294 }
29295 /* ./parser//parser.nit:10488 */
29296 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]*/;
29297 if (UNTAG_Bool(REGB0)) {
29298 } else {
29299 nit_abort("Assert failed", NULL, LOCATE_parser, 10488);
29300 }
29301 /* ./parser//parser.nit:10489 */
29302 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
29303 fra.me.REG[6] = fra.me.REG[4];
29304 /* ./parser//parser.nit:10491 */
29305 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*/;
29306 if (UNTAG_Bool(REGB0)) {
29307 } else {
29308 nit_abort("Assert failed", NULL, LOCATE_parser, 10491);
29309 }
29310 /* ./parser//parser.nit:10492 */
29311 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
29312 /* ./parser//parser.nit:10497 */
29313 fra.me.REG[2] = fra.me.REG[3];
29314 /* ./parser//parser.nit:10498 */
29315 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29316 if (UNTAG_Bool(REGB0)) {
29317 } else {
29318 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10498);
29319 }
29320 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29321 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29322 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29323 stack_frame_head = fra.me.prev;
29324 return;
29325 }
29326 void parser___ReduceAction385___action(val_t p0, val_t p1){
29327 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29328 val_t REGB0;
29329 val_t tmp;
29330 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29331 fra.me.file = LOCATE_parser;
29332 fra.me.line = 10503;
29333 fra.me.meth = LOCATE_parser___ReduceAction385___action;
29334 fra.me.has_broke = 0;
29335 fra.me.REG_size = 5;
29336 fra.me.REG[0] = NIT_NULL;
29337 fra.me.REG[1] = NIT_NULL;
29338 fra.me.REG[2] = NIT_NULL;
29339 fra.me.REG[3] = NIT_NULL;
29340 fra.me.REG[4] = NIT_NULL;
29341 fra.me.REG[0] = p0;
29342 fra.me.REG[1] = p1;
29343 /* ./parser//parser.nit:10505 */
29344 fra.me.REG[2] = NIT_NULL;
29345 /* ./parser//parser.nit:10506 */
29346 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29347 /* ./parser//parser.nit:10507 */
29348 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
29349 /* ./parser//parser.nit:10509 */
29350 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*/;
29351 if (UNTAG_Bool(REGB0)) {
29352 } else {
29353 nit_abort("Assert failed", NULL, LOCATE_parser, 10509);
29354 }
29355 /* ./parser//parser.nit:10510 */
29356 fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], fra.me.REG[3]);
29357 /* ./parser//parser.nit:10514 */
29358 fra.me.REG[2] = fra.me.REG[3];
29359 /* ./parser//parser.nit:10515 */
29360 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29361 if (UNTAG_Bool(REGB0)) {
29362 } else {
29363 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10515);
29364 }
29365 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29366 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29367 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29368 stack_frame_head = fra.me.prev;
29369 return;
29370 }
29371 void parser___ReduceAction386___action(val_t p0, val_t p1){
29372 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
29373 val_t REGB0;
29374 val_t tmp;
29375 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29376 fra.me.file = LOCATE_parser;
29377 fra.me.line = 10520;
29378 fra.me.meth = LOCATE_parser___ReduceAction386___action;
29379 fra.me.has_broke = 0;
29380 fra.me.REG_size = 6;
29381 fra.me.REG[0] = NIT_NULL;
29382 fra.me.REG[1] = NIT_NULL;
29383 fra.me.REG[2] = NIT_NULL;
29384 fra.me.REG[3] = NIT_NULL;
29385 fra.me.REG[4] = NIT_NULL;
29386 fra.me.REG[5] = NIT_NULL;
29387 fra.me.REG[0] = p0;
29388 fra.me.REG[1] = p1;
29389 /* ./parser//parser.nit:10522 */
29390 fra.me.REG[2] = NIT_NULL;
29391 /* ./parser//parser.nit:10523 */
29392 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29393 /* ./parser//parser.nit:10524 */
29394 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29395 /* ./parser//parser.nit:10525 */
29396 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
29397 /* ./parser//parser.nit:10527 */
29398 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]*/;
29399 if (UNTAG_Bool(REGB0)) {
29400 } else {
29401 nit_abort("Assert failed", NULL, LOCATE_parser, 10527);
29402 }
29403 /* ./parser//parser.nit:10528 */
29404 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
29405 fra.me.REG[5] = fra.me.REG[4];
29406 /* ./parser//parser.nit:10530 */
29407 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*/;
29408 if (UNTAG_Bool(REGB0)) {
29409 } else {
29410 nit_abort("Assert failed", NULL, LOCATE_parser, 10530);
29411 }
29412 /* ./parser//parser.nit:10531 */
29413 fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[5], fra.me.REG[3]);
29414 /* ./parser//parser.nit:10535 */
29415 fra.me.REG[2] = fra.me.REG[3];
29416 /* ./parser//parser.nit:10536 */
29417 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29418 if (UNTAG_Bool(REGB0)) {
29419 } else {
29420 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10536);
29421 }
29422 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29424 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29425 stack_frame_head = fra.me.prev;
29426 return;
29427 }
29428 void parser___ReduceAction387___action(val_t p0, val_t p1){
29429 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29430 val_t REGB0;
29431 val_t tmp;
29432 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29433 fra.me.file = LOCATE_parser;
29434 fra.me.line = 10541;
29435 fra.me.meth = LOCATE_parser___ReduceAction387___action;
29436 fra.me.has_broke = 0;
29437 fra.me.REG_size = 5;
29438 fra.me.REG[0] = NIT_NULL;
29439 fra.me.REG[1] = NIT_NULL;
29440 fra.me.REG[2] = NIT_NULL;
29441 fra.me.REG[3] = NIT_NULL;
29442 fra.me.REG[4] = NIT_NULL;
29443 fra.me.REG[0] = p0;
29444 fra.me.REG[1] = p1;
29445 /* ./parser//parser.nit:10543 */
29446 fra.me.REG[2] = NIT_NULL;
29447 /* ./parser//parser.nit:10544 */
29448 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29449 /* ./parser//parser.nit:10545 */
29450 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
29451 /* ./parser//parser.nit:10547 */
29452 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]*/;
29453 if (UNTAG_Bool(REGB0)) {
29454 } else {
29455 nit_abort("Assert failed", NULL, LOCATE_parser, 10547);
29456 }
29457 /* ./parser//parser.nit:10548 */
29458 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
29459 fra.me.REG[4] = fra.me.REG[3];
29460 /* ./parser//parser.nit:10549 */
29461 fra.me.REG[4] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], NIT_NULL);
29462 /* ./parser//parser.nit:10553 */
29463 fra.me.REG[2] = fra.me.REG[4];
29464 /* ./parser//parser.nit:10554 */
29465 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29466 if (UNTAG_Bool(REGB0)) {
29467 } else {
29468 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10554);
29469 }
29470 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29471 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29472 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29473 stack_frame_head = fra.me.prev;
29474 return;
29475 }
29476 void parser___ReduceAction388___action(val_t p0, val_t p1){
29477 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29478 val_t REGB0;
29479 val_t tmp;
29480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29481 fra.me.file = LOCATE_parser;
29482 fra.me.line = 10559;
29483 fra.me.meth = LOCATE_parser___ReduceAction388___action;
29484 fra.me.has_broke = 0;
29485 fra.me.REG_size = 4;
29486 fra.me.REG[0] = NIT_NULL;
29487 fra.me.REG[1] = NIT_NULL;
29488 fra.me.REG[2] = NIT_NULL;
29489 fra.me.REG[3] = NIT_NULL;
29490 fra.me.REG[0] = p0;
29491 fra.me.REG[1] = p1;
29492 /* ./parser//parser.nit:10561 */
29493 fra.me.REG[2] = NIT_NULL;
29494 /* ./parser//parser.nit:10562 */
29495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29496 /* ./parser//parser.nit:10563 */
29497 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29498 /* ./parser//parser.nit:10564 */
29499 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29500 /* ./parser//parser.nit:10566 */
29501 fra.me.REG[2] = fra.me.REG[3];
29502 /* ./parser//parser.nit:10567 */
29503 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29504 if (UNTAG_Bool(REGB0)) {
29505 } else {
29506 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10567);
29507 }
29508 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29509 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29510 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29511 stack_frame_head = fra.me.prev;
29512 return;
29513 }
29514 void parser___ReduceAction389___action(val_t p0, val_t p1){
29515 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29516 val_t REGB0;
29517 val_t tmp;
29518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29519 fra.me.file = LOCATE_parser;
29520 fra.me.line = 10572;
29521 fra.me.meth = LOCATE_parser___ReduceAction389___action;
29522 fra.me.has_broke = 0;
29523 fra.me.REG_size = 4;
29524 fra.me.REG[0] = NIT_NULL;
29525 fra.me.REG[1] = NIT_NULL;
29526 fra.me.REG[2] = NIT_NULL;
29527 fra.me.REG[3] = NIT_NULL;
29528 fra.me.REG[0] = p0;
29529 fra.me.REG[1] = p1;
29530 /* ./parser//parser.nit:10574 */
29531 fra.me.REG[2] = NIT_NULL;
29532 /* ./parser//parser.nit:10575 */
29533 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29534 /* ./parser//parser.nit:10576 */
29535 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29536 /* ./parser//parser.nit:10577 */
29537 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29538 /* ./parser//parser.nit:10579 */
29539 fra.me.REG[2] = fra.me.REG[3];
29540 /* ./parser//parser.nit:10580 */
29541 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29542 if (UNTAG_Bool(REGB0)) {
29543 } else {
29544 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10580);
29545 }
29546 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29547 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29548 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29549 stack_frame_head = fra.me.prev;
29550 return;
29551 }
29552 void parser___ReduceAction390___action(val_t p0, val_t p1){
29553 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29554 val_t REGB0;
29555 val_t tmp;
29556 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29557 fra.me.file = LOCATE_parser;
29558 fra.me.line = 10585;
29559 fra.me.meth = LOCATE_parser___ReduceAction390___action;
29560 fra.me.has_broke = 0;
29561 fra.me.REG_size = 4;
29562 fra.me.REG[0] = NIT_NULL;
29563 fra.me.REG[1] = NIT_NULL;
29564 fra.me.REG[2] = NIT_NULL;
29565 fra.me.REG[3] = NIT_NULL;
29566 fra.me.REG[0] = p0;
29567 fra.me.REG[1] = p1;
29568 /* ./parser//parser.nit:10587 */
29569 fra.me.REG[2] = NIT_NULL;
29570 /* ./parser//parser.nit:10588 */
29571 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29572 /* ./parser//parser.nit:10589 */
29573 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29574 if (UNTAG_Bool(REGB0)) {
29575 } else {
29576 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10589);
29577 }
29578 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29579 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29580 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29581 stack_frame_head = fra.me.prev;
29582 return;
29583 }
29584 void parser___ReduceAction392___action(val_t p0, val_t p1){
29585 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29586 val_t REGB0;
29587 val_t tmp;
29588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29589 fra.me.file = LOCATE_parser;
29590 fra.me.line = 10594;
29591 fra.me.meth = LOCATE_parser___ReduceAction392___action;
29592 fra.me.has_broke = 0;
29593 fra.me.REG_size = 5;
29594 fra.me.REG[0] = NIT_NULL;
29595 fra.me.REG[1] = NIT_NULL;
29596 fra.me.REG[2] = NIT_NULL;
29597 fra.me.REG[3] = NIT_NULL;
29598 fra.me.REG[4] = NIT_NULL;
29599 fra.me.REG[0] = p0;
29600 fra.me.REG[1] = p1;
29601 /* ./parser//parser.nit:10596 */
29602 fra.me.REG[2] = NIT_NULL;
29603 /* ./parser//parser.nit:10597 */
29604 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29605 /* ./parser//parser.nit:10598 */
29606 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
29607 /* ./parser//parser.nit:10600 */
29608 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]*/;
29609 if (UNTAG_Bool(REGB0)) {
29610 } else {
29611 nit_abort("Assert failed", NULL, LOCATE_parser, 10600);
29612 }
29613 /* ./parser//parser.nit:10601 */
29614 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
29615 fra.me.REG[4] = fra.me.REG[3];
29616 /* ./parser//parser.nit:10602 */
29617 fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
29618 /* ./parser//parser.nit:10605 */
29619 fra.me.REG[2] = fra.me.REG[4];
29620 /* ./parser//parser.nit:10606 */
29621 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29622 if (UNTAG_Bool(REGB0)) {
29623 } else {
29624 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10606);
29625 }
29626 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29627 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29628 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29629 stack_frame_head = fra.me.prev;
29630 return;
29631 }
29632 void parser___ReduceAction393___action(val_t p0, val_t p1){
29633 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29634 val_t REGB0;
29635 val_t tmp;
29636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29637 fra.me.file = LOCATE_parser;
29638 fra.me.line = 10611;
29639 fra.me.meth = LOCATE_parser___ReduceAction393___action;
29640 fra.me.has_broke = 0;
29641 fra.me.REG_size = 5;
29642 fra.me.REG[0] = NIT_NULL;
29643 fra.me.REG[1] = NIT_NULL;
29644 fra.me.REG[2] = NIT_NULL;
29645 fra.me.REG[3] = NIT_NULL;
29646 fra.me.REG[4] = NIT_NULL;
29647 fra.me.REG[0] = p0;
29648 fra.me.REG[1] = p1;
29649 /* ./parser//parser.nit:10613 */
29650 fra.me.REG[2] = NIT_NULL;
29651 /* ./parser//parser.nit:10614 */
29652 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29653 /* ./parser//parser.nit:10615 */
29654 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29655 /* ./parser//parser.nit:10616 */
29656 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
29657 /* ./parser//parser.nit:10618 */
29658 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]*/;
29659 if (UNTAG_Bool(REGB0)) {
29660 } else {
29661 nit_abort("Assert failed", NULL, LOCATE_parser, 10618);
29662 }
29663 /* ./parser//parser.nit:10619 */
29664 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
29665 fra.me.REG[4] = fra.me.REG[3];
29666 /* ./parser//parser.nit:10620 */
29667 fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
29668 /* ./parser//parser.nit:10623 */
29669 fra.me.REG[2] = fra.me.REG[4];
29670 /* ./parser//parser.nit:10624 */
29671 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29672 if (UNTAG_Bool(REGB0)) {
29673 } else {
29674 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10624);
29675 }
29676 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29677 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29678 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29679 stack_frame_head = fra.me.prev;
29680 return;
29681 }
29682 void parser___ReduceAction395___action(val_t p0, val_t p1){
29683 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
29684 val_t REGB0;
29685 val_t tmp;
29686 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29687 fra.me.file = LOCATE_parser;
29688 fra.me.line = 10629;
29689 fra.me.meth = LOCATE_parser___ReduceAction395___action;
29690 fra.me.has_broke = 0;
29691 fra.me.REG_size = 3;
29692 fra.me.REG[0] = NIT_NULL;
29693 fra.me.REG[1] = NIT_NULL;
29694 fra.me.REG[2] = NIT_NULL;
29695 fra.me.REG[0] = p0;
29696 fra.me.REG[1] = p1;
29697 /* ./parser//parser.nit:10631 */
29698 fra.me.REG[2] = NIT_NULL;
29699 /* ./parser//parser.nit:10632 */
29700 fra.me.REG[2] = NIT_NULL;
29701 /* ./parser//parser.nit:10633 */
29702 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29703 if (UNTAG_Bool(REGB0)) {
29704 } else {
29705 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10633);
29706 }
29707 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29708 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29709 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29710 stack_frame_head = fra.me.prev;
29711 return;
29712 }
29713 void parser___ReduceAction396___action(val_t p0, val_t p1){
29714 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29715 val_t REGB0;
29716 val_t tmp;
29717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29718 fra.me.file = LOCATE_parser;
29719 fra.me.line = 10638;
29720 fra.me.meth = LOCATE_parser___ReduceAction396___action;
29721 fra.me.has_broke = 0;
29722 fra.me.REG_size = 4;
29723 fra.me.REG[0] = NIT_NULL;
29724 fra.me.REG[1] = NIT_NULL;
29725 fra.me.REG[2] = NIT_NULL;
29726 fra.me.REG[3] = NIT_NULL;
29727 fra.me.REG[0] = p0;
29728 fra.me.REG[1] = p1;
29729 /* ./parser//parser.nit:10640 */
29730 fra.me.REG[2] = NIT_NULL;
29731 /* ./parser//parser.nit:10641 */
29732 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29733 /* ./parser//parser.nit:10643 */
29734 fra.me.REG[2] = fra.me.REG[3];
29735 /* ./parser//parser.nit:10644 */
29736 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29737 if (UNTAG_Bool(REGB0)) {
29738 } else {
29739 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10644);
29740 }
29741 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29742 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29744 stack_frame_head = fra.me.prev;
29745 return;
29746 }
29747 void parser___ReduceAction397___action(val_t p0, val_t p1){
29748 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29749 val_t REGB0;
29750 val_t tmp;
29751 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29752 fra.me.file = LOCATE_parser;
29753 fra.me.line = 10649;
29754 fra.me.meth = LOCATE_parser___ReduceAction397___action;
29755 fra.me.has_broke = 0;
29756 fra.me.REG_size = 4;
29757 fra.me.REG[0] = NIT_NULL;
29758 fra.me.REG[1] = NIT_NULL;
29759 fra.me.REG[2] = NIT_NULL;
29760 fra.me.REG[3] = NIT_NULL;
29761 fra.me.REG[0] = p0;
29762 fra.me.REG[1] = p1;
29763 /* ./parser//parser.nit:10651 */
29764 fra.me.REG[2] = NIT_NULL;
29765 /* ./parser//parser.nit:10652 */
29766 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29767 /* ./parser//parser.nit:10653 */
29768 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29769 /* ./parser//parser.nit:10654 */
29770 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29771 if (UNTAG_Bool(REGB0)) {
29772 } else {
29773 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10654);
29774 }
29775 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29776 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29777 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29778 stack_frame_head = fra.me.prev;
29779 return;
29780 }
29781 void parser___ReduceAction398___action(val_t p0, val_t p1){
29782 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29783 val_t REGB0;
29784 val_t tmp;
29785 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29786 fra.me.file = LOCATE_parser;
29787 fra.me.line = 10659;
29788 fra.me.meth = LOCATE_parser___ReduceAction398___action;
29789 fra.me.has_broke = 0;
29790 fra.me.REG_size = 4;
29791 fra.me.REG[0] = NIT_NULL;
29792 fra.me.REG[1] = NIT_NULL;
29793 fra.me.REG[2] = NIT_NULL;
29794 fra.me.REG[3] = NIT_NULL;
29795 fra.me.REG[0] = p0;
29796 fra.me.REG[1] = p1;
29797 /* ./parser//parser.nit:10661 */
29798 fra.me.REG[2] = NIT_NULL;
29799 /* ./parser//parser.nit:10662 */
29800 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29801 /* ./parser//parser.nit:10663 */
29802 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29803 /* ./parser//parser.nit:10664 */
29804 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29805 /* ./parser//parser.nit:10665 */
29806 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29807 if (UNTAG_Bool(REGB0)) {
29808 } else {
29809 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10665);
29810 }
29811 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29812 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29813 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29814 stack_frame_head = fra.me.prev;
29815 return;
29816 }
29817 void parser___ReduceAction651___action(val_t p0, val_t p1){
29818 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
29819 val_t REGB0;
29820 val_t tmp;
29821 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29822 fra.me.file = LOCATE_parser;
29823 fra.me.line = 10670;
29824 fra.me.meth = LOCATE_parser___ReduceAction651___action;
29825 fra.me.has_broke = 0;
29826 fra.me.REG_size = 6;
29827 fra.me.REG[0] = NIT_NULL;
29828 fra.me.REG[1] = NIT_NULL;
29829 fra.me.REG[2] = NIT_NULL;
29830 fra.me.REG[3] = NIT_NULL;
29831 fra.me.REG[4] = NIT_NULL;
29832 fra.me.REG[5] = NIT_NULL;
29833 fra.me.REG[0] = p0;
29834 fra.me.REG[1] = p1;
29835 /* ./parser//parser.nit:10672 */
29836 fra.me.REG[2] = NIT_NULL;
29837 /* ./parser//parser.nit:10673 */
29838 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29839 /* ./parser//parser.nit:10674 */
29840 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29841 /* ./parser//parser.nit:10675 */
29842 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29843 /* ./parser//parser.nit:10677 */
29844 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*/;
29845 if (UNTAG_Bool(REGB0)) {
29846 } else {
29847 nit_abort("Assert failed", NULL, LOCATE_parser, 10677);
29848 }
29849 /* ./parser//parser.nit:10679 */
29850 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*/;
29851 if (UNTAG_Bool(REGB0)) {
29852 } else {
29853 nit_abort("Assert failed", NULL, LOCATE_parser, 10679);
29854 }
29855 /* ./parser//parser.nit:10681 */
29856 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*/;
29857 if (UNTAG_Bool(REGB0)) {
29858 } else {
29859 nit_abort("Assert failed", NULL, LOCATE_parser, 10681);
29860 }
29861 /* ./parser//parser.nit:10682 */
29862 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
29863 /* ./parser//parser.nit:10687 */
29864 fra.me.REG[2] = fra.me.REG[3];
29865 /* ./parser//parser.nit:10688 */
29866 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29867 if (UNTAG_Bool(REGB0)) {
29868 } else {
29869 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10688);
29870 }
29871 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29872 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29873 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29874 stack_frame_head = fra.me.prev;
29875 return;
29876 }
29877 void parser___ReduceAction652___action(val_t p0, val_t p1){
29878 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
29879 val_t REGB0;
29880 val_t tmp;
29881 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29882 fra.me.file = LOCATE_parser;
29883 fra.me.line = 10693;
29884 fra.me.meth = LOCATE_parser___ReduceAction652___action;
29885 fra.me.has_broke = 0;
29886 fra.me.REG_size = 5;
29887 fra.me.REG[0] = NIT_NULL;
29888 fra.me.REG[1] = NIT_NULL;
29889 fra.me.REG[2] = NIT_NULL;
29890 fra.me.REG[3] = NIT_NULL;
29891 fra.me.REG[4] = NIT_NULL;
29892 fra.me.REG[0] = p0;
29893 fra.me.REG[1] = p1;
29894 /* ./parser//parser.nit:10695 */
29895 fra.me.REG[2] = NIT_NULL;
29896 /* ./parser//parser.nit:10696 */
29897 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29898 /* ./parser//parser.nit:10697 */
29899 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29900 /* ./parser//parser.nit:10699 */
29901 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*/;
29902 if (UNTAG_Bool(REGB0)) {
29903 } else {
29904 nit_abort("Assert failed", NULL, LOCATE_parser, 10699);
29905 }
29906 /* ./parser//parser.nit:10701 */
29907 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*/;
29908 if (UNTAG_Bool(REGB0)) {
29909 } else {
29910 nit_abort("Assert failed", NULL, LOCATE_parser, 10701);
29911 }
29912 /* ./parser//parser.nit:10702 */
29913 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
29914 /* ./parser//parser.nit:10706 */
29915 fra.me.REG[2] = fra.me.REG[3];
29916 /* ./parser//parser.nit:10707 */
29917 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29918 if (UNTAG_Bool(REGB0)) {
29919 } else {
29920 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10707);
29921 }
29922 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29923 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29924 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29925 stack_frame_head = fra.me.prev;
29926 return;
29927 }
29928 void parser___ReduceAction653___action(val_t p0, val_t p1){
29929 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
29930 val_t REGB0;
29931 val_t tmp;
29932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29933 fra.me.file = LOCATE_parser;
29934 fra.me.line = 10712;
29935 fra.me.meth = LOCATE_parser___ReduceAction653___action;
29936 fra.me.has_broke = 0;
29937 fra.me.REG_size = 8;
29938 fra.me.REG[0] = NIT_NULL;
29939 fra.me.REG[1] = NIT_NULL;
29940 fra.me.REG[2] = NIT_NULL;
29941 fra.me.REG[3] = NIT_NULL;
29942 fra.me.REG[4] = NIT_NULL;
29943 fra.me.REG[5] = NIT_NULL;
29944 fra.me.REG[6] = NIT_NULL;
29945 fra.me.REG[7] = NIT_NULL;
29946 fra.me.REG[0] = p0;
29947 fra.me.REG[1] = p1;
29948 /* ./parser//parser.nit:10714 */
29949 fra.me.REG[2] = NIT_NULL;
29950 /* ./parser//parser.nit:10715 */
29951 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29952 /* ./parser//parser.nit:10716 */
29953 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29954 /* ./parser//parser.nit:10717 */
29955 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29956 /* ./parser//parser.nit:10718 */
29957 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
29958 /* ./parser//parser.nit:10719 */
29959 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
29960 /* ./parser//parser.nit:10721 */
29961 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*/;
29962 if (UNTAG_Bool(REGB0)) {
29963 } else {
29964 nit_abort("Assert failed", NULL, LOCATE_parser, 10721);
29965 }
29966 /* ./parser//parser.nit:10723 */
29967 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*/;
29968 if (UNTAG_Bool(REGB0)) {
29969 } else {
29970 nit_abort("Assert failed", NULL, LOCATE_parser, 10723);
29971 }
29972 /* ./parser//parser.nit:10725 */
29973 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]*/;
29974 if (UNTAG_Bool(REGB0)) {
29975 } else {
29976 nit_abort("Assert failed", NULL, LOCATE_parser, 10725);
29977 }
29978 /* ./parser//parser.nit:10726 */
29979 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
29980 fra.me.REG[6] = fra.me.REG[3];
29981 /* ./parser//parser.nit:10727 */
29982 fra.me.REG[7] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6], fra.me.REG[7]);
29983 /* ./parser//parser.nit:10733 */
29984 fra.me.REG[2] = fra.me.REG[7];
29985 /* ./parser//parser.nit:10734 */
29986 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29987 if (UNTAG_Bool(REGB0)) {
29988 } else {
29989 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10734);
29990 }
29991 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29992 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29993 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29994 stack_frame_head = fra.me.prev;
29995 return;
29996 }
29997 void parser___ReduceAction656___action(val_t p0, val_t p1){
29998 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
29999 val_t REGB0;
30000 val_t tmp;
30001 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30002 fra.me.file = LOCATE_parser;
30003 fra.me.line = 10739;
30004 fra.me.meth = LOCATE_parser___ReduceAction656___action;
30005 fra.me.has_broke = 0;
30006 fra.me.REG_size = 7;
30007 fra.me.REG[0] = NIT_NULL;
30008 fra.me.REG[1] = NIT_NULL;
30009 fra.me.REG[2] = NIT_NULL;
30010 fra.me.REG[3] = NIT_NULL;
30011 fra.me.REG[4] = NIT_NULL;
30012 fra.me.REG[5] = NIT_NULL;
30013 fra.me.REG[6] = NIT_NULL;
30014 fra.me.REG[0] = p0;
30015 fra.me.REG[1] = p1;
30016 /* ./parser//parser.nit:10741 */
30017 fra.me.REG[2] = NIT_NULL;
30018 /* ./parser//parser.nit:10742 */
30019 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30020 /* ./parser//parser.nit:10743 */
30021 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30022 /* ./parser//parser.nit:10744 */
30023 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30024 /* ./parser//parser.nit:10745 */
30025 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
30026 /* ./parser//parser.nit:10747 */
30027 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*/;
30028 if (UNTAG_Bool(REGB0)) {
30029 } else {
30030 nit_abort("Assert failed", NULL, LOCATE_parser, 10747);
30031 }
30032 /* ./parser//parser.nit:10749 */
30033 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*/;
30034 if (UNTAG_Bool(REGB0)) {
30035 } else {
30036 nit_abort("Assert failed", NULL, LOCATE_parser, 10749);
30037 }
30038 /* ./parser//parser.nit:10751 */
30039 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]*/;
30040 if (UNTAG_Bool(REGB0)) {
30041 } else {
30042 nit_abort("Assert failed", NULL, LOCATE_parser, 10751);
30043 }
30044 /* ./parser//parser.nit:10752 */
30045 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
30046 fra.me.REG[6] = fra.me.REG[3];
30047 /* ./parser//parser.nit:10753 */
30048 fra.me.REG[6] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
30049 /* ./parser//parser.nit:10758 */
30050 fra.me.REG[2] = fra.me.REG[6];
30051 /* ./parser//parser.nit:10759 */
30052 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30053 if (UNTAG_Bool(REGB0)) {
30054 } else {
30055 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10759);
30056 }
30057 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30058 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30059 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30060 stack_frame_head = fra.me.prev;
30061 return;
30062 }
30063 void parser___ReduceAction669___action(val_t p0, val_t p1){
30064 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30065 val_t REGB0;
30066 val_t tmp;
30067 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30068 fra.me.file = LOCATE_parser;
30069 fra.me.line = 10764;
30070 fra.me.meth = LOCATE_parser___ReduceAction669___action;
30071 fra.me.has_broke = 0;
30072 fra.me.REG_size = 4;
30073 fra.me.REG[0] = NIT_NULL;
30074 fra.me.REG[1] = NIT_NULL;
30075 fra.me.REG[2] = NIT_NULL;
30076 fra.me.REG[3] = NIT_NULL;
30077 fra.me.REG[0] = p0;
30078 fra.me.REG[1] = p1;
30079 /* ./parser//parser.nit:10766 */
30080 fra.me.REG[2] = NIT_NULL;
30081 /* ./parser//parser.nit:10767 */
30082 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30083 /* ./parser//parser.nit:10768 */
30084 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30085 /* ./parser//parser.nit:10769 */
30086 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30087 /* ./parser//parser.nit:10771 */
30088 fra.me.REG[2] = fra.me.REG[3];
30089 /* ./parser//parser.nit:10772 */
30090 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30091 if (UNTAG_Bool(REGB0)) {
30092 } else {
30093 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10772);
30094 }
30095 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30096 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30097 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30098 stack_frame_head = fra.me.prev;
30099 return;
30100 }
30101 void parser___ReduceAction670___action(val_t p0, val_t p1){
30102 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30103 val_t REGB0;
30104 val_t tmp;
30105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30106 fra.me.file = LOCATE_parser;
30107 fra.me.line = 10777;
30108 fra.me.meth = LOCATE_parser___ReduceAction670___action;
30109 fra.me.has_broke = 0;
30110 fra.me.REG_size = 4;
30111 fra.me.REG[0] = NIT_NULL;
30112 fra.me.REG[1] = NIT_NULL;
30113 fra.me.REG[2] = NIT_NULL;
30114 fra.me.REG[3] = NIT_NULL;
30115 fra.me.REG[0] = p0;
30116 fra.me.REG[1] = p1;
30117 /* ./parser//parser.nit:10779 */
30118 fra.me.REG[2] = NIT_NULL;
30119 /* ./parser//parser.nit:10780 */
30120 fra.me.REG[3] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
30121 /* ./parser//parser.nit:10782 */
30122 fra.me.REG[2] = fra.me.REG[3];
30123 /* ./parser//parser.nit:10783 */
30124 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30125 if (UNTAG_Bool(REGB0)) {
30126 } else {
30127 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10783);
30128 }
30129 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30130 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30131 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30132 stack_frame_head = fra.me.prev;
30133 return;
30134 }
30135 void parser___ReduceAction677___action(val_t p0, val_t p1){
30136 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30137 val_t REGB0;
30138 val_t REGB1;
30139 val_t tmp;
30140 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30141 fra.me.file = LOCATE_parser;
30142 fra.me.line = 10788;
30143 fra.me.meth = LOCATE_parser___ReduceAction677___action;
30144 fra.me.has_broke = 0;
30145 fra.me.REG_size = 5;
30146 fra.me.REG[0] = NIT_NULL;
30147 fra.me.REG[1] = NIT_NULL;
30148 fra.me.REG[2] = NIT_NULL;
30149 fra.me.REG[3] = NIT_NULL;
30150 fra.me.REG[4] = NIT_NULL;
30151 fra.me.REG[0] = p0;
30152 fra.me.REG[1] = p1;
30153 /* ./parser//parser.nit:10790 */
30154 fra.me.REG[2] = NIT_NULL;
30155 /* ./parser//parser.nit:10791 */
30156 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30157 /* ./parser//parser.nit:10792 */
30158 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
30159 /* ./parser//parser.nit:10794 */
30160 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30161 if (UNTAG_Bool(REGB0)) {
30162 } else {
30163 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30164 if (UNTAG_Bool(REGB1)) {
30165 REGB1 = TAG_Bool(false);
30166 REGB0 = REGB1;
30167 } else {
30168 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30169 REGB0 = REGB1;
30170 }
30171 }
30172 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30173 if (UNTAG_Bool(REGB0)) {
30174 /* ./parser//parser.nit:10795 */
30175 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
30176 }
30177 /* ./parser//parser.nit:10797 */
30178 fra.me.REG[2] = fra.me.REG[4];
30179 /* ./parser//parser.nit:10798 */
30180 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30181 if (UNTAG_Bool(REGB0)) {
30182 } else {
30183 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10798);
30184 }
30185 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30186 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30187 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30188 stack_frame_head = fra.me.prev;
30189 return;
30190 }
30191 void parser___ReduceAction678___action(val_t p0, val_t p1){
30192 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
30193 val_t REGB0;
30194 val_t REGB1;
30195 val_t tmp;
30196 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30197 fra.me.file = LOCATE_parser;
30198 fra.me.line = 10803;
30199 fra.me.meth = LOCATE_parser___ReduceAction678___action;
30200 fra.me.has_broke = 0;
30201 fra.me.REG_size = 6;
30202 fra.me.REG[0] = NIT_NULL;
30203 fra.me.REG[1] = NIT_NULL;
30204 fra.me.REG[2] = NIT_NULL;
30205 fra.me.REG[3] = NIT_NULL;
30206 fra.me.REG[4] = NIT_NULL;
30207 fra.me.REG[5] = NIT_NULL;
30208 fra.me.REG[0] = p0;
30209 fra.me.REG[1] = p1;
30210 /* ./parser//parser.nit:10805 */
30211 fra.me.REG[2] = NIT_NULL;
30212 /* ./parser//parser.nit:10806 */
30213 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30214 /* ./parser//parser.nit:10807 */
30215 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30216 /* ./parser//parser.nit:10808 */
30217 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
30218 /* ./parser//parser.nit:10810 */
30219 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]*/;
30220 if (UNTAG_Bool(REGB0)) {
30221 } else {
30222 nit_abort("Assert failed", NULL, LOCATE_parser, 10810);
30223 }
30224 /* ./parser//parser.nit:10812 */
30225 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
30226 fra.me.REG[5] = fra.me.REG[4];
30227 /* ./parser//parser.nit:10813 */
30228 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30229 if (UNTAG_Bool(REGB0)) {
30230 } else {
30231 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30232 if (UNTAG_Bool(REGB1)) {
30233 REGB1 = TAG_Bool(false);
30234 REGB0 = REGB1;
30235 } else {
30236 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30237 REGB0 = REGB1;
30238 }
30239 }
30240 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30241 if (UNTAG_Bool(REGB0)) {
30242 /* ./parser//parser.nit:10814 */
30243 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
30244 }
30245 /* ./parser//parser.nit:10816 */
30246 fra.me.REG[2] = fra.me.REG[5];
30247 /* ./parser//parser.nit:10817 */
30248 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30249 if (UNTAG_Bool(REGB0)) {
30250 } else {
30251 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10817);
30252 }
30253 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30254 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30255 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30256 stack_frame_head = fra.me.prev;
30257 return;
30258 }
30259 void parser___ReduceAction679___action(val_t p0, val_t p1){
30260 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30261 val_t REGB0;
30262 val_t REGB1;
30263 val_t tmp;
30264 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30265 fra.me.file = LOCATE_parser;
30266 fra.me.line = 10822;
30267 fra.me.meth = LOCATE_parser___ReduceAction679___action;
30268 fra.me.has_broke = 0;
30269 fra.me.REG_size = 5;
30270 fra.me.REG[0] = NIT_NULL;
30271 fra.me.REG[1] = NIT_NULL;
30272 fra.me.REG[2] = NIT_NULL;
30273 fra.me.REG[3] = NIT_NULL;
30274 fra.me.REG[4] = NIT_NULL;
30275 fra.me.REG[0] = p0;
30276 fra.me.REG[1] = p1;
30277 /* ./parser//parser.nit:10824 */
30278 fra.me.REG[2] = NIT_NULL;
30279 /* ./parser//parser.nit:10825 */
30280 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30281 /* ./parser//parser.nit:10826 */
30282 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
30283 /* ./parser//parser.nit:10828 */
30284 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30285 if (UNTAG_Bool(REGB0)) {
30286 } else {
30287 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30288 if (UNTAG_Bool(REGB1)) {
30289 REGB1 = TAG_Bool(false);
30290 REGB0 = REGB1;
30291 } else {
30292 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30293 REGB0 = REGB1;
30294 }
30295 }
30296 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30297 if (UNTAG_Bool(REGB0)) {
30298 /* ./parser//parser.nit:10829 */
30299 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
30300 }
30301 /* ./parser//parser.nit:10831 */
30302 fra.me.REG[2] = fra.me.REG[4];
30303 /* ./parser//parser.nit:10832 */
30304 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30305 if (UNTAG_Bool(REGB0)) {
30306 } else {
30307 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10832);
30308 }
30309 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30310 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30311 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30312 stack_frame_head = fra.me.prev;
30313 return;
30314 }
30315 void parser___ReduceAction680___action(val_t p0, val_t p1){
30316 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
30317 val_t REGB0;
30318 val_t REGB1;
30319 val_t tmp;
30320 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30321 fra.me.file = LOCATE_parser;
30322 fra.me.line = 10837;
30323 fra.me.meth = LOCATE_parser___ReduceAction680___action;
30324 fra.me.has_broke = 0;
30325 fra.me.REG_size = 6;
30326 fra.me.REG[0] = NIT_NULL;
30327 fra.me.REG[1] = NIT_NULL;
30328 fra.me.REG[2] = NIT_NULL;
30329 fra.me.REG[3] = NIT_NULL;
30330 fra.me.REG[4] = NIT_NULL;
30331 fra.me.REG[5] = NIT_NULL;
30332 fra.me.REG[0] = p0;
30333 fra.me.REG[1] = p1;
30334 /* ./parser//parser.nit:10839 */
30335 fra.me.REG[2] = NIT_NULL;
30336 /* ./parser//parser.nit:10840 */
30337 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30338 /* ./parser//parser.nit:10841 */
30339 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30340 /* ./parser//parser.nit:10842 */
30341 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
30342 /* ./parser//parser.nit:10844 */
30343 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]*/;
30344 if (UNTAG_Bool(REGB0)) {
30345 } else {
30346 nit_abort("Assert failed", NULL, LOCATE_parser, 10844);
30347 }
30348 /* ./parser//parser.nit:10846 */
30349 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
30350 fra.me.REG[5] = fra.me.REG[4];
30351 /* ./parser//parser.nit:10847 */
30352 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30353 if (UNTAG_Bool(REGB0)) {
30354 } else {
30355 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30356 if (UNTAG_Bool(REGB1)) {
30357 REGB1 = TAG_Bool(false);
30358 REGB0 = REGB1;
30359 } else {
30360 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30361 REGB0 = REGB1;
30362 }
30363 }
30364 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30365 if (UNTAG_Bool(REGB0)) {
30366 /* ./parser//parser.nit:10848 */
30367 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
30368 }
30369 /* ./parser//parser.nit:10850 */
30370 fra.me.REG[2] = fra.me.REG[5];
30371 /* ./parser//parser.nit:10851 */
30372 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30373 if (UNTAG_Bool(REGB0)) {
30374 } else {
30375 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10851);
30376 }
30377 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30378 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30379 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30380 stack_frame_head = fra.me.prev;
30381 return;
30382 }
30383 void parser___ReduceAction681___action(val_t p0, val_t p1){
30384 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30385 val_t REGB0;
30386 val_t REGB1;
30387 val_t tmp;
30388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30389 fra.me.file = LOCATE_parser;
30390 fra.me.line = 10856;
30391 fra.me.meth = LOCATE_parser___ReduceAction681___action;
30392 fra.me.has_broke = 0;
30393 fra.me.REG_size = 5;
30394 fra.me.REG[0] = NIT_NULL;
30395 fra.me.REG[1] = NIT_NULL;
30396 fra.me.REG[2] = NIT_NULL;
30397 fra.me.REG[3] = NIT_NULL;
30398 fra.me.REG[4] = NIT_NULL;
30399 fra.me.REG[0] = p0;
30400 fra.me.REG[1] = p1;
30401 /* ./parser//parser.nit:10858 */
30402 fra.me.REG[2] = NIT_NULL;
30403 /* ./parser//parser.nit:10859 */
30404 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30405 /* ./parser//parser.nit:10860 */
30406 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
30407 /* ./parser//parser.nit:10862 */
30408 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30409 if (UNTAG_Bool(REGB0)) {
30410 } else {
30411 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30412 if (UNTAG_Bool(REGB1)) {
30413 REGB1 = TAG_Bool(false);
30414 REGB0 = REGB1;
30415 } else {
30416 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30417 REGB0 = REGB1;
30418 }
30419 }
30420 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30421 if (UNTAG_Bool(REGB0)) {
30422 /* ./parser//parser.nit:10863 */
30423 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
30424 }
30425 /* ./parser//parser.nit:10865 */
30426 fra.me.REG[2] = fra.me.REG[4];
30427 /* ./parser//parser.nit:10866 */
30428 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30429 if (UNTAG_Bool(REGB0)) {
30430 } else {
30431 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10866);
30432 }
30433 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30434 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30435 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30436 stack_frame_head = fra.me.prev;
30437 return;
30438 }
30439 void parser___ReduceAction682___action(val_t p0, val_t p1){
30440 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
30441 val_t REGB0;
30442 val_t REGB1;
30443 val_t tmp;
30444 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30445 fra.me.file = LOCATE_parser;
30446 fra.me.line = 10871;
30447 fra.me.meth = LOCATE_parser___ReduceAction682___action;
30448 fra.me.has_broke = 0;
30449 fra.me.REG_size = 6;
30450 fra.me.REG[0] = NIT_NULL;
30451 fra.me.REG[1] = NIT_NULL;
30452 fra.me.REG[2] = NIT_NULL;
30453 fra.me.REG[3] = NIT_NULL;
30454 fra.me.REG[4] = NIT_NULL;
30455 fra.me.REG[5] = NIT_NULL;
30456 fra.me.REG[0] = p0;
30457 fra.me.REG[1] = p1;
30458 /* ./parser//parser.nit:10873 */
30459 fra.me.REG[2] = NIT_NULL;
30460 /* ./parser//parser.nit:10874 */
30461 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30462 /* ./parser//parser.nit:10875 */
30463 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30464 /* ./parser//parser.nit:10876 */
30465 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
30466 /* ./parser//parser.nit:10878 */
30467 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]*/;
30468 if (UNTAG_Bool(REGB0)) {
30469 } else {
30470 nit_abort("Assert failed", NULL, LOCATE_parser, 10878);
30471 }
30472 /* ./parser//parser.nit:10880 */
30473 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
30474 fra.me.REG[5] = fra.me.REG[4];
30475 /* ./parser//parser.nit:10881 */
30476 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30477 if (UNTAG_Bool(REGB0)) {
30478 } else {
30479 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30480 if (UNTAG_Bool(REGB1)) {
30481 REGB1 = TAG_Bool(false);
30482 REGB0 = REGB1;
30483 } else {
30484 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30485 REGB0 = REGB1;
30486 }
30487 }
30488 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30489 if (UNTAG_Bool(REGB0)) {
30490 /* ./parser//parser.nit:10882 */
30491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
30492 }
30493 /* ./parser//parser.nit:10884 */
30494 fra.me.REG[2] = fra.me.REG[5];
30495 /* ./parser//parser.nit:10885 */
30496 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30497 if (UNTAG_Bool(REGB0)) {
30498 } else {
30499 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10885);
30500 }
30501 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30502 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30503 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30504 stack_frame_head = fra.me.prev;
30505 return;
30506 }
30507 void parser___ReduceAction683___action(val_t p0, val_t p1){
30508 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30509 val_t REGB0;
30510 val_t REGB1;
30511 val_t tmp;
30512 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30513 fra.me.file = LOCATE_parser;
30514 fra.me.line = 10890;
30515 fra.me.meth = LOCATE_parser___ReduceAction683___action;
30516 fra.me.has_broke = 0;
30517 fra.me.REG_size = 5;
30518 fra.me.REG[0] = NIT_NULL;
30519 fra.me.REG[1] = NIT_NULL;
30520 fra.me.REG[2] = NIT_NULL;
30521 fra.me.REG[3] = NIT_NULL;
30522 fra.me.REG[4] = NIT_NULL;
30523 fra.me.REG[0] = p0;
30524 fra.me.REG[1] = p1;
30525 /* ./parser//parser.nit:10892 */
30526 fra.me.REG[2] = NIT_NULL;
30527 /* ./parser//parser.nit:10893 */
30528 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30529 /* ./parser//parser.nit:10894 */
30530 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
30531 /* ./parser//parser.nit:10896 */
30532 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30533 if (UNTAG_Bool(REGB0)) {
30534 } else {
30535 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30536 if (UNTAG_Bool(REGB1)) {
30537 REGB1 = TAG_Bool(false);
30538 REGB0 = REGB1;
30539 } else {
30540 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30541 REGB0 = REGB1;
30542 }
30543 }
30544 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30545 if (UNTAG_Bool(REGB0)) {
30546 /* ./parser//parser.nit:10897 */
30547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
30548 }
30549 /* ./parser//parser.nit:10899 */
30550 fra.me.REG[2] = fra.me.REG[4];
30551 /* ./parser//parser.nit:10900 */
30552 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30553 if (UNTAG_Bool(REGB0)) {
30554 } else {
30555 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10900);
30556 }
30557 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30558 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30559 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30560 stack_frame_head = fra.me.prev;
30561 return;
30562 }
30563 void parser___ReduceAction684___action(val_t p0, val_t p1){
30564 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
30565 val_t REGB0;
30566 val_t REGB1;
30567 val_t tmp;
30568 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30569 fra.me.file = LOCATE_parser;
30570 fra.me.line = 10905;
30571 fra.me.meth = LOCATE_parser___ReduceAction684___action;
30572 fra.me.has_broke = 0;
30573 fra.me.REG_size = 6;
30574 fra.me.REG[0] = NIT_NULL;
30575 fra.me.REG[1] = NIT_NULL;
30576 fra.me.REG[2] = NIT_NULL;
30577 fra.me.REG[3] = NIT_NULL;
30578 fra.me.REG[4] = NIT_NULL;
30579 fra.me.REG[5] = NIT_NULL;
30580 fra.me.REG[0] = p0;
30581 fra.me.REG[1] = p1;
30582 /* ./parser//parser.nit:10907 */
30583 fra.me.REG[2] = NIT_NULL;
30584 /* ./parser//parser.nit:10908 */
30585 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30586 /* ./parser//parser.nit:10909 */
30587 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30588 /* ./parser//parser.nit:10910 */
30589 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
30590 /* ./parser//parser.nit:10912 */
30591 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]*/;
30592 if (UNTAG_Bool(REGB0)) {
30593 } else {
30594 nit_abort("Assert failed", NULL, LOCATE_parser, 10912);
30595 }
30596 /* ./parser//parser.nit:10914 */
30597 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
30598 fra.me.REG[5] = fra.me.REG[4];
30599 /* ./parser//parser.nit:10915 */
30600 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30601 if (UNTAG_Bool(REGB0)) {
30602 } else {
30603 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30604 if (UNTAG_Bool(REGB1)) {
30605 REGB1 = TAG_Bool(false);
30606 REGB0 = REGB1;
30607 } else {
30608 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30609 REGB0 = REGB1;
30610 }
30611 }
30612 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30613 if (UNTAG_Bool(REGB0)) {
30614 /* ./parser//parser.nit:10916 */
30615 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
30616 }
30617 /* ./parser//parser.nit:10918 */
30618 fra.me.REG[2] = fra.me.REG[5];
30619 /* ./parser//parser.nit:10919 */
30620 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30621 if (UNTAG_Bool(REGB0)) {
30622 } else {
30623 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10919);
30624 }
30625 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30626 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30627 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30628 stack_frame_head = fra.me.prev;
30629 return;
30630 }
30631 void parser___ReduceAction687___action(val_t p0, val_t p1){
30632 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30633 val_t REGB0;
30634 val_t REGB1;
30635 val_t tmp;
30636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30637 fra.me.file = LOCATE_parser;
30638 fra.me.line = 10924;
30639 fra.me.meth = LOCATE_parser___ReduceAction687___action;
30640 fra.me.has_broke = 0;
30641 fra.me.REG_size = 5;
30642 fra.me.REG[0] = NIT_NULL;
30643 fra.me.REG[1] = NIT_NULL;
30644 fra.me.REG[2] = NIT_NULL;
30645 fra.me.REG[3] = NIT_NULL;
30646 fra.me.REG[4] = NIT_NULL;
30647 fra.me.REG[0] = p0;
30648 fra.me.REG[1] = p1;
30649 /* ./parser//parser.nit:10926 */
30650 fra.me.REG[2] = NIT_NULL;
30651 /* ./parser//parser.nit:10927 */
30652 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30653 /* ./parser//parser.nit:10928 */
30654 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
30655 /* ./parser//parser.nit:10930 */
30656 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30657 if (UNTAG_Bool(REGB0)) {
30658 } else {
30659 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30660 if (UNTAG_Bool(REGB1)) {
30661 REGB1 = TAG_Bool(false);
30662 REGB0 = REGB1;
30663 } else {
30664 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30665 REGB0 = REGB1;
30666 }
30667 }
30668 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30669 if (UNTAG_Bool(REGB0)) {
30670 /* ./parser//parser.nit:10931 */
30671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
30672 }
30673 /* ./parser//parser.nit:10933 */
30674 fra.me.REG[2] = fra.me.REG[4];
30675 /* ./parser//parser.nit:10934 */
30676 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30677 if (UNTAG_Bool(REGB0)) {
30678 } else {
30679 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10934);
30680 }
30681 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30682 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30683 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30684 stack_frame_head = fra.me.prev;
30685 return;
30686 }
30687 void parser___ReduceAction688___action(val_t p0, val_t p1){
30688 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
30689 val_t REGB0;
30690 val_t REGB1;
30691 val_t tmp;
30692 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30693 fra.me.file = LOCATE_parser;
30694 fra.me.line = 10939;
30695 fra.me.meth = LOCATE_parser___ReduceAction688___action;
30696 fra.me.has_broke = 0;
30697 fra.me.REG_size = 6;
30698 fra.me.REG[0] = NIT_NULL;
30699 fra.me.REG[1] = NIT_NULL;
30700 fra.me.REG[2] = NIT_NULL;
30701 fra.me.REG[3] = NIT_NULL;
30702 fra.me.REG[4] = NIT_NULL;
30703 fra.me.REG[5] = NIT_NULL;
30704 fra.me.REG[0] = p0;
30705 fra.me.REG[1] = p1;
30706 /* ./parser//parser.nit:10941 */
30707 fra.me.REG[2] = NIT_NULL;
30708 /* ./parser//parser.nit:10942 */
30709 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30710 /* ./parser//parser.nit:10943 */
30711 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30712 /* ./parser//parser.nit:10944 */
30713 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
30714 /* ./parser//parser.nit:10946 */
30715 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]*/;
30716 if (UNTAG_Bool(REGB0)) {
30717 } else {
30718 nit_abort("Assert failed", NULL, LOCATE_parser, 10946);
30719 }
30720 /* ./parser//parser.nit:10948 */
30721 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
30722 fra.me.REG[5] = fra.me.REG[4];
30723 /* ./parser//parser.nit:10949 */
30724 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30725 if (UNTAG_Bool(REGB0)) {
30726 } else {
30727 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30728 if (UNTAG_Bool(REGB1)) {
30729 REGB1 = TAG_Bool(false);
30730 REGB0 = REGB1;
30731 } else {
30732 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30733 REGB0 = REGB1;
30734 }
30735 }
30736 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30737 if (UNTAG_Bool(REGB0)) {
30738 /* ./parser//parser.nit:10950 */
30739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
30740 }
30741 /* ./parser//parser.nit:10952 */
30742 fra.me.REG[2] = fra.me.REG[5];
30743 /* ./parser//parser.nit:10953 */
30744 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30745 if (UNTAG_Bool(REGB0)) {
30746 } else {
30747 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10953);
30748 }
30749 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30751 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30752 stack_frame_head = fra.me.prev;
30753 return;
30754 }
30755 void parser___ReduceAction689___action(val_t p0, val_t p1){
30756 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30757 val_t REGB0;
30758 val_t REGB1;
30759 val_t tmp;
30760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30761 fra.me.file = LOCATE_parser;
30762 fra.me.line = 10958;
30763 fra.me.meth = LOCATE_parser___ReduceAction689___action;
30764 fra.me.has_broke = 0;
30765 fra.me.REG_size = 5;
30766 fra.me.REG[0] = NIT_NULL;
30767 fra.me.REG[1] = NIT_NULL;
30768 fra.me.REG[2] = NIT_NULL;
30769 fra.me.REG[3] = NIT_NULL;
30770 fra.me.REG[4] = NIT_NULL;
30771 fra.me.REG[0] = p0;
30772 fra.me.REG[1] = p1;
30773 /* ./parser//parser.nit:10960 */
30774 fra.me.REG[2] = NIT_NULL;
30775 /* ./parser//parser.nit:10961 */
30776 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30777 /* ./parser//parser.nit:10962 */
30778 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
30779 /* ./parser//parser.nit:10964 */
30780 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30781 if (UNTAG_Bool(REGB0)) {
30782 } else {
30783 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30784 if (UNTAG_Bool(REGB1)) {
30785 REGB1 = TAG_Bool(false);
30786 REGB0 = REGB1;
30787 } else {
30788 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30789 REGB0 = REGB1;
30790 }
30791 }
30792 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30793 if (UNTAG_Bool(REGB0)) {
30794 /* ./parser//parser.nit:10965 */
30795 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
30796 }
30797 /* ./parser//parser.nit:10967 */
30798 fra.me.REG[2] = fra.me.REG[4];
30799 /* ./parser//parser.nit:10968 */
30800 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30801 if (UNTAG_Bool(REGB0)) {
30802 } else {
30803 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10968);
30804 }
30805 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30806 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30808 stack_frame_head = fra.me.prev;
30809 return;
30810 }
30811 void parser___ReduceAction690___action(val_t p0, val_t p1){
30812 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
30813 val_t REGB0;
30814 val_t REGB1;
30815 val_t tmp;
30816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30817 fra.me.file = LOCATE_parser;
30818 fra.me.line = 10973;
30819 fra.me.meth = LOCATE_parser___ReduceAction690___action;
30820 fra.me.has_broke = 0;
30821 fra.me.REG_size = 6;
30822 fra.me.REG[0] = NIT_NULL;
30823 fra.me.REG[1] = NIT_NULL;
30824 fra.me.REG[2] = NIT_NULL;
30825 fra.me.REG[3] = NIT_NULL;
30826 fra.me.REG[4] = NIT_NULL;
30827 fra.me.REG[5] = NIT_NULL;
30828 fra.me.REG[0] = p0;
30829 fra.me.REG[1] = p1;
30830 /* ./parser//parser.nit:10975 */
30831 fra.me.REG[2] = NIT_NULL;
30832 /* ./parser//parser.nit:10976 */
30833 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30834 /* ./parser//parser.nit:10977 */
30835 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30836 /* ./parser//parser.nit:10978 */
30837 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
30838 /* ./parser//parser.nit:10980 */
30839 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]*/;
30840 if (UNTAG_Bool(REGB0)) {
30841 } else {
30842 nit_abort("Assert failed", NULL, LOCATE_parser, 10980);
30843 }
30844 /* ./parser//parser.nit:10982 */
30845 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
30846 fra.me.REG[5] = fra.me.REG[4];
30847 /* ./parser//parser.nit:10983 */
30848 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30849 if (UNTAG_Bool(REGB0)) {
30850 } else {
30851 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30852 if (UNTAG_Bool(REGB1)) {
30853 REGB1 = TAG_Bool(false);
30854 REGB0 = REGB1;
30855 } else {
30856 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30857 REGB0 = REGB1;
30858 }
30859 }
30860 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30861 if (UNTAG_Bool(REGB0)) {
30862 /* ./parser//parser.nit:10984 */
30863 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
30864 }
30865 /* ./parser//parser.nit:10986 */
30866 fra.me.REG[2] = fra.me.REG[5];
30867 /* ./parser//parser.nit:10987 */
30868 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30869 if (UNTAG_Bool(REGB0)) {
30870 } else {
30871 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10987);
30872 }
30873 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30874 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30875 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30876 stack_frame_head = fra.me.prev;
30877 return;
30878 }
30879 void parser___ReduceAction691___action(val_t p0, val_t p1){
30880 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30881 val_t REGB0;
30882 val_t REGB1;
30883 val_t tmp;
30884 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30885 fra.me.file = LOCATE_parser;
30886 fra.me.line = 10992;
30887 fra.me.meth = LOCATE_parser___ReduceAction691___action;
30888 fra.me.has_broke = 0;
30889 fra.me.REG_size = 5;
30890 fra.me.REG[0] = NIT_NULL;
30891 fra.me.REG[1] = NIT_NULL;
30892 fra.me.REG[2] = NIT_NULL;
30893 fra.me.REG[3] = NIT_NULL;
30894 fra.me.REG[4] = NIT_NULL;
30895 fra.me.REG[0] = p0;
30896 fra.me.REG[1] = p1;
30897 /* ./parser//parser.nit:10994 */
30898 fra.me.REG[2] = NIT_NULL;
30899 /* ./parser//parser.nit:10995 */
30900 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30901 /* ./parser//parser.nit:10996 */
30902 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
30903 /* ./parser//parser.nit:10998 */
30904 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30905 if (UNTAG_Bool(REGB0)) {
30906 } else {
30907 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30908 if (UNTAG_Bool(REGB1)) {
30909 REGB1 = TAG_Bool(false);
30910 REGB0 = REGB1;
30911 } else {
30912 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30913 REGB0 = REGB1;
30914 }
30915 }
30916 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30917 if (UNTAG_Bool(REGB0)) {
30918 /* ./parser//parser.nit:10999 */
30919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
30920 }
30921 /* ./parser//parser.nit:11001 */
30922 fra.me.REG[2] = fra.me.REG[4];
30923 /* ./parser//parser.nit:11002 */
30924 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30925 if (UNTAG_Bool(REGB0)) {
30926 } else {
30927 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11002);
30928 }
30929 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30930 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30931 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30932 stack_frame_head = fra.me.prev;
30933 return;
30934 }
30935 void parser___ReduceAction692___action(val_t p0, val_t p1){
30936 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
30937 val_t REGB0;
30938 val_t REGB1;
30939 val_t tmp;
30940 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30941 fra.me.file = LOCATE_parser;
30942 fra.me.line = 11007;
30943 fra.me.meth = LOCATE_parser___ReduceAction692___action;
30944 fra.me.has_broke = 0;
30945 fra.me.REG_size = 6;
30946 fra.me.REG[0] = NIT_NULL;
30947 fra.me.REG[1] = NIT_NULL;
30948 fra.me.REG[2] = NIT_NULL;
30949 fra.me.REG[3] = NIT_NULL;
30950 fra.me.REG[4] = NIT_NULL;
30951 fra.me.REG[5] = NIT_NULL;
30952 fra.me.REG[0] = p0;
30953 fra.me.REG[1] = p1;
30954 /* ./parser//parser.nit:11009 */
30955 fra.me.REG[2] = NIT_NULL;
30956 /* ./parser//parser.nit:11010 */
30957 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30958 /* ./parser//parser.nit:11011 */
30959 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30960 /* ./parser//parser.nit:11012 */
30961 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
30962 /* ./parser//parser.nit:11014 */
30963 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]*/;
30964 if (UNTAG_Bool(REGB0)) {
30965 } else {
30966 nit_abort("Assert failed", NULL, LOCATE_parser, 11014);
30967 }
30968 /* ./parser//parser.nit:11016 */
30969 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
30970 fra.me.REG[5] = fra.me.REG[4];
30971 /* ./parser//parser.nit:11017 */
30972 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30973 if (UNTAG_Bool(REGB0)) {
30974 } else {
30975 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30976 if (UNTAG_Bool(REGB1)) {
30977 REGB1 = TAG_Bool(false);
30978 REGB0 = REGB1;
30979 } else {
30980 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
30981 REGB0 = REGB1;
30982 }
30983 }
30984 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30985 if (UNTAG_Bool(REGB0)) {
30986 /* ./parser//parser.nit:11018 */
30987 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
30988 }
30989 /* ./parser//parser.nit:11020 */
30990 fra.me.REG[2] = fra.me.REG[5];
30991 /* ./parser//parser.nit:11021 */
30992 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30993 if (UNTAG_Bool(REGB0)) {
30994 } else {
30995 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11021);
30996 }
30997 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30998 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30999 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31000 stack_frame_head = fra.me.prev;
31001 return;
31002 }
31003 void parser___ReduceAction694___action(val_t p0, val_t p1){
31004 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31005 val_t REGB0;
31006 val_t REGB1;
31007 val_t tmp;
31008 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31009 fra.me.file = LOCATE_parser;
31010 fra.me.line = 11026;
31011 fra.me.meth = LOCATE_parser___ReduceAction694___action;
31012 fra.me.has_broke = 0;
31013 fra.me.REG_size = 6;
31014 fra.me.REG[0] = NIT_NULL;
31015 fra.me.REG[1] = NIT_NULL;
31016 fra.me.REG[2] = NIT_NULL;
31017 fra.me.REG[3] = NIT_NULL;
31018 fra.me.REG[4] = NIT_NULL;
31019 fra.me.REG[5] = NIT_NULL;
31020 fra.me.REG[0] = p0;
31021 fra.me.REG[1] = p1;
31022 /* ./parser//parser.nit:11028 */
31023 fra.me.REG[2] = NIT_NULL;
31024 /* ./parser//parser.nit:11029 */
31025 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31026 /* ./parser//parser.nit:11030 */
31027 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31028 /* ./parser//parser.nit:11031 */
31029 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
31030 /* ./parser//parser.nit:11033 */
31031 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]*/;
31032 if (UNTAG_Bool(REGB0)) {
31033 } else {
31034 nit_abort("Assert failed", NULL, LOCATE_parser, 11033);
31035 }
31036 /* ./parser//parser.nit:11035 */
31037 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
31038 fra.me.REG[5] = fra.me.REG[4];
31039 /* ./parser//parser.nit:11036 */
31040 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31041 if (UNTAG_Bool(REGB0)) {
31042 } else {
31043 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31044 if (UNTAG_Bool(REGB1)) {
31045 REGB1 = TAG_Bool(false);
31046 REGB0 = REGB1;
31047 } else {
31048 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
31049 REGB0 = REGB1;
31050 }
31051 }
31052 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31053 if (UNTAG_Bool(REGB0)) {
31054 /* ./parser//parser.nit:11037 */
31055 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
31056 }
31057 /* ./parser//parser.nit:11039 */
31058 fra.me.REG[2] = fra.me.REG[5];
31059 /* ./parser//parser.nit:11040 */
31060 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31061 if (UNTAG_Bool(REGB0)) {
31062 } else {
31063 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11040);
31064 }
31065 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31066 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31067 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31068 stack_frame_head = fra.me.prev;
31069 return;
31070 }
31071 void parser___ReduceAction696___action(val_t p0, val_t p1){
31072 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31073 val_t REGB0;
31074 val_t REGB1;
31075 val_t tmp;
31076 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31077 fra.me.file = LOCATE_parser;
31078 fra.me.line = 11045;
31079 fra.me.meth = LOCATE_parser___ReduceAction696___action;
31080 fra.me.has_broke = 0;
31081 fra.me.REG_size = 6;
31082 fra.me.REG[0] = NIT_NULL;
31083 fra.me.REG[1] = NIT_NULL;
31084 fra.me.REG[2] = NIT_NULL;
31085 fra.me.REG[3] = NIT_NULL;
31086 fra.me.REG[4] = NIT_NULL;
31087 fra.me.REG[5] = NIT_NULL;
31088 fra.me.REG[0] = p0;
31089 fra.me.REG[1] = p1;
31090 /* ./parser//parser.nit:11047 */
31091 fra.me.REG[2] = NIT_NULL;
31092 /* ./parser//parser.nit:11048 */
31093 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31094 /* ./parser//parser.nit:11049 */
31095 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31096 /* ./parser//parser.nit:11050 */
31097 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
31098 /* ./parser//parser.nit:11052 */
31099 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]*/;
31100 if (UNTAG_Bool(REGB0)) {
31101 } else {
31102 nit_abort("Assert failed", NULL, LOCATE_parser, 11052);
31103 }
31104 /* ./parser//parser.nit:11054 */
31105 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
31106 fra.me.REG[5] = fra.me.REG[4];
31107 /* ./parser//parser.nit:11055 */
31108 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31109 if (UNTAG_Bool(REGB0)) {
31110 } else {
31111 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31112 if (UNTAG_Bool(REGB1)) {
31113 REGB1 = TAG_Bool(false);
31114 REGB0 = REGB1;
31115 } else {
31116 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
31117 REGB0 = REGB1;
31118 }
31119 }
31120 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31121 if (UNTAG_Bool(REGB0)) {
31122 /* ./parser//parser.nit:11056 */
31123 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
31124 }
31125 /* ./parser//parser.nit:11058 */
31126 fra.me.REG[2] = fra.me.REG[5];
31127 /* ./parser//parser.nit:11059 */
31128 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31129 if (UNTAG_Bool(REGB0)) {
31130 } else {
31131 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11059);
31132 }
31133 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31134 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31135 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31136 stack_frame_head = fra.me.prev;
31137 return;
31138 }
31139 void parser___ReduceAction697___action(val_t p0, val_t p1){
31140 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31141 val_t REGB0;
31142 val_t tmp;
31143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31144 fra.me.file = LOCATE_parser;
31145 fra.me.line = 11064;
31146 fra.me.meth = LOCATE_parser___ReduceAction697___action;
31147 fra.me.has_broke = 0;
31148 fra.me.REG_size = 5;
31149 fra.me.REG[0] = NIT_NULL;
31150 fra.me.REG[1] = NIT_NULL;
31151 fra.me.REG[2] = NIT_NULL;
31152 fra.me.REG[3] = NIT_NULL;
31153 fra.me.REG[4] = NIT_NULL;
31154 fra.me.REG[0] = p0;
31155 fra.me.REG[1] = p1;
31156 /* ./parser//parser.nit:11066 */
31157 fra.me.REG[2] = NIT_NULL;
31158 /* ./parser//parser.nit:11067 */
31159 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31160 /* ./parser//parser.nit:11068 */
31161 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
31162 /* ./parser//parser.nit:11070 */
31163 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]*/;
31164 if (UNTAG_Bool(REGB0)) {
31165 } else {
31166 nit_abort("Assert failed", NULL, LOCATE_parser, 11070);
31167 }
31168 /* ./parser//parser.nit:11071 */
31169 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
31170 fra.me.REG[4] = fra.me.REG[3];
31171 /* ./parser//parser.nit:11072 */
31172 fra.me.REG[2] = fra.me.REG[4];
31173 /* ./parser//parser.nit:11073 */
31174 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31175 if (UNTAG_Bool(REGB0)) {
31176 } else {
31177 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11073);
31178 }
31179 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31180 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31181 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31182 stack_frame_head = fra.me.prev;
31183 return;
31184 }
31185 void parser___ReduceAction698___action(val_t p0, val_t p1){
31186 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31187 val_t REGB0;
31188 val_t tmp;
31189 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31190 fra.me.file = LOCATE_parser;
31191 fra.me.line = 11078;
31192 fra.me.meth = LOCATE_parser___ReduceAction698___action;
31193 fra.me.has_broke = 0;
31194 fra.me.REG_size = 6;
31195 fra.me.REG[0] = NIT_NULL;
31196 fra.me.REG[1] = NIT_NULL;
31197 fra.me.REG[2] = NIT_NULL;
31198 fra.me.REG[3] = NIT_NULL;
31199 fra.me.REG[4] = NIT_NULL;
31200 fra.me.REG[5] = NIT_NULL;
31201 fra.me.REG[0] = p0;
31202 fra.me.REG[1] = p1;
31203 /* ./parser//parser.nit:11080 */
31204 fra.me.REG[2] = NIT_NULL;
31205 /* ./parser//parser.nit:11081 */
31206 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31207 /* ./parser//parser.nit:11082 */
31208 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31209 /* ./parser//parser.nit:11083 */
31210 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
31211 /* ./parser//parser.nit:11085 */
31212 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]*/;
31213 if (UNTAG_Bool(REGB0)) {
31214 } else {
31215 nit_abort("Assert failed", NULL, LOCATE_parser, 11085);
31216 }
31217 /* ./parser//parser.nit:11087 */
31218 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]*/;
31219 if (UNTAG_Bool(REGB0)) {
31220 } else {
31221 nit_abort("Assert failed", NULL, LOCATE_parser, 11087);
31222 }
31223 /* ./parser//parser.nit:11088 */
31224 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
31225 fra.me.REG[5] = fra.me.REG[4];
31226 /* ./parser//parser.nit:11089 */
31227 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
31228 fra.me.REG[5] = fra.me.REG[3];
31229 /* ./parser//parser.nit:11090 */
31230 fra.me.REG[2] = fra.me.REG[5];
31231 /* ./parser//parser.nit:11091 */
31232 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31233 if (UNTAG_Bool(REGB0)) {
31234 } else {
31235 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11091);
31236 }
31237 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31238 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31239 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31240 stack_frame_head = fra.me.prev;
31241 return;
31242 }
31243 void parser___ReduceAction702___action(val_t p0, val_t p1){
31244 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31245 val_t REGB0;
31246 val_t REGB1;
31247 val_t tmp;
31248 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31249 fra.me.file = LOCATE_parser;
31250 fra.me.line = 11096;
31251 fra.me.meth = LOCATE_parser___ReduceAction702___action;
31252 fra.me.has_broke = 0;
31253 fra.me.REG_size = 6;
31254 fra.me.REG[0] = NIT_NULL;
31255 fra.me.REG[1] = NIT_NULL;
31256 fra.me.REG[2] = NIT_NULL;
31257 fra.me.REG[3] = NIT_NULL;
31258 fra.me.REG[4] = NIT_NULL;
31259 fra.me.REG[5] = NIT_NULL;
31260 fra.me.REG[0] = p0;
31261 fra.me.REG[1] = p1;
31262 /* ./parser//parser.nit:11098 */
31263 fra.me.REG[2] = NIT_NULL;
31264 /* ./parser//parser.nit:11099 */
31265 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31266 /* ./parser//parser.nit:11100 */
31267 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31268 /* ./parser//parser.nit:11101 */
31269 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
31270 /* ./parser//parser.nit:11103 */
31271 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]*/;
31272 if (UNTAG_Bool(REGB0)) {
31273 } else {
31274 nit_abort("Assert failed", NULL, LOCATE_parser, 11103);
31275 }
31276 /* ./parser//parser.nit:11105 */
31277 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
31278 fra.me.REG[5] = fra.me.REG[4];
31279 /* ./parser//parser.nit:11106 */
31280 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31281 if (UNTAG_Bool(REGB0)) {
31282 } else {
31283 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31284 if (UNTAG_Bool(REGB1)) {
31285 REGB1 = TAG_Bool(false);
31286 REGB0 = REGB1;
31287 } else {
31288 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
31289 REGB0 = REGB1;
31290 }
31291 }
31292 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31293 if (UNTAG_Bool(REGB0)) {
31294 /* ./parser//parser.nit:11107 */
31295 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
31296 }
31297 /* ./parser//parser.nit:11109 */
31298 fra.me.REG[2] = fra.me.REG[5];
31299 /* ./parser//parser.nit:11110 */
31300 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31301 if (UNTAG_Bool(REGB0)) {
31302 } else {
31303 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11110);
31304 }
31305 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31306 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31307 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31308 stack_frame_head = fra.me.prev;
31309 return;
31310 }
31311 void parser___ReduceAction703___action(val_t p0, val_t p1){
31312 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31313 val_t REGB0;
31314 val_t REGB1;
31315 val_t tmp;
31316 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31317 fra.me.file = LOCATE_parser;
31318 fra.me.line = 11115;
31319 fra.me.meth = LOCATE_parser___ReduceAction703___action;
31320 fra.me.has_broke = 0;
31321 fra.me.REG_size = 5;
31322 fra.me.REG[0] = NIT_NULL;
31323 fra.me.REG[1] = NIT_NULL;
31324 fra.me.REG[2] = NIT_NULL;
31325 fra.me.REG[3] = NIT_NULL;
31326 fra.me.REG[4] = NIT_NULL;
31327 fra.me.REG[0] = p0;
31328 fra.me.REG[1] = p1;
31329 /* ./parser//parser.nit:11117 */
31330 fra.me.REG[2] = NIT_NULL;
31331 /* ./parser//parser.nit:11118 */
31332 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31333 /* ./parser//parser.nit:11119 */
31334 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
31335 /* ./parser//parser.nit:11121 */
31336 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31337 if (UNTAG_Bool(REGB0)) {
31338 } else {
31339 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31340 if (UNTAG_Bool(REGB1)) {
31341 REGB1 = TAG_Bool(false);
31342 REGB0 = REGB1;
31343 } else {
31344 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
31345 REGB0 = REGB1;
31346 }
31347 }
31348 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31349 if (UNTAG_Bool(REGB0)) {
31350 /* ./parser//parser.nit:11122 */
31351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
31352 }
31353 /* ./parser//parser.nit:11124 */
31354 fra.me.REG[2] = fra.me.REG[4];
31355 /* ./parser//parser.nit:11125 */
31356 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31357 if (UNTAG_Bool(REGB0)) {
31358 } else {
31359 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11125);
31360 }
31361 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31362 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31363 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31364 stack_frame_head = fra.me.prev;
31365 return;
31366 }
31367 void parser___ReduceAction704___action(val_t p0, val_t p1){
31368 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31369 val_t REGB0;
31370 val_t REGB1;
31371 val_t tmp;
31372 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31373 fra.me.file = LOCATE_parser;
31374 fra.me.line = 11130;
31375 fra.me.meth = LOCATE_parser___ReduceAction704___action;
31376 fra.me.has_broke = 0;
31377 fra.me.REG_size = 6;
31378 fra.me.REG[0] = NIT_NULL;
31379 fra.me.REG[1] = NIT_NULL;
31380 fra.me.REG[2] = NIT_NULL;
31381 fra.me.REG[3] = NIT_NULL;
31382 fra.me.REG[4] = NIT_NULL;
31383 fra.me.REG[5] = NIT_NULL;
31384 fra.me.REG[0] = p0;
31385 fra.me.REG[1] = p1;
31386 /* ./parser//parser.nit:11132 */
31387 fra.me.REG[2] = NIT_NULL;
31388 /* ./parser//parser.nit:11133 */
31389 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31390 /* ./parser//parser.nit:11134 */
31391 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31392 /* ./parser//parser.nit:11135 */
31393 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
31394 /* ./parser//parser.nit:11137 */
31395 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]*/;
31396 if (UNTAG_Bool(REGB0)) {
31397 } else {
31398 nit_abort("Assert failed", NULL, LOCATE_parser, 11137);
31399 }
31400 /* ./parser//parser.nit:11139 */
31401 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
31402 fra.me.REG[5] = fra.me.REG[4];
31403 /* ./parser//parser.nit:11140 */
31404 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31405 if (UNTAG_Bool(REGB0)) {
31406 } else {
31407 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31408 if (UNTAG_Bool(REGB1)) {
31409 REGB1 = TAG_Bool(false);
31410 REGB0 = REGB1;
31411 } else {
31412 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
31413 REGB0 = REGB1;
31414 }
31415 }
31416 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31417 if (UNTAG_Bool(REGB0)) {
31418 /* ./parser//parser.nit:11141 */
31419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
31420 }
31421 /* ./parser//parser.nit:11143 */
31422 fra.me.REG[2] = fra.me.REG[5];
31423 /* ./parser//parser.nit:11144 */
31424 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31425 if (UNTAG_Bool(REGB0)) {
31426 } else {
31427 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11144);
31428 }
31429 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31430 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31431 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31432 stack_frame_head = fra.me.prev;
31433 return;
31434 }
31435 void parser___ReduceAction705___action(val_t p0, val_t p1){
31436 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31437 val_t REGB0;
31438 val_t REGB1;
31439 val_t tmp;
31440 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31441 fra.me.file = LOCATE_parser;
31442 fra.me.line = 11149;
31443 fra.me.meth = LOCATE_parser___ReduceAction705___action;
31444 fra.me.has_broke = 0;
31445 fra.me.REG_size = 5;
31446 fra.me.REG[0] = NIT_NULL;
31447 fra.me.REG[1] = NIT_NULL;
31448 fra.me.REG[2] = NIT_NULL;
31449 fra.me.REG[3] = NIT_NULL;
31450 fra.me.REG[4] = NIT_NULL;
31451 fra.me.REG[0] = p0;
31452 fra.me.REG[1] = p1;
31453 /* ./parser//parser.nit:11151 */
31454 fra.me.REG[2] = NIT_NULL;
31455 /* ./parser//parser.nit:11152 */
31456 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31457 /* ./parser//parser.nit:11153 */
31458 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
31459 /* ./parser//parser.nit:11155 */
31460 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31461 if (UNTAG_Bool(REGB0)) {
31462 } else {
31463 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31464 if (UNTAG_Bool(REGB1)) {
31465 REGB1 = TAG_Bool(false);
31466 REGB0 = REGB1;
31467 } else {
31468 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
31469 REGB0 = REGB1;
31470 }
31471 }
31472 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31473 if (UNTAG_Bool(REGB0)) {
31474 /* ./parser//parser.nit:11156 */
31475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
31476 }
31477 /* ./parser//parser.nit:11158 */
31478 fra.me.REG[2] = fra.me.REG[4];
31479 /* ./parser//parser.nit:11159 */
31480 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31481 if (UNTAG_Bool(REGB0)) {
31482 } else {
31483 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11159);
31484 }
31485 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31486 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31487 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31488 stack_frame_head = fra.me.prev;
31489 return;
31490 }
31491 void parser___ReduceAction706___action(val_t p0, val_t p1){
31492 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31493 val_t REGB0;
31494 val_t REGB1;
31495 val_t tmp;
31496 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31497 fra.me.file = LOCATE_parser;
31498 fra.me.line = 11164;
31499 fra.me.meth = LOCATE_parser___ReduceAction706___action;
31500 fra.me.has_broke = 0;
31501 fra.me.REG_size = 6;
31502 fra.me.REG[0] = NIT_NULL;
31503 fra.me.REG[1] = NIT_NULL;
31504 fra.me.REG[2] = NIT_NULL;
31505 fra.me.REG[3] = NIT_NULL;
31506 fra.me.REG[4] = NIT_NULL;
31507 fra.me.REG[5] = NIT_NULL;
31508 fra.me.REG[0] = p0;
31509 fra.me.REG[1] = p1;
31510 /* ./parser//parser.nit:11166 */
31511 fra.me.REG[2] = NIT_NULL;
31512 /* ./parser//parser.nit:11167 */
31513 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31514 /* ./parser//parser.nit:11168 */
31515 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31516 /* ./parser//parser.nit:11169 */
31517 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
31518 /* ./parser//parser.nit:11171 */
31519 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]*/;
31520 if (UNTAG_Bool(REGB0)) {
31521 } else {
31522 nit_abort("Assert failed", NULL, LOCATE_parser, 11171);
31523 }
31524 /* ./parser//parser.nit:11173 */
31525 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
31526 fra.me.REG[5] = fra.me.REG[4];
31527 /* ./parser//parser.nit:11174 */
31528 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31529 if (UNTAG_Bool(REGB0)) {
31530 } else {
31531 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31532 if (UNTAG_Bool(REGB1)) {
31533 REGB1 = TAG_Bool(false);
31534 REGB0 = REGB1;
31535 } else {
31536 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
31537 REGB0 = REGB1;
31538 }
31539 }
31540 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31541 if (UNTAG_Bool(REGB0)) {
31542 /* ./parser//parser.nit:11175 */
31543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
31544 }
31545 /* ./parser//parser.nit:11177 */
31546 fra.me.REG[2] = fra.me.REG[5];
31547 /* ./parser//parser.nit:11178 */
31548 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31549 if (UNTAG_Bool(REGB0)) {
31550 } else {
31551 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11178);
31552 }
31553 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31554 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31555 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31556 stack_frame_head = fra.me.prev;
31557 return;
31558 }