update c_src (now with ffi)
[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 static const char LOCATE_parser___State___state[] = "parser::State::state";
4 val_t parser___State___state(val_t p0){
5 struct {struct stack_frame_t me;} fra;
6 val_t REGB0;
7 val_t tmp;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_parser;
10 fra.me.line = 10;
11 fra.me.meth = LOCATE_parser___State___state;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 1;
14 fra.me.nitni_local_ref_head = NULL;
15 fra.me.REG[0] = NIT_NULL;
16 fra.me.REG[0] = p0;
17 /* parser/parser.nit:10 */
18 REGB0 = TAG_Bool(ATTR_parser___State____state(fra.me.REG[0])!=NIT_NULL);
19 if (UNTAG_Bool(REGB0)) {
20 } else {
21 nit_abort("Uninitialized attribute %s", "_state", LOCATE_parser, 10);
22 }
23 REGB0 = ATTR_parser___State____state(fra.me.REG[0]);
24 stack_frame_head = fra.me.prev;
25 return REGB0;
26 }
27 static const char LOCATE_parser___State___state__eq[] = "parser::State::state=";
28 void parser___State___state__eq(val_t p0, val_t p1){
29 struct {struct stack_frame_t me;} fra;
30 val_t REGB0;
31 val_t tmp;
32 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33 fra.me.file = LOCATE_parser;
34 fra.me.line = 10;
35 fra.me.meth = LOCATE_parser___State___state__eq;
36 fra.me.has_broke = 0;
37 fra.me.REG_size = 1;
38 fra.me.nitni_local_ref_head = NULL;
39 fra.me.REG[0] = NIT_NULL;
40 fra.me.REG[0] = p0;
41 REGB0 = p1;
42 /* parser/parser.nit:10 */
43 ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
44 stack_frame_head = fra.me.prev;
45 return;
46 }
47 static const char LOCATE_parser___State___nodes[] = "parser::State::nodes";
48 val_t parser___State___nodes(val_t p0){
49 struct {struct stack_frame_t me;} fra;
50 val_t tmp;
51 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52 fra.me.file = LOCATE_parser;
53 fra.me.line = 13;
54 fra.me.meth = LOCATE_parser___State___nodes;
55 fra.me.has_broke = 0;
56 fra.me.REG_size = 1;
57 fra.me.nitni_local_ref_head = NULL;
58 fra.me.REG[0] = NIT_NULL;
59 fra.me.REG[0] = p0;
60 /* parser/parser.nit:13 */
61 fra.me.REG[0] = ATTR_parser___State____nodes(fra.me.REG[0]);
62 stack_frame_head = fra.me.prev;
63 return fra.me.REG[0];
64 }
65 static const char LOCATE_parser___State___nodes__eq[] = "parser::State::nodes=";
66 void parser___State___nodes__eq(val_t p0, val_t p1){
67 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
68 val_t tmp;
69 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70 fra.me.file = LOCATE_parser;
71 fra.me.line = 13;
72 fra.me.meth = LOCATE_parser___State___nodes__eq;
73 fra.me.has_broke = 0;
74 fra.me.REG_size = 2;
75 fra.me.nitni_local_ref_head = NULL;
76 fra.me.REG[0] = NIT_NULL;
77 fra.me.REG[1] = NIT_NULL;
78 fra.me.REG[0] = p0;
79 fra.me.REG[1] = p1;
80 /* parser/parser.nit:13 */
81 ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
82 stack_frame_head = fra.me.prev;
83 return;
84 }
85 static const char LOCATE_parser___State___init[] = "parser::State::init";
86 void parser___State___init(val_t p0, val_t p1, val_t p2, int* init_table){
87 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___State].i;
88 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
89 val_t REGB0;
90 val_t tmp;
91 if (init_table[itpos0]) return;
92 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
93 fra.me.file = LOCATE_parser;
94 fra.me.line = 16;
95 fra.me.meth = LOCATE_parser___State___init;
96 fra.me.has_broke = 0;
97 fra.me.REG_size = 2;
98 fra.me.nitni_local_ref_head = NULL;
99 fra.me.REG[0] = NIT_NULL;
100 fra.me.REG[1] = NIT_NULL;
101 fra.me.REG[0] = p0;
102 REGB0 = p1;
103 fra.me.REG[1] = p2;
104 /* parser/parser.nit:18 */
105 ATTR_parser___State____state(fra.me.REG[0]) = REGB0;
106 /* parser/parser.nit:19 */
107 ATTR_parser___State____nodes(fra.me.REG[0]) = fra.me.REG[1];
108 stack_frame_head = fra.me.prev;
109 init_table[itpos0] = 1;
110 return;
111 }
112 static const char LOCATE_parser___Parser___init[] = "parser::Parser::init";
113 void parser___Parser___init(val_t p0, val_t p1, int* init_table){
114 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___Parser].i;
115 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
116 val_t REGB0;
117 val_t tmp;
118 if (init_table[itpos1]) return;
119 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
120 fra.me.file = LOCATE_parser;
121 fra.me.line = 34;
122 fra.me.meth = LOCATE_parser___Parser___init;
123 fra.me.has_broke = 0;
124 fra.me.REG_size = 2;
125 fra.me.nitni_local_ref_head = NULL;
126 fra.me.REG[0] = NIT_NULL;
127 fra.me.REG[1] = NIT_NULL;
128 fra.me.REG[0] = p0;
129 fra.me.REG[1] = p1;
130 /* parser/parser.nit:37 */
131 ATTR_parser___Parser____lexer(fra.me.REG[0]) = fra.me.REG[1];
132 /* parser/parser.nit:38 */
133 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___init();
134 ATTR_parser___Parser____stack(fra.me.REG[0]) = fra.me.REG[1];
135 /* parser/parser.nit:39 */
136 REGB0 = TAG_Int(1);
137 /* ../lib/standard/kernel.nit:239 */
138 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
139 /* parser/parser.nit:39 */
140 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB0;
141 /* parser/parser.nit:40 */
142 CALL_parser___Parser___build_reduce_table(fra.me.REG[0])(fra.me.REG[0]);
143 stack_frame_head = fra.me.prev;
144 init_table[itpos1] = 1;
145 return;
146 }
147 static const char LOCATE_parser___Parser___go_to[] = "parser::Parser::go_to";
148 val_t parser___Parser___go_to(val_t p0, val_t p1){
149 struct {struct stack_frame_t me;} fra;
150 val_t REGB0;
151 val_t REGB1;
152 val_t REGB2;
153 val_t REGB3;
154 val_t REGB4;
155 val_t REGB5;
156 val_t REGB6;
157 val_t REGB7;
158 val_t tmp;
159 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
160 fra.me.file = LOCATE_parser;
161 fra.me.line = 43;
162 fra.me.meth = LOCATE_parser___Parser___go_to;
163 fra.me.has_broke = 0;
164 fra.me.REG_size = 1;
165 fra.me.nitni_local_ref_head = NULL;
166 fra.me.REG[0] = NIT_NULL;
167 fra.me.REG[0] = p0;
168 REGB0 = p1;
169 /* parser/parser.nit:46 */
170 REGB1 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
171 /* parser/parser.nit:47 */
172 REGB2 = TAG_Int(1);
173 /* parser/parser.nit:48 */
174 REGB3 = TAG_Int(0);
175 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
176 REGB4 = TAG_Int(1);
177 /* ../lib/standard/kernel.nit:240 */
178 REGB4 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB4));
179 /* parser/parser.nit:50 */
180 while(1) {
181 REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
182 if (UNTAG_Bool(REGB3)) {
183 } else {
184 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
185 }
186 /* ../lib/standard/kernel.nit:234 */
187 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<=UNTAG_Int(REGB4));
188 /* parser/parser.nit:50 */
189 if (UNTAG_Bool(REGB3)) {
190 /* ../lib/standard/kernel.nit:238 */
191 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB4));
192 /* parser/parser.nit:51 */
193 REGB5 = TAG_Int(2);
194 /* ../lib/standard/kernel.nit:242 */
195 REGB5 = TAG_Int(UNTAG_Int(REGB3)/UNTAG_Int(REGB5));
196 /* parser/parser.nit:52 */
197 REGB3 = TAG_Int(2);
198 /* ../lib/standard/kernel.nit:241 */
199 REGB3 = TAG_Int(UNTAG_Int(REGB5)*UNTAG_Int(REGB3));
200 /* parser/parser.nit:52 */
201 REGB6 = TAG_Int(1);
202 /* ../lib/standard/kernel.nit:238 */
203 REGB6 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB6));
204 /* parser/parser.nit:54 */
205 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB6);
206 REGB7 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
207 if (UNTAG_Bool(REGB7)) {
208 } else {
209 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
210 }
211 /* ../lib/standard/kernel.nit:235 */
212 REGB7 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB3));
213 /* parser/parser.nit:55 */
214 if (UNTAG_Bool(REGB7)) {
215 /* parser/parser.nit:56 */
216 REGB7 = TAG_Int(1);
217 /* ../lib/standard/kernel.nit:240 */
218 REGB7 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB7));
219 /* parser/parser.nit:56 */
220 REGB4 = REGB7;
221 } else {
222 REGB7 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
223 if (UNTAG_Bool(REGB7)) {
224 } else {
225 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
226 }
227 /* ../lib/standard/kernel.nit:237 */
228 REGB3 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB3));
229 /* parser/parser.nit:57 */
230 if (UNTAG_Bool(REGB3)) {
231 /* parser/parser.nit:58 */
232 REGB3 = TAG_Int(1);
233 /* ../lib/standard/kernel.nit:238 */
234 REGB3 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB3));
235 /* parser/parser.nit:58 */
236 REGB2 = REGB3;
237 } else {
238 /* parser/parser.nit:60 */
239 REGB3 = TAG_Int(1);
240 /* ../lib/standard/kernel.nit:238 */
241 REGB3 = TAG_Int(UNTAG_Int(REGB6)+UNTAG_Int(REGB3));
242 /* parser/parser.nit:60 */
243 REGB3 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
244 goto label1;
245 }
246 }
247 } else {
248 /* parser/parser.nit:50 */
249 goto label2;
250 }
251 }
252 label2: while(0);
253 /* parser/parser.nit:64 */
254 REGB2 = TAG_Int(2);
255 REGB2 = CALL_parser___tables___TablesCapable___parser_goto(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
256 REGB3 = REGB2;
257 goto label1;
258 label1: while(0);
259 stack_frame_head = fra.me.prev;
260 return REGB3;
261 }
262 static const char LOCATE_parser___Parser___push[] = "parser::Parser::push";
263 void parser___Parser___push(val_t p0, val_t p1, val_t p2){
264 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
265 val_t REGB0;
266 val_t REGB1;
267 val_t REGB2;
268 val_t REGB3;
269 val_t tmp;
270 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
271 fra.me.file = LOCATE_parser;
272 fra.me.line = 67;
273 fra.me.meth = LOCATE_parser___Parser___push;
274 fra.me.has_broke = 0;
275 fra.me.REG_size = 3;
276 fra.me.nitni_local_ref_head = NULL;
277 fra.me.REG[0] = NIT_NULL;
278 fra.me.REG[1] = NIT_NULL;
279 fra.me.REG[2] = NIT_NULL;
280 fra.me.REG[0] = p0;
281 REGB0 = p1;
282 fra.me.REG[1] = p2;
283 /* parser/parser.nit:70 */
284 REGB1 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
285 if (UNTAG_Bool(REGB1)) {
286 } else {
287 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 70);
288 }
289 REGB1 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
290 REGB2 = TAG_Int(1);
291 /* ../lib/standard/kernel.nit:238 */
292 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
293 /* parser/parser.nit:71 */
294 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB2;
295 /* parser/parser.nit:72 */
296 REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
297 if (UNTAG_Bool(REGB1)) {
298 } else {
299 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 72);
300 }
301 fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
302 /* ../lib/standard/collection/array.nit:24 */
303 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
304 if (UNTAG_Bool(REGB1)) {
305 } else {
306 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
307 }
308 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
309 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
310 if (UNTAG_Bool(REGB3)) {
311 } else {
312 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
313 }
314 /* ../lib/standard/kernel.nit:235 */
315 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
316 /* parser/parser.nit:72 */
317 if (UNTAG_Bool(REGB1)) {
318 /* parser/parser.nit:73 */
319 REGB1 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
320 if (UNTAG_Bool(REGB1)) {
321 } else {
322 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 73);
323 }
324 fra.me.REG[2] = ATTR_parser___Parser____stack(fra.me.REG[0]);
325 /* ../lib/standard/collection/array.nit:280 */
326 REGB1 = TAG_Int(0);
327 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
328 if (UNTAG_Bool(REGB3)) {
329 } else {
330 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
331 }
332 /* ../lib/standard/kernel.nit:236 */
333 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
334 /* ../lib/standard/collection/array.nit:280 */
335 if (UNTAG_Bool(REGB1)) {
336 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
337 if (UNTAG_Bool(REGB1)) {
338 } else {
339 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
340 }
341 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
342 REGB3 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
343 if (UNTAG_Bool(REGB3)) {
344 } else {
345 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
346 }
347 /* ../lib/standard/kernel.nit:235 */
348 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
349 } else {
350 /* ../lib/standard/collection/array.nit:280 */
351 REGB3 = TAG_Bool(0);
352 REGB1 = REGB3;
353 }
354 if (UNTAG_Bool(REGB1)) {
355 } else {
356 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
357 }
358 /* ../lib/standard/collection/array.nit:281 */
359 fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
360 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
361 if (UNTAG_Bool(REGB1)) {
362 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
363 }
364 /* ../lib/standard/collection/array.nit:718 */
365 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)];
366 /* ../lib/standard/collection/array.nit:281 */
367 goto label1;
368 label1: while(0);
369 /* parser/parser.nit:74 */
370 CALL_parser___State___state__eq(fra.me.REG[2])(fra.me.REG[2], REGB0);
371 /* parser/parser.nit:75 */
372 CALL_parser___State___nodes__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
373 } else {
374 /* parser/parser.nit:77 */
375 REGB2 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
376 if (UNTAG_Bool(REGB2)) {
377 } else {
378 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 77);
379 }
380 fra.me.REG[0] = ATTR_parser___Parser____stack(fra.me.REG[0]);
381 fra.me.REG[1] = NEW_State_parser___State___init(REGB0, fra.me.REG[1]);
382 CALL_standard___collection___abstract_collection___Sequence___push(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
383 }
384 stack_frame_head = fra.me.prev;
385 return;
386 }
387 static const char LOCATE_parser___Parser___state[] = "parser::Parser::state";
388 val_t parser___Parser___state(val_t p0){
389 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
390 val_t REGB0;
391 val_t REGB1;
392 val_t REGB2;
393 val_t tmp;
394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
395 fra.me.file = LOCATE_parser;
396 fra.me.line = 81;
397 fra.me.meth = LOCATE_parser___Parser___state;
398 fra.me.has_broke = 0;
399 fra.me.REG_size = 2;
400 fra.me.nitni_local_ref_head = NULL;
401 fra.me.REG[0] = NIT_NULL;
402 fra.me.REG[1] = NIT_NULL;
403 fra.me.REG[0] = p0;
404 /* parser/parser.nit:84 */
405 REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
406 if (UNTAG_Bool(REGB0)) {
407 } else {
408 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 84);
409 }
410 fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]);
411 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
412 if (UNTAG_Bool(REGB0)) {
413 } else {
414 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 84);
415 }
416 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
417 /* ../lib/standard/collection/array.nit:280 */
418 REGB1 = TAG_Int(0);
419 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
420 if (UNTAG_Bool(REGB2)) {
421 } else {
422 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
423 }
424 /* ../lib/standard/kernel.nit:236 */
425 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
426 /* ../lib/standard/collection/array.nit:280 */
427 if (UNTAG_Bool(REGB1)) {
428 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
429 if (UNTAG_Bool(REGB1)) {
430 } else {
431 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
432 }
433 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
434 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
435 if (UNTAG_Bool(REGB2)) {
436 } else {
437 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
438 }
439 /* ../lib/standard/kernel.nit:235 */
440 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
441 } else {
442 /* ../lib/standard/collection/array.nit:280 */
443 REGB2 = TAG_Bool(0);
444 REGB1 = REGB2;
445 }
446 if (UNTAG_Bool(REGB1)) {
447 } else {
448 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
449 }
450 /* ../lib/standard/collection/array.nit:281 */
451 fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
452 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
453 if (UNTAG_Bool(REGB1)) {
454 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
455 }
456 /* ../lib/standard/collection/array.nit:718 */
457 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
458 /* ../lib/standard/collection/array.nit:281 */
459 goto label1;
460 label1: while(0);
461 /* parser/parser.nit:84 */
462 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
463 if (UNTAG_Bool(REGB0)) {
464 nit_abort("Reciever is null", NULL, LOCATE_parser, 84);
465 }
466 REGB0 = CALL_parser___State___state(fra.me.REG[1])(fra.me.REG[1]);
467 goto label2;
468 label2: while(0);
469 stack_frame_head = fra.me.prev;
470 return REGB0;
471 }
472 static const char LOCATE_parser___Parser___pop[] = "parser::Parser::pop";
473 val_t parser___Parser___pop(val_t p0){
474 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
475 val_t REGB0;
476 val_t REGB1;
477 val_t REGB2;
478 val_t tmp;
479 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
480 fra.me.file = LOCATE_parser;
481 fra.me.line = 87;
482 fra.me.meth = LOCATE_parser___Parser___pop;
483 fra.me.has_broke = 0;
484 fra.me.REG_size = 2;
485 fra.me.nitni_local_ref_head = NULL;
486 fra.me.REG[0] = NIT_NULL;
487 fra.me.REG[1] = NIT_NULL;
488 fra.me.REG[0] = p0;
489 /* parser/parser.nit:90 */
490 REGB0 = TAG_Bool(ATTR_parser___Parser____stack(fra.me.REG[0])!=NIT_NULL);
491 if (UNTAG_Bool(REGB0)) {
492 } else {
493 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_parser, 90);
494 }
495 fra.me.REG[1] = ATTR_parser___Parser____stack(fra.me.REG[0]);
496 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
497 if (UNTAG_Bool(REGB0)) {
498 } else {
499 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 90);
500 }
501 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
502 /* ../lib/standard/collection/array.nit:280 */
503 REGB1 = TAG_Int(0);
504 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
505 if (UNTAG_Bool(REGB2)) {
506 } else {
507 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
508 }
509 /* ../lib/standard/kernel.nit:236 */
510 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
511 /* ../lib/standard/collection/array.nit:280 */
512 if (UNTAG_Bool(REGB1)) {
513 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
514 if (UNTAG_Bool(REGB1)) {
515 } else {
516 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
517 }
518 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[1]);
519 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
520 if (UNTAG_Bool(REGB2)) {
521 } else {
522 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
523 }
524 /* ../lib/standard/kernel.nit:235 */
525 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
526 } else {
527 /* ../lib/standard/collection/array.nit:280 */
528 REGB2 = TAG_Bool(0);
529 REGB1 = REGB2;
530 }
531 if (UNTAG_Bool(REGB1)) {
532 } else {
533 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
534 }
535 /* ../lib/standard/collection/array.nit:281 */
536 fra.me.REG[1] = ATTR_standard___collection___array___Array____items(fra.me.REG[1]);
537 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
538 if (UNTAG_Bool(REGB1)) {
539 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
540 }
541 /* ../lib/standard/collection/array.nit:718 */
542 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
543 /* ../lib/standard/collection/array.nit:281 */
544 goto label1;
545 label1: while(0);
546 /* parser/parser.nit:90 */
547 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
548 if (UNTAG_Bool(REGB0)) {
549 nit_abort("Reciever is null", NULL, LOCATE_parser, 90);
550 }
551 fra.me.REG[1] = CALL_parser___State___nodes(fra.me.REG[1])(fra.me.REG[1]);
552 /* parser/parser.nit:91 */
553 REGB0 = TAG_Bool(ATTR_parser___Parser____stack_pos(fra.me.REG[0])!=NIT_NULL);
554 if (UNTAG_Bool(REGB0)) {
555 } else {
556 nit_abort("Uninitialized attribute %s", "_stack_pos", LOCATE_parser, 91);
557 }
558 REGB0 = ATTR_parser___Parser____stack_pos(fra.me.REG[0]);
559 REGB1 = TAG_Int(1);
560 /* ../lib/standard/kernel.nit:240 */
561 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
562 /* parser/parser.nit:91 */
563 ATTR_parser___Parser____stack_pos(fra.me.REG[0]) = REGB1;
564 /* parser/parser.nit:92 */
565 goto label2;
566 label2: while(0);
567 stack_frame_head = fra.me.prev;
568 return fra.me.REG[1];
569 }
570 static const char LOCATE_parser___Parser___parse[] = "parser::Parser::parse";
571 val_t parser___Parser___parse(val_t p0){
572 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
573 val_t REGB0;
574 val_t REGB1;
575 val_t REGB2;
576 val_t REGB3;
577 val_t REGB4;
578 val_t REGB5;
579 val_t REGB6;
580 val_t REGB7;
581 val_t REGB8;
582 val_t REGB9;
583 val_t tmp;
584 static val_t once_value_4; /* Once value */
585 static val_t once_value_5; /* Once value */
586 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
587 fra.me.file = LOCATE_parser;
588 fra.me.line = 95;
589 fra.me.meth = LOCATE_parser___Parser___parse;
590 fra.me.has_broke = 0;
591 fra.me.REG_size = 6;
592 fra.me.nitni_local_ref_head = NULL;
593 fra.me.REG[0] = NIT_NULL;
594 fra.me.REG[1] = NIT_NULL;
595 fra.me.REG[2] = NIT_NULL;
596 fra.me.REG[3] = NIT_NULL;
597 fra.me.REG[4] = NIT_NULL;
598 fra.me.REG[5] = NIT_NULL;
599 fra.me.REG[0] = p0;
600 /* parser/parser.nit:98 */
601 REGB0 = TAG_Int(0);
602 CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB0, NIT_NULL);
603 /* parser/parser.nit:100 */
604 REGB0 = TAG_Bool(ATTR_parser___Parser____lexer(fra.me.REG[0])!=NIT_NULL);
605 if (UNTAG_Bool(REGB0)) {
606 } else {
607 nit_abort("Uninitialized attribute %s", "_lexer", LOCATE_parser, 100);
608 }
609 fra.me.REG[1] = ATTR_parser___Parser____lexer(fra.me.REG[0]);
610 /* parser/parser.nit:101 */
611 while(1) {
612 /* parser/parser.nit:102 */
613 fra.me.REG[2] = CALL_parser___lexer___Lexer___peek(fra.me.REG[1])(fra.me.REG[1]);
614 /* parser/parser.nit:103 */
615 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_parser___parser_nodes___AError, ID_parser___parser_nodes___AError)) /*cast AError*/;
616 if (UNTAG_Bool(REGB0)) {
617 /* parser/parser.nit:104 */
618 fra.me.REG[3] = NEW_Start_parser___parser_nodes___Start___init(NIT_NULL, fra.me.REG[2]);
619 goto label1;
620 }
621 /* parser/parser.nit:107 */
622 REGB0 = CALL_parser___Parser___state(fra.me.REG[0])(fra.me.REG[0]);
623 /* parser/parser.nit:108 */
624 REGB1 = CALL_parser___lexer___Token___parser_index(fra.me.REG[2])(fra.me.REG[2]);
625 /* parser/parser.nit:109 */
626 REGB2 = TAG_Int(2);
627 REGB2 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
628 /* parser/parser.nit:110 */
629 REGB3 = TAG_Int(3);
630 REGB3 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB3);
631 /* parser/parser.nit:112 */
632 REGB4 = TAG_Int(1);
633 /* parser/parser.nit:113 */
634 REGB5 = TAG_Int(0);
635 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB5);
636 REGB6 = TAG_Int(1);
637 /* ../lib/standard/kernel.nit:240 */
638 REGB6 = TAG_Int(UNTAG_Int(REGB5)-UNTAG_Int(REGB6));
639 /* parser/parser.nit:115 */
640 while(1) {
641 REGB5 = TAG_Bool(VAL_ISA(REGB6, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4), VTID_standard___kernel___Comparable___OTHER(REGB4))) /*cast OTHER*/;
642 if (UNTAG_Bool(REGB5)) {
643 } else {
644 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
645 }
646 /* ../lib/standard/kernel.nit:234 */
647 REGB5 = TAG_Bool(UNTAG_Int(REGB4)<=UNTAG_Int(REGB6));
648 /* parser/parser.nit:115 */
649 if (UNTAG_Bool(REGB5)) {
650 /* ../lib/standard/kernel.nit:238 */
651 REGB5 = TAG_Int(UNTAG_Int(REGB4)+UNTAG_Int(REGB6));
652 /* parser/parser.nit:116 */
653 REGB7 = TAG_Int(2);
654 /* ../lib/standard/kernel.nit:242 */
655 REGB7 = TAG_Int(UNTAG_Int(REGB5)/UNTAG_Int(REGB7));
656 /* parser/parser.nit:117 */
657 REGB5 = TAG_Int(3);
658 /* ../lib/standard/kernel.nit:241 */
659 REGB5 = TAG_Int(UNTAG_Int(REGB7)*UNTAG_Int(REGB5));
660 /* parser/parser.nit:117 */
661 REGB8 = TAG_Int(1);
662 /* ../lib/standard/kernel.nit:238 */
663 REGB8 = TAG_Int(UNTAG_Int(REGB5)+UNTAG_Int(REGB8));
664 /* parser/parser.nit:119 */
665 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB8);
666 REGB9 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
667 if (UNTAG_Bool(REGB9)) {
668 } else {
669 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
670 }
671 /* ../lib/standard/kernel.nit:235 */
672 REGB9 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB5));
673 /* parser/parser.nit:120 */
674 if (UNTAG_Bool(REGB9)) {
675 /* parser/parser.nit:121 */
676 REGB9 = TAG_Int(1);
677 /* ../lib/standard/kernel.nit:240 */
678 REGB9 = TAG_Int(UNTAG_Int(REGB7)-UNTAG_Int(REGB9));
679 /* parser/parser.nit:121 */
680 REGB6 = REGB9;
681 } else {
682 REGB9 = TAG_Bool(VAL_ISA(REGB5, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1), VTID_standard___kernel___Comparable___OTHER(REGB1))) /*cast OTHER*/;
683 if (UNTAG_Bool(REGB9)) {
684 } else {
685 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
686 }
687 /* ../lib/standard/kernel.nit:237 */
688 REGB5 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB5));
689 /* parser/parser.nit:122 */
690 if (UNTAG_Bool(REGB5)) {
691 /* parser/parser.nit:123 */
692 REGB5 = TAG_Int(1);
693 /* ../lib/standard/kernel.nit:238 */
694 REGB5 = TAG_Int(UNTAG_Int(REGB7)+UNTAG_Int(REGB5));
695 /* parser/parser.nit:123 */
696 REGB4 = REGB5;
697 } else {
698 /* parser/parser.nit:125 */
699 REGB5 = TAG_Int(1);
700 /* ../lib/standard/kernel.nit:238 */
701 REGB5 = TAG_Int(UNTAG_Int(REGB8)+UNTAG_Int(REGB5));
702 /* parser/parser.nit:125 */
703 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB5);
704 REGB2 = REGB5;
705 /* parser/parser.nit:126 */
706 REGB5 = TAG_Int(2);
707 /* ../lib/standard/kernel.nit:238 */
708 REGB5 = TAG_Int(UNTAG_Int(REGB8)+UNTAG_Int(REGB5));
709 /* parser/parser.nit:126 */
710 REGB5 = CALL_parser___tables___TablesCapable___parser_action(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB5);
711 REGB3 = REGB5;
712 /* parser/parser.nit:127 */
713 goto label2;
714 }
715 }
716 } else {
717 /* parser/parser.nit:115 */
718 goto label2;
719 }
720 }
721 label2: while(0);
722 /* parser/parser.nit:131 */
723 REGB0 = TAG_Int(0);
724 REGB4 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB0));
725 if (UNTAG_Bool(REGB4)) {
726 } else {
727 /* ../lib/standard/kernel.nit:230 */
728 REGB0 = TAG_Bool((REGB2)==(REGB0));
729 /* parser/parser.nit:131 */
730 REGB4 = REGB0;
731 }
732 if (UNTAG_Bool(REGB4)) {
733 /* parser/parser.nit:132 */
734 fra.me.REG[4] = CALL_parser___lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
735 CALL_parser___Parser___push(fra.me.REG[0])(fra.me.REG[0], REGB3, fra.me.REG[4]);
736 } else {
737 /* parser/parser.nit:133 */
738 REGB4 = TAG_Int(1);
739 REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB4));
740 if (UNTAG_Bool(REGB0)) {
741 } else {
742 /* ../lib/standard/kernel.nit:230 */
743 REGB4 = TAG_Bool((REGB2)==(REGB4));
744 /* parser/parser.nit:133 */
745 REGB0 = REGB4;
746 }
747 if (UNTAG_Bool(REGB0)) {
748 /* parser/parser.nit:134 */
749 REGB0 = TAG_Bool(ATTR_parser___Parser____reduce_table(fra.me.REG[0])!=NIT_NULL);
750 if (UNTAG_Bool(REGB0)) {
751 } else {
752 nit_abort("Uninitialized attribute %s", "_reduce_table", LOCATE_parser, 134);
753 }
754 fra.me.REG[4] = ATTR_parser___Parser____reduce_table(fra.me.REG[0]);
755 /* ../lib/standard/collection/array.nit:280 */
756 REGB0 = TAG_Int(0);
757 REGB4 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
758 if (UNTAG_Bool(REGB4)) {
759 } else {
760 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
761 }
762 /* ../lib/standard/kernel.nit:236 */
763 REGB0 = TAG_Bool(UNTAG_Int(REGB3)>=UNTAG_Int(REGB0));
764 /* ../lib/standard/collection/array.nit:280 */
765 if (UNTAG_Bool(REGB0)) {
766 REGB0 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
767 if (UNTAG_Bool(REGB0)) {
768 } else {
769 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 280);
770 }
771 REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
772 REGB4 = TAG_Bool(VAL_ISA(REGB0, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3), VTID_standard___kernel___Comparable___OTHER(REGB3))) /*cast OTHER*/;
773 if (UNTAG_Bool(REGB4)) {
774 } else {
775 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
776 }
777 /* ../lib/standard/kernel.nit:235 */
778 REGB0 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB0));
779 } else {
780 /* ../lib/standard/collection/array.nit:280 */
781 REGB4 = TAG_Bool(0);
782 REGB0 = REGB4;
783 }
784 if (UNTAG_Bool(REGB0)) {
785 } else {
786 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array, 280);
787 }
788 /* ../lib/standard/collection/array.nit:281 */
789 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
790 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
791 if (UNTAG_Bool(REGB0)) {
792 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 281);
793 }
794 /* ../lib/standard/collection/array.nit:718 */
795 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB3)];
796 /* ../lib/standard/collection/array.nit:281 */
797 goto label3;
798 label3: while(0);
799 /* parser/parser.nit:134 */
800 REGB3 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
801 if (UNTAG_Bool(REGB3)) {
802 nit_abort("Reciever is null", NULL, LOCATE_parser, 134);
803 }
804 CALL_parser___ReduceAction___action(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
805 } else {
806 /* parser/parser.nit:135 */
807 REGB3 = TAG_Int(2);
808 REGB0 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
809 if (UNTAG_Bool(REGB0)) {
810 } else {
811 /* ../lib/standard/kernel.nit:230 */
812 REGB3 = TAG_Bool((REGB2)==(REGB3));
813 /* parser/parser.nit:135 */
814 REGB0 = REGB3;
815 }
816 if (UNTAG_Bool(REGB0)) {
817 /* parser/parser.nit:136 */
818 fra.me.REG[4] = CALL_parser___lexer___Lexer___next(fra.me.REG[1])(fra.me.REG[1]);
819 /* parser/parser.nit:137 */
820 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___EOF, ID_parser___parser_nodes___EOF)) /*cast EOF*/;
821 if (UNTAG_Bool(REGB0)) {
822 } else {
823 nit_abort("Assert failed", NULL, LOCATE_parser, 137);
824 }
825 /* parser/parser.nit:138 */
826 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[0])(fra.me.REG[0]);
827 /* parser/parser.nit:139 */
828 REGB0 = 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*/;
829 if (UNTAG_Bool(REGB0)) {
830 } else {
831 nit_abort("Assert failed", NULL, LOCATE_parser, 139);
832 }
833 /* parser/parser.nit:140 */
834 fra.me.REG[4] = NEW_Start_parser___parser_nodes___Start___init(fra.me.REG[5], fra.me.REG[4]);
835 /* parser/parser.nit:141 */
836 fra.me.REG[5] = NEW_ComputeProdLocationVisitor_parser___ComputeProdLocationVisitor___init();
837 CALL_parser___parser_prod___Visitor___enter_visit(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
838 /* parser/parser.nit:142 */
839 fra.me.REG[3] = fra.me.REG[4];
840 goto label1;
841 } else {
842 /* parser/parser.nit:143 */
843 REGB0 = TAG_Int(3);
844 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB0));
845 if (UNTAG_Bool(REGB3)) {
846 } else {
847 /* ../lib/standard/kernel.nit:230 */
848 REGB0 = TAG_Bool((REGB2)==(REGB0));
849 /* parser/parser.nit:143 */
850 REGB3 = REGB0;
851 }
852 if (UNTAG_Bool(REGB3)) {
853 /* parser/parser.nit:144 */
854 REGB3 = TAG_Int(3);
855 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3);
856 if (!once_value_4) {
857 fra.me.REG[5] = BOX_NativeString("Syntax error: unexpected ");
858 REGB3 = TAG_Int(25);
859 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB3);
860 once_value_4 = fra.me.REG[5];
861 register_static_object(&once_value_4);
862 } else fra.me.REG[5] = once_value_4;
863 fra.me.REG[5] = fra.me.REG[5];
864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
865 fra.me.REG[5] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
867 if (!once_value_5) {
868 fra.me.REG[5] = BOX_NativeString(".");
869 REGB3 = TAG_Int(1);
870 fra.me.REG[5] = NEW_String_standard___string___String___with_native(fra.me.REG[5], REGB3);
871 once_value_5 = fra.me.REG[5];
872 register_static_object(&once_value_5);
873 } else fra.me.REG[5] = once_value_5;
874 fra.me.REG[5] = fra.me.REG[5];
875 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
876 fra.me.REG[4] = CALL_standard___string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
877 fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]);
878 fra.me.REG[2] = NEW_AError_parser___lexer___AError___init_error(fra.me.REG[4], fra.me.REG[2]);
879 /* parser/parser.nit:145 */
880 fra.me.REG[2] = NEW_Start_parser___parser_nodes___Start___init(NIT_NULL, fra.me.REG[2]);
881 /* parser/parser.nit:146 */
882 fra.me.REG[3] = fra.me.REG[2];
883 goto label1;
884 }
885 }
886 }
887 }
888 }
889 label1: while(0);
890 stack_frame_head = fra.me.prev;
891 return fra.me.REG[3];
892 }
893 static const char LOCATE_parser___Parser___build_reduce_table[] = "parser::Parser::build_reduce_table";
894 void parser___Parser___build_reduce_table(val_t p0){
895 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
896 val_t REGB0;
897 val_t tmp;
898 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
899 fra.me.file = LOCATE_parser;
900 fra.me.line = 152;
901 fra.me.meth = LOCATE_parser___Parser___build_reduce_table;
902 fra.me.has_broke = 0;
903 fra.me.REG_size = 3;
904 fra.me.nitni_local_ref_head = NULL;
905 fra.me.REG[0] = NIT_NULL;
906 fra.me.REG[1] = NIT_NULL;
907 fra.me.REG[2] = NIT_NULL;
908 fra.me.REG[0] = p0;
909 /* parser/parser.nit:154 */
910 REGB0 = TAG_Int(865);
911 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
912 /* parser/parser.nit:155 */
913 REGB0 = TAG_Int(0);
914 fra.me.REG[2] = NEW_ReduceAction0_parser___ReduceAction___init(REGB0);
915 /* parser/parser.nit:154 */
916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
917 /* parser/parser.nit:156 */
918 REGB0 = TAG_Int(0);
919 fra.me.REG[2] = NEW_ReduceAction1_parser___ReduceAction___init(REGB0);
920 /* parser/parser.nit:154 */
921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
922 /* parser/parser.nit:157 */
923 REGB0 = TAG_Int(0);
924 fra.me.REG[2] = NEW_ReduceAction2_parser___ReduceAction___init(REGB0);
925 /* parser/parser.nit:154 */
926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
927 /* parser/parser.nit:158 */
928 REGB0 = TAG_Int(0);
929 fra.me.REG[2] = NEW_ReduceAction3_parser___ReduceAction___init(REGB0);
930 /* parser/parser.nit:154 */
931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
932 /* parser/parser.nit:159 */
933 REGB0 = TAG_Int(0);
934 fra.me.REG[2] = NEW_ReduceAction4_parser___ReduceAction___init(REGB0);
935 /* parser/parser.nit:154 */
936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
937 /* parser/parser.nit:160 */
938 REGB0 = TAG_Int(0);
939 fra.me.REG[2] = NEW_ReduceAction5_parser___ReduceAction___init(REGB0);
940 /* parser/parser.nit:154 */
941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
942 /* parser/parser.nit:161 */
943 REGB0 = TAG_Int(0);
944 fra.me.REG[2] = NEW_ReduceAction6_parser___ReduceAction___init(REGB0);
945 /* parser/parser.nit:154 */
946 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
947 /* parser/parser.nit:162 */
948 REGB0 = TAG_Int(0);
949 fra.me.REG[2] = NEW_ReduceAction7_parser___ReduceAction___init(REGB0);
950 /* parser/parser.nit:154 */
951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
952 /* parser/parser.nit:163 */
953 REGB0 = TAG_Int(0);
954 fra.me.REG[2] = NEW_ReduceAction8_parser___ReduceAction___init(REGB0);
955 /* parser/parser.nit:154 */
956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
957 /* parser/parser.nit:164 */
958 REGB0 = TAG_Int(0);
959 fra.me.REG[2] = NEW_ReduceAction9_parser___ReduceAction___init(REGB0);
960 /* parser/parser.nit:154 */
961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
962 /* parser/parser.nit:165 */
963 REGB0 = TAG_Int(0);
964 fra.me.REG[2] = NEW_ReduceAction10_parser___ReduceAction___init(REGB0);
965 /* parser/parser.nit:154 */
966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
967 /* parser/parser.nit:166 */
968 REGB0 = TAG_Int(0);
969 fra.me.REG[2] = NEW_ReduceAction11_parser___ReduceAction___init(REGB0);
970 /* parser/parser.nit:154 */
971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
972 /* parser/parser.nit:167 */
973 REGB0 = TAG_Int(0);
974 fra.me.REG[2] = NEW_ReduceAction12_parser___ReduceAction___init(REGB0);
975 /* parser/parser.nit:154 */
976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
977 /* parser/parser.nit:168 */
978 REGB0 = TAG_Int(0);
979 fra.me.REG[2] = NEW_ReduceAction13_parser___ReduceAction___init(REGB0);
980 /* parser/parser.nit:154 */
981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
982 /* parser/parser.nit:169 */
983 REGB0 = TAG_Int(0);
984 fra.me.REG[2] = NEW_ReduceAction14_parser___ReduceAction___init(REGB0);
985 /* parser/parser.nit:154 */
986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
987 /* parser/parser.nit:170 */
988 REGB0 = TAG_Int(0);
989 fra.me.REG[2] = NEW_ReduceAction15_parser___ReduceAction___init(REGB0);
990 /* parser/parser.nit:154 */
991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
992 /* parser/parser.nit:171 */
993 REGB0 = TAG_Int(0);
994 fra.me.REG[2] = NEW_ReduceAction16_parser___ReduceAction___init(REGB0);
995 /* parser/parser.nit:154 */
996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
997 /* parser/parser.nit:172 */
998 REGB0 = TAG_Int(0);
999 fra.me.REG[2] = NEW_ReduceAction17_parser___ReduceAction___init(REGB0);
1000 /* parser/parser.nit:154 */
1001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1002 /* parser/parser.nit:173 */
1003 REGB0 = TAG_Int(0);
1004 fra.me.REG[2] = NEW_ReduceAction18_parser___ReduceAction___init(REGB0);
1005 /* parser/parser.nit:154 */
1006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1007 /* parser/parser.nit:174 */
1008 REGB0 = TAG_Int(0);
1009 fra.me.REG[2] = NEW_ReduceAction19_parser___ReduceAction___init(REGB0);
1010 /* parser/parser.nit:154 */
1011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1012 /* parser/parser.nit:175 */
1013 REGB0 = TAG_Int(0);
1014 fra.me.REG[2] = NEW_ReduceAction20_parser___ReduceAction___init(REGB0);
1015 /* parser/parser.nit:154 */
1016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1017 /* parser/parser.nit:176 */
1018 REGB0 = TAG_Int(0);
1019 fra.me.REG[2] = NEW_ReduceAction21_parser___ReduceAction___init(REGB0);
1020 /* parser/parser.nit:154 */
1021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1022 /* parser/parser.nit:177 */
1023 REGB0 = TAG_Int(0);
1024 fra.me.REG[2] = NEW_ReduceAction22_parser___ReduceAction___init(REGB0);
1025 /* parser/parser.nit:154 */
1026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1027 /* parser/parser.nit:178 */
1028 REGB0 = TAG_Int(0);
1029 fra.me.REG[2] = NEW_ReduceAction23_parser___ReduceAction___init(REGB0);
1030 /* parser/parser.nit:154 */
1031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1032 /* parser/parser.nit:179 */
1033 REGB0 = TAG_Int(0);
1034 fra.me.REG[2] = NEW_ReduceAction24_parser___ReduceAction___init(REGB0);
1035 /* parser/parser.nit:154 */
1036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1037 /* parser/parser.nit:180 */
1038 REGB0 = TAG_Int(0);
1039 fra.me.REG[2] = NEW_ReduceAction25_parser___ReduceAction___init(REGB0);
1040 /* parser/parser.nit:154 */
1041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1042 /* parser/parser.nit:181 */
1043 REGB0 = TAG_Int(0);
1044 fra.me.REG[2] = NEW_ReduceAction26_parser___ReduceAction___init(REGB0);
1045 /* parser/parser.nit:154 */
1046 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1047 /* parser/parser.nit:182 */
1048 REGB0 = TAG_Int(0);
1049 fra.me.REG[2] = NEW_ReduceAction27_parser___ReduceAction___init(REGB0);
1050 /* parser/parser.nit:154 */
1051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1052 /* parser/parser.nit:183 */
1053 REGB0 = TAG_Int(0);
1054 fra.me.REG[2] = NEW_ReduceAction28_parser___ReduceAction___init(REGB0);
1055 /* parser/parser.nit:154 */
1056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1057 /* parser/parser.nit:184 */
1058 REGB0 = TAG_Int(0);
1059 fra.me.REG[2] = NEW_ReduceAction29_parser___ReduceAction___init(REGB0);
1060 /* parser/parser.nit:154 */
1061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1062 /* parser/parser.nit:185 */
1063 REGB0 = TAG_Int(0);
1064 fra.me.REG[2] = NEW_ReduceAction30_parser___ReduceAction___init(REGB0);
1065 /* parser/parser.nit:154 */
1066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1067 /* parser/parser.nit:186 */
1068 REGB0 = TAG_Int(0);
1069 fra.me.REG[2] = NEW_ReduceAction31_parser___ReduceAction___init(REGB0);
1070 /* parser/parser.nit:154 */
1071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1072 /* parser/parser.nit:187 */
1073 REGB0 = TAG_Int(0);
1074 fra.me.REG[2] = NEW_ReduceAction32_parser___ReduceAction___init(REGB0);
1075 /* parser/parser.nit:154 */
1076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1077 /* parser/parser.nit:188 */
1078 REGB0 = TAG_Int(0);
1079 fra.me.REG[2] = NEW_ReduceAction33_parser___ReduceAction___init(REGB0);
1080 /* parser/parser.nit:154 */
1081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1082 /* parser/parser.nit:189 */
1083 REGB0 = TAG_Int(0);
1084 fra.me.REG[2] = NEW_ReduceAction34_parser___ReduceAction___init(REGB0);
1085 /* parser/parser.nit:154 */
1086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1087 /* parser/parser.nit:190 */
1088 REGB0 = TAG_Int(0);
1089 fra.me.REG[2] = NEW_ReduceAction35_parser___ReduceAction___init(REGB0);
1090 /* parser/parser.nit:154 */
1091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1092 /* parser/parser.nit:191 */
1093 REGB0 = TAG_Int(0);
1094 fra.me.REG[2] = NEW_ReduceAction36_parser___ReduceAction___init(REGB0);
1095 /* parser/parser.nit:154 */
1096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1097 /* parser/parser.nit:192 */
1098 REGB0 = TAG_Int(0);
1099 fra.me.REG[2] = NEW_ReduceAction37_parser___ReduceAction___init(REGB0);
1100 /* parser/parser.nit:154 */
1101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1102 /* parser/parser.nit:193 */
1103 REGB0 = TAG_Int(0);
1104 fra.me.REG[2] = NEW_ReduceAction38_parser___ReduceAction___init(REGB0);
1105 /* parser/parser.nit:154 */
1106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1107 /* parser/parser.nit:194 */
1108 REGB0 = TAG_Int(0);
1109 fra.me.REG[2] = NEW_ReduceAction39_parser___ReduceAction___init(REGB0);
1110 /* parser/parser.nit:154 */
1111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1112 /* parser/parser.nit:195 */
1113 REGB0 = TAG_Int(0);
1114 fra.me.REG[2] = NEW_ReduceAction40_parser___ReduceAction___init(REGB0);
1115 /* parser/parser.nit:154 */
1116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1117 /* parser/parser.nit:196 */
1118 REGB0 = TAG_Int(0);
1119 fra.me.REG[2] = NEW_ReduceAction41_parser___ReduceAction___init(REGB0);
1120 /* parser/parser.nit:154 */
1121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1122 /* parser/parser.nit:197 */
1123 REGB0 = TAG_Int(0);
1124 fra.me.REG[2] = NEW_ReduceAction42_parser___ReduceAction___init(REGB0);
1125 /* parser/parser.nit:154 */
1126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1127 /* parser/parser.nit:198 */
1128 REGB0 = TAG_Int(0);
1129 fra.me.REG[2] = NEW_ReduceAction43_parser___ReduceAction___init(REGB0);
1130 /* parser/parser.nit:154 */
1131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1132 /* parser/parser.nit:199 */
1133 REGB0 = TAG_Int(0);
1134 fra.me.REG[2] = NEW_ReduceAction44_parser___ReduceAction___init(REGB0);
1135 /* parser/parser.nit:154 */
1136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1137 /* parser/parser.nit:200 */
1138 REGB0 = TAG_Int(0);
1139 fra.me.REG[2] = NEW_ReduceAction45_parser___ReduceAction___init(REGB0);
1140 /* parser/parser.nit:154 */
1141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1142 /* parser/parser.nit:201 */
1143 REGB0 = TAG_Int(0);
1144 fra.me.REG[2] = NEW_ReduceAction46_parser___ReduceAction___init(REGB0);
1145 /* parser/parser.nit:154 */
1146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1147 /* parser/parser.nit:202 */
1148 REGB0 = TAG_Int(0);
1149 fra.me.REG[2] = NEW_ReduceAction47_parser___ReduceAction___init(REGB0);
1150 /* parser/parser.nit:154 */
1151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1152 /* parser/parser.nit:203 */
1153 REGB0 = TAG_Int(0);
1154 fra.me.REG[2] = NEW_ReduceAction48_parser___ReduceAction___init(REGB0);
1155 /* parser/parser.nit:154 */
1156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1157 /* parser/parser.nit:204 */
1158 REGB0 = TAG_Int(0);
1159 fra.me.REG[2] = NEW_ReduceAction49_parser___ReduceAction___init(REGB0);
1160 /* parser/parser.nit:154 */
1161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1162 /* parser/parser.nit:205 */
1163 REGB0 = TAG_Int(0);
1164 fra.me.REG[2] = NEW_ReduceAction50_parser___ReduceAction___init(REGB0);
1165 /* parser/parser.nit:154 */
1166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1167 /* parser/parser.nit:206 */
1168 REGB0 = TAG_Int(0);
1169 fra.me.REG[2] = NEW_ReduceAction51_parser___ReduceAction___init(REGB0);
1170 /* parser/parser.nit:154 */
1171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1172 /* parser/parser.nit:207 */
1173 REGB0 = TAG_Int(0);
1174 fra.me.REG[2] = NEW_ReduceAction52_parser___ReduceAction___init(REGB0);
1175 /* parser/parser.nit:154 */
1176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1177 /* parser/parser.nit:208 */
1178 REGB0 = TAG_Int(0);
1179 fra.me.REG[2] = NEW_ReduceAction53_parser___ReduceAction___init(REGB0);
1180 /* parser/parser.nit:154 */
1181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1182 /* parser/parser.nit:209 */
1183 REGB0 = TAG_Int(0);
1184 fra.me.REG[2] = NEW_ReduceAction54_parser___ReduceAction___init(REGB0);
1185 /* parser/parser.nit:154 */
1186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1187 /* parser/parser.nit:210 */
1188 REGB0 = TAG_Int(0);
1189 fra.me.REG[2] = NEW_ReduceAction55_parser___ReduceAction___init(REGB0);
1190 /* parser/parser.nit:154 */
1191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1192 /* parser/parser.nit:211 */
1193 REGB0 = TAG_Int(0);
1194 fra.me.REG[2] = NEW_ReduceAction56_parser___ReduceAction___init(REGB0);
1195 /* parser/parser.nit:154 */
1196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1197 /* parser/parser.nit:212 */
1198 REGB0 = TAG_Int(0);
1199 fra.me.REG[2] = NEW_ReduceAction57_parser___ReduceAction___init(REGB0);
1200 /* parser/parser.nit:154 */
1201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1202 /* parser/parser.nit:213 */
1203 REGB0 = TAG_Int(0);
1204 fra.me.REG[2] = NEW_ReduceAction58_parser___ReduceAction___init(REGB0);
1205 /* parser/parser.nit:154 */
1206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1207 /* parser/parser.nit:214 */
1208 REGB0 = TAG_Int(0);
1209 fra.me.REG[2] = NEW_ReduceAction59_parser___ReduceAction___init(REGB0);
1210 /* parser/parser.nit:154 */
1211 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1212 /* parser/parser.nit:215 */
1213 REGB0 = TAG_Int(0);
1214 fra.me.REG[2] = NEW_ReduceAction60_parser___ReduceAction___init(REGB0);
1215 /* parser/parser.nit:154 */
1216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1217 /* parser/parser.nit:216 */
1218 REGB0 = TAG_Int(0);
1219 fra.me.REG[2] = NEW_ReduceAction61_parser___ReduceAction___init(REGB0);
1220 /* parser/parser.nit:154 */
1221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1222 /* parser/parser.nit:217 */
1223 REGB0 = TAG_Int(0);
1224 fra.me.REG[2] = NEW_ReduceAction62_parser___ReduceAction___init(REGB0);
1225 /* parser/parser.nit:154 */
1226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1227 /* parser/parser.nit:218 */
1228 REGB0 = TAG_Int(0);
1229 fra.me.REG[2] = NEW_ReduceAction63_parser___ReduceAction___init(REGB0);
1230 /* parser/parser.nit:154 */
1231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1232 /* parser/parser.nit:219 */
1233 REGB0 = TAG_Int(1);
1234 fra.me.REG[2] = NEW_ReduceAction64_parser___ReduceAction___init(REGB0);
1235 /* parser/parser.nit:154 */
1236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1237 /* parser/parser.nit:220 */
1238 REGB0 = TAG_Int(2);
1239 fra.me.REG[2] = NEW_ReduceAction65_parser___ReduceAction___init(REGB0);
1240 /* parser/parser.nit:154 */
1241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1242 /* parser/parser.nit:221 */
1243 REGB0 = TAG_Int(2);
1244 fra.me.REG[2] = NEW_ReduceAction66_parser___ReduceAction___init(REGB0);
1245 /* parser/parser.nit:154 */
1246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1247 /* parser/parser.nit:222 */
1248 REGB0 = TAG_Int(3);
1249 fra.me.REG[2] = NEW_ReduceAction67_parser___ReduceAction___init(REGB0);
1250 /* parser/parser.nit:154 */
1251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1252 /* parser/parser.nit:223 */
1253 REGB0 = TAG_Int(3);
1254 fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction___init(REGB0);
1255 /* parser/parser.nit:154 */
1256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1257 /* parser/parser.nit:224 */
1258 REGB0 = TAG_Int(4);
1259 fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction___init(REGB0);
1260 /* parser/parser.nit:154 */
1261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1262 /* parser/parser.nit:225 */
1263 REGB0 = TAG_Int(4);
1264 fra.me.REG[2] = NEW_ReduceAction69_parser___ReduceAction___init(REGB0);
1265 /* parser/parser.nit:154 */
1266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1267 /* parser/parser.nit:226 */
1268 REGB0 = TAG_Int(5);
1269 fra.me.REG[2] = NEW_ReduceAction71_parser___ReduceAction___init(REGB0);
1270 /* parser/parser.nit:154 */
1271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1272 /* parser/parser.nit:227 */
1273 REGB0 = TAG_Int(5);
1274 fra.me.REG[2] = NEW_ReduceAction72_parser___ReduceAction___init(REGB0);
1275 /* parser/parser.nit:154 */
1276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1277 /* parser/parser.nit:228 */
1278 REGB0 = TAG_Int(5);
1279 fra.me.REG[2] = NEW_ReduceAction73_parser___ReduceAction___init(REGB0);
1280 /* parser/parser.nit:154 */
1281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1282 /* parser/parser.nit:229 */
1283 REGB0 = TAG_Int(5);
1284 fra.me.REG[2] = NEW_ReduceAction74_parser___ReduceAction___init(REGB0);
1285 /* parser/parser.nit:154 */
1286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1287 /* parser/parser.nit:230 */
1288 REGB0 = TAG_Int(5);
1289 fra.me.REG[2] = NEW_ReduceAction75_parser___ReduceAction___init(REGB0);
1290 /* parser/parser.nit:154 */
1291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1292 /* parser/parser.nit:231 */
1293 REGB0 = TAG_Int(5);
1294 fra.me.REG[2] = NEW_ReduceAction76_parser___ReduceAction___init(REGB0);
1295 /* parser/parser.nit:154 */
1296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1297 /* parser/parser.nit:232 */
1298 REGB0 = TAG_Int(5);
1299 fra.me.REG[2] = NEW_ReduceAction77_parser___ReduceAction___init(REGB0);
1300 /* parser/parser.nit:154 */
1301 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1302 /* parser/parser.nit:233 */
1303 REGB0 = TAG_Int(5);
1304 fra.me.REG[2] = NEW_ReduceAction78_parser___ReduceAction___init(REGB0);
1305 /* parser/parser.nit:154 */
1306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1307 /* parser/parser.nit:234 */
1308 REGB0 = TAG_Int(5);
1309 fra.me.REG[2] = NEW_ReduceAction79_parser___ReduceAction___init(REGB0);
1310 /* parser/parser.nit:154 */
1311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1312 /* parser/parser.nit:235 */
1313 REGB0 = TAG_Int(5);
1314 fra.me.REG[2] = NEW_ReduceAction80_parser___ReduceAction___init(REGB0);
1315 /* parser/parser.nit:154 */
1316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1317 /* parser/parser.nit:236 */
1318 REGB0 = TAG_Int(5);
1319 fra.me.REG[2] = NEW_ReduceAction81_parser___ReduceAction___init(REGB0);
1320 /* parser/parser.nit:154 */
1321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1322 /* parser/parser.nit:237 */
1323 REGB0 = TAG_Int(5);
1324 fra.me.REG[2] = NEW_ReduceAction82_parser___ReduceAction___init(REGB0);
1325 /* parser/parser.nit:154 */
1326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1327 /* parser/parser.nit:238 */
1328 REGB0 = TAG_Int(5);
1329 fra.me.REG[2] = NEW_ReduceAction83_parser___ReduceAction___init(REGB0);
1330 /* parser/parser.nit:154 */
1331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1332 /* parser/parser.nit:239 */
1333 REGB0 = TAG_Int(5);
1334 fra.me.REG[2] = NEW_ReduceAction84_parser___ReduceAction___init(REGB0);
1335 /* parser/parser.nit:154 */
1336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1337 /* parser/parser.nit:240 */
1338 REGB0 = TAG_Int(5);
1339 fra.me.REG[2] = NEW_ReduceAction85_parser___ReduceAction___init(REGB0);
1340 /* parser/parser.nit:154 */
1341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1342 /* parser/parser.nit:241 */
1343 REGB0 = TAG_Int(5);
1344 fra.me.REG[2] = NEW_ReduceAction86_parser___ReduceAction___init(REGB0);
1345 /* parser/parser.nit:154 */
1346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1347 /* parser/parser.nit:242 */
1348 REGB0 = TAG_Int(5);
1349 fra.me.REG[2] = NEW_ReduceAction87_parser___ReduceAction___init(REGB0);
1350 /* parser/parser.nit:154 */
1351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1352 /* parser/parser.nit:243 */
1353 REGB0 = TAG_Int(5);
1354 fra.me.REG[2] = NEW_ReduceAction88_parser___ReduceAction___init(REGB0);
1355 /* parser/parser.nit:154 */
1356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1357 /* parser/parser.nit:244 */
1358 REGB0 = TAG_Int(5);
1359 fra.me.REG[2] = NEW_ReduceAction89_parser___ReduceAction___init(REGB0);
1360 /* parser/parser.nit:154 */
1361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1362 /* parser/parser.nit:245 */
1363 REGB0 = TAG_Int(5);
1364 fra.me.REG[2] = NEW_ReduceAction90_parser___ReduceAction___init(REGB0);
1365 /* parser/parser.nit:154 */
1366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1367 /* parser/parser.nit:246 */
1368 REGB0 = TAG_Int(5);
1369 fra.me.REG[2] = NEW_ReduceAction91_parser___ReduceAction___init(REGB0);
1370 /* parser/parser.nit:154 */
1371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1372 /* parser/parser.nit:247 */
1373 REGB0 = TAG_Int(5);
1374 fra.me.REG[2] = NEW_ReduceAction92_parser___ReduceAction___init(REGB0);
1375 /* parser/parser.nit:154 */
1376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1377 /* parser/parser.nit:248 */
1378 REGB0 = TAG_Int(5);
1379 fra.me.REG[2] = NEW_ReduceAction93_parser___ReduceAction___init(REGB0);
1380 /* parser/parser.nit:154 */
1381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1382 /* parser/parser.nit:249 */
1383 REGB0 = TAG_Int(5);
1384 fra.me.REG[2] = NEW_ReduceAction94_parser___ReduceAction___init(REGB0);
1385 /* parser/parser.nit:154 */
1386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1387 /* parser/parser.nit:250 */
1388 REGB0 = TAG_Int(5);
1389 fra.me.REG[2] = NEW_ReduceAction95_parser___ReduceAction___init(REGB0);
1390 /* parser/parser.nit:154 */
1391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1392 /* parser/parser.nit:251 */
1393 REGB0 = TAG_Int(5);
1394 fra.me.REG[2] = NEW_ReduceAction96_parser___ReduceAction___init(REGB0);
1395 /* parser/parser.nit:154 */
1396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1397 /* parser/parser.nit:252 */
1398 REGB0 = TAG_Int(5);
1399 fra.me.REG[2] = NEW_ReduceAction97_parser___ReduceAction___init(REGB0);
1400 /* parser/parser.nit:154 */
1401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1402 /* parser/parser.nit:253 */
1403 REGB0 = TAG_Int(5);
1404 fra.me.REG[2] = NEW_ReduceAction98_parser___ReduceAction___init(REGB0);
1405 /* parser/parser.nit:154 */
1406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1407 /* parser/parser.nit:254 */
1408 REGB0 = TAG_Int(5);
1409 fra.me.REG[2] = NEW_ReduceAction99_parser___ReduceAction___init(REGB0);
1410 /* parser/parser.nit:154 */
1411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1412 /* parser/parser.nit:255 */
1413 REGB0 = TAG_Int(5);
1414 fra.me.REG[2] = NEW_ReduceAction100_parser___ReduceAction___init(REGB0);
1415 /* parser/parser.nit:154 */
1416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1417 /* parser/parser.nit:256 */
1418 REGB0 = TAG_Int(5);
1419 fra.me.REG[2] = NEW_ReduceAction101_parser___ReduceAction___init(REGB0);
1420 /* parser/parser.nit:154 */
1421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1422 /* parser/parser.nit:257 */
1423 REGB0 = TAG_Int(5);
1424 fra.me.REG[2] = NEW_ReduceAction102_parser___ReduceAction___init(REGB0);
1425 /* parser/parser.nit:154 */
1426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1427 /* parser/parser.nit:258 */
1428 REGB0 = TAG_Int(6);
1429 fra.me.REG[2] = NEW_ReduceAction103_parser___ReduceAction___init(REGB0);
1430 /* parser/parser.nit:154 */
1431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1432 /* parser/parser.nit:259 */
1433 REGB0 = TAG_Int(6);
1434 fra.me.REG[2] = NEW_ReduceAction104_parser___ReduceAction___init(REGB0);
1435 /* parser/parser.nit:154 */
1436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1437 /* parser/parser.nit:260 */
1438 REGB0 = TAG_Int(6);
1439 fra.me.REG[2] = NEW_ReduceAction105_parser___ReduceAction___init(REGB0);
1440 /* parser/parser.nit:154 */
1441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1442 /* parser/parser.nit:261 */
1443 REGB0 = TAG_Int(6);
1444 fra.me.REG[2] = NEW_ReduceAction106_parser___ReduceAction___init(REGB0);
1445 /* parser/parser.nit:154 */
1446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1447 /* parser/parser.nit:262 */
1448 REGB0 = TAG_Int(6);
1449 fra.me.REG[2] = NEW_ReduceAction107_parser___ReduceAction___init(REGB0);
1450 /* parser/parser.nit:154 */
1451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1452 /* parser/parser.nit:263 */
1453 REGB0 = TAG_Int(7);
1454 fra.me.REG[2] = NEW_ReduceAction108_parser___ReduceAction___init(REGB0);
1455 /* parser/parser.nit:154 */
1456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1457 /* parser/parser.nit:264 */
1458 REGB0 = TAG_Int(7);
1459 fra.me.REG[2] = NEW_ReduceAction109_parser___ReduceAction___init(REGB0);
1460 /* parser/parser.nit:154 */
1461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1462 /* parser/parser.nit:265 */
1463 REGB0 = TAG_Int(8);
1464 fra.me.REG[2] = NEW_ReduceAction110_parser___ReduceAction___init(REGB0);
1465 /* parser/parser.nit:154 */
1466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1467 /* parser/parser.nit:266 */
1468 REGB0 = TAG_Int(9);
1469 fra.me.REG[2] = NEW_ReduceAction111_parser___ReduceAction___init(REGB0);
1470 /* parser/parser.nit:154 */
1471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1472 /* parser/parser.nit:267 */
1473 REGB0 = TAG_Int(9);
1474 fra.me.REG[2] = NEW_ReduceAction112_parser___ReduceAction___init(REGB0);
1475 /* parser/parser.nit:154 */
1476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1477 /* parser/parser.nit:268 */
1478 REGB0 = TAG_Int(10);
1479 fra.me.REG[2] = NEW_ReduceAction113_parser___ReduceAction___init(REGB0);
1480 /* parser/parser.nit:154 */
1481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1482 /* parser/parser.nit:269 */
1483 REGB0 = TAG_Int(10);
1484 fra.me.REG[2] = NEW_ReduceAction114_parser___ReduceAction___init(REGB0);
1485 /* parser/parser.nit:154 */
1486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1487 /* parser/parser.nit:270 */
1488 REGB0 = TAG_Int(11);
1489 fra.me.REG[2] = NEW_ReduceAction115_parser___ReduceAction___init(REGB0);
1490 /* parser/parser.nit:154 */
1491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1492 /* parser/parser.nit:271 */
1493 REGB0 = TAG_Int(12);
1494 fra.me.REG[2] = NEW_ReduceAction116_parser___ReduceAction___init(REGB0);
1495 /* parser/parser.nit:154 */
1496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1497 /* parser/parser.nit:272 */
1498 REGB0 = TAG_Int(12);
1499 fra.me.REG[2] = NEW_ReduceAction117_parser___ReduceAction___init(REGB0);
1500 /* parser/parser.nit:154 */
1501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1502 /* parser/parser.nit:273 */
1503 REGB0 = TAG_Int(12);
1504 fra.me.REG[2] = NEW_ReduceAction118_parser___ReduceAction___init(REGB0);
1505 /* parser/parser.nit:154 */
1506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1507 /* parser/parser.nit:274 */
1508 REGB0 = TAG_Int(12);
1509 fra.me.REG[2] = NEW_ReduceAction119_parser___ReduceAction___init(REGB0);
1510 /* parser/parser.nit:154 */
1511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1512 /* parser/parser.nit:275 */
1513 REGB0 = TAG_Int(12);
1514 fra.me.REG[2] = NEW_ReduceAction120_parser___ReduceAction___init(REGB0);
1515 /* parser/parser.nit:154 */
1516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1517 /* parser/parser.nit:276 */
1518 REGB0 = TAG_Int(12);
1519 fra.me.REG[2] = NEW_ReduceAction121_parser___ReduceAction___init(REGB0);
1520 /* parser/parser.nit:154 */
1521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1522 /* parser/parser.nit:277 */
1523 REGB0 = TAG_Int(12);
1524 fra.me.REG[2] = NEW_ReduceAction122_parser___ReduceAction___init(REGB0);
1525 /* parser/parser.nit:154 */
1526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1527 /* parser/parser.nit:278 */
1528 REGB0 = TAG_Int(12);
1529 fra.me.REG[2] = NEW_ReduceAction123_parser___ReduceAction___init(REGB0);
1530 /* parser/parser.nit:154 */
1531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1532 /* parser/parser.nit:279 */
1533 REGB0 = TAG_Int(12);
1534 fra.me.REG[2] = NEW_ReduceAction124_parser___ReduceAction___init(REGB0);
1535 /* parser/parser.nit:154 */
1536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1537 /* parser/parser.nit:280 */
1538 REGB0 = TAG_Int(12);
1539 fra.me.REG[2] = NEW_ReduceAction125_parser___ReduceAction___init(REGB0);
1540 /* parser/parser.nit:154 */
1541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1542 /* parser/parser.nit:281 */
1543 REGB0 = TAG_Int(12);
1544 fra.me.REG[2] = NEW_ReduceAction126_parser___ReduceAction___init(REGB0);
1545 /* parser/parser.nit:154 */
1546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1547 /* parser/parser.nit:282 */
1548 REGB0 = TAG_Int(12);
1549 fra.me.REG[2] = NEW_ReduceAction127_parser___ReduceAction___init(REGB0);
1550 /* parser/parser.nit:154 */
1551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1552 /* parser/parser.nit:283 */
1553 REGB0 = TAG_Int(12);
1554 fra.me.REG[2] = NEW_ReduceAction128_parser___ReduceAction___init(REGB0);
1555 /* parser/parser.nit:154 */
1556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1557 /* parser/parser.nit:284 */
1558 REGB0 = TAG_Int(12);
1559 fra.me.REG[2] = NEW_ReduceAction129_parser___ReduceAction___init(REGB0);
1560 /* parser/parser.nit:154 */
1561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1562 /* parser/parser.nit:285 */
1563 REGB0 = TAG_Int(12);
1564 fra.me.REG[2] = NEW_ReduceAction130_parser___ReduceAction___init(REGB0);
1565 /* parser/parser.nit:154 */
1566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1567 /* parser/parser.nit:286 */
1568 REGB0 = TAG_Int(12);
1569 fra.me.REG[2] = NEW_ReduceAction131_parser___ReduceAction___init(REGB0);
1570 /* parser/parser.nit:154 */
1571 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1572 /* parser/parser.nit:287 */
1573 REGB0 = TAG_Int(12);
1574 fra.me.REG[2] = NEW_ReduceAction132_parser___ReduceAction___init(REGB0);
1575 /* parser/parser.nit:154 */
1576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1577 /* parser/parser.nit:288 */
1578 REGB0 = TAG_Int(12);
1579 fra.me.REG[2] = NEW_ReduceAction133_parser___ReduceAction___init(REGB0);
1580 /* parser/parser.nit:154 */
1581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1582 /* parser/parser.nit:289 */
1583 REGB0 = TAG_Int(12);
1584 fra.me.REG[2] = NEW_ReduceAction134_parser___ReduceAction___init(REGB0);
1585 /* parser/parser.nit:154 */
1586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1587 /* parser/parser.nit:290 */
1588 REGB0 = TAG_Int(12);
1589 fra.me.REG[2] = NEW_ReduceAction135_parser___ReduceAction___init(REGB0);
1590 /* parser/parser.nit:154 */
1591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1592 /* parser/parser.nit:291 */
1593 REGB0 = TAG_Int(12);
1594 fra.me.REG[2] = NEW_ReduceAction136_parser___ReduceAction___init(REGB0);
1595 /* parser/parser.nit:154 */
1596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1597 /* parser/parser.nit:292 */
1598 REGB0 = TAG_Int(12);
1599 fra.me.REG[2] = NEW_ReduceAction137_parser___ReduceAction___init(REGB0);
1600 /* parser/parser.nit:154 */
1601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1602 /* parser/parser.nit:293 */
1603 REGB0 = TAG_Int(12);
1604 fra.me.REG[2] = NEW_ReduceAction138_parser___ReduceAction___init(REGB0);
1605 /* parser/parser.nit:154 */
1606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1607 /* parser/parser.nit:294 */
1608 REGB0 = TAG_Int(12);
1609 fra.me.REG[2] = NEW_ReduceAction139_parser___ReduceAction___init(REGB0);
1610 /* parser/parser.nit:154 */
1611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1612 /* parser/parser.nit:295 */
1613 REGB0 = TAG_Int(12);
1614 fra.me.REG[2] = NEW_ReduceAction140_parser___ReduceAction___init(REGB0);
1615 /* parser/parser.nit:154 */
1616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1617 /* parser/parser.nit:296 */
1618 REGB0 = TAG_Int(12);
1619 fra.me.REG[2] = NEW_ReduceAction141_parser___ReduceAction___init(REGB0);
1620 /* parser/parser.nit:154 */
1621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1622 /* parser/parser.nit:297 */
1623 REGB0 = TAG_Int(12);
1624 fra.me.REG[2] = NEW_ReduceAction142_parser___ReduceAction___init(REGB0);
1625 /* parser/parser.nit:154 */
1626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1627 /* parser/parser.nit:298 */
1628 REGB0 = TAG_Int(12);
1629 fra.me.REG[2] = NEW_ReduceAction143_parser___ReduceAction___init(REGB0);
1630 /* parser/parser.nit:154 */
1631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1632 /* parser/parser.nit:299 */
1633 REGB0 = TAG_Int(12);
1634 fra.me.REG[2] = NEW_ReduceAction144_parser___ReduceAction___init(REGB0);
1635 /* parser/parser.nit:154 */
1636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1637 /* parser/parser.nit:300 */
1638 REGB0 = TAG_Int(12);
1639 fra.me.REG[2] = NEW_ReduceAction145_parser___ReduceAction___init(REGB0);
1640 /* parser/parser.nit:154 */
1641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1642 /* parser/parser.nit:301 */
1643 REGB0 = TAG_Int(12);
1644 fra.me.REG[2] = NEW_ReduceAction146_parser___ReduceAction___init(REGB0);
1645 /* parser/parser.nit:154 */
1646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1647 /* parser/parser.nit:302 */
1648 REGB0 = TAG_Int(12);
1649 fra.me.REG[2] = NEW_ReduceAction147_parser___ReduceAction___init(REGB0);
1650 /* parser/parser.nit:154 */
1651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1652 /* parser/parser.nit:303 */
1653 REGB0 = TAG_Int(12);
1654 fra.me.REG[2] = NEW_ReduceAction148_parser___ReduceAction___init(REGB0);
1655 /* parser/parser.nit:154 */
1656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1657 /* parser/parser.nit:304 */
1658 REGB0 = TAG_Int(12);
1659 fra.me.REG[2] = NEW_ReduceAction149_parser___ReduceAction___init(REGB0);
1660 /* parser/parser.nit:154 */
1661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1662 /* parser/parser.nit:305 */
1663 REGB0 = TAG_Int(12);
1664 fra.me.REG[2] = NEW_ReduceAction150_parser___ReduceAction___init(REGB0);
1665 /* parser/parser.nit:154 */
1666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1667 /* parser/parser.nit:306 */
1668 REGB0 = TAG_Int(12);
1669 fra.me.REG[2] = NEW_ReduceAction151_parser___ReduceAction___init(REGB0);
1670 /* parser/parser.nit:154 */
1671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1672 /* parser/parser.nit:307 */
1673 REGB0 = TAG_Int(12);
1674 fra.me.REG[2] = NEW_ReduceAction152_parser___ReduceAction___init(REGB0);
1675 /* parser/parser.nit:154 */
1676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1677 /* parser/parser.nit:308 */
1678 REGB0 = TAG_Int(12);
1679 fra.me.REG[2] = NEW_ReduceAction153_parser___ReduceAction___init(REGB0);
1680 /* parser/parser.nit:154 */
1681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1682 /* parser/parser.nit:309 */
1683 REGB0 = TAG_Int(12);
1684 fra.me.REG[2] = NEW_ReduceAction154_parser___ReduceAction___init(REGB0);
1685 /* parser/parser.nit:154 */
1686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1687 /* parser/parser.nit:310 */
1688 REGB0 = TAG_Int(12);
1689 fra.me.REG[2] = NEW_ReduceAction155_parser___ReduceAction___init(REGB0);
1690 /* parser/parser.nit:154 */
1691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1692 /* parser/parser.nit:311 */
1693 REGB0 = TAG_Int(12);
1694 fra.me.REG[2] = NEW_ReduceAction156_parser___ReduceAction___init(REGB0);
1695 /* parser/parser.nit:154 */
1696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1697 /* parser/parser.nit:312 */
1698 REGB0 = TAG_Int(12);
1699 fra.me.REG[2] = NEW_ReduceAction157_parser___ReduceAction___init(REGB0);
1700 /* parser/parser.nit:154 */
1701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1702 /* parser/parser.nit:313 */
1703 REGB0 = TAG_Int(12);
1704 fra.me.REG[2] = NEW_ReduceAction158_parser___ReduceAction___init(REGB0);
1705 /* parser/parser.nit:154 */
1706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1707 /* parser/parser.nit:314 */
1708 REGB0 = TAG_Int(12);
1709 fra.me.REG[2] = NEW_ReduceAction159_parser___ReduceAction___init(REGB0);
1710 /* parser/parser.nit:154 */
1711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1712 /* parser/parser.nit:315 */
1713 REGB0 = TAG_Int(12);
1714 fra.me.REG[2] = NEW_ReduceAction160_parser___ReduceAction___init(REGB0);
1715 /* parser/parser.nit:154 */
1716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1717 /* parser/parser.nit:316 */
1718 REGB0 = TAG_Int(12);
1719 fra.me.REG[2] = NEW_ReduceAction161_parser___ReduceAction___init(REGB0);
1720 /* parser/parser.nit:154 */
1721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1722 /* parser/parser.nit:317 */
1723 REGB0 = TAG_Int(12);
1724 fra.me.REG[2] = NEW_ReduceAction162_parser___ReduceAction___init(REGB0);
1725 /* parser/parser.nit:154 */
1726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1727 /* parser/parser.nit:318 */
1728 REGB0 = TAG_Int(12);
1729 fra.me.REG[2] = NEW_ReduceAction163_parser___ReduceAction___init(REGB0);
1730 /* parser/parser.nit:154 */
1731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1732 /* parser/parser.nit:319 */
1733 REGB0 = TAG_Int(12);
1734 fra.me.REG[2] = NEW_ReduceAction164_parser___ReduceAction___init(REGB0);
1735 /* parser/parser.nit:154 */
1736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1737 /* parser/parser.nit:320 */
1738 REGB0 = TAG_Int(12);
1739 fra.me.REG[2] = NEW_ReduceAction165_parser___ReduceAction___init(REGB0);
1740 /* parser/parser.nit:154 */
1741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1742 /* parser/parser.nit:321 */
1743 REGB0 = TAG_Int(12);
1744 fra.me.REG[2] = NEW_ReduceAction166_parser___ReduceAction___init(REGB0);
1745 /* parser/parser.nit:154 */
1746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1747 /* parser/parser.nit:322 */
1748 REGB0 = TAG_Int(12);
1749 fra.me.REG[2] = NEW_ReduceAction167_parser___ReduceAction___init(REGB0);
1750 /* parser/parser.nit:154 */
1751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1752 /* parser/parser.nit:323 */
1753 REGB0 = TAG_Int(12);
1754 fra.me.REG[2] = NEW_ReduceAction168_parser___ReduceAction___init(REGB0);
1755 /* parser/parser.nit:154 */
1756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1757 /* parser/parser.nit:324 */
1758 REGB0 = TAG_Int(12);
1759 fra.me.REG[2] = NEW_ReduceAction169_parser___ReduceAction___init(REGB0);
1760 /* parser/parser.nit:154 */
1761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1762 /* parser/parser.nit:325 */
1763 REGB0 = TAG_Int(12);
1764 fra.me.REG[2] = NEW_ReduceAction170_parser___ReduceAction___init(REGB0);
1765 /* parser/parser.nit:154 */
1766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1767 /* parser/parser.nit:326 */
1768 REGB0 = TAG_Int(12);
1769 fra.me.REG[2] = NEW_ReduceAction171_parser___ReduceAction___init(REGB0);
1770 /* parser/parser.nit:154 */
1771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1772 /* parser/parser.nit:327 */
1773 REGB0 = TAG_Int(12);
1774 fra.me.REG[2] = NEW_ReduceAction172_parser___ReduceAction___init(REGB0);
1775 /* parser/parser.nit:154 */
1776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1777 /* parser/parser.nit:328 */
1778 REGB0 = TAG_Int(12);
1779 fra.me.REG[2] = NEW_ReduceAction173_parser___ReduceAction___init(REGB0);
1780 /* parser/parser.nit:154 */
1781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1782 /* parser/parser.nit:329 */
1783 REGB0 = TAG_Int(12);
1784 fra.me.REG[2] = NEW_ReduceAction174_parser___ReduceAction___init(REGB0);
1785 /* parser/parser.nit:154 */
1786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1787 /* parser/parser.nit:330 */
1788 REGB0 = TAG_Int(12);
1789 fra.me.REG[2] = NEW_ReduceAction175_parser___ReduceAction___init(REGB0);
1790 /* parser/parser.nit:154 */
1791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1792 /* parser/parser.nit:331 */
1793 REGB0 = TAG_Int(12);
1794 fra.me.REG[2] = NEW_ReduceAction176_parser___ReduceAction___init(REGB0);
1795 /* parser/parser.nit:154 */
1796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1797 /* parser/parser.nit:332 */
1798 REGB0 = TAG_Int(12);
1799 fra.me.REG[2] = NEW_ReduceAction177_parser___ReduceAction___init(REGB0);
1800 /* parser/parser.nit:154 */
1801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1802 /* parser/parser.nit:333 */
1803 REGB0 = TAG_Int(12);
1804 fra.me.REG[2] = NEW_ReduceAction178_parser___ReduceAction___init(REGB0);
1805 /* parser/parser.nit:154 */
1806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1807 /* parser/parser.nit:334 */
1808 REGB0 = TAG_Int(12);
1809 fra.me.REG[2] = NEW_ReduceAction179_parser___ReduceAction___init(REGB0);
1810 /* parser/parser.nit:154 */
1811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1812 /* parser/parser.nit:335 */
1813 REGB0 = TAG_Int(12);
1814 fra.me.REG[2] = NEW_ReduceAction180_parser___ReduceAction___init(REGB0);
1815 /* parser/parser.nit:154 */
1816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1817 /* parser/parser.nit:336 */
1818 REGB0 = TAG_Int(12);
1819 fra.me.REG[2] = NEW_ReduceAction181_parser___ReduceAction___init(REGB0);
1820 /* parser/parser.nit:154 */
1821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1822 /* parser/parser.nit:337 */
1823 REGB0 = TAG_Int(12);
1824 fra.me.REG[2] = NEW_ReduceAction182_parser___ReduceAction___init(REGB0);
1825 /* parser/parser.nit:154 */
1826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1827 /* parser/parser.nit:338 */
1828 REGB0 = TAG_Int(12);
1829 fra.me.REG[2] = NEW_ReduceAction183_parser___ReduceAction___init(REGB0);
1830 /* parser/parser.nit:154 */
1831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1832 /* parser/parser.nit:339 */
1833 REGB0 = TAG_Int(12);
1834 fra.me.REG[2] = NEW_ReduceAction184_parser___ReduceAction___init(REGB0);
1835 /* parser/parser.nit:154 */
1836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1837 /* parser/parser.nit:340 */
1838 REGB0 = TAG_Int(12);
1839 fra.me.REG[2] = NEW_ReduceAction185_parser___ReduceAction___init(REGB0);
1840 /* parser/parser.nit:154 */
1841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1842 /* parser/parser.nit:341 */
1843 REGB0 = TAG_Int(12);
1844 fra.me.REG[2] = NEW_ReduceAction186_parser___ReduceAction___init(REGB0);
1845 /* parser/parser.nit:154 */
1846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1847 /* parser/parser.nit:342 */
1848 REGB0 = TAG_Int(12);
1849 fra.me.REG[2] = NEW_ReduceAction187_parser___ReduceAction___init(REGB0);
1850 /* parser/parser.nit:154 */
1851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1852 /* parser/parser.nit:343 */
1853 REGB0 = TAG_Int(12);
1854 fra.me.REG[2] = NEW_ReduceAction188_parser___ReduceAction___init(REGB0);
1855 /* parser/parser.nit:154 */
1856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1857 /* parser/parser.nit:344 */
1858 REGB0 = TAG_Int(12);
1859 fra.me.REG[2] = NEW_ReduceAction189_parser___ReduceAction___init(REGB0);
1860 /* parser/parser.nit:154 */
1861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1862 /* parser/parser.nit:345 */
1863 REGB0 = TAG_Int(12);
1864 fra.me.REG[2] = NEW_ReduceAction190_parser___ReduceAction___init(REGB0);
1865 /* parser/parser.nit:154 */
1866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1867 /* parser/parser.nit:346 */
1868 REGB0 = TAG_Int(12);
1869 fra.me.REG[2] = NEW_ReduceAction191_parser___ReduceAction___init(REGB0);
1870 /* parser/parser.nit:154 */
1871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1872 /* parser/parser.nit:347 */
1873 REGB0 = TAG_Int(12);
1874 fra.me.REG[2] = NEW_ReduceAction192_parser___ReduceAction___init(REGB0);
1875 /* parser/parser.nit:154 */
1876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1877 /* parser/parser.nit:348 */
1878 REGB0 = TAG_Int(12);
1879 fra.me.REG[2] = NEW_ReduceAction193_parser___ReduceAction___init(REGB0);
1880 /* parser/parser.nit:154 */
1881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1882 /* parser/parser.nit:349 */
1883 REGB0 = TAG_Int(12);
1884 fra.me.REG[2] = NEW_ReduceAction194_parser___ReduceAction___init(REGB0);
1885 /* parser/parser.nit:154 */
1886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1887 /* parser/parser.nit:350 */
1888 REGB0 = TAG_Int(12);
1889 fra.me.REG[2] = NEW_ReduceAction195_parser___ReduceAction___init(REGB0);
1890 /* parser/parser.nit:154 */
1891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1892 /* parser/parser.nit:351 */
1893 REGB0 = TAG_Int(12);
1894 fra.me.REG[2] = NEW_ReduceAction196_parser___ReduceAction___init(REGB0);
1895 /* parser/parser.nit:154 */
1896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1897 /* parser/parser.nit:352 */
1898 REGB0 = TAG_Int(12);
1899 fra.me.REG[2] = NEW_ReduceAction197_parser___ReduceAction___init(REGB0);
1900 /* parser/parser.nit:154 */
1901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1902 /* parser/parser.nit:353 */
1903 REGB0 = TAG_Int(12);
1904 fra.me.REG[2] = NEW_ReduceAction198_parser___ReduceAction___init(REGB0);
1905 /* parser/parser.nit:154 */
1906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1907 /* parser/parser.nit:354 */
1908 REGB0 = TAG_Int(12);
1909 fra.me.REG[2] = NEW_ReduceAction199_parser___ReduceAction___init(REGB0);
1910 /* parser/parser.nit:154 */
1911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1912 /* parser/parser.nit:355 */
1913 REGB0 = TAG_Int(12);
1914 fra.me.REG[2] = NEW_ReduceAction200_parser___ReduceAction___init(REGB0);
1915 /* parser/parser.nit:154 */
1916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1917 /* parser/parser.nit:356 */
1918 REGB0 = TAG_Int(12);
1919 fra.me.REG[2] = NEW_ReduceAction201_parser___ReduceAction___init(REGB0);
1920 /* parser/parser.nit:154 */
1921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1922 /* parser/parser.nit:357 */
1923 REGB0 = TAG_Int(12);
1924 fra.me.REG[2] = NEW_ReduceAction202_parser___ReduceAction___init(REGB0);
1925 /* parser/parser.nit:154 */
1926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1927 /* parser/parser.nit:358 */
1928 REGB0 = TAG_Int(12);
1929 fra.me.REG[2] = NEW_ReduceAction203_parser___ReduceAction___init(REGB0);
1930 /* parser/parser.nit:154 */
1931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1932 /* parser/parser.nit:359 */
1933 REGB0 = TAG_Int(12);
1934 fra.me.REG[2] = NEW_ReduceAction204_parser___ReduceAction___init(REGB0);
1935 /* parser/parser.nit:154 */
1936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1937 /* parser/parser.nit:360 */
1938 REGB0 = TAG_Int(12);
1939 fra.me.REG[2] = NEW_ReduceAction205_parser___ReduceAction___init(REGB0);
1940 /* parser/parser.nit:154 */
1941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1942 /* parser/parser.nit:361 */
1943 REGB0 = TAG_Int(12);
1944 fra.me.REG[2] = NEW_ReduceAction206_parser___ReduceAction___init(REGB0);
1945 /* parser/parser.nit:154 */
1946 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1947 /* parser/parser.nit:362 */
1948 REGB0 = TAG_Int(12);
1949 fra.me.REG[2] = NEW_ReduceAction207_parser___ReduceAction___init(REGB0);
1950 /* parser/parser.nit:154 */
1951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1952 /* parser/parser.nit:363 */
1953 REGB0 = TAG_Int(12);
1954 fra.me.REG[2] = NEW_ReduceAction208_parser___ReduceAction___init(REGB0);
1955 /* parser/parser.nit:154 */
1956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1957 /* parser/parser.nit:364 */
1958 REGB0 = TAG_Int(12);
1959 fra.me.REG[2] = NEW_ReduceAction209_parser___ReduceAction___init(REGB0);
1960 /* parser/parser.nit:154 */
1961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1962 /* parser/parser.nit:365 */
1963 REGB0 = TAG_Int(12);
1964 fra.me.REG[2] = NEW_ReduceAction210_parser___ReduceAction___init(REGB0);
1965 /* parser/parser.nit:154 */
1966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1967 /* parser/parser.nit:366 */
1968 REGB0 = TAG_Int(12);
1969 fra.me.REG[2] = NEW_ReduceAction211_parser___ReduceAction___init(REGB0);
1970 /* parser/parser.nit:154 */
1971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1972 /* parser/parser.nit:367 */
1973 REGB0 = TAG_Int(12);
1974 fra.me.REG[2] = NEW_ReduceAction212_parser___ReduceAction___init(REGB0);
1975 /* parser/parser.nit:154 */
1976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1977 /* parser/parser.nit:368 */
1978 REGB0 = TAG_Int(12);
1979 fra.me.REG[2] = NEW_ReduceAction213_parser___ReduceAction___init(REGB0);
1980 /* parser/parser.nit:154 */
1981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1982 /* parser/parser.nit:369 */
1983 REGB0 = TAG_Int(12);
1984 fra.me.REG[2] = NEW_ReduceAction214_parser___ReduceAction___init(REGB0);
1985 /* parser/parser.nit:154 */
1986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1987 /* parser/parser.nit:370 */
1988 REGB0 = TAG_Int(12);
1989 fra.me.REG[2] = NEW_ReduceAction215_parser___ReduceAction___init(REGB0);
1990 /* parser/parser.nit:154 */
1991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1992 /* parser/parser.nit:371 */
1993 REGB0 = TAG_Int(12);
1994 fra.me.REG[2] = NEW_ReduceAction216_parser___ReduceAction___init(REGB0);
1995 /* parser/parser.nit:154 */
1996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1997 /* parser/parser.nit:372 */
1998 REGB0 = TAG_Int(12);
1999 fra.me.REG[2] = NEW_ReduceAction217_parser___ReduceAction___init(REGB0);
2000 /* parser/parser.nit:154 */
2001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2002 /* parser/parser.nit:373 */
2003 REGB0 = TAG_Int(12);
2004 fra.me.REG[2] = NEW_ReduceAction218_parser___ReduceAction___init(REGB0);
2005 /* parser/parser.nit:154 */
2006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2007 /* parser/parser.nit:374 */
2008 REGB0 = TAG_Int(12);
2009 fra.me.REG[2] = NEW_ReduceAction219_parser___ReduceAction___init(REGB0);
2010 /* parser/parser.nit:154 */
2011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2012 /* parser/parser.nit:375 */
2013 REGB0 = TAG_Int(12);
2014 fra.me.REG[2] = NEW_ReduceAction220_parser___ReduceAction___init(REGB0);
2015 /* parser/parser.nit:154 */
2016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2017 /* parser/parser.nit:376 */
2018 REGB0 = TAG_Int(12);
2019 fra.me.REG[2] = NEW_ReduceAction221_parser___ReduceAction___init(REGB0);
2020 /* parser/parser.nit:154 */
2021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2022 /* parser/parser.nit:377 */
2023 REGB0 = TAG_Int(12);
2024 fra.me.REG[2] = NEW_ReduceAction222_parser___ReduceAction___init(REGB0);
2025 /* parser/parser.nit:154 */
2026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2027 /* parser/parser.nit:378 */
2028 REGB0 = TAG_Int(12);
2029 fra.me.REG[2] = NEW_ReduceAction223_parser___ReduceAction___init(REGB0);
2030 /* parser/parser.nit:154 */
2031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2032 /* parser/parser.nit:379 */
2033 REGB0 = TAG_Int(12);
2034 fra.me.REG[2] = NEW_ReduceAction224_parser___ReduceAction___init(REGB0);
2035 /* parser/parser.nit:154 */
2036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2037 /* parser/parser.nit:380 */
2038 REGB0 = TAG_Int(12);
2039 fra.me.REG[2] = NEW_ReduceAction225_parser___ReduceAction___init(REGB0);
2040 /* parser/parser.nit:154 */
2041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2042 /* parser/parser.nit:381 */
2043 REGB0 = TAG_Int(12);
2044 fra.me.REG[2] = NEW_ReduceAction226_parser___ReduceAction___init(REGB0);
2045 /* parser/parser.nit:154 */
2046 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2047 /* parser/parser.nit:382 */
2048 REGB0 = TAG_Int(12);
2049 fra.me.REG[2] = NEW_ReduceAction227_parser___ReduceAction___init(REGB0);
2050 /* parser/parser.nit:154 */
2051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2052 /* parser/parser.nit:383 */
2053 REGB0 = TAG_Int(12);
2054 fra.me.REG[2] = NEW_ReduceAction228_parser___ReduceAction___init(REGB0);
2055 /* parser/parser.nit:154 */
2056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2057 /* parser/parser.nit:384 */
2058 REGB0 = TAG_Int(12);
2059 fra.me.REG[2] = NEW_ReduceAction229_parser___ReduceAction___init(REGB0);
2060 /* parser/parser.nit:154 */
2061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2062 /* parser/parser.nit:385 */
2063 REGB0 = TAG_Int(12);
2064 fra.me.REG[2] = NEW_ReduceAction230_parser___ReduceAction___init(REGB0);
2065 /* parser/parser.nit:154 */
2066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2067 /* parser/parser.nit:386 */
2068 REGB0 = TAG_Int(12);
2069 fra.me.REG[2] = NEW_ReduceAction231_parser___ReduceAction___init(REGB0);
2070 /* parser/parser.nit:154 */
2071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2072 /* parser/parser.nit:387 */
2073 REGB0 = TAG_Int(12);
2074 fra.me.REG[2] = NEW_ReduceAction232_parser___ReduceAction___init(REGB0);
2075 /* parser/parser.nit:154 */
2076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2077 /* parser/parser.nit:388 */
2078 REGB0 = TAG_Int(12);
2079 fra.me.REG[2] = NEW_ReduceAction233_parser___ReduceAction___init(REGB0);
2080 /* parser/parser.nit:154 */
2081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2082 /* parser/parser.nit:389 */
2083 REGB0 = TAG_Int(12);
2084 fra.me.REG[2] = NEW_ReduceAction234_parser___ReduceAction___init(REGB0);
2085 /* parser/parser.nit:154 */
2086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2087 /* parser/parser.nit:390 */
2088 REGB0 = TAG_Int(12);
2089 fra.me.REG[2] = NEW_ReduceAction235_parser___ReduceAction___init(REGB0);
2090 /* parser/parser.nit:154 */
2091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2092 /* parser/parser.nit:391 */
2093 REGB0 = TAG_Int(12);
2094 fra.me.REG[2] = NEW_ReduceAction236_parser___ReduceAction___init(REGB0);
2095 /* parser/parser.nit:154 */
2096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2097 /* parser/parser.nit:392 */
2098 REGB0 = TAG_Int(12);
2099 fra.me.REG[2] = NEW_ReduceAction237_parser___ReduceAction___init(REGB0);
2100 /* parser/parser.nit:154 */
2101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2102 /* parser/parser.nit:393 */
2103 REGB0 = TAG_Int(12);
2104 fra.me.REG[2] = NEW_ReduceAction238_parser___ReduceAction___init(REGB0);
2105 /* parser/parser.nit:154 */
2106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2107 /* parser/parser.nit:394 */
2108 REGB0 = TAG_Int(12);
2109 fra.me.REG[2] = NEW_ReduceAction239_parser___ReduceAction___init(REGB0);
2110 /* parser/parser.nit:154 */
2111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2112 /* parser/parser.nit:395 */
2113 REGB0 = TAG_Int(12);
2114 fra.me.REG[2] = NEW_ReduceAction240_parser___ReduceAction___init(REGB0);
2115 /* parser/parser.nit:154 */
2116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2117 /* parser/parser.nit:396 */
2118 REGB0 = TAG_Int(12);
2119 fra.me.REG[2] = NEW_ReduceAction241_parser___ReduceAction___init(REGB0);
2120 /* parser/parser.nit:154 */
2121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2122 /* parser/parser.nit:397 */
2123 REGB0 = TAG_Int(12);
2124 fra.me.REG[2] = NEW_ReduceAction242_parser___ReduceAction___init(REGB0);
2125 /* parser/parser.nit:154 */
2126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2127 /* parser/parser.nit:398 */
2128 REGB0 = TAG_Int(12);
2129 fra.me.REG[2] = NEW_ReduceAction243_parser___ReduceAction___init(REGB0);
2130 /* parser/parser.nit:154 */
2131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2132 /* parser/parser.nit:399 */
2133 REGB0 = TAG_Int(12);
2134 fra.me.REG[2] = NEW_ReduceAction244_parser___ReduceAction___init(REGB0);
2135 /* parser/parser.nit:154 */
2136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2137 /* parser/parser.nit:400 */
2138 REGB0 = TAG_Int(12);
2139 fra.me.REG[2] = NEW_ReduceAction245_parser___ReduceAction___init(REGB0);
2140 /* parser/parser.nit:154 */
2141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2142 /* parser/parser.nit:401 */
2143 REGB0 = TAG_Int(12);
2144 fra.me.REG[2] = NEW_ReduceAction246_parser___ReduceAction___init(REGB0);
2145 /* parser/parser.nit:154 */
2146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2147 /* parser/parser.nit:402 */
2148 REGB0 = TAG_Int(12);
2149 fra.me.REG[2] = NEW_ReduceAction247_parser___ReduceAction___init(REGB0);
2150 /* parser/parser.nit:154 */
2151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2152 /* parser/parser.nit:403 */
2153 REGB0 = TAG_Int(12);
2154 fra.me.REG[2] = NEW_ReduceAction248_parser___ReduceAction___init(REGB0);
2155 /* parser/parser.nit:154 */
2156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2157 /* parser/parser.nit:404 */
2158 REGB0 = TAG_Int(12);
2159 fra.me.REG[2] = NEW_ReduceAction249_parser___ReduceAction___init(REGB0);
2160 /* parser/parser.nit:154 */
2161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2162 /* parser/parser.nit:405 */
2163 REGB0 = TAG_Int(12);
2164 fra.me.REG[2] = NEW_ReduceAction250_parser___ReduceAction___init(REGB0);
2165 /* parser/parser.nit:154 */
2166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2167 /* parser/parser.nit:406 */
2168 REGB0 = TAG_Int(12);
2169 fra.me.REG[2] = NEW_ReduceAction251_parser___ReduceAction___init(REGB0);
2170 /* parser/parser.nit:154 */
2171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2172 /* parser/parser.nit:407 */
2173 REGB0 = TAG_Int(13);
2174 fra.me.REG[2] = NEW_ReduceAction252_parser___ReduceAction___init(REGB0);
2175 /* parser/parser.nit:154 */
2176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2177 /* parser/parser.nit:408 */
2178 REGB0 = TAG_Int(13);
2179 fra.me.REG[2] = NEW_ReduceAction253_parser___ReduceAction___init(REGB0);
2180 /* parser/parser.nit:154 */
2181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2182 /* parser/parser.nit:409 */
2183 REGB0 = TAG_Int(14);
2184 fra.me.REG[2] = NEW_ReduceAction254_parser___ReduceAction___init(REGB0);
2185 /* parser/parser.nit:154 */
2186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2187 /* parser/parser.nit:410 */
2188 REGB0 = TAG_Int(14);
2189 fra.me.REG[2] = NEW_ReduceAction255_parser___ReduceAction___init(REGB0);
2190 /* parser/parser.nit:154 */
2191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2192 /* parser/parser.nit:411 */
2193 REGB0 = TAG_Int(15);
2194 fra.me.REG[2] = NEW_ReduceAction256_parser___ReduceAction___init(REGB0);
2195 /* parser/parser.nit:154 */
2196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2197 /* parser/parser.nit:412 */
2198 REGB0 = TAG_Int(15);
2199 fra.me.REG[2] = NEW_ReduceAction257_parser___ReduceAction___init(REGB0);
2200 /* parser/parser.nit:154 */
2201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2202 /* parser/parser.nit:413 */
2203 REGB0 = TAG_Int(16);
2204 fra.me.REG[2] = NEW_ReduceAction258_parser___ReduceAction___init(REGB0);
2205 /* parser/parser.nit:154 */
2206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2207 /* parser/parser.nit:414 */
2208 REGB0 = TAG_Int(16);
2209 fra.me.REG[2] = NEW_ReduceAction259_parser___ReduceAction___init(REGB0);
2210 /* parser/parser.nit:154 */
2211 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2212 /* parser/parser.nit:415 */
2213 REGB0 = TAG_Int(16);
2214 fra.me.REG[2] = NEW_ReduceAction260_parser___ReduceAction___init(REGB0);
2215 /* parser/parser.nit:154 */
2216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2217 /* parser/parser.nit:416 */
2218 REGB0 = TAG_Int(16);
2219 fra.me.REG[2] = NEW_ReduceAction261_parser___ReduceAction___init(REGB0);
2220 /* parser/parser.nit:154 */
2221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2222 /* parser/parser.nit:417 */
2223 REGB0 = TAG_Int(17);
2224 fra.me.REG[2] = NEW_ReduceAction262_parser___ReduceAction___init(REGB0);
2225 /* parser/parser.nit:154 */
2226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2227 /* parser/parser.nit:418 */
2228 REGB0 = TAG_Int(17);
2229 fra.me.REG[2] = NEW_ReduceAction263_parser___ReduceAction___init(REGB0);
2230 /* parser/parser.nit:154 */
2231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2232 /* parser/parser.nit:419 */
2233 REGB0 = TAG_Int(17);
2234 fra.me.REG[2] = NEW_ReduceAction264_parser___ReduceAction___init(REGB0);
2235 /* parser/parser.nit:154 */
2236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2237 /* parser/parser.nit:420 */
2238 REGB0 = TAG_Int(17);
2239 fra.me.REG[2] = NEW_ReduceAction265_parser___ReduceAction___init(REGB0);
2240 /* parser/parser.nit:154 */
2241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2242 /* parser/parser.nit:421 */
2243 REGB0 = TAG_Int(17);
2244 fra.me.REG[2] = NEW_ReduceAction266_parser___ReduceAction___init(REGB0);
2245 /* parser/parser.nit:154 */
2246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2247 /* parser/parser.nit:422 */
2248 REGB0 = TAG_Int(17);
2249 fra.me.REG[2] = NEW_ReduceAction267_parser___ReduceAction___init(REGB0);
2250 /* parser/parser.nit:154 */
2251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2252 /* parser/parser.nit:423 */
2253 REGB0 = TAG_Int(17);
2254 fra.me.REG[2] = NEW_ReduceAction268_parser___ReduceAction___init(REGB0);
2255 /* parser/parser.nit:154 */
2256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2257 /* parser/parser.nit:424 */
2258 REGB0 = TAG_Int(17);
2259 fra.me.REG[2] = NEW_ReduceAction269_parser___ReduceAction___init(REGB0);
2260 /* parser/parser.nit:154 */
2261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2262 /* parser/parser.nit:425 */
2263 REGB0 = TAG_Int(17);
2264 fra.me.REG[2] = NEW_ReduceAction270_parser___ReduceAction___init(REGB0);
2265 /* parser/parser.nit:154 */
2266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2267 /* parser/parser.nit:426 */
2268 REGB0 = TAG_Int(17);
2269 fra.me.REG[2] = NEW_ReduceAction271_parser___ReduceAction___init(REGB0);
2270 /* parser/parser.nit:154 */
2271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2272 /* parser/parser.nit:427 */
2273 REGB0 = TAG_Int(17);
2274 fra.me.REG[2] = NEW_ReduceAction272_parser___ReduceAction___init(REGB0);
2275 /* parser/parser.nit:154 */
2276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2277 /* parser/parser.nit:428 */
2278 REGB0 = TAG_Int(17);
2279 fra.me.REG[2] = NEW_ReduceAction273_parser___ReduceAction___init(REGB0);
2280 /* parser/parser.nit:154 */
2281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2282 /* parser/parser.nit:429 */
2283 REGB0 = TAG_Int(17);
2284 fra.me.REG[2] = NEW_ReduceAction274_parser___ReduceAction___init(REGB0);
2285 /* parser/parser.nit:154 */
2286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2287 /* parser/parser.nit:430 */
2288 REGB0 = TAG_Int(17);
2289 fra.me.REG[2] = NEW_ReduceAction275_parser___ReduceAction___init(REGB0);
2290 /* parser/parser.nit:154 */
2291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2292 /* parser/parser.nit:431 */
2293 REGB0 = TAG_Int(17);
2294 fra.me.REG[2] = NEW_ReduceAction276_parser___ReduceAction___init(REGB0);
2295 /* parser/parser.nit:154 */
2296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2297 /* parser/parser.nit:432 */
2298 REGB0 = TAG_Int(17);
2299 fra.me.REG[2] = NEW_ReduceAction277_parser___ReduceAction___init(REGB0);
2300 /* parser/parser.nit:154 */
2301 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2302 /* parser/parser.nit:433 */
2303 REGB0 = TAG_Int(17);
2304 fra.me.REG[2] = NEW_ReduceAction278_parser___ReduceAction___init(REGB0);
2305 /* parser/parser.nit:154 */
2306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2307 /* parser/parser.nit:434 */
2308 REGB0 = TAG_Int(17);
2309 fra.me.REG[2] = NEW_ReduceAction279_parser___ReduceAction___init(REGB0);
2310 /* parser/parser.nit:154 */
2311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2312 /* parser/parser.nit:435 */
2313 REGB0 = TAG_Int(18);
2314 fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction___init(REGB0);
2315 /* parser/parser.nit:154 */
2316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2317 /* parser/parser.nit:436 */
2318 REGB0 = TAG_Int(18);
2319 fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction___init(REGB0);
2320 /* parser/parser.nit:154 */
2321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2322 /* parser/parser.nit:437 */
2323 REGB0 = TAG_Int(18);
2324 fra.me.REG[2] = NEW_ReduceAction282_parser___ReduceAction___init(REGB0);
2325 /* parser/parser.nit:154 */
2326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2327 /* parser/parser.nit:438 */
2328 REGB0 = TAG_Int(18);
2329 fra.me.REG[2] = NEW_ReduceAction283_parser___ReduceAction___init(REGB0);
2330 /* parser/parser.nit:154 */
2331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2332 /* parser/parser.nit:439 */
2333 REGB0 = TAG_Int(18);
2334 fra.me.REG[2] = NEW_ReduceAction284_parser___ReduceAction___init(REGB0);
2335 /* parser/parser.nit:154 */
2336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2337 /* parser/parser.nit:440 */
2338 REGB0 = TAG_Int(18);
2339 fra.me.REG[2] = NEW_ReduceAction285_parser___ReduceAction___init(REGB0);
2340 /* parser/parser.nit:154 */
2341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2342 /* parser/parser.nit:441 */
2343 REGB0 = TAG_Int(18);
2344 fra.me.REG[2] = NEW_ReduceAction286_parser___ReduceAction___init(REGB0);
2345 /* parser/parser.nit:154 */
2346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2347 /* parser/parser.nit:442 */
2348 REGB0 = TAG_Int(18);
2349 fra.me.REG[2] = NEW_ReduceAction287_parser___ReduceAction___init(REGB0);
2350 /* parser/parser.nit:154 */
2351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2352 /* parser/parser.nit:443 */
2353 REGB0 = TAG_Int(18);
2354 fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction___init(REGB0);
2355 /* parser/parser.nit:154 */
2356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2357 /* parser/parser.nit:444 */
2358 REGB0 = TAG_Int(18);
2359 fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction___init(REGB0);
2360 /* parser/parser.nit:154 */
2361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2362 /* parser/parser.nit:445 */
2363 REGB0 = TAG_Int(18);
2364 fra.me.REG[2] = NEW_ReduceAction290_parser___ReduceAction___init(REGB0);
2365 /* parser/parser.nit:154 */
2366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2367 /* parser/parser.nit:446 */
2368 REGB0 = TAG_Int(18);
2369 fra.me.REG[2] = NEW_ReduceAction291_parser___ReduceAction___init(REGB0);
2370 /* parser/parser.nit:154 */
2371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2372 /* parser/parser.nit:447 */
2373 REGB0 = TAG_Int(19);
2374 fra.me.REG[2] = NEW_ReduceAction292_parser___ReduceAction___init(REGB0);
2375 /* parser/parser.nit:154 */
2376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2377 /* parser/parser.nit:448 */
2378 REGB0 = TAG_Int(19);
2379 fra.me.REG[2] = NEW_ReduceAction293_parser___ReduceAction___init(REGB0);
2380 /* parser/parser.nit:154 */
2381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2382 /* parser/parser.nit:449 */
2383 REGB0 = TAG_Int(19);
2384 fra.me.REG[2] = NEW_ReduceAction294_parser___ReduceAction___init(REGB0);
2385 /* parser/parser.nit:154 */
2386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2387 /* parser/parser.nit:450 */
2388 REGB0 = TAG_Int(19);
2389 fra.me.REG[2] = NEW_ReduceAction295_parser___ReduceAction___init(REGB0);
2390 /* parser/parser.nit:154 */
2391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2392 /* parser/parser.nit:451 */
2393 REGB0 = TAG_Int(19);
2394 fra.me.REG[2] = NEW_ReduceAction296_parser___ReduceAction___init(REGB0);
2395 /* parser/parser.nit:154 */
2396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2397 /* parser/parser.nit:452 */
2398 REGB0 = TAG_Int(19);
2399 fra.me.REG[2] = NEW_ReduceAction297_parser___ReduceAction___init(REGB0);
2400 /* parser/parser.nit:154 */
2401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2402 /* parser/parser.nit:453 */
2403 REGB0 = TAG_Int(20);
2404 fra.me.REG[2] = NEW_ReduceAction298_parser___ReduceAction___init(REGB0);
2405 /* parser/parser.nit:154 */
2406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2407 /* parser/parser.nit:454 */
2408 REGB0 = TAG_Int(20);
2409 fra.me.REG[2] = NEW_ReduceAction299_parser___ReduceAction___init(REGB0);
2410 /* parser/parser.nit:154 */
2411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2412 /* parser/parser.nit:455 */
2413 REGB0 = TAG_Int(21);
2414 fra.me.REG[2] = NEW_ReduceAction300_parser___ReduceAction___init(REGB0);
2415 /* parser/parser.nit:154 */
2416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2417 /* parser/parser.nit:456 */
2418 REGB0 = TAG_Int(22);
2419 fra.me.REG[2] = NEW_ReduceAction301_parser___ReduceAction___init(REGB0);
2420 /* parser/parser.nit:154 */
2421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2422 /* parser/parser.nit:457 */
2423 REGB0 = TAG_Int(22);
2424 fra.me.REG[2] = NEW_ReduceAction302_parser___ReduceAction___init(REGB0);
2425 /* parser/parser.nit:154 */
2426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2427 /* parser/parser.nit:458 */
2428 REGB0 = TAG_Int(22);
2429 fra.me.REG[2] = NEW_ReduceAction303_parser___ReduceAction___init(REGB0);
2430 /* parser/parser.nit:154 */
2431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2432 /* parser/parser.nit:459 */
2433 REGB0 = TAG_Int(23);
2434 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
2435 /* parser/parser.nit:154 */
2436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2437 /* parser/parser.nit:460 */
2438 REGB0 = TAG_Int(24);
2439 fra.me.REG[2] = NEW_ReduceAction305_parser___ReduceAction___init(REGB0);
2440 /* parser/parser.nit:154 */
2441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2442 /* parser/parser.nit:461 */
2443 REGB0 = TAG_Int(24);
2444 fra.me.REG[2] = NEW_ReduceAction306_parser___ReduceAction___init(REGB0);
2445 /* parser/parser.nit:154 */
2446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2447 /* parser/parser.nit:462 */
2448 REGB0 = TAG_Int(24);
2449 fra.me.REG[2] = NEW_ReduceAction307_parser___ReduceAction___init(REGB0);
2450 /* parser/parser.nit:154 */
2451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2452 /* parser/parser.nit:463 */
2453 REGB0 = TAG_Int(24);
2454 fra.me.REG[2] = NEW_ReduceAction308_parser___ReduceAction___init(REGB0);
2455 /* parser/parser.nit:154 */
2456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2457 /* parser/parser.nit:464 */
2458 REGB0 = TAG_Int(24);
2459 fra.me.REG[2] = NEW_ReduceAction309_parser___ReduceAction___init(REGB0);
2460 /* parser/parser.nit:154 */
2461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2462 /* parser/parser.nit:465 */
2463 REGB0 = TAG_Int(24);
2464 fra.me.REG[2] = NEW_ReduceAction310_parser___ReduceAction___init(REGB0);
2465 /* parser/parser.nit:154 */
2466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2467 /* parser/parser.nit:466 */
2468 REGB0 = TAG_Int(25);
2469 fra.me.REG[2] = NEW_ReduceAction311_parser___ReduceAction___init(REGB0);
2470 /* parser/parser.nit:154 */
2471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2472 /* parser/parser.nit:467 */
2473 REGB0 = TAG_Int(26);
2474 fra.me.REG[2] = NEW_ReduceAction312_parser___ReduceAction___init(REGB0);
2475 /* parser/parser.nit:154 */
2476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2477 /* parser/parser.nit:468 */
2478 REGB0 = TAG_Int(26);
2479 fra.me.REG[2] = NEW_ReduceAction313_parser___ReduceAction___init(REGB0);
2480 /* parser/parser.nit:154 */
2481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2482 /* parser/parser.nit:469 */
2483 REGB0 = TAG_Int(27);
2484 fra.me.REG[2] = NEW_ReduceAction314_parser___ReduceAction___init(REGB0);
2485 /* parser/parser.nit:154 */
2486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2487 /* parser/parser.nit:470 */
2488 REGB0 = TAG_Int(28);
2489 fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
2490 /* parser/parser.nit:154 */
2491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2492 /* parser/parser.nit:471 */
2493 REGB0 = TAG_Int(28);
2494 fra.me.REG[2] = NEW_ReduceAction315_parser___ReduceAction___init(REGB0);
2495 /* parser/parser.nit:154 */
2496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2497 /* parser/parser.nit:472 */
2498 REGB0 = TAG_Int(28);
2499 fra.me.REG[2] = NEW_ReduceAction317_parser___ReduceAction___init(REGB0);
2500 /* parser/parser.nit:154 */
2501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2502 /* parser/parser.nit:473 */
2503 REGB0 = TAG_Int(29);
2504 fra.me.REG[2] = NEW_ReduceAction318_parser___ReduceAction___init(REGB0);
2505 /* parser/parser.nit:154 */
2506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2507 /* parser/parser.nit:474 */
2508 REGB0 = TAG_Int(29);
2509 fra.me.REG[2] = NEW_ReduceAction319_parser___ReduceAction___init(REGB0);
2510 /* parser/parser.nit:154 */
2511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2512 /* parser/parser.nit:475 */
2513 REGB0 = TAG_Int(29);
2514 fra.me.REG[2] = NEW_ReduceAction320_parser___ReduceAction___init(REGB0);
2515 /* parser/parser.nit:154 */
2516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2517 /* parser/parser.nit:476 */
2518 REGB0 = TAG_Int(30);
2519 fra.me.REG[2] = NEW_ReduceAction321_parser___ReduceAction___init(REGB0);
2520 /* parser/parser.nit:154 */
2521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2522 /* parser/parser.nit:477 */
2523 REGB0 = TAG_Int(30);
2524 fra.me.REG[2] = NEW_ReduceAction322_parser___ReduceAction___init(REGB0);
2525 /* parser/parser.nit:154 */
2526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2527 /* parser/parser.nit:478 */
2528 REGB0 = TAG_Int(30);
2529 fra.me.REG[2] = NEW_ReduceAction323_parser___ReduceAction___init(REGB0);
2530 /* parser/parser.nit:154 */
2531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2532 /* parser/parser.nit:479 */
2533 REGB0 = TAG_Int(31);
2534 fra.me.REG[2] = NEW_ReduceAction324_parser___ReduceAction___init(REGB0);
2535 /* parser/parser.nit:154 */
2536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2537 /* parser/parser.nit:480 */
2538 REGB0 = TAG_Int(32);
2539 fra.me.REG[2] = NEW_ReduceAction325_parser___ReduceAction___init(REGB0);
2540 /* parser/parser.nit:154 */
2541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2542 /* parser/parser.nit:481 */
2543 REGB0 = TAG_Int(32);
2544 fra.me.REG[2] = NEW_ReduceAction326_parser___ReduceAction___init(REGB0);
2545 /* parser/parser.nit:154 */
2546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2547 /* parser/parser.nit:482 */
2548 REGB0 = TAG_Int(33);
2549 fra.me.REG[2] = NEW_ReduceAction327_parser___ReduceAction___init(REGB0);
2550 /* parser/parser.nit:154 */
2551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2552 /* parser/parser.nit:483 */
2553 REGB0 = TAG_Int(34);
2554 fra.me.REG[2] = NEW_ReduceAction328_parser___ReduceAction___init(REGB0);
2555 /* parser/parser.nit:154 */
2556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2557 /* parser/parser.nit:484 */
2558 REGB0 = TAG_Int(34);
2559 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
2560 /* parser/parser.nit:154 */
2561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2562 /* parser/parser.nit:485 */
2563 REGB0 = TAG_Int(34);
2564 fra.me.REG[2] = NEW_ReduceAction330_parser___ReduceAction___init(REGB0);
2565 /* parser/parser.nit:154 */
2566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2567 /* parser/parser.nit:486 */
2568 REGB0 = TAG_Int(34);
2569 fra.me.REG[2] = NEW_ReduceAction331_parser___ReduceAction___init(REGB0);
2570 /* parser/parser.nit:154 */
2571 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2572 /* parser/parser.nit:487 */
2573 REGB0 = TAG_Int(35);
2574 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
2575 /* parser/parser.nit:154 */
2576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2577 /* parser/parser.nit:488 */
2578 REGB0 = TAG_Int(35);
2579 fra.me.REG[2] = NEW_ReduceAction333_parser___ReduceAction___init(REGB0);
2580 /* parser/parser.nit:154 */
2581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2582 /* parser/parser.nit:489 */
2583 REGB0 = TAG_Int(36);
2584 fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
2585 /* parser/parser.nit:154 */
2586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2587 /* parser/parser.nit:490 */
2588 REGB0 = TAG_Int(37);
2589 fra.me.REG[2] = NEW_ReduceAction334_parser___ReduceAction___init(REGB0);
2590 /* parser/parser.nit:154 */
2591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2592 /* parser/parser.nit:491 */
2593 REGB0 = TAG_Int(38);
2594 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
2595 /* parser/parser.nit:154 */
2596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2597 /* parser/parser.nit:492 */
2598 REGB0 = TAG_Int(38);
2599 fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
2600 /* parser/parser.nit:154 */
2601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2602 /* parser/parser.nit:493 */
2603 REGB0 = TAG_Int(38);
2604 fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
2605 /* parser/parser.nit:154 */
2606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2607 /* parser/parser.nit:494 */
2608 REGB0 = TAG_Int(38);
2609 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2610 /* parser/parser.nit:154 */
2611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2612 /* parser/parser.nit:495 */
2613 REGB0 = TAG_Int(39);
2614 fra.me.REG[2] = NEW_ReduceAction340_parser___ReduceAction___init(REGB0);
2615 /* parser/parser.nit:154 */
2616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2617 /* parser/parser.nit:496 */
2618 REGB0 = TAG_Int(39);
2619 fra.me.REG[2] = NEW_ReduceAction341_parser___ReduceAction___init(REGB0);
2620 /* parser/parser.nit:154 */
2621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2622 /* parser/parser.nit:497 */
2623 REGB0 = TAG_Int(40);
2624 fra.me.REG[2] = NEW_ReduceAction342_parser___ReduceAction___init(REGB0);
2625 /* parser/parser.nit:154 */
2626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2627 /* parser/parser.nit:498 */
2628 REGB0 = TAG_Int(40);
2629 fra.me.REG[2] = NEW_ReduceAction343_parser___ReduceAction___init(REGB0);
2630 /* parser/parser.nit:154 */
2631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2632 /* parser/parser.nit:499 */
2633 REGB0 = TAG_Int(41);
2634 fra.me.REG[2] = NEW_ReduceAction344_parser___ReduceAction___init(REGB0);
2635 /* parser/parser.nit:154 */
2636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2637 /* parser/parser.nit:500 */
2638 REGB0 = TAG_Int(41);
2639 fra.me.REG[2] = NEW_ReduceAction345_parser___ReduceAction___init(REGB0);
2640 /* parser/parser.nit:154 */
2641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2642 /* parser/parser.nit:501 */
2643 REGB0 = TAG_Int(42);
2644 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
2645 /* parser/parser.nit:154 */
2646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2647 /* parser/parser.nit:502 */
2648 REGB0 = TAG_Int(43);
2649 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2650 /* parser/parser.nit:154 */
2651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2652 /* parser/parser.nit:503 */
2653 REGB0 = TAG_Int(43);
2654 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2655 /* parser/parser.nit:154 */
2656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2657 /* parser/parser.nit:504 */
2658 REGB0 = TAG_Int(43);
2659 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
2660 /* parser/parser.nit:154 */
2661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2662 /* parser/parser.nit:505 */
2663 REGB0 = TAG_Int(43);
2664 fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction___init(REGB0);
2665 /* parser/parser.nit:154 */
2666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2667 /* parser/parser.nit:506 */
2668 REGB0 = TAG_Int(43);
2669 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
2670 /* parser/parser.nit:154 */
2671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2672 /* parser/parser.nit:507 */
2673 REGB0 = TAG_Int(43);
2674 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
2675 /* parser/parser.nit:154 */
2676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2677 /* parser/parser.nit:508 */
2678 REGB0 = TAG_Int(43);
2679 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
2680 /* parser/parser.nit:154 */
2681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2682 /* parser/parser.nit:509 */
2683 REGB0 = TAG_Int(43);
2684 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
2685 /* parser/parser.nit:154 */
2686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2687 /* parser/parser.nit:510 */
2688 REGB0 = TAG_Int(43);
2689 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
2690 /* parser/parser.nit:154 */
2691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2692 /* parser/parser.nit:511 */
2693 REGB0 = TAG_Int(43);
2694 fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction___init(REGB0);
2695 /* parser/parser.nit:154 */
2696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2697 /* parser/parser.nit:512 */
2698 REGB0 = TAG_Int(43);
2699 fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction___init(REGB0);
2700 /* parser/parser.nit:154 */
2701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2702 /* parser/parser.nit:513 */
2703 REGB0 = TAG_Int(43);
2704 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
2705 /* parser/parser.nit:154 */
2706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2707 /* parser/parser.nit:514 */
2708 REGB0 = TAG_Int(43);
2709 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
2710 /* parser/parser.nit:154 */
2711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2712 /* parser/parser.nit:515 */
2713 REGB0 = TAG_Int(43);
2714 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2715 /* parser/parser.nit:154 */
2716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2717 /* parser/parser.nit:516 */
2718 REGB0 = TAG_Int(43);
2719 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2720 /* parser/parser.nit:154 */
2721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2722 /* parser/parser.nit:517 */
2723 REGB0 = TAG_Int(43);
2724 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2725 /* parser/parser.nit:154 */
2726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2727 /* parser/parser.nit:518 */
2728 REGB0 = TAG_Int(43);
2729 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2730 /* parser/parser.nit:154 */
2731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2732 /* parser/parser.nit:519 */
2733 REGB0 = TAG_Int(43);
2734 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2735 /* parser/parser.nit:154 */
2736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2737 /* parser/parser.nit:520 */
2738 REGB0 = TAG_Int(43);
2739 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
2740 /* parser/parser.nit:154 */
2741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2742 /* parser/parser.nit:521 */
2743 REGB0 = TAG_Int(43);
2744 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
2745 /* parser/parser.nit:154 */
2746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2747 /* parser/parser.nit:522 */
2748 REGB0 = TAG_Int(43);
2749 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
2750 /* parser/parser.nit:154 */
2751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2752 /* parser/parser.nit:523 */
2753 REGB0 = TAG_Int(43);
2754 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
2755 /* parser/parser.nit:154 */
2756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2757 /* parser/parser.nit:524 */
2758 REGB0 = TAG_Int(43);
2759 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
2760 /* parser/parser.nit:154 */
2761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2762 /* parser/parser.nit:525 */
2763 REGB0 = TAG_Int(43);
2764 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
2765 /* parser/parser.nit:154 */
2766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2767 /* parser/parser.nit:526 */
2768 REGB0 = TAG_Int(43);
2769 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
2770 /* parser/parser.nit:154 */
2771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2772 /* parser/parser.nit:527 */
2773 REGB0 = TAG_Int(43);
2774 fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
2775 /* parser/parser.nit:154 */
2776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2777 /* parser/parser.nit:528 */
2778 REGB0 = TAG_Int(43);
2779 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
2780 /* parser/parser.nit:154 */
2781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2782 /* parser/parser.nit:529 */
2783 REGB0 = TAG_Int(43);
2784 fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction___init(REGB0);
2785 /* parser/parser.nit:154 */
2786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2787 /* parser/parser.nit:530 */
2788 REGB0 = TAG_Int(44);
2789 fra.me.REG[2] = NEW_ReduceAction375_parser___ReduceAction___init(REGB0);
2790 /* parser/parser.nit:154 */
2791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2792 /* parser/parser.nit:531 */
2793 REGB0 = TAG_Int(45);
2794 fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction___init(REGB0);
2795 /* parser/parser.nit:154 */
2796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2797 /* parser/parser.nit:532 */
2798 REGB0 = TAG_Int(45);
2799 fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction___init(REGB0);
2800 /* parser/parser.nit:154 */
2801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2802 /* parser/parser.nit:533 */
2803 REGB0 = TAG_Int(46);
2804 fra.me.REG[2] = NEW_ReduceAction378_parser___ReduceAction___init(REGB0);
2805 /* parser/parser.nit:154 */
2806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2807 /* parser/parser.nit:534 */
2808 REGB0 = TAG_Int(46);
2809 fra.me.REG[2] = NEW_ReduceAction379_parser___ReduceAction___init(REGB0);
2810 /* parser/parser.nit:154 */
2811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2812 /* parser/parser.nit:535 */
2813 REGB0 = TAG_Int(46);
2814 fra.me.REG[2] = NEW_ReduceAction380_parser___ReduceAction___init(REGB0);
2815 /* parser/parser.nit:154 */
2816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2817 /* parser/parser.nit:536 */
2818 REGB0 = TAG_Int(46);
2819 fra.me.REG[2] = NEW_ReduceAction381_parser___ReduceAction___init(REGB0);
2820 /* parser/parser.nit:154 */
2821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2822 /* parser/parser.nit:537 */
2823 REGB0 = TAG_Int(46);
2824 fra.me.REG[2] = NEW_ReduceAction382_parser___ReduceAction___init(REGB0);
2825 /* parser/parser.nit:154 */
2826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2827 /* parser/parser.nit:538 */
2828 REGB0 = TAG_Int(46);
2829 fra.me.REG[2] = NEW_ReduceAction383_parser___ReduceAction___init(REGB0);
2830 /* parser/parser.nit:154 */
2831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2832 /* parser/parser.nit:539 */
2833 REGB0 = TAG_Int(46);
2834 fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction___init(REGB0);
2835 /* parser/parser.nit:154 */
2836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2837 /* parser/parser.nit:540 */
2838 REGB0 = TAG_Int(46);
2839 fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
2840 /* parser/parser.nit:154 */
2841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2842 /* parser/parser.nit:541 */
2843 REGB0 = TAG_Int(46);
2844 fra.me.REG[2] = NEW_ReduceAction386_parser___ReduceAction___init(REGB0);
2845 /* parser/parser.nit:154 */
2846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2847 /* parser/parser.nit:542 */
2848 REGB0 = TAG_Int(47);
2849 fra.me.REG[2] = NEW_ReduceAction387_parser___ReduceAction___init(REGB0);
2850 /* parser/parser.nit:154 */
2851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2852 /* parser/parser.nit:543 */
2853 REGB0 = TAG_Int(47);
2854 fra.me.REG[2] = NEW_ReduceAction388_parser___ReduceAction___init(REGB0);
2855 /* parser/parser.nit:154 */
2856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2857 /* parser/parser.nit:544 */
2858 REGB0 = TAG_Int(47);
2859 fra.me.REG[2] = NEW_ReduceAction389_parser___ReduceAction___init(REGB0);
2860 /* parser/parser.nit:154 */
2861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2862 /* parser/parser.nit:545 */
2863 REGB0 = TAG_Int(47);
2864 fra.me.REG[2] = NEW_ReduceAction390_parser___ReduceAction___init(REGB0);
2865 /* parser/parser.nit:154 */
2866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2867 /* parser/parser.nit:546 */
2868 REGB0 = TAG_Int(47);
2869 fra.me.REG[2] = NEW_ReduceAction391_parser___ReduceAction___init(REGB0);
2870 /* parser/parser.nit:154 */
2871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2872 /* parser/parser.nit:547 */
2873 REGB0 = TAG_Int(47);
2874 fra.me.REG[2] = NEW_ReduceAction392_parser___ReduceAction___init(REGB0);
2875 /* parser/parser.nit:154 */
2876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2877 /* parser/parser.nit:548 */
2878 REGB0 = TAG_Int(48);
2879 fra.me.REG[2] = NEW_ReduceAction393_parser___ReduceAction___init(REGB0);
2880 /* parser/parser.nit:154 */
2881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2882 /* parser/parser.nit:549 */
2883 REGB0 = TAG_Int(48);
2884 fra.me.REG[2] = NEW_ReduceAction394_parser___ReduceAction___init(REGB0);
2885 /* parser/parser.nit:154 */
2886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2887 /* parser/parser.nit:550 */
2888 REGB0 = TAG_Int(49);
2889 fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
2890 /* parser/parser.nit:154 */
2891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2892 /* parser/parser.nit:551 */
2893 REGB0 = TAG_Int(50);
2894 fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
2895 /* parser/parser.nit:154 */
2896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2897 /* parser/parser.nit:552 */
2898 REGB0 = TAG_Int(50);
2899 fra.me.REG[2] = NEW_ReduceAction397_parser___ReduceAction___init(REGB0);
2900 /* parser/parser.nit:154 */
2901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2902 /* parser/parser.nit:553 */
2903 REGB0 = TAG_Int(50);
2904 fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction___init(REGB0);
2905 /* parser/parser.nit:154 */
2906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2907 /* parser/parser.nit:554 */
2908 REGB0 = TAG_Int(50);
2909 fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction___init(REGB0);
2910 /* parser/parser.nit:154 */
2911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2912 /* parser/parser.nit:555 */
2913 REGB0 = TAG_Int(51);
2914 fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction___init(REGB0);
2915 /* parser/parser.nit:154 */
2916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2917 /* parser/parser.nit:556 */
2918 REGB0 = TAG_Int(51);
2919 fra.me.REG[2] = NEW_ReduceAction401_parser___ReduceAction___init(REGB0);
2920 /* parser/parser.nit:154 */
2921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2922 /* parser/parser.nit:557 */
2923 REGB0 = TAG_Int(51);
2924 fra.me.REG[2] = NEW_ReduceAction402_parser___ReduceAction___init(REGB0);
2925 /* parser/parser.nit:154 */
2926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2927 /* parser/parser.nit:558 */
2928 REGB0 = TAG_Int(51);
2929 fra.me.REG[2] = NEW_ReduceAction403_parser___ReduceAction___init(REGB0);
2930 /* parser/parser.nit:154 */
2931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2932 /* parser/parser.nit:559 */
2933 REGB0 = TAG_Int(51);
2934 fra.me.REG[2] = NEW_ReduceAction404_parser___ReduceAction___init(REGB0);
2935 /* parser/parser.nit:154 */
2936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2937 /* parser/parser.nit:560 */
2938 REGB0 = TAG_Int(51);
2939 fra.me.REG[2] = NEW_ReduceAction405_parser___ReduceAction___init(REGB0);
2940 /* parser/parser.nit:154 */
2941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2942 /* parser/parser.nit:561 */
2943 REGB0 = TAG_Int(51);
2944 fra.me.REG[2] = NEW_ReduceAction406_parser___ReduceAction___init(REGB0);
2945 /* parser/parser.nit:154 */
2946 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2947 /* parser/parser.nit:562 */
2948 REGB0 = TAG_Int(51);
2949 fra.me.REG[2] = NEW_ReduceAction407_parser___ReduceAction___init(REGB0);
2950 /* parser/parser.nit:154 */
2951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2952 /* parser/parser.nit:563 */
2953 REGB0 = TAG_Int(51);
2954 fra.me.REG[2] = NEW_ReduceAction408_parser___ReduceAction___init(REGB0);
2955 /* parser/parser.nit:154 */
2956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2957 /* parser/parser.nit:564 */
2958 REGB0 = TAG_Int(51);
2959 fra.me.REG[2] = NEW_ReduceAction409_parser___ReduceAction___init(REGB0);
2960 /* parser/parser.nit:154 */
2961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2962 /* parser/parser.nit:565 */
2963 REGB0 = TAG_Int(52);
2964 fra.me.REG[2] = NEW_ReduceAction410_parser___ReduceAction___init(REGB0);
2965 /* parser/parser.nit:154 */
2966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2967 /* parser/parser.nit:566 */
2968 REGB0 = TAG_Int(52);
2969 fra.me.REG[2] = NEW_ReduceAction411_parser___ReduceAction___init(REGB0);
2970 /* parser/parser.nit:154 */
2971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2972 /* parser/parser.nit:567 */
2973 REGB0 = TAG_Int(53);
2974 fra.me.REG[2] = NEW_ReduceAction412_parser___ReduceAction___init(REGB0);
2975 /* parser/parser.nit:154 */
2976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2977 /* parser/parser.nit:568 */
2978 REGB0 = TAG_Int(53);
2979 fra.me.REG[2] = NEW_ReduceAction413_parser___ReduceAction___init(REGB0);
2980 /* parser/parser.nit:154 */
2981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2982 /* parser/parser.nit:569 */
2983 REGB0 = TAG_Int(54);
2984 fra.me.REG[2] = NEW_ReduceAction414_parser___ReduceAction___init(REGB0);
2985 /* parser/parser.nit:154 */
2986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2987 /* parser/parser.nit:570 */
2988 REGB0 = TAG_Int(54);
2989 fra.me.REG[2] = NEW_ReduceAction415_parser___ReduceAction___init(REGB0);
2990 /* parser/parser.nit:154 */
2991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2992 /* parser/parser.nit:571 */
2993 REGB0 = TAG_Int(54);
2994 fra.me.REG[2] = NEW_ReduceAction416_parser___ReduceAction___init(REGB0);
2995 /* parser/parser.nit:154 */
2996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2997 /* parser/parser.nit:572 */
2998 REGB0 = TAG_Int(54);
2999 fra.me.REG[2] = NEW_ReduceAction417_parser___ReduceAction___init(REGB0);
3000 /* parser/parser.nit:154 */
3001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3002 /* parser/parser.nit:573 */
3003 REGB0 = TAG_Int(54);
3004 fra.me.REG[2] = NEW_ReduceAction418_parser___ReduceAction___init(REGB0);
3005 /* parser/parser.nit:154 */
3006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3007 /* parser/parser.nit:574 */
3008 REGB0 = TAG_Int(55);
3009 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
3010 /* parser/parser.nit:154 */
3011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3012 /* parser/parser.nit:575 */
3013 REGB0 = TAG_Int(55);
3014 fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
3015 /* parser/parser.nit:154 */
3016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3017 /* parser/parser.nit:576 */
3018 REGB0 = TAG_Int(56);
3019 fra.me.REG[2] = NEW_ReduceAction421_parser___ReduceAction___init(REGB0);
3020 /* parser/parser.nit:154 */
3021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3022 /* parser/parser.nit:577 */
3023 REGB0 = TAG_Int(56);
3024 fra.me.REG[2] = NEW_ReduceAction422_parser___ReduceAction___init(REGB0);
3025 /* parser/parser.nit:154 */
3026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3027 /* parser/parser.nit:578 */
3028 REGB0 = TAG_Int(57);
3029 fra.me.REG[2] = NEW_ReduceAction423_parser___ReduceAction___init(REGB0);
3030 /* parser/parser.nit:154 */
3031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3032 /* parser/parser.nit:579 */
3033 REGB0 = TAG_Int(57);
3034 fra.me.REG[2] = NEW_ReduceAction424_parser___ReduceAction___init(REGB0);
3035 /* parser/parser.nit:154 */
3036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3037 /* parser/parser.nit:580 */
3038 REGB0 = TAG_Int(58);
3039 fra.me.REG[2] = NEW_ReduceAction425_parser___ReduceAction___init(REGB0);
3040 /* parser/parser.nit:154 */
3041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3042 /* parser/parser.nit:581 */
3043 REGB0 = TAG_Int(58);
3044 fra.me.REG[2] = NEW_ReduceAction426_parser___ReduceAction___init(REGB0);
3045 /* parser/parser.nit:154 */
3046 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3047 /* parser/parser.nit:582 */
3048 REGB0 = TAG_Int(58);
3049 fra.me.REG[2] = NEW_ReduceAction427_parser___ReduceAction___init(REGB0);
3050 /* parser/parser.nit:154 */
3051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3052 /* parser/parser.nit:583 */
3053 REGB0 = TAG_Int(58);
3054 fra.me.REG[2] = NEW_ReduceAction428_parser___ReduceAction___init(REGB0);
3055 /* parser/parser.nit:154 */
3056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3057 /* parser/parser.nit:584 */
3058 REGB0 = TAG_Int(59);
3059 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
3060 /* parser/parser.nit:154 */
3061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3062 /* parser/parser.nit:585 */
3063 REGB0 = TAG_Int(59);
3064 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
3065 /* parser/parser.nit:154 */
3066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3067 /* parser/parser.nit:586 */
3068 REGB0 = TAG_Int(59);
3069 fra.me.REG[2] = NEW_ReduceAction431_parser___ReduceAction___init(REGB0);
3070 /* parser/parser.nit:154 */
3071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3072 /* parser/parser.nit:587 */
3073 REGB0 = TAG_Int(59);
3074 fra.me.REG[2] = NEW_ReduceAction432_parser___ReduceAction___init(REGB0);
3075 /* parser/parser.nit:154 */
3076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3077 /* parser/parser.nit:588 */
3078 REGB0 = TAG_Int(60);
3079 fra.me.REG[2] = NEW_ReduceAction433_parser___ReduceAction___init(REGB0);
3080 /* parser/parser.nit:154 */
3081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3082 /* parser/parser.nit:589 */
3083 REGB0 = TAG_Int(61);
3084 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3085 /* parser/parser.nit:154 */
3086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3087 /* parser/parser.nit:590 */
3088 REGB0 = TAG_Int(61);
3089 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
3090 /* parser/parser.nit:154 */
3091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3092 /* parser/parser.nit:591 */
3093 REGB0 = TAG_Int(61);
3094 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
3095 /* parser/parser.nit:154 */
3096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3097 /* parser/parser.nit:592 */
3098 REGB0 = TAG_Int(61);
3099 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
3100 /* parser/parser.nit:154 */
3101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3102 /* parser/parser.nit:593 */
3103 REGB0 = TAG_Int(62);
3104 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3105 /* parser/parser.nit:154 */
3106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3107 /* parser/parser.nit:594 */
3108 REGB0 = TAG_Int(62);
3109 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
3110 /* parser/parser.nit:154 */
3111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3112 /* parser/parser.nit:595 */
3113 REGB0 = TAG_Int(63);
3114 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3115 /* parser/parser.nit:154 */
3116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3117 /* parser/parser.nit:596 */
3118 REGB0 = TAG_Int(63);
3119 fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction___init(REGB0);
3120 /* parser/parser.nit:154 */
3121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3122 /* parser/parser.nit:597 */
3123 REGB0 = TAG_Int(63);
3124 fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction___init(REGB0);
3125 /* parser/parser.nit:154 */
3126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3127 /* parser/parser.nit:598 */
3128 REGB0 = TAG_Int(63);
3129 fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction___init(REGB0);
3130 /* parser/parser.nit:154 */
3131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3132 /* parser/parser.nit:599 */
3133 REGB0 = TAG_Int(64);
3134 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3135 /* parser/parser.nit:154 */
3136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3137 /* parser/parser.nit:600 */
3138 REGB0 = TAG_Int(64);
3139 fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction___init(REGB0);
3140 /* parser/parser.nit:154 */
3141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3142 /* parser/parser.nit:601 */
3143 REGB0 = TAG_Int(65);
3144 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3145 /* parser/parser.nit:154 */
3146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3147 /* parser/parser.nit:602 */
3148 REGB0 = TAG_Int(65);
3149 fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
3150 /* parser/parser.nit:154 */
3151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3152 /* parser/parser.nit:603 */
3153 REGB0 = TAG_Int(65);
3154 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
3155 /* parser/parser.nit:154 */
3156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3157 /* parser/parser.nit:604 */
3158 REGB0 = TAG_Int(65);
3159 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
3160 /* parser/parser.nit:154 */
3161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3162 /* parser/parser.nit:605 */
3163 REGB0 = TAG_Int(65);
3164 fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
3165 /* parser/parser.nit:154 */
3166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3167 /* parser/parser.nit:606 */
3168 REGB0 = TAG_Int(65);
3169 fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
3170 /* parser/parser.nit:154 */
3171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3172 /* parser/parser.nit:607 */
3173 REGB0 = TAG_Int(65);
3174 fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
3175 /* parser/parser.nit:154 */
3176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3177 /* parser/parser.nit:608 */
3178 REGB0 = TAG_Int(65);
3179 fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
3180 /* parser/parser.nit:154 */
3181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3182 /* parser/parser.nit:609 */
3183 REGB0 = TAG_Int(65);
3184 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
3185 /* parser/parser.nit:154 */
3186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3187 /* parser/parser.nit:610 */
3188 REGB0 = TAG_Int(65);
3189 fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction___init(REGB0);
3190 /* parser/parser.nit:154 */
3191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3192 /* parser/parser.nit:611 */
3193 REGB0 = TAG_Int(65);
3194 fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
3195 /* parser/parser.nit:154 */
3196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3197 /* parser/parser.nit:612 */
3198 REGB0 = TAG_Int(65);
3199 fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
3200 /* parser/parser.nit:154 */
3201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3202 /* parser/parser.nit:613 */
3203 REGB0 = TAG_Int(66);
3204 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3205 /* parser/parser.nit:154 */
3206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3207 /* parser/parser.nit:614 */
3208 REGB0 = TAG_Int(66);
3209 fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
3210 /* parser/parser.nit:154 */
3211 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3212 /* parser/parser.nit:615 */
3213 REGB0 = TAG_Int(66);
3214 fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
3215 /* parser/parser.nit:154 */
3216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3217 /* parser/parser.nit:616 */
3218 REGB0 = TAG_Int(67);
3219 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3220 /* parser/parser.nit:154 */
3221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3222 /* parser/parser.nit:617 */
3223 REGB0 = TAG_Int(67);
3224 fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
3225 /* parser/parser.nit:154 */
3226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3227 /* parser/parser.nit:618 */
3228 REGB0 = TAG_Int(67);
3229 fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
3230 /* parser/parser.nit:154 */
3231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3232 /* parser/parser.nit:619 */
3233 REGB0 = TAG_Int(67);
3234 fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
3235 /* parser/parser.nit:154 */
3236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3237 /* parser/parser.nit:620 */
3238 REGB0 = TAG_Int(68);
3239 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3240 /* parser/parser.nit:154 */
3241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3242 /* parser/parser.nit:621 */
3243 REGB0 = TAG_Int(68);
3244 fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
3245 /* parser/parser.nit:154 */
3246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3247 /* parser/parser.nit:622 */
3248 REGB0 = TAG_Int(68);
3249 fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction___init(REGB0);
3250 /* parser/parser.nit:154 */
3251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3252 /* parser/parser.nit:623 */
3253 REGB0 = TAG_Int(69);
3254 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3255 /* parser/parser.nit:154 */
3256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3257 /* parser/parser.nit:624 */
3258 REGB0 = TAG_Int(69);
3259 fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction___init(REGB0);
3260 /* parser/parser.nit:154 */
3261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3262 /* parser/parser.nit:625 */
3263 REGB0 = TAG_Int(69);
3264 fra.me.REG[2] = NEW_ReduceAction470_parser___ReduceAction___init(REGB0);
3265 /* parser/parser.nit:154 */
3266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3267 /* parser/parser.nit:626 */
3268 REGB0 = TAG_Int(69);
3269 fra.me.REG[2] = NEW_ReduceAction471_parser___ReduceAction___init(REGB0);
3270 /* parser/parser.nit:154 */
3271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3272 /* parser/parser.nit:627 */
3273 REGB0 = TAG_Int(70);
3274 fra.me.REG[2] = NEW_ReduceAction472_parser___ReduceAction___init(REGB0);
3275 /* parser/parser.nit:154 */
3276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3277 /* parser/parser.nit:628 */
3278 REGB0 = TAG_Int(70);
3279 fra.me.REG[2] = NEW_ReduceAction473_parser___ReduceAction___init(REGB0);
3280 /* parser/parser.nit:154 */
3281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3282 /* parser/parser.nit:629 */
3283 REGB0 = TAG_Int(70);
3284 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
3285 /* parser/parser.nit:154 */
3286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3287 /* parser/parser.nit:630 */
3288 REGB0 = TAG_Int(70);
3289 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
3290 /* parser/parser.nit:154 */
3291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3292 /* parser/parser.nit:631 */
3293 REGB0 = TAG_Int(70);
3294 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
3295 /* parser/parser.nit:154 */
3296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3297 /* parser/parser.nit:632 */
3298 REGB0 = TAG_Int(70);
3299 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
3300 /* parser/parser.nit:154 */
3301 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3302 /* parser/parser.nit:633 */
3303 REGB0 = TAG_Int(70);
3304 fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
3305 /* parser/parser.nit:154 */
3306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3307 /* parser/parser.nit:634 */
3308 REGB0 = TAG_Int(70);
3309 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
3310 /* parser/parser.nit:154 */
3311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3312 /* parser/parser.nit:635 */
3313 REGB0 = TAG_Int(70);
3314 fra.me.REG[2] = NEW_ReduceAction480_parser___ReduceAction___init(REGB0);
3315 /* parser/parser.nit:154 */
3316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3317 /* parser/parser.nit:636 */
3318 REGB0 = TAG_Int(70);
3319 fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
3320 /* parser/parser.nit:154 */
3321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3322 /* parser/parser.nit:637 */
3323 REGB0 = TAG_Int(70);
3324 fra.me.REG[2] = NEW_ReduceAction482_parser___ReduceAction___init(REGB0);
3325 /* parser/parser.nit:154 */
3326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3327 /* parser/parser.nit:638 */
3328 REGB0 = TAG_Int(70);
3329 fra.me.REG[2] = NEW_ReduceAction483_parser___ReduceAction___init(REGB0);
3330 /* parser/parser.nit:154 */
3331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3332 /* parser/parser.nit:639 */
3333 REGB0 = TAG_Int(70);
3334 fra.me.REG[2] = NEW_ReduceAction484_parser___ReduceAction___init(REGB0);
3335 /* parser/parser.nit:154 */
3336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3337 /* parser/parser.nit:640 */
3338 REGB0 = TAG_Int(70);
3339 fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
3340 /* parser/parser.nit:154 */
3341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3342 /* parser/parser.nit:641 */
3343 REGB0 = TAG_Int(70);
3344 fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
3345 /* parser/parser.nit:154 */
3346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3347 /* parser/parser.nit:642 */
3348 REGB0 = TAG_Int(70);
3349 fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
3350 /* parser/parser.nit:154 */
3351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3352 /* parser/parser.nit:643 */
3353 REGB0 = TAG_Int(70);
3354 fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
3355 /* parser/parser.nit:154 */
3356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3357 /* parser/parser.nit:644 */
3358 REGB0 = TAG_Int(70);
3359 fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
3360 /* parser/parser.nit:154 */
3361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3362 /* parser/parser.nit:645 */
3363 REGB0 = TAG_Int(70);
3364 fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
3365 /* parser/parser.nit:154 */
3366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3367 /* parser/parser.nit:646 */
3368 REGB0 = TAG_Int(70);
3369 fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
3370 /* parser/parser.nit:154 */
3371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3372 /* parser/parser.nit:647 */
3373 REGB0 = TAG_Int(70);
3374 fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
3375 /* parser/parser.nit:154 */
3376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3377 /* parser/parser.nit:648 */
3378 REGB0 = TAG_Int(70);
3379 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3380 /* parser/parser.nit:154 */
3381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3382 /* parser/parser.nit:649 */
3383 REGB0 = TAG_Int(70);
3384 fra.me.REG[2] = NEW_ReduceAction494_parser___ReduceAction___init(REGB0);
3385 /* parser/parser.nit:154 */
3386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3387 /* parser/parser.nit:650 */
3388 REGB0 = TAG_Int(70);
3389 fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction___init(REGB0);
3390 /* parser/parser.nit:154 */
3391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3392 /* parser/parser.nit:651 */
3393 REGB0 = TAG_Int(70);
3394 fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
3395 /* parser/parser.nit:154 */
3396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3397 /* parser/parser.nit:652 */
3398 REGB0 = TAG_Int(71);
3399 fra.me.REG[2] = NEW_ReduceAction497_parser___ReduceAction___init(REGB0);
3400 /* parser/parser.nit:154 */
3401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3402 /* parser/parser.nit:653 */
3403 REGB0 = TAG_Int(71);
3404 fra.me.REG[2] = NEW_ReduceAction498_parser___ReduceAction___init(REGB0);
3405 /* parser/parser.nit:154 */
3406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3407 /* parser/parser.nit:654 */
3408 REGB0 = TAG_Int(72);
3409 fra.me.REG[2] = NEW_ReduceAction499_parser___ReduceAction___init(REGB0);
3410 /* parser/parser.nit:154 */
3411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3412 /* parser/parser.nit:655 */
3413 REGB0 = TAG_Int(73);
3414 fra.me.REG[2] = NEW_ReduceAction500_parser___ReduceAction___init(REGB0);
3415 /* parser/parser.nit:154 */
3416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3417 /* parser/parser.nit:656 */
3418 REGB0 = TAG_Int(74);
3419 fra.me.REG[2] = NEW_ReduceAction499_parser___ReduceAction___init(REGB0);
3420 /* parser/parser.nit:154 */
3421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3422 /* parser/parser.nit:657 */
3423 REGB0 = TAG_Int(75);
3424 fra.me.REG[2] = NEW_ReduceAction502_parser___ReduceAction___init(REGB0);
3425 /* parser/parser.nit:154 */
3426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3427 /* parser/parser.nit:658 */
3428 REGB0 = TAG_Int(76);
3429 fra.me.REG[2] = NEW_ReduceAction503_parser___ReduceAction___init(REGB0);
3430 /* parser/parser.nit:154 */
3431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3432 /* parser/parser.nit:659 */
3433 REGB0 = TAG_Int(77);
3434 fra.me.REG[2] = NEW_ReduceAction504_parser___ReduceAction___init(REGB0);
3435 /* parser/parser.nit:154 */
3436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3437 /* parser/parser.nit:660 */
3438 REGB0 = TAG_Int(77);
3439 fra.me.REG[2] = NEW_ReduceAction505_parser___ReduceAction___init(REGB0);
3440 /* parser/parser.nit:154 */
3441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3442 /* parser/parser.nit:661 */
3443 REGB0 = TAG_Int(77);
3444 fra.me.REG[2] = NEW_ReduceAction506_parser___ReduceAction___init(REGB0);
3445 /* parser/parser.nit:154 */
3446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3447 /* parser/parser.nit:662 */
3448 REGB0 = TAG_Int(78);
3449 fra.me.REG[2] = NEW_ReduceAction504_parser___ReduceAction___init(REGB0);
3450 /* parser/parser.nit:154 */
3451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3452 /* parser/parser.nit:663 */
3453 REGB0 = TAG_Int(78);
3454 fra.me.REG[2] = NEW_ReduceAction508_parser___ReduceAction___init(REGB0);
3455 /* parser/parser.nit:154 */
3456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3457 /* parser/parser.nit:664 */
3458 REGB0 = TAG_Int(78);
3459 fra.me.REG[2] = NEW_ReduceAction505_parser___ReduceAction___init(REGB0);
3460 /* parser/parser.nit:154 */
3461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3462 /* parser/parser.nit:665 */
3463 REGB0 = TAG_Int(78);
3464 fra.me.REG[2] = NEW_ReduceAction506_parser___ReduceAction___init(REGB0);
3465 /* parser/parser.nit:154 */
3466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3467 /* parser/parser.nit:666 */
3468 REGB0 = TAG_Int(79);
3469 fra.me.REG[2] = NEW_ReduceAction511_parser___ReduceAction___init(REGB0);
3470 /* parser/parser.nit:154 */
3471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3472 /* parser/parser.nit:667 */
3473 REGB0 = TAG_Int(80);
3474 fra.me.REG[2] = NEW_ReduceAction512_parser___ReduceAction___init(REGB0);
3475 /* parser/parser.nit:154 */
3476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3477 /* parser/parser.nit:668 */
3478 REGB0 = TAG_Int(80);
3479 fra.me.REG[2] = NEW_ReduceAction513_parser___ReduceAction___init(REGB0);
3480 /* parser/parser.nit:154 */
3481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3482 /* parser/parser.nit:669 */
3483 REGB0 = TAG_Int(81);
3484 fra.me.REG[2] = NEW_ReduceAction514_parser___ReduceAction___init(REGB0);
3485 /* parser/parser.nit:154 */
3486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3487 /* parser/parser.nit:670 */
3488 REGB0 = TAG_Int(82);
3489 fra.me.REG[2] = NEW_ReduceAction515_parser___ReduceAction___init(REGB0);
3490 /* parser/parser.nit:154 */
3491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3492 /* parser/parser.nit:671 */
3493 REGB0 = TAG_Int(82);
3494 fra.me.REG[2] = NEW_ReduceAction516_parser___ReduceAction___init(REGB0);
3495 /* parser/parser.nit:154 */
3496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3497 /* parser/parser.nit:672 */
3498 REGB0 = TAG_Int(83);
3499 fra.me.REG[2] = NEW_ReduceAction517_parser___ReduceAction___init(REGB0);
3500 /* parser/parser.nit:154 */
3501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3502 /* parser/parser.nit:673 */
3503 REGB0 = TAG_Int(83);
3504 fra.me.REG[2] = NEW_ReduceAction518_parser___ReduceAction___init(REGB0);
3505 /* parser/parser.nit:154 */
3506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3507 /* parser/parser.nit:674 */
3508 REGB0 = TAG_Int(83);
3509 fra.me.REG[2] = NEW_ReduceAction519_parser___ReduceAction___init(REGB0);
3510 /* parser/parser.nit:154 */
3511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3512 /* parser/parser.nit:675 */
3513 REGB0 = TAG_Int(83);
3514 fra.me.REG[2] = NEW_ReduceAction520_parser___ReduceAction___init(REGB0);
3515 /* parser/parser.nit:154 */
3516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3517 /* parser/parser.nit:676 */
3518 REGB0 = TAG_Int(84);
3519 fra.me.REG[2] = NEW_ReduceAction521_parser___ReduceAction___init(REGB0);
3520 /* parser/parser.nit:154 */
3521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3522 /* parser/parser.nit:677 */
3523 REGB0 = TAG_Int(84);
3524 fra.me.REG[2] = NEW_ReduceAction522_parser___ReduceAction___init(REGB0);
3525 /* parser/parser.nit:154 */
3526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3527 /* parser/parser.nit:678 */
3528 REGB0 = TAG_Int(84);
3529 fra.me.REG[2] = NEW_ReduceAction523_parser___ReduceAction___init(REGB0);
3530 /* parser/parser.nit:154 */
3531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3532 /* parser/parser.nit:679 */
3533 REGB0 = TAG_Int(85);
3534 fra.me.REG[2] = NEW_ReduceAction524_parser___ReduceAction___init(REGB0);
3535 /* parser/parser.nit:154 */
3536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3537 /* parser/parser.nit:680 */
3538 REGB0 = TAG_Int(86);
3539 fra.me.REG[2] = NEW_ReduceAction525_parser___ReduceAction___init(REGB0);
3540 /* parser/parser.nit:154 */
3541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3542 /* parser/parser.nit:681 */
3543 REGB0 = TAG_Int(87);
3544 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
3545 /* parser/parser.nit:154 */
3546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3547 /* parser/parser.nit:682 */
3548 REGB0 = TAG_Int(87);
3549 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
3550 /* parser/parser.nit:154 */
3551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3552 /* parser/parser.nit:683 */
3553 REGB0 = TAG_Int(88);
3554 fra.me.REG[2] = NEW_ReduceAction528_parser___ReduceAction___init(REGB0);
3555 /* parser/parser.nit:154 */
3556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3557 /* parser/parser.nit:684 */
3558 REGB0 = TAG_Int(88);
3559 fra.me.REG[2] = NEW_ReduceAction529_parser___ReduceAction___init(REGB0);
3560 /* parser/parser.nit:154 */
3561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3562 /* parser/parser.nit:685 */
3563 REGB0 = TAG_Int(88);
3564 fra.me.REG[2] = NEW_ReduceAction68_parser___ReduceAction___init(REGB0);
3565 /* parser/parser.nit:154 */
3566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3567 /* parser/parser.nit:686 */
3568 REGB0 = TAG_Int(89);
3569 fra.me.REG[2] = NEW_ReduceAction531_parser___ReduceAction___init(REGB0);
3570 /* parser/parser.nit:154 */
3571 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3572 /* parser/parser.nit:687 */
3573 REGB0 = TAG_Int(89);
3574 fra.me.REG[2] = NEW_ReduceAction532_parser___ReduceAction___init(REGB0);
3575 /* parser/parser.nit:154 */
3576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3577 /* parser/parser.nit:688 */
3578 REGB0 = TAG_Int(90);
3579 fra.me.REG[2] = NEW_ReduceAction533_parser___ReduceAction___init(REGB0);
3580 /* parser/parser.nit:154 */
3581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3582 /* parser/parser.nit:689 */
3583 REGB0 = TAG_Int(90);
3584 fra.me.REG[2] = NEW_ReduceAction534_parser___ReduceAction___init(REGB0);
3585 /* parser/parser.nit:154 */
3586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3587 /* parser/parser.nit:690 */
3588 REGB0 = TAG_Int(90);
3589 fra.me.REG[2] = NEW_ReduceAction526_parser___ReduceAction___init(REGB0);
3590 /* parser/parser.nit:154 */
3591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3592 /* parser/parser.nit:691 */
3593 REGB0 = TAG_Int(91);
3594 fra.me.REG[2] = NEW_ReduceAction115_parser___ReduceAction___init(REGB0);
3595 /* parser/parser.nit:154 */
3596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3597 /* parser/parser.nit:692 */
3598 REGB0 = TAG_Int(92);
3599 fra.me.REG[2] = NEW_ReduceAction116_parser___ReduceAction___init(REGB0);
3600 /* parser/parser.nit:154 */
3601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3602 /* parser/parser.nit:693 */
3603 REGB0 = TAG_Int(92);
3604 fra.me.REG[2] = NEW_ReduceAction117_parser___ReduceAction___init(REGB0);
3605 /* parser/parser.nit:154 */
3606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3607 /* parser/parser.nit:694 */
3608 REGB0 = TAG_Int(92);
3609 fra.me.REG[2] = NEW_ReduceAction118_parser___ReduceAction___init(REGB0);
3610 /* parser/parser.nit:154 */
3611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3612 /* parser/parser.nit:695 */
3613 REGB0 = TAG_Int(92);
3614 fra.me.REG[2] = NEW_ReduceAction119_parser___ReduceAction___init(REGB0);
3615 /* parser/parser.nit:154 */
3616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3617 /* parser/parser.nit:696 */
3618 REGB0 = TAG_Int(92);
3619 fra.me.REG[2] = NEW_ReduceAction120_parser___ReduceAction___init(REGB0);
3620 /* parser/parser.nit:154 */
3621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3622 /* parser/parser.nit:697 */
3623 REGB0 = TAG_Int(92);
3624 fra.me.REG[2] = NEW_ReduceAction121_parser___ReduceAction___init(REGB0);
3625 /* parser/parser.nit:154 */
3626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3627 /* parser/parser.nit:698 */
3628 REGB0 = TAG_Int(92);
3629 fra.me.REG[2] = NEW_ReduceAction126_parser___ReduceAction___init(REGB0);
3630 /* parser/parser.nit:154 */
3631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3632 /* parser/parser.nit:699 */
3633 REGB0 = TAG_Int(92);
3634 fra.me.REG[2] = NEW_ReduceAction127_parser___ReduceAction___init(REGB0);
3635 /* parser/parser.nit:154 */
3636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3637 /* parser/parser.nit:700 */
3638 REGB0 = TAG_Int(92);
3639 fra.me.REG[2] = NEW_ReduceAction128_parser___ReduceAction___init(REGB0);
3640 /* parser/parser.nit:154 */
3641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3642 /* parser/parser.nit:701 */
3643 REGB0 = TAG_Int(92);
3644 fra.me.REG[2] = NEW_ReduceAction129_parser___ReduceAction___init(REGB0);
3645 /* parser/parser.nit:154 */
3646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3647 /* parser/parser.nit:702 */
3648 REGB0 = TAG_Int(92);
3649 fra.me.REG[2] = NEW_ReduceAction130_parser___ReduceAction___init(REGB0);
3650 /* parser/parser.nit:154 */
3651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3652 /* parser/parser.nit:703 */
3653 REGB0 = TAG_Int(92);
3654 fra.me.REG[2] = NEW_ReduceAction131_parser___ReduceAction___init(REGB0);
3655 /* parser/parser.nit:154 */
3656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3657 /* parser/parser.nit:704 */
3658 REGB0 = TAG_Int(92);
3659 fra.me.REG[2] = NEW_ReduceAction132_parser___ReduceAction___init(REGB0);
3660 /* parser/parser.nit:154 */
3661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3662 /* parser/parser.nit:705 */
3663 REGB0 = TAG_Int(92);
3664 fra.me.REG[2] = NEW_ReduceAction133_parser___ReduceAction___init(REGB0);
3665 /* parser/parser.nit:154 */
3666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3667 /* parser/parser.nit:706 */
3668 REGB0 = TAG_Int(92);
3669 fra.me.REG[2] = NEW_ReduceAction134_parser___ReduceAction___init(REGB0);
3670 /* parser/parser.nit:154 */
3671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3672 /* parser/parser.nit:707 */
3673 REGB0 = TAG_Int(92);
3674 fra.me.REG[2] = NEW_ReduceAction135_parser___ReduceAction___init(REGB0);
3675 /* parser/parser.nit:154 */
3676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3677 /* parser/parser.nit:708 */
3678 REGB0 = TAG_Int(92);
3679 fra.me.REG[2] = NEW_ReduceAction136_parser___ReduceAction___init(REGB0);
3680 /* parser/parser.nit:154 */
3681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3682 /* parser/parser.nit:709 */
3683 REGB0 = TAG_Int(92);
3684 fra.me.REG[2] = NEW_ReduceAction137_parser___ReduceAction___init(REGB0);
3685 /* parser/parser.nit:154 */
3686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3687 /* parser/parser.nit:710 */
3688 REGB0 = TAG_Int(92);
3689 fra.me.REG[2] = NEW_ReduceAction138_parser___ReduceAction___init(REGB0);
3690 /* parser/parser.nit:154 */
3691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3692 /* parser/parser.nit:711 */
3693 REGB0 = TAG_Int(92);
3694 fra.me.REG[2] = NEW_ReduceAction139_parser___ReduceAction___init(REGB0);
3695 /* parser/parser.nit:154 */
3696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3697 /* parser/parser.nit:712 */
3698 REGB0 = TAG_Int(92);
3699 fra.me.REG[2] = NEW_ReduceAction140_parser___ReduceAction___init(REGB0);
3700 /* parser/parser.nit:154 */
3701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3702 /* parser/parser.nit:713 */
3703 REGB0 = TAG_Int(92);
3704 fra.me.REG[2] = NEW_ReduceAction141_parser___ReduceAction___init(REGB0);
3705 /* parser/parser.nit:154 */
3706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3707 /* parser/parser.nit:714 */
3708 REGB0 = TAG_Int(92);
3709 fra.me.REG[2] = NEW_ReduceAction142_parser___ReduceAction___init(REGB0);
3710 /* parser/parser.nit:154 */
3711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3712 /* parser/parser.nit:715 */
3713 REGB0 = TAG_Int(92);
3714 fra.me.REG[2] = NEW_ReduceAction143_parser___ReduceAction___init(REGB0);
3715 /* parser/parser.nit:154 */
3716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3717 /* parser/parser.nit:716 */
3718 REGB0 = TAG_Int(92);
3719 fra.me.REG[2] = NEW_ReduceAction144_parser___ReduceAction___init(REGB0);
3720 /* parser/parser.nit:154 */
3721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3722 /* parser/parser.nit:717 */
3723 REGB0 = TAG_Int(92);
3724 fra.me.REG[2] = NEW_ReduceAction145_parser___ReduceAction___init(REGB0);
3725 /* parser/parser.nit:154 */
3726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3727 /* parser/parser.nit:718 */
3728 REGB0 = TAG_Int(93);
3729 fra.me.REG[2] = NEW_ReduceAction280_parser___ReduceAction___init(REGB0);
3730 /* parser/parser.nit:154 */
3731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3732 /* parser/parser.nit:719 */
3733 REGB0 = TAG_Int(93);
3734 fra.me.REG[2] = NEW_ReduceAction281_parser___ReduceAction___init(REGB0);
3735 /* parser/parser.nit:154 */
3736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3737 /* parser/parser.nit:720 */
3738 REGB0 = TAG_Int(93);
3739 fra.me.REG[2] = NEW_ReduceAction282_parser___ReduceAction___init(REGB0);
3740 /* parser/parser.nit:154 */
3741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3742 /* parser/parser.nit:721 */
3743 REGB0 = TAG_Int(93);
3744 fra.me.REG[2] = NEW_ReduceAction283_parser___ReduceAction___init(REGB0);
3745 /* parser/parser.nit:154 */
3746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3747 /* parser/parser.nit:722 */
3748 REGB0 = TAG_Int(93);
3749 fra.me.REG[2] = NEW_ReduceAction288_parser___ReduceAction___init(REGB0);
3750 /* parser/parser.nit:154 */
3751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3752 /* parser/parser.nit:723 */
3753 REGB0 = TAG_Int(93);
3754 fra.me.REG[2] = NEW_ReduceAction289_parser___ReduceAction___init(REGB0);
3755 /* parser/parser.nit:154 */
3756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3757 /* parser/parser.nit:724 */
3758 REGB0 = TAG_Int(94);
3759 fra.me.REG[2] = NEW_ReduceAction328_parser___ReduceAction___init(REGB0);
3760 /* parser/parser.nit:154 */
3761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3762 /* parser/parser.nit:725 */
3763 REGB0 = TAG_Int(94);
3764 fra.me.REG[2] = NEW_ReduceAction329_parser___ReduceAction___init(REGB0);
3765 /* parser/parser.nit:154 */
3766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3767 /* parser/parser.nit:726 */
3768 REGB0 = TAG_Int(95);
3769 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3770 /* parser/parser.nit:154 */
3771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3772 /* parser/parser.nit:727 */
3773 REGB0 = TAG_Int(95);
3774 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
3775 /* parser/parser.nit:154 */
3776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3777 /* parser/parser.nit:728 */
3778 REGB0 = TAG_Int(95);
3779 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
3780 /* parser/parser.nit:154 */
3781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3782 /* parser/parser.nit:729 */
3783 REGB0 = TAG_Int(96);
3784 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3785 /* parser/parser.nit:154 */
3786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3787 /* parser/parser.nit:730 */
3788 REGB0 = TAG_Int(96);
3789 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
3790 /* parser/parser.nit:154 */
3791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3792 /* parser/parser.nit:731 */
3793 REGB0 = TAG_Int(97);
3794 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3795 /* parser/parser.nit:154 */
3796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3797 /* parser/parser.nit:732 */
3798 REGB0 = TAG_Int(97);
3799 fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction___init(REGB0);
3800 /* parser/parser.nit:154 */
3801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3802 /* parser/parser.nit:733 */
3803 REGB0 = TAG_Int(97);
3804 fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction___init(REGB0);
3805 /* parser/parser.nit:154 */
3806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3807 /* parser/parser.nit:734 */
3808 REGB0 = TAG_Int(97);
3809 fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction___init(REGB0);
3810 /* parser/parser.nit:154 */
3811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3812 /* parser/parser.nit:735 */
3813 REGB0 = TAG_Int(98);
3814 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3815 /* parser/parser.nit:154 */
3816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3817 /* parser/parser.nit:736 */
3818 REGB0 = TAG_Int(98);
3819 fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction___init(REGB0);
3820 /* parser/parser.nit:154 */
3821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3822 /* parser/parser.nit:737 */
3823 REGB0 = TAG_Int(99);
3824 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3825 /* parser/parser.nit:154 */
3826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3827 /* parser/parser.nit:738 */
3828 REGB0 = TAG_Int(99);
3829 fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
3830 /* parser/parser.nit:154 */
3831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3832 /* parser/parser.nit:739 */
3833 REGB0 = TAG_Int(99);
3834 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
3835 /* parser/parser.nit:154 */
3836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3837 /* parser/parser.nit:740 */
3838 REGB0 = TAG_Int(99);
3839 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
3840 /* parser/parser.nit:154 */
3841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3842 /* parser/parser.nit:741 */
3843 REGB0 = TAG_Int(99);
3844 fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
3845 /* parser/parser.nit:154 */
3846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3847 /* parser/parser.nit:742 */
3848 REGB0 = TAG_Int(99);
3849 fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
3850 /* parser/parser.nit:154 */
3851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3852 /* parser/parser.nit:743 */
3853 REGB0 = TAG_Int(99);
3854 fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
3855 /* parser/parser.nit:154 */
3856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3857 /* parser/parser.nit:744 */
3858 REGB0 = TAG_Int(99);
3859 fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
3860 /* parser/parser.nit:154 */
3861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3862 /* parser/parser.nit:745 */
3863 REGB0 = TAG_Int(99);
3864 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
3865 /* parser/parser.nit:154 */
3866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3867 /* parser/parser.nit:746 */
3868 REGB0 = TAG_Int(99);
3869 fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction___init(REGB0);
3870 /* parser/parser.nit:154 */
3871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3872 /* parser/parser.nit:747 */
3873 REGB0 = TAG_Int(99);
3874 fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
3875 /* parser/parser.nit:154 */
3876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3877 /* parser/parser.nit:748 */
3878 REGB0 = TAG_Int(99);
3879 fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
3880 /* parser/parser.nit:154 */
3881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3882 /* parser/parser.nit:749 */
3883 REGB0 = TAG_Int(100);
3884 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3885 /* parser/parser.nit:154 */
3886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3887 /* parser/parser.nit:750 */
3888 REGB0 = TAG_Int(100);
3889 fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
3890 /* parser/parser.nit:154 */
3891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3892 /* parser/parser.nit:751 */
3893 REGB0 = TAG_Int(100);
3894 fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
3895 /* parser/parser.nit:154 */
3896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3897 /* parser/parser.nit:752 */
3898 REGB0 = TAG_Int(101);
3899 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3900 /* parser/parser.nit:154 */
3901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3902 /* parser/parser.nit:753 */
3903 REGB0 = TAG_Int(101);
3904 fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
3905 /* parser/parser.nit:154 */
3906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3907 /* parser/parser.nit:754 */
3908 REGB0 = TAG_Int(101);
3909 fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
3910 /* parser/parser.nit:154 */
3911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3912 /* parser/parser.nit:755 */
3913 REGB0 = TAG_Int(101);
3914 fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
3915 /* parser/parser.nit:154 */
3916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3917 /* parser/parser.nit:756 */
3918 REGB0 = TAG_Int(102);
3919 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3920 /* parser/parser.nit:154 */
3921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3922 /* parser/parser.nit:757 */
3923 REGB0 = TAG_Int(102);
3924 fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
3925 /* parser/parser.nit:154 */
3926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3927 /* parser/parser.nit:758 */
3928 REGB0 = TAG_Int(102);
3929 fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction___init(REGB0);
3930 /* parser/parser.nit:154 */
3931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3932 /* parser/parser.nit:759 */
3933 REGB0 = TAG_Int(103);
3934 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
3935 /* parser/parser.nit:154 */
3936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3937 /* parser/parser.nit:760 */
3938 REGB0 = TAG_Int(103);
3939 fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction___init(REGB0);
3940 /* parser/parser.nit:154 */
3941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3942 /* parser/parser.nit:761 */
3943 REGB0 = TAG_Int(103);
3944 fra.me.REG[2] = NEW_ReduceAction470_parser___ReduceAction___init(REGB0);
3945 /* parser/parser.nit:154 */
3946 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3947 /* parser/parser.nit:762 */
3948 REGB0 = TAG_Int(103);
3949 fra.me.REG[2] = NEW_ReduceAction471_parser___ReduceAction___init(REGB0);
3950 /* parser/parser.nit:154 */
3951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3952 /* parser/parser.nit:763 */
3953 REGB0 = TAG_Int(104);
3954 fra.me.REG[2] = NEW_ReduceAction472_parser___ReduceAction___init(REGB0);
3955 /* parser/parser.nit:154 */
3956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3957 /* parser/parser.nit:764 */
3958 REGB0 = TAG_Int(104);
3959 fra.me.REG[2] = NEW_ReduceAction473_parser___ReduceAction___init(REGB0);
3960 /* parser/parser.nit:154 */
3961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3962 /* parser/parser.nit:765 */
3963 REGB0 = TAG_Int(104);
3964 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
3965 /* parser/parser.nit:154 */
3966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3967 /* parser/parser.nit:766 */
3968 REGB0 = TAG_Int(104);
3969 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
3970 /* parser/parser.nit:154 */
3971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3972 /* parser/parser.nit:767 */
3973 REGB0 = TAG_Int(104);
3974 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
3975 /* parser/parser.nit:154 */
3976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3977 /* parser/parser.nit:768 */
3978 REGB0 = TAG_Int(104);
3979 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
3980 /* parser/parser.nit:154 */
3981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3982 /* parser/parser.nit:769 */
3983 REGB0 = TAG_Int(104);
3984 fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
3985 /* parser/parser.nit:154 */
3986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3987 /* parser/parser.nit:770 */
3988 REGB0 = TAG_Int(104);
3989 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
3990 /* parser/parser.nit:154 */
3991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3992 /* parser/parser.nit:771 */
3993 REGB0 = TAG_Int(104);
3994 fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
3995 /* parser/parser.nit:154 */
3996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3997 /* parser/parser.nit:772 */
3998 REGB0 = TAG_Int(104);
3999 fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
4000 /* parser/parser.nit:154 */
4001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4002 /* parser/parser.nit:773 */
4003 REGB0 = TAG_Int(104);
4004 fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
4005 /* parser/parser.nit:154 */
4006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4007 /* parser/parser.nit:774 */
4008 REGB0 = TAG_Int(104);
4009 fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
4010 /* parser/parser.nit:154 */
4011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4012 /* parser/parser.nit:775 */
4013 REGB0 = TAG_Int(104);
4014 fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
4015 /* parser/parser.nit:154 */
4016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4017 /* parser/parser.nit:776 */
4018 REGB0 = TAG_Int(104);
4019 fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
4020 /* parser/parser.nit:154 */
4021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4022 /* parser/parser.nit:777 */
4023 REGB0 = TAG_Int(104);
4024 fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
4025 /* parser/parser.nit:154 */
4026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4027 /* parser/parser.nit:778 */
4028 REGB0 = TAG_Int(104);
4029 fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
4030 /* parser/parser.nit:154 */
4031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4032 /* parser/parser.nit:779 */
4033 REGB0 = TAG_Int(104);
4034 fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
4035 /* parser/parser.nit:154 */
4036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4037 /* parser/parser.nit:780 */
4038 REGB0 = TAG_Int(104);
4039 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4040 /* parser/parser.nit:154 */
4041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4042 /* parser/parser.nit:781 */
4043 REGB0 = TAG_Int(104);
4044 fra.me.REG[2] = NEW_ReduceAction494_parser___ReduceAction___init(REGB0);
4045 /* parser/parser.nit:154 */
4046 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4047 /* parser/parser.nit:782 */
4048 REGB0 = TAG_Int(104);
4049 fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction___init(REGB0);
4050 /* parser/parser.nit:154 */
4051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4052 /* parser/parser.nit:783 */
4053 REGB0 = TAG_Int(104);
4054 fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
4055 /* parser/parser.nit:154 */
4056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4057 /* parser/parser.nit:784 */
4058 REGB0 = TAG_Int(105);
4059 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
4060 /* parser/parser.nit:154 */
4061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4062 /* parser/parser.nit:785 */
4063 REGB0 = TAG_Int(105);
4064 fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
4065 /* parser/parser.nit:154 */
4066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4067 /* parser/parser.nit:786 */
4068 REGB0 = TAG_Int(105);
4069 fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
4070 /* parser/parser.nit:154 */
4071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4072 /* parser/parser.nit:787 */
4073 REGB0 = TAG_Int(105);
4074 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4075 /* parser/parser.nit:154 */
4076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4077 /* parser/parser.nit:788 */
4078 REGB0 = TAG_Int(106);
4079 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4080 /* parser/parser.nit:154 */
4081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4082 /* parser/parser.nit:789 */
4083 REGB0 = TAG_Int(106);
4084 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4085 /* parser/parser.nit:154 */
4086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4087 /* parser/parser.nit:790 */
4088 REGB0 = TAG_Int(106);
4089 fra.me.REG[2] = NEW_ReduceAction349_parser___ReduceAction___init(REGB0);
4090 /* parser/parser.nit:154 */
4091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4092 /* parser/parser.nit:791 */
4093 REGB0 = TAG_Int(106);
4094 fra.me.REG[2] = NEW_ReduceAction350_parser___ReduceAction___init(REGB0);
4095 /* parser/parser.nit:154 */
4096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4097 /* parser/parser.nit:792 */
4098 REGB0 = TAG_Int(106);
4099 fra.me.REG[2] = NEW_ReduceAction351_parser___ReduceAction___init(REGB0);
4100 /* parser/parser.nit:154 */
4101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4102 /* parser/parser.nit:793 */
4103 REGB0 = TAG_Int(106);
4104 fra.me.REG[2] = NEW_ReduceAction352_parser___ReduceAction___init(REGB0);
4105 /* parser/parser.nit:154 */
4106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4107 /* parser/parser.nit:794 */
4108 REGB0 = TAG_Int(106);
4109 fra.me.REG[2] = NEW_ReduceAction353_parser___ReduceAction___init(REGB0);
4110 /* parser/parser.nit:154 */
4111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4112 /* parser/parser.nit:795 */
4113 REGB0 = TAG_Int(106);
4114 fra.me.REG[2] = NEW_ReduceAction354_parser___ReduceAction___init(REGB0);
4115 /* parser/parser.nit:154 */
4116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4117 /* parser/parser.nit:796 */
4118 REGB0 = TAG_Int(106);
4119 fra.me.REG[2] = NEW_ReduceAction355_parser___ReduceAction___init(REGB0);
4120 /* parser/parser.nit:154 */
4121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4122 /* parser/parser.nit:797 */
4123 REGB0 = TAG_Int(106);
4124 fra.me.REG[2] = NEW_ReduceAction356_parser___ReduceAction___init(REGB0);
4125 /* parser/parser.nit:154 */
4126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4127 /* parser/parser.nit:798 */
4128 REGB0 = TAG_Int(106);
4129 fra.me.REG[2] = NEW_ReduceAction357_parser___ReduceAction___init(REGB0);
4130 /* parser/parser.nit:154 */
4131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4132 /* parser/parser.nit:799 */
4133 REGB0 = TAG_Int(106);
4134 fra.me.REG[2] = NEW_ReduceAction358_parser___ReduceAction___init(REGB0);
4135 /* parser/parser.nit:154 */
4136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4137 /* parser/parser.nit:800 */
4138 REGB0 = TAG_Int(106);
4139 fra.me.REG[2] = NEW_ReduceAction359_parser___ReduceAction___init(REGB0);
4140 /* parser/parser.nit:154 */
4141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4142 /* parser/parser.nit:801 */
4143 REGB0 = TAG_Int(106);
4144 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4145 /* parser/parser.nit:154 */
4146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4147 /* parser/parser.nit:802 */
4148 REGB0 = TAG_Int(106);
4149 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4150 /* parser/parser.nit:154 */
4151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4152 /* parser/parser.nit:803 */
4153 REGB0 = TAG_Int(106);
4154 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4155 /* parser/parser.nit:154 */
4156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4157 /* parser/parser.nit:804 */
4158 REGB0 = TAG_Int(106);
4159 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4160 /* parser/parser.nit:154 */
4161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4162 /* parser/parser.nit:805 */
4163 REGB0 = TAG_Int(106);
4164 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4165 /* parser/parser.nit:154 */
4166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4167 /* parser/parser.nit:806 */
4168 REGB0 = TAG_Int(106);
4169 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4170 /* parser/parser.nit:154 */
4171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4172 /* parser/parser.nit:807 */
4173 REGB0 = TAG_Int(106);
4174 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
4175 /* parser/parser.nit:154 */
4176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4177 /* parser/parser.nit:808 */
4178 REGB0 = TAG_Int(106);
4179 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
4180 /* parser/parser.nit:154 */
4181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4182 /* parser/parser.nit:809 */
4183 REGB0 = TAG_Int(106);
4184 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
4185 /* parser/parser.nit:154 */
4186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4187 /* parser/parser.nit:810 */
4188 REGB0 = TAG_Int(106);
4189 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
4190 /* parser/parser.nit:154 */
4191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4192 /* parser/parser.nit:811 */
4193 REGB0 = TAG_Int(106);
4194 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
4195 /* parser/parser.nit:154 */
4196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4197 /* parser/parser.nit:812 */
4198 REGB0 = TAG_Int(106);
4199 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
4200 /* parser/parser.nit:154 */
4201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4202 /* parser/parser.nit:813 */
4203 REGB0 = TAG_Int(106);
4204 fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
4205 /* parser/parser.nit:154 */
4206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4207 /* parser/parser.nit:814 */
4208 REGB0 = TAG_Int(106);
4209 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
4210 /* parser/parser.nit:154 */
4211 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4212 /* parser/parser.nit:815 */
4213 REGB0 = TAG_Int(106);
4214 fra.me.REG[2] = NEW_ReduceAction374_parser___ReduceAction___init(REGB0);
4215 /* parser/parser.nit:154 */
4216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4217 /* parser/parser.nit:816 */
4218 REGB0 = TAG_Int(107);
4219 fra.me.REG[2] = NEW_ReduceAction376_parser___ReduceAction___init(REGB0);
4220 /* parser/parser.nit:154 */
4221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4222 /* parser/parser.nit:817 */
4223 REGB0 = TAG_Int(107);
4224 fra.me.REG[2] = NEW_ReduceAction377_parser___ReduceAction___init(REGB0);
4225 /* parser/parser.nit:154 */
4226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4227 /* parser/parser.nit:818 */
4228 REGB0 = TAG_Int(108);
4229 fra.me.REG[2] = NEW_ReduceAction378_parser___ReduceAction___init(REGB0);
4230 /* parser/parser.nit:154 */
4231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4232 /* parser/parser.nit:819 */
4233 REGB0 = TAG_Int(108);
4234 fra.me.REG[2] = NEW_ReduceAction379_parser___ReduceAction___init(REGB0);
4235 /* parser/parser.nit:154 */
4236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4237 /* parser/parser.nit:820 */
4238 REGB0 = TAG_Int(108);
4239 fra.me.REG[2] = NEW_ReduceAction380_parser___ReduceAction___init(REGB0);
4240 /* parser/parser.nit:154 */
4241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4242 /* parser/parser.nit:821 */
4243 REGB0 = TAG_Int(108);
4244 fra.me.REG[2] = NEW_ReduceAction381_parser___ReduceAction___init(REGB0);
4245 /* parser/parser.nit:154 */
4246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4247 /* parser/parser.nit:822 */
4248 REGB0 = TAG_Int(108);
4249 fra.me.REG[2] = NEW_ReduceAction382_parser___ReduceAction___init(REGB0);
4250 /* parser/parser.nit:154 */
4251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4252 /* parser/parser.nit:823 */
4253 REGB0 = TAG_Int(108);
4254 fra.me.REG[2] = NEW_ReduceAction383_parser___ReduceAction___init(REGB0);
4255 /* parser/parser.nit:154 */
4256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4257 /* parser/parser.nit:824 */
4258 REGB0 = TAG_Int(108);
4259 fra.me.REG[2] = NEW_ReduceAction384_parser___ReduceAction___init(REGB0);
4260 /* parser/parser.nit:154 */
4261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4262 /* parser/parser.nit:825 */
4263 REGB0 = TAG_Int(108);
4264 fra.me.REG[2] = NEW_ReduceAction385_parser___ReduceAction___init(REGB0);
4265 /* parser/parser.nit:154 */
4266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4267 /* parser/parser.nit:826 */
4268 REGB0 = TAG_Int(108);
4269 fra.me.REG[2] = NEW_ReduceAction386_parser___ReduceAction___init(REGB0);
4270 /* parser/parser.nit:154 */
4271 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4272 /* parser/parser.nit:827 */
4273 REGB0 = TAG_Int(109);
4274 fra.me.REG[2] = NEW_ReduceAction395_parser___ReduceAction___init(REGB0);
4275 /* parser/parser.nit:154 */
4276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4277 /* parser/parser.nit:828 */
4278 REGB0 = TAG_Int(110);
4279 fra.me.REG[2] = NEW_ReduceAction396_parser___ReduceAction___init(REGB0);
4280 /* parser/parser.nit:154 */
4281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4282 /* parser/parser.nit:829 */
4283 REGB0 = TAG_Int(110);
4284 fra.me.REG[2] = NEW_ReduceAction397_parser___ReduceAction___init(REGB0);
4285 /* parser/parser.nit:154 */
4286 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4287 /* parser/parser.nit:830 */
4288 REGB0 = TAG_Int(110);
4289 fra.me.REG[2] = NEW_ReduceAction398_parser___ReduceAction___init(REGB0);
4290 /* parser/parser.nit:154 */
4291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4292 /* parser/parser.nit:831 */
4293 REGB0 = TAG_Int(110);
4294 fra.me.REG[2] = NEW_ReduceAction399_parser___ReduceAction___init(REGB0);
4295 /* parser/parser.nit:154 */
4296 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4297 /* parser/parser.nit:832 */
4298 REGB0 = TAG_Int(111);
4299 fra.me.REG[2] = NEW_ReduceAction400_parser___ReduceAction___init(REGB0);
4300 /* parser/parser.nit:154 */
4301 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4302 /* parser/parser.nit:833 */
4303 REGB0 = TAG_Int(111);
4304 fra.me.REG[2] = NEW_ReduceAction401_parser___ReduceAction___init(REGB0);
4305 /* parser/parser.nit:154 */
4306 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4307 /* parser/parser.nit:834 */
4308 REGB0 = TAG_Int(111);
4309 fra.me.REG[2] = NEW_ReduceAction402_parser___ReduceAction___init(REGB0);
4310 /* parser/parser.nit:154 */
4311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4312 /* parser/parser.nit:835 */
4313 REGB0 = TAG_Int(111);
4314 fra.me.REG[2] = NEW_ReduceAction403_parser___ReduceAction___init(REGB0);
4315 /* parser/parser.nit:154 */
4316 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4317 /* parser/parser.nit:836 */
4318 REGB0 = TAG_Int(111);
4319 fra.me.REG[2] = NEW_ReduceAction404_parser___ReduceAction___init(REGB0);
4320 /* parser/parser.nit:154 */
4321 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4322 /* parser/parser.nit:837 */
4323 REGB0 = TAG_Int(111);
4324 fra.me.REG[2] = NEW_ReduceAction405_parser___ReduceAction___init(REGB0);
4325 /* parser/parser.nit:154 */
4326 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4327 /* parser/parser.nit:838 */
4328 REGB0 = TAG_Int(111);
4329 fra.me.REG[2] = NEW_ReduceAction406_parser___ReduceAction___init(REGB0);
4330 /* parser/parser.nit:154 */
4331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4332 /* parser/parser.nit:839 */
4333 REGB0 = TAG_Int(111);
4334 fra.me.REG[2] = NEW_ReduceAction407_parser___ReduceAction___init(REGB0);
4335 /* parser/parser.nit:154 */
4336 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4337 /* parser/parser.nit:840 */
4338 REGB0 = TAG_Int(111);
4339 fra.me.REG[2] = NEW_ReduceAction408_parser___ReduceAction___init(REGB0);
4340 /* parser/parser.nit:154 */
4341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4342 /* parser/parser.nit:841 */
4343 REGB0 = TAG_Int(111);
4344 fra.me.REG[2] = NEW_ReduceAction409_parser___ReduceAction___init(REGB0);
4345 /* parser/parser.nit:154 */
4346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4347 /* parser/parser.nit:842 */
4348 REGB0 = TAG_Int(112);
4349 fra.me.REG[2] = NEW_ReduceAction412_parser___ReduceAction___init(REGB0);
4350 /* parser/parser.nit:154 */
4351 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4352 /* parser/parser.nit:843 */
4353 REGB0 = TAG_Int(112);
4354 fra.me.REG[2] = NEW_ReduceAction413_parser___ReduceAction___init(REGB0);
4355 /* parser/parser.nit:154 */
4356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4357 /* parser/parser.nit:844 */
4358 REGB0 = TAG_Int(113);
4359 fra.me.REG[2] = NEW_ReduceAction414_parser___ReduceAction___init(REGB0);
4360 /* parser/parser.nit:154 */
4361 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4362 /* parser/parser.nit:845 */
4363 REGB0 = TAG_Int(114);
4364 fra.me.REG[2] = NEW_ReduceAction421_parser___ReduceAction___init(REGB0);
4365 /* parser/parser.nit:154 */
4366 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4367 /* parser/parser.nit:846 */
4368 REGB0 = TAG_Int(114);
4369 fra.me.REG[2] = NEW_ReduceAction422_parser___ReduceAction___init(REGB0);
4370 /* parser/parser.nit:154 */
4371 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4372 /* parser/parser.nit:847 */
4373 REGB0 = TAG_Int(115);
4374 fra.me.REG[2] = NEW_ReduceAction423_parser___ReduceAction___init(REGB0);
4375 /* parser/parser.nit:154 */
4376 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4377 /* parser/parser.nit:848 */
4378 REGB0 = TAG_Int(115);
4379 fra.me.REG[2] = NEW_ReduceAction424_parser___ReduceAction___init(REGB0);
4380 /* parser/parser.nit:154 */
4381 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4382 /* parser/parser.nit:849 */
4383 REGB0 = TAG_Int(116);
4384 fra.me.REG[2] = NEW_ReduceAction425_parser___ReduceAction___init(REGB0);
4385 /* parser/parser.nit:154 */
4386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4387 /* parser/parser.nit:850 */
4388 REGB0 = TAG_Int(116);
4389 fra.me.REG[2] = NEW_ReduceAction426_parser___ReduceAction___init(REGB0);
4390 /* parser/parser.nit:154 */
4391 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4392 /* parser/parser.nit:851 */
4393 REGB0 = TAG_Int(116);
4394 fra.me.REG[2] = NEW_ReduceAction427_parser___ReduceAction___init(REGB0);
4395 /* parser/parser.nit:154 */
4396 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4397 /* parser/parser.nit:852 */
4398 REGB0 = TAG_Int(116);
4399 fra.me.REG[2] = NEW_ReduceAction428_parser___ReduceAction___init(REGB0);
4400 /* parser/parser.nit:154 */
4401 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4402 /* parser/parser.nit:853 */
4403 REGB0 = TAG_Int(117);
4404 fra.me.REG[2] = NEW_ReduceAction429_parser___ReduceAction___init(REGB0);
4405 /* parser/parser.nit:154 */
4406 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4407 /* parser/parser.nit:854 */
4408 REGB0 = TAG_Int(117);
4409 fra.me.REG[2] = NEW_ReduceAction430_parser___ReduceAction___init(REGB0);
4410 /* parser/parser.nit:154 */
4411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4412 /* parser/parser.nit:855 */
4413 REGB0 = TAG_Int(118);
4414 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4415 /* parser/parser.nit:154 */
4416 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4417 /* parser/parser.nit:856 */
4418 REGB0 = TAG_Int(118);
4419 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
4420 /* parser/parser.nit:154 */
4421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4422 /* parser/parser.nit:857 */
4423 REGB0 = TAG_Int(118);
4424 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
4425 /* parser/parser.nit:154 */
4426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4427 /* parser/parser.nit:858 */
4428 REGB0 = TAG_Int(118);
4429 fra.me.REG[2] = NEW_ReduceAction437_parser___ReduceAction___init(REGB0);
4430 /* parser/parser.nit:154 */
4431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4432 /* parser/parser.nit:859 */
4433 REGB0 = TAG_Int(119);
4434 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4435 /* parser/parser.nit:154 */
4436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4437 /* parser/parser.nit:860 */
4438 REGB0 = TAG_Int(119);
4439 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
4440 /* parser/parser.nit:154 */
4441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4442 /* parser/parser.nit:861 */
4443 REGB0 = TAG_Int(119);
4444 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
4445 /* parser/parser.nit:154 */
4446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4447 /* parser/parser.nit:862 */
4448 REGB0 = TAG_Int(120);
4449 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
4450 /* parser/parser.nit:154 */
4451 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4452 /* parser/parser.nit:863 */
4453 REGB0 = TAG_Int(120);
4454 fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
4455 /* parser/parser.nit:154 */
4456 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4457 /* parser/parser.nit:864 */
4458 REGB0 = TAG_Int(120);
4459 fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
4460 /* parser/parser.nit:154 */
4461 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4462 /* parser/parser.nit:865 */
4463 REGB0 = TAG_Int(121);
4464 fra.me.REG[2] = NEW_ReduceAction336_parser___ReduceAction___init(REGB0);
4465 /* parser/parser.nit:154 */
4466 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4467 /* parser/parser.nit:866 */
4468 REGB0 = TAG_Int(121);
4469 fra.me.REG[2] = NEW_ReduceAction337_parser___ReduceAction___init(REGB0);
4470 /* parser/parser.nit:154 */
4471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4472 /* parser/parser.nit:867 */
4473 REGB0 = TAG_Int(121);
4474 fra.me.REG[2] = NEW_ReduceAction338_parser___ReduceAction___init(REGB0);
4475 /* parser/parser.nit:154 */
4476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4477 /* parser/parser.nit:868 */
4478 REGB0 = TAG_Int(122);
4479 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4480 /* parser/parser.nit:154 */
4481 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4482 /* parser/parser.nit:869 */
4483 REGB0 = TAG_Int(122);
4484 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
4485 /* parser/parser.nit:154 */
4486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4487 /* parser/parser.nit:870 */
4488 REGB0 = TAG_Int(122);
4489 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
4490 /* parser/parser.nit:154 */
4491 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4492 /* parser/parser.nit:871 */
4493 REGB0 = TAG_Int(123);
4494 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4495 /* parser/parser.nit:154 */
4496 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4497 /* parser/parser.nit:872 */
4498 REGB0 = TAG_Int(123);
4499 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
4500 /* parser/parser.nit:154 */
4501 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4502 /* parser/parser.nit:873 */
4503 REGB0 = TAG_Int(124);
4504 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4505 /* parser/parser.nit:154 */
4506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4507 /* parser/parser.nit:874 */
4508 REGB0 = TAG_Int(124);
4509 fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction___init(REGB0);
4510 /* parser/parser.nit:154 */
4511 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4512 /* parser/parser.nit:875 */
4513 REGB0 = TAG_Int(124);
4514 fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction___init(REGB0);
4515 /* parser/parser.nit:154 */
4516 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4517 /* parser/parser.nit:876 */
4518 REGB0 = TAG_Int(124);
4519 fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction___init(REGB0);
4520 /* parser/parser.nit:154 */
4521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4522 /* parser/parser.nit:877 */
4523 REGB0 = TAG_Int(125);
4524 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4525 /* parser/parser.nit:154 */
4526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4527 /* parser/parser.nit:878 */
4528 REGB0 = TAG_Int(125);
4529 fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction___init(REGB0);
4530 /* parser/parser.nit:154 */
4531 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4532 /* parser/parser.nit:879 */
4533 REGB0 = TAG_Int(126);
4534 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4535 /* parser/parser.nit:154 */
4536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4537 /* parser/parser.nit:880 */
4538 REGB0 = TAG_Int(126);
4539 fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
4540 /* parser/parser.nit:154 */
4541 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4542 /* parser/parser.nit:881 */
4543 REGB0 = TAG_Int(126);
4544 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
4545 /* parser/parser.nit:154 */
4546 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4547 /* parser/parser.nit:882 */
4548 REGB0 = TAG_Int(126);
4549 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
4550 /* parser/parser.nit:154 */
4551 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4552 /* parser/parser.nit:883 */
4553 REGB0 = TAG_Int(126);
4554 fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
4555 /* parser/parser.nit:154 */
4556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4557 /* parser/parser.nit:884 */
4558 REGB0 = TAG_Int(126);
4559 fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
4560 /* parser/parser.nit:154 */
4561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4562 /* parser/parser.nit:885 */
4563 REGB0 = TAG_Int(126);
4564 fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
4565 /* parser/parser.nit:154 */
4566 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4567 /* parser/parser.nit:886 */
4568 REGB0 = TAG_Int(126);
4569 fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
4570 /* parser/parser.nit:154 */
4571 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4572 /* parser/parser.nit:887 */
4573 REGB0 = TAG_Int(126);
4574 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
4575 /* parser/parser.nit:154 */
4576 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4577 /* parser/parser.nit:888 */
4578 REGB0 = TAG_Int(126);
4579 fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction___init(REGB0);
4580 /* parser/parser.nit:154 */
4581 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4582 /* parser/parser.nit:889 */
4583 REGB0 = TAG_Int(126);
4584 fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
4585 /* parser/parser.nit:154 */
4586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4587 /* parser/parser.nit:890 */
4588 REGB0 = TAG_Int(126);
4589 fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
4590 /* parser/parser.nit:154 */
4591 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4592 /* parser/parser.nit:891 */
4593 REGB0 = TAG_Int(127);
4594 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4595 /* parser/parser.nit:154 */
4596 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4597 /* parser/parser.nit:892 */
4598 REGB0 = TAG_Int(127);
4599 fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
4600 /* parser/parser.nit:154 */
4601 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4602 /* parser/parser.nit:893 */
4603 REGB0 = TAG_Int(127);
4604 fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
4605 /* parser/parser.nit:154 */
4606 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4607 /* parser/parser.nit:894 */
4608 REGB0 = TAG_Int(128);
4609 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4610 /* parser/parser.nit:154 */
4611 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4612 /* parser/parser.nit:895 */
4613 REGB0 = TAG_Int(128);
4614 fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
4615 /* parser/parser.nit:154 */
4616 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4617 /* parser/parser.nit:896 */
4618 REGB0 = TAG_Int(128);
4619 fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
4620 /* parser/parser.nit:154 */
4621 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4622 /* parser/parser.nit:897 */
4623 REGB0 = TAG_Int(128);
4624 fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
4625 /* parser/parser.nit:154 */
4626 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4627 /* parser/parser.nit:898 */
4628 REGB0 = TAG_Int(129);
4629 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4630 /* parser/parser.nit:154 */
4631 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4632 /* parser/parser.nit:899 */
4633 REGB0 = TAG_Int(129);
4634 fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
4635 /* parser/parser.nit:154 */
4636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4637 /* parser/parser.nit:900 */
4638 REGB0 = TAG_Int(129);
4639 fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction___init(REGB0);
4640 /* parser/parser.nit:154 */
4641 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4642 /* parser/parser.nit:901 */
4643 REGB0 = TAG_Int(130);
4644 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4645 /* parser/parser.nit:154 */
4646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4647 /* parser/parser.nit:902 */
4648 REGB0 = TAG_Int(130);
4649 fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction___init(REGB0);
4650 /* parser/parser.nit:154 */
4651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4652 /* parser/parser.nit:903 */
4653 REGB0 = TAG_Int(130);
4654 fra.me.REG[2] = NEW_ReduceAction470_parser___ReduceAction___init(REGB0);
4655 /* parser/parser.nit:154 */
4656 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4657 /* parser/parser.nit:904 */
4658 REGB0 = TAG_Int(130);
4659 fra.me.REG[2] = NEW_ReduceAction471_parser___ReduceAction___init(REGB0);
4660 /* parser/parser.nit:154 */
4661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4662 /* parser/parser.nit:905 */
4663 REGB0 = TAG_Int(131);
4664 fra.me.REG[2] = NEW_ReduceAction472_parser___ReduceAction___init(REGB0);
4665 /* parser/parser.nit:154 */
4666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4667 /* parser/parser.nit:906 */
4668 REGB0 = TAG_Int(131);
4669 fra.me.REG[2] = NEW_ReduceAction473_parser___ReduceAction___init(REGB0);
4670 /* parser/parser.nit:154 */
4671 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4672 /* parser/parser.nit:907 */
4673 REGB0 = TAG_Int(131);
4674 fra.me.REG[2] = NEW_ReduceAction366_parser___ReduceAction___init(REGB0);
4675 /* parser/parser.nit:154 */
4676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4677 /* parser/parser.nit:908 */
4678 REGB0 = TAG_Int(131);
4679 fra.me.REG[2] = NEW_ReduceAction367_parser___ReduceAction___init(REGB0);
4680 /* parser/parser.nit:154 */
4681 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4682 /* parser/parser.nit:909 */
4683 REGB0 = TAG_Int(131);
4684 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
4685 /* parser/parser.nit:154 */
4686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4687 /* parser/parser.nit:910 */
4688 REGB0 = TAG_Int(131);
4689 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
4690 /* parser/parser.nit:154 */
4691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4692 /* parser/parser.nit:911 */
4693 REGB0 = TAG_Int(131);
4694 fra.me.REG[2] = NEW_ReduceAction372_parser___ReduceAction___init(REGB0);
4695 /* parser/parser.nit:154 */
4696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4697 /* parser/parser.nit:912 */
4698 REGB0 = TAG_Int(131);
4699 fra.me.REG[2] = NEW_ReduceAction373_parser___ReduceAction___init(REGB0);
4700 /* parser/parser.nit:154 */
4701 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4702 /* parser/parser.nit:913 */
4703 REGB0 = TAG_Int(131);
4704 fra.me.REG[2] = NEW_ReduceAction480_parser___ReduceAction___init(REGB0);
4705 /* parser/parser.nit:154 */
4706 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4707 /* parser/parser.nit:914 */
4708 REGB0 = TAG_Int(131);
4709 fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
4710 /* parser/parser.nit:154 */
4711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4712 /* parser/parser.nit:915 */
4713 REGB0 = TAG_Int(131);
4714 fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
4715 /* parser/parser.nit:154 */
4716 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4717 /* parser/parser.nit:916 */
4718 REGB0 = TAG_Int(131);
4719 fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
4720 /* parser/parser.nit:154 */
4721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4722 /* parser/parser.nit:917 */
4723 REGB0 = TAG_Int(131);
4724 fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
4725 /* parser/parser.nit:154 */
4726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4727 /* parser/parser.nit:918 */
4728 REGB0 = TAG_Int(131);
4729 fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
4730 /* parser/parser.nit:154 */
4731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4732 /* parser/parser.nit:919 */
4733 REGB0 = TAG_Int(131);
4734 fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
4735 /* parser/parser.nit:154 */
4736 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4737 /* parser/parser.nit:920 */
4738 REGB0 = TAG_Int(131);
4739 fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
4740 /* parser/parser.nit:154 */
4741 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4742 /* parser/parser.nit:921 */
4743 REGB0 = TAG_Int(131);
4744 fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
4745 /* parser/parser.nit:154 */
4746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4747 /* parser/parser.nit:922 */
4748 REGB0 = TAG_Int(131);
4749 fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
4750 /* parser/parser.nit:154 */
4751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4752 /* parser/parser.nit:923 */
4753 REGB0 = TAG_Int(131);
4754 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4755 /* parser/parser.nit:154 */
4756 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4757 /* parser/parser.nit:924 */
4758 REGB0 = TAG_Int(131);
4759 fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction___init(REGB0);
4760 /* parser/parser.nit:154 */
4761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4762 /* parser/parser.nit:925 */
4763 REGB0 = TAG_Int(131);
4764 fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
4765 /* parser/parser.nit:154 */
4766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4767 /* parser/parser.nit:926 */
4768 REGB0 = TAG_Int(132);
4769 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4770 /* parser/parser.nit:154 */
4771 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4772 /* parser/parser.nit:927 */
4773 REGB0 = TAG_Int(132);
4774 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
4775 /* parser/parser.nit:154 */
4776 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4777 /* parser/parser.nit:928 */
4778 REGB0 = TAG_Int(132);
4779 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
4780 /* parser/parser.nit:154 */
4781 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4782 /* parser/parser.nit:929 */
4783 REGB0 = TAG_Int(133);
4784 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4785 /* parser/parser.nit:154 */
4786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4787 /* parser/parser.nit:930 */
4788 REGB0 = TAG_Int(133);
4789 fra.me.REG[2] = NEW_ReduceAction439_parser___ReduceAction___init(REGB0);
4790 /* parser/parser.nit:154 */
4791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4792 /* parser/parser.nit:931 */
4793 REGB0 = TAG_Int(134);
4794 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4795 /* parser/parser.nit:154 */
4796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4797 /* parser/parser.nit:932 */
4798 REGB0 = TAG_Int(134);
4799 fra.me.REG[2] = NEW_ReduceAction441_parser___ReduceAction___init(REGB0);
4800 /* parser/parser.nit:154 */
4801 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4802 /* parser/parser.nit:933 */
4803 REGB0 = TAG_Int(134);
4804 fra.me.REG[2] = NEW_ReduceAction442_parser___ReduceAction___init(REGB0);
4805 /* parser/parser.nit:154 */
4806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4807 /* parser/parser.nit:934 */
4808 REGB0 = TAG_Int(134);
4809 fra.me.REG[2] = NEW_ReduceAction443_parser___ReduceAction___init(REGB0);
4810 /* parser/parser.nit:154 */
4811 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4812 /* parser/parser.nit:935 */
4813 REGB0 = TAG_Int(135);
4814 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4815 /* parser/parser.nit:154 */
4816 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4817 /* parser/parser.nit:936 */
4818 REGB0 = TAG_Int(135);
4819 fra.me.REG[2] = NEW_ReduceAction445_parser___ReduceAction___init(REGB0);
4820 /* parser/parser.nit:154 */
4821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4822 /* parser/parser.nit:937 */
4823 REGB0 = TAG_Int(136);
4824 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4825 /* parser/parser.nit:154 */
4826 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4827 /* parser/parser.nit:938 */
4828 REGB0 = TAG_Int(136);
4829 fra.me.REG[2] = NEW_ReduceAction447_parser___ReduceAction___init(REGB0);
4830 /* parser/parser.nit:154 */
4831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4832 /* parser/parser.nit:939 */
4833 REGB0 = TAG_Int(136);
4834 fra.me.REG[2] = NEW_ReduceAction448_parser___ReduceAction___init(REGB0);
4835 /* parser/parser.nit:154 */
4836 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4837 /* parser/parser.nit:940 */
4838 REGB0 = TAG_Int(136);
4839 fra.me.REG[2] = NEW_ReduceAction449_parser___ReduceAction___init(REGB0);
4840 /* parser/parser.nit:154 */
4841 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4842 /* parser/parser.nit:941 */
4843 REGB0 = TAG_Int(136);
4844 fra.me.REG[2] = NEW_ReduceAction450_parser___ReduceAction___init(REGB0);
4845 /* parser/parser.nit:154 */
4846 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4847 /* parser/parser.nit:942 */
4848 REGB0 = TAG_Int(136);
4849 fra.me.REG[2] = NEW_ReduceAction451_parser___ReduceAction___init(REGB0);
4850 /* parser/parser.nit:154 */
4851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4852 /* parser/parser.nit:943 */
4853 REGB0 = TAG_Int(136);
4854 fra.me.REG[2] = NEW_ReduceAction452_parser___ReduceAction___init(REGB0);
4855 /* parser/parser.nit:154 */
4856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4857 /* parser/parser.nit:944 */
4858 REGB0 = TAG_Int(136);
4859 fra.me.REG[2] = NEW_ReduceAction453_parser___ReduceAction___init(REGB0);
4860 /* parser/parser.nit:154 */
4861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4862 /* parser/parser.nit:945 */
4863 REGB0 = TAG_Int(136);
4864 fra.me.REG[2] = NEW_ReduceAction454_parser___ReduceAction___init(REGB0);
4865 /* parser/parser.nit:154 */
4866 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4867 /* parser/parser.nit:946 */
4868 REGB0 = TAG_Int(136);
4869 fra.me.REG[2] = NEW_ReduceAction455_parser___ReduceAction___init(REGB0);
4870 /* parser/parser.nit:154 */
4871 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4872 /* parser/parser.nit:947 */
4873 REGB0 = TAG_Int(136);
4874 fra.me.REG[2] = NEW_ReduceAction456_parser___ReduceAction___init(REGB0);
4875 /* parser/parser.nit:154 */
4876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4877 /* parser/parser.nit:948 */
4878 REGB0 = TAG_Int(136);
4879 fra.me.REG[2] = NEW_ReduceAction457_parser___ReduceAction___init(REGB0);
4880 /* parser/parser.nit:154 */
4881 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4882 /* parser/parser.nit:949 */
4883 REGB0 = TAG_Int(137);
4884 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4885 /* parser/parser.nit:154 */
4886 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4887 /* parser/parser.nit:950 */
4888 REGB0 = TAG_Int(137);
4889 fra.me.REG[2] = NEW_ReduceAction459_parser___ReduceAction___init(REGB0);
4890 /* parser/parser.nit:154 */
4891 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4892 /* parser/parser.nit:951 */
4893 REGB0 = TAG_Int(137);
4894 fra.me.REG[2] = NEW_ReduceAction460_parser___ReduceAction___init(REGB0);
4895 /* parser/parser.nit:154 */
4896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4897 /* parser/parser.nit:952 */
4898 REGB0 = TAG_Int(138);
4899 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4900 /* parser/parser.nit:154 */
4901 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4902 /* parser/parser.nit:953 */
4903 REGB0 = TAG_Int(138);
4904 fra.me.REG[2] = NEW_ReduceAction462_parser___ReduceAction___init(REGB0);
4905 /* parser/parser.nit:154 */
4906 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4907 /* parser/parser.nit:954 */
4908 REGB0 = TAG_Int(138);
4909 fra.me.REG[2] = NEW_ReduceAction463_parser___ReduceAction___init(REGB0);
4910 /* parser/parser.nit:154 */
4911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4912 /* parser/parser.nit:955 */
4913 REGB0 = TAG_Int(138);
4914 fra.me.REG[2] = NEW_ReduceAction464_parser___ReduceAction___init(REGB0);
4915 /* parser/parser.nit:154 */
4916 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4917 /* parser/parser.nit:956 */
4918 REGB0 = TAG_Int(139);
4919 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4920 /* parser/parser.nit:154 */
4921 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4922 /* parser/parser.nit:957 */
4923 REGB0 = TAG_Int(139);
4924 fra.me.REG[2] = NEW_ReduceAction466_parser___ReduceAction___init(REGB0);
4925 /* parser/parser.nit:154 */
4926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4927 /* parser/parser.nit:958 */
4928 REGB0 = TAG_Int(139);
4929 fra.me.REG[2] = NEW_ReduceAction467_parser___ReduceAction___init(REGB0);
4930 /* parser/parser.nit:154 */
4931 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4932 /* parser/parser.nit:959 */
4933 REGB0 = TAG_Int(140);
4934 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
4935 /* parser/parser.nit:154 */
4936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4937 /* parser/parser.nit:960 */
4938 REGB0 = TAG_Int(140);
4939 fra.me.REG[2] = NEW_ReduceAction469_parser___ReduceAction___init(REGB0);
4940 /* parser/parser.nit:154 */
4941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4942 /* parser/parser.nit:961 */
4943 REGB0 = TAG_Int(140);
4944 fra.me.REG[2] = NEW_ReduceAction806_parser___ReduceAction___init(REGB0);
4945 /* parser/parser.nit:154 */
4946 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4947 /* parser/parser.nit:962 */
4948 REGB0 = TAG_Int(141);
4949 fra.me.REG[2] = NEW_ReduceAction807_parser___ReduceAction___init(REGB0);
4950 /* parser/parser.nit:154 */
4951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4952 /* parser/parser.nit:963 */
4953 REGB0 = TAG_Int(141);
4954 fra.me.REG[2] = NEW_ReduceAction808_parser___ReduceAction___init(REGB0);
4955 /* parser/parser.nit:154 */
4956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4957 /* parser/parser.nit:964 */
4958 REGB0 = TAG_Int(141);
4959 fra.me.REG[2] = NEW_ReduceAction370_parser___ReduceAction___init(REGB0);
4960 /* parser/parser.nit:154 */
4961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4962 /* parser/parser.nit:965 */
4963 REGB0 = TAG_Int(141);
4964 fra.me.REG[2] = NEW_ReduceAction371_parser___ReduceAction___init(REGB0);
4965 /* parser/parser.nit:154 */
4966 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4967 /* parser/parser.nit:966 */
4968 REGB0 = TAG_Int(141);
4969 fra.me.REG[2] = NEW_ReduceAction811_parser___ReduceAction___init(REGB0);
4970 /* parser/parser.nit:154 */
4971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4972 /* parser/parser.nit:967 */
4973 REGB0 = TAG_Int(141);
4974 fra.me.REG[2] = NEW_ReduceAction481_parser___ReduceAction___init(REGB0);
4975 /* parser/parser.nit:154 */
4976 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4977 /* parser/parser.nit:968 */
4978 REGB0 = TAG_Int(141);
4979 fra.me.REG[2] = NEW_ReduceAction485_parser___ReduceAction___init(REGB0);
4980 /* parser/parser.nit:154 */
4981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4982 /* parser/parser.nit:969 */
4983 REGB0 = TAG_Int(141);
4984 fra.me.REG[2] = NEW_ReduceAction486_parser___ReduceAction___init(REGB0);
4985 /* parser/parser.nit:154 */
4986 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4987 /* parser/parser.nit:970 */
4988 REGB0 = TAG_Int(141);
4989 fra.me.REG[2] = NEW_ReduceAction487_parser___ReduceAction___init(REGB0);
4990 /* parser/parser.nit:154 */
4991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4992 /* parser/parser.nit:971 */
4993 REGB0 = TAG_Int(141);
4994 fra.me.REG[2] = NEW_ReduceAction488_parser___ReduceAction___init(REGB0);
4995 /* parser/parser.nit:154 */
4996 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4997 /* parser/parser.nit:972 */
4998 REGB0 = TAG_Int(141);
4999 fra.me.REG[2] = NEW_ReduceAction489_parser___ReduceAction___init(REGB0);
5000 /* parser/parser.nit:154 */
5001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5002 /* parser/parser.nit:973 */
5003 REGB0 = TAG_Int(141);
5004 fra.me.REG[2] = NEW_ReduceAction490_parser___ReduceAction___init(REGB0);
5005 /* parser/parser.nit:154 */
5006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5007 /* parser/parser.nit:974 */
5008 REGB0 = TAG_Int(141);
5009 fra.me.REG[2] = NEW_ReduceAction491_parser___ReduceAction___init(REGB0);
5010 /* parser/parser.nit:154 */
5011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5012 /* parser/parser.nit:975 */
5013 REGB0 = TAG_Int(141);
5014 fra.me.REG[2] = NEW_ReduceAction492_parser___ReduceAction___init(REGB0);
5015 /* parser/parser.nit:154 */
5016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5017 /* parser/parser.nit:976 */
5018 REGB0 = TAG_Int(141);
5019 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
5020 /* parser/parser.nit:154 */
5021 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5022 /* parser/parser.nit:977 */
5023 REGB0 = TAG_Int(141);
5024 fra.me.REG[2] = NEW_ReduceAction495_parser___ReduceAction___init(REGB0);
5025 /* parser/parser.nit:154 */
5026 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5027 /* parser/parser.nit:978 */
5028 REGB0 = TAG_Int(141);
5029 fra.me.REG[2] = NEW_ReduceAction496_parser___ReduceAction___init(REGB0);
5030 /* parser/parser.nit:154 */
5031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5032 /* parser/parser.nit:979 */
5033 REGB0 = TAG_Int(142);
5034 fra.me.REG[2] = NEW_ReduceAction824_parser___ReduceAction___init(REGB0);
5035 /* parser/parser.nit:154 */
5036 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5037 /* parser/parser.nit:980 */
5038 REGB0 = TAG_Int(142);
5039 fra.me.REG[2] = NEW_ReduceAction825_parser___ReduceAction___init(REGB0);
5040 /* parser/parser.nit:154 */
5041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5042 /* parser/parser.nit:981 */
5043 REGB0 = TAG_Int(143);
5044 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
5045 /* parser/parser.nit:154 */
5046 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5047 /* parser/parser.nit:982 */
5048 REGB0 = TAG_Int(143);
5049 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
5050 /* parser/parser.nit:154 */
5051 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5052 /* parser/parser.nit:983 */
5053 REGB0 = TAG_Int(143);
5054 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
5055 /* parser/parser.nit:154 */
5056 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5057 /* parser/parser.nit:984 */
5058 REGB0 = TAG_Int(144);
5059 fra.me.REG[2] = NEW_ReduceAction339_parser___ReduceAction___init(REGB0);
5060 /* parser/parser.nit:154 */
5061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5062 /* parser/parser.nit:985 */
5063 REGB0 = TAG_Int(144);
5064 fra.me.REG[2] = NEW_ReduceAction368_parser___ReduceAction___init(REGB0);
5065 /* parser/parser.nit:154 */
5066 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5067 /* parser/parser.nit:986 */
5068 REGB0 = TAG_Int(144);
5069 fra.me.REG[2] = NEW_ReduceAction369_parser___ReduceAction___init(REGB0);
5070 /* parser/parser.nit:154 */
5071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5072 /* parser/parser.nit:987 */
5073 REGB0 = TAG_Int(145);
5074 fra.me.REG[2] = NEW_ReduceAction832_parser___ReduceAction___init(REGB0);
5075 /* parser/parser.nit:154 */
5076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5077 /* parser/parser.nit:988 */
5078 REGB0 = TAG_Int(145);
5079 fra.me.REG[2] = NEW_ReduceAction833_parser___ReduceAction___init(REGB0);
5080 /* parser/parser.nit:154 */
5081 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5082 /* parser/parser.nit:989 */
5083 REGB0 = TAG_Int(146);
5084 fra.me.REG[2] = NEW_ReduceAction834_parser___ReduceAction___init(REGB0);
5085 /* parser/parser.nit:154 */
5086 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5087 /* parser/parser.nit:990 */
5088 REGB0 = TAG_Int(146);
5089 fra.me.REG[2] = NEW_ReduceAction835_parser___ReduceAction___init(REGB0);
5090 /* parser/parser.nit:154 */
5091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5092 /* parser/parser.nit:991 */
5093 REGB0 = TAG_Int(147);
5094 fra.me.REG[2] = NEW_ReduceAction836_parser___ReduceAction___init(REGB0);
5095 /* parser/parser.nit:154 */
5096 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5097 /* parser/parser.nit:992 */
5098 REGB0 = TAG_Int(147);
5099 fra.me.REG[2] = NEW_ReduceAction837_parser___ReduceAction___init(REGB0);
5100 /* parser/parser.nit:154 */
5101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5102 /* parser/parser.nit:993 */
5103 REGB0 = TAG_Int(148);
5104 fra.me.REG[2] = NEW_ReduceAction838_parser___ReduceAction___init(REGB0);
5105 /* parser/parser.nit:154 */
5106 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5107 /* parser/parser.nit:994 */
5108 REGB0 = TAG_Int(148);
5109 fra.me.REG[2] = NEW_ReduceAction839_parser___ReduceAction___init(REGB0);
5110 /* parser/parser.nit:154 */
5111 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5112 /* parser/parser.nit:995 */
5113 REGB0 = TAG_Int(149);
5114 fra.me.REG[2] = NEW_ReduceAction840_parser___ReduceAction___init(REGB0);
5115 /* parser/parser.nit:154 */
5116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5117 /* parser/parser.nit:996 */
5118 REGB0 = TAG_Int(149);
5119 fra.me.REG[2] = NEW_ReduceAction841_parser___ReduceAction___init(REGB0);
5120 /* parser/parser.nit:154 */
5121 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5122 /* parser/parser.nit:997 */
5123 REGB0 = TAG_Int(150);
5124 fra.me.REG[2] = NEW_ReduceAction838_parser___ReduceAction___init(REGB0);
5125 /* parser/parser.nit:154 */
5126 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5127 /* parser/parser.nit:998 */
5128 REGB0 = TAG_Int(150);
5129 fra.me.REG[2] = NEW_ReduceAction839_parser___ReduceAction___init(REGB0);
5130 /* parser/parser.nit:154 */
5131 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5132 /* parser/parser.nit:999 */
5133 REGB0 = TAG_Int(151);
5134 fra.me.REG[2] = NEW_ReduceAction844_parser___ReduceAction___init(REGB0);
5135 /* parser/parser.nit:154 */
5136 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5137 /* parser/parser.nit:1000 */
5138 REGB0 = TAG_Int(151);
5139 fra.me.REG[2] = NEW_ReduceAction845_parser___ReduceAction___init(REGB0);
5140 /* parser/parser.nit:154 */
5141 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5142 /* parser/parser.nit:1001 */
5143 REGB0 = TAG_Int(152);
5144 fra.me.REG[2] = NEW_ReduceAction846_parser___ReduceAction___init(REGB0);
5145 /* parser/parser.nit:154 */
5146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5147 /* parser/parser.nit:1002 */
5148 REGB0 = TAG_Int(152);
5149 fra.me.REG[2] = NEW_ReduceAction847_parser___ReduceAction___init(REGB0);
5150 /* parser/parser.nit:154 */
5151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5152 /* parser/parser.nit:1003 */
5153 REGB0 = TAG_Int(153);
5154 fra.me.REG[2] = NEW_ReduceAction848_parser___ReduceAction___init(REGB0);
5155 /* parser/parser.nit:154 */
5156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5157 /* parser/parser.nit:1004 */
5158 REGB0 = TAG_Int(153);
5159 fra.me.REG[2] = NEW_ReduceAction849_parser___ReduceAction___init(REGB0);
5160 /* parser/parser.nit:154 */
5161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5162 /* parser/parser.nit:1005 */
5163 REGB0 = TAG_Int(154);
5164 fra.me.REG[2] = NEW_ReduceAction850_parser___ReduceAction___init(REGB0);
5165 /* parser/parser.nit:154 */
5166 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5167 /* parser/parser.nit:1006 */
5168 REGB0 = TAG_Int(154);
5169 fra.me.REG[2] = NEW_ReduceAction851_parser___ReduceAction___init(REGB0);
5170 /* parser/parser.nit:154 */
5171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5172 /* parser/parser.nit:1007 */
5173 REGB0 = TAG_Int(155);
5174 fra.me.REG[2] = NEW_ReduceAction332_parser___ReduceAction___init(REGB0);
5175 /* parser/parser.nit:154 */
5176 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5177 /* parser/parser.nit:1008 */
5178 REGB0 = TAG_Int(155);
5179 fra.me.REG[2] = NEW_ReduceAction853_parser___ReduceAction___init(REGB0);
5180 /* parser/parser.nit:154 */
5181 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5182 /* parser/parser.nit:1009 */
5183 REGB0 = TAG_Int(156);
5184 fra.me.REG[2] = NEW_ReduceAction854_parser___ReduceAction___init(REGB0);
5185 /* parser/parser.nit:154 */
5186 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5187 /* parser/parser.nit:1010 */
5188 REGB0 = TAG_Int(156);
5189 fra.me.REG[2] = NEW_ReduceAction855_parser___ReduceAction___init(REGB0);
5190 /* parser/parser.nit:154 */
5191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5192 /* parser/parser.nit:1011 */
5193 REGB0 = TAG_Int(157);
5194 fra.me.REG[2] = NEW_ReduceAction304_parser___ReduceAction___init(REGB0);
5195 /* parser/parser.nit:154 */
5196 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5197 /* parser/parser.nit:1012 */
5198 REGB0 = TAG_Int(157);
5199 fra.me.REG[2] = NEW_ReduceAction857_parser___ReduceAction___init(REGB0);
5200 /* parser/parser.nit:154 */
5201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5202 /* parser/parser.nit:1013 */
5203 REGB0 = TAG_Int(158);
5204 fra.me.REG[2] = NEW_ReduceAction854_parser___ReduceAction___init(REGB0);
5205 /* parser/parser.nit:154 */
5206 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5207 /* parser/parser.nit:1014 */
5208 REGB0 = TAG_Int(158);
5209 fra.me.REG[2] = NEW_ReduceAction855_parser___ReduceAction___init(REGB0);
5210 /* parser/parser.nit:154 */
5211 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5212 /* parser/parser.nit:1015 */
5213 REGB0 = TAG_Int(159);
5214 fra.me.REG[2] = NEW_ReduceAction515_parser___ReduceAction___init(REGB0);
5215 /* parser/parser.nit:154 */
5216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5217 /* parser/parser.nit:1016 */
5218 REGB0 = TAG_Int(159);
5219 fra.me.REG[2] = NEW_ReduceAction861_parser___ReduceAction___init(REGB0);
5220 /* parser/parser.nit:154 */
5221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5222 /* parser/parser.nit:1017 */
5223 REGB0 = TAG_Int(160);
5224 fra.me.REG[2] = NEW_ReduceAction862_parser___ReduceAction___init(REGB0);
5225 /* parser/parser.nit:154 */
5226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5227 /* parser/parser.nit:1018 */
5228 REGB0 = TAG_Int(160);
5229 fra.me.REG[2] = NEW_ReduceAction863_parser___ReduceAction___init(REGB0);
5230 /* parser/parser.nit:154 */
5231 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5232 /* parser/parser.nit:1019 */
5233 REGB0 = TAG_Int(161);
5234 fra.me.REG[2] = NEW_ReduceAction864_parser___ReduceAction___init(REGB0);
5235 /* parser/parser.nit:154 */
5236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5237 /* parser/parser.nit:1020 */
5238 REGB0 = TAG_Int(161);
5239 fra.me.REG[2] = NEW_ReduceAction865_parser___ReduceAction___init(REGB0);
5240 /* parser/parser.nit:154 */
5241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5242 fra.me.REG[1] = NEW_Array_standard___collection___array___Array___with_items(fra.me.REG[1]);
5243 ATTR_parser___Parser____reduce_table(fra.me.REG[0]) = fra.me.REG[1];
5244 stack_frame_head = fra.me.prev;
5245 return;
5246 }
5247 static const char LOCATE_parser___ComputeProdLocationVisitor___visit[] = "parser::ComputeProdLocationVisitor::(parser_prod::Visitor::visit)";
5248 void parser___ComputeProdLocationVisitor___visit(val_t p0, val_t p1){
5249 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
5250 val_t REGB0;
5251 val_t REGB1;
5252 val_t REGB2;
5253 val_t REGB3;
5254 val_t REGB4;
5255 val_t tmp;
5256 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5257 fra.me.file = LOCATE_parser;
5258 fra.me.line = 1051;
5259 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___visit;
5260 fra.me.has_broke = 0;
5261 fra.me.REG_size = 9;
5262 fra.me.nitni_local_ref_head = NULL;
5263 fra.me.REG[0] = NIT_NULL;
5264 fra.me.REG[1] = NIT_NULL;
5265 fra.me.REG[2] = NIT_NULL;
5266 fra.me.REG[3] = NIT_NULL;
5267 fra.me.REG[4] = NIT_NULL;
5268 fra.me.REG[5] = NIT_NULL;
5269 fra.me.REG[6] = NIT_NULL;
5270 fra.me.REG[7] = NIT_NULL;
5271 fra.me.REG[8] = NIT_NULL;
5272 fra.me.REG[0] = p0;
5273 fra.me.REG[1] = p1;
5274 /* parser/parser.nit:1053 */
5275 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5276 if (UNTAG_Bool(REGB0)) {
5277 } else {
5278 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5279 if (UNTAG_Bool(REGB1)) {
5280 REGB1 = TAG_Bool(0);
5281 REGB0 = REGB1;
5282 } else {
5283 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
5284 REGB0 = REGB1;
5285 }
5286 }
5287 if (UNTAG_Bool(REGB0)) {
5288 /* parser/parser.nit:1054 */
5289 goto label1;
5290 } else {
5291 /* parser/parser.nit:1055 */
5292 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*/;
5293 if (UNTAG_Bool(REGB0)) {
5294 /* parser/parser.nit:1056 */
5295 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5296 if (UNTAG_Bool(REGB0)) {
5297 nit_abort("Reciever is null", NULL, LOCATE_parser, 1056);
5298 }
5299 fra.me.REG[2] = CALL_parser___parser_nodes___ANode___location(fra.me.REG[1])(fra.me.REG[1]);
5300 /* parser/parser.nit:1057 */
5301 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
5302 /* parser/parser.nit:1060 */
5303 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
5304 if (UNTAG_Bool(REGB0)) {
5305 } else {
5306 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1060);
5307 }
5308 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
5309 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[3])(fra.me.REG[3]);
5310 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5311 if (UNTAG_Bool(REGB0)) {
5312 /* parser/parser.nit:1061 */
5313 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
5314 if (UNTAG_Bool(REGB0)) {
5315 } else {
5316 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1061);
5317 }
5318 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
5319 /* ../lib/standard/collection/array.nit:269 */
5320 REGB0 = TAG_Int(0);
5321 /* ../lib/standard/collection/array.nit:270 */
5322 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
5323 if (UNTAG_Bool(REGB1)) {
5324 } else {
5325 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
5326 }
5327 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
5328 /* ../lib/standard/collection/array.nit:271 */
5329 fra.me.REG[4] = ATTR_standard___collection___array___Array____items(fra.me.REG[3]);
5330 /* ../lib/standard/collection/array.nit:272 */
5331 while(1) {
5332 /* ../lib/standard/collection/array.nit:24 */
5333 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
5334 if (UNTAG_Bool(REGB1)) {
5335 } else {
5336 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
5337 }
5338 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[3]);
5339 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
5340 if (UNTAG_Bool(REGB2)) {
5341 } else {
5342 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
5343 }
5344 /* ../lib/standard/kernel.nit:235 */
5345 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
5346 /* ../lib/standard/collection/array.nit:272 */
5347 if (UNTAG_Bool(REGB1)) {
5348 /* ../lib/standard/collection/array.nit:273 */
5349 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
5350 if (UNTAG_Bool(REGB1)) {
5351 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
5352 }
5353 /* ../lib/standard/collection/array.nit:718 */
5354 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB0)];
5355 /* parser/parser.nit:1062 */
5356 ATTR_parser___Prod____first_location(fra.me.REG[5]) = fra.me.REG[2];
5357 /* ../lib/standard/collection/array.nit:274 */
5358 REGB1 = TAG_Int(1);
5359 /* ../lib/standard/kernel.nit:238 */
5360 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
5361 /* ../lib/standard/collection/array.nit:274 */
5362 REGB0 = REGB1;
5363 } else {
5364 /* ../lib/standard/collection/array.nit:272 */
5365 goto label2;
5366 }
5367 }
5368 label2: while(0);
5369 /* parser/parser.nit:1064 */
5370 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
5371 if (UNTAG_Bool(REGB0)) {
5372 } else {
5373 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1064);
5374 }
5375 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
5376 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
5377 }
5378 /* parser/parser.nit:1068 */
5379 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5380 if (UNTAG_Bool(REGB0)) {
5381 } else {
5382 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1068);
5383 }
5384 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5385 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
5386 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5387 if (UNTAG_Bool(REGB0)) {
5388 /* parser/parser.nit:1069 */
5389 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5390 if (UNTAG_Bool(REGB0)) {
5391 } else {
5392 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1069);
5393 }
5394 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5395 /* ../lib/standard/collection/array.nit:269 */
5396 REGB0 = TAG_Int(0);
5397 /* ../lib/standard/collection/array.nit:270 */
5398 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
5399 if (UNTAG_Bool(REGB1)) {
5400 } else {
5401 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
5402 }
5403 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
5404 /* ../lib/standard/collection/array.nit:271 */
5405 fra.me.REG[3] = ATTR_standard___collection___array___Array____items(fra.me.REG[4]);
5406 /* ../lib/standard/collection/array.nit:272 */
5407 while(1) {
5408 /* ../lib/standard/collection/array.nit:24 */
5409 REGB1 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
5410 if (UNTAG_Bool(REGB1)) {
5411 } else {
5412 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
5413 }
5414 REGB1 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[4]);
5415 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
5416 if (UNTAG_Bool(REGB2)) {
5417 } else {
5418 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
5419 }
5420 /* ../lib/standard/kernel.nit:235 */
5421 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
5422 /* ../lib/standard/collection/array.nit:272 */
5423 if (UNTAG_Bool(REGB1)) {
5424 /* ../lib/standard/collection/array.nit:273 */
5425 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5426 if (UNTAG_Bool(REGB1)) {
5427 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
5428 }
5429 /* ../lib/standard/collection/array.nit:718 */
5430 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[3])->val[UNTAG_Int(REGB0)];
5431 /* parser/parser.nit:1072 */
5432 fra.me.REG[6] = fra.me.REG[2];
5433 /* parser/parser.nit:1073 */
5434 fra.me.REG[7] = ATTR_parser___Prod____last_location(fra.me.REG[5]);
5435 /* parser/parser.nit:1074 */
5436 fra.me.REG[8] = CALL_location___Location___file(fra.me.REG[6])(fra.me.REG[6]);
5437 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
5438 if (UNTAG_Bool(REGB1)) {
5439 nit_abort("Reciever is null", NULL, LOCATE_parser, 1074);
5440 }
5441 REGB1 = CALL_location___Location___line_end(fra.me.REG[7])(fra.me.REG[7]);
5442 REGB2 = CALL_location___Location___line_start(fra.me.REG[6])(fra.me.REG[6]);
5443 REGB3 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
5444 if (UNTAG_Bool(REGB3)) {
5445 nit_abort("Reciever is null", NULL, LOCATE_parser, 1074);
5446 }
5447 REGB3 = CALL_location___Location___column_end(fra.me.REG[7])(fra.me.REG[7]);
5448 REGB4 = CALL_location___Location___column_start(fra.me.REG[6])(fra.me.REG[6]);
5449 fra.me.REG[8] = NEW_Location_location___Location___init(fra.me.REG[8], REGB1, REGB2, REGB3, REGB4);
5450 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[8]);
5451 /* ../lib/standard/collection/array.nit:274 */
5452 REGB4 = TAG_Int(1);
5453 /* ../lib/standard/kernel.nit:238 */
5454 REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
5455 /* ../lib/standard/collection/array.nit:274 */
5456 REGB0 = REGB4;
5457 } else {
5458 /* ../lib/standard/collection/array.nit:272 */
5459 goto label3;
5460 }
5461 }
5462 label3: while(0);
5463 /* parser/parser.nit:1076 */
5464 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5465 if (UNTAG_Bool(REGB0)) {
5466 } else {
5467 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1076);
5468 }
5469 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5470 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[2])(fra.me.REG[2]);
5471 }
5472 } else {
5473 /* parser/parser.nit:1079 */
5474 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*/;
5475 if (UNTAG_Bool(REGB0)) {
5476 } else {
5477 nit_abort("Assert failed", NULL, LOCATE_parser, 1079);
5478 }
5479 /* parser/parser.nit:1080 */
5480 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0])!=NIT_NULL);
5481 if (UNTAG_Bool(REGB0)) {
5482 } else {
5483 nit_abort("Uninitialized attribute %s", "_need_first_prods", LOCATE_parser, 1080);
5484 }
5485 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_first_prods(fra.me.REG[0]);
5486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
5487 /* parser/parser.nit:1082 */
5488 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
5489 /* parser/parser.nit:1083 */
5490 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = NIT_NULL;
5491 /* parser/parser.nit:1084 */
5492 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5493 if (UNTAG_Bool(REGB0)) {
5494 nit_abort("Reciever is null", NULL, LOCATE_parser, 1084);
5495 }
5496 CALL_parser___parser_prod___ANode___visit_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5497 /* parser/parser.nit:1085 */
5498 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]);
5499 /* parser/parser.nit:1086 */
5500 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5501 if (UNTAG_Bool(REGB0)) {
5502 } else {
5503 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5504 if (UNTAG_Bool(REGB4)) {
5505 REGB4 = TAG_Bool(0);
5506 REGB0 = REGB4;
5507 } else {
5508 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
5509 REGB0 = REGB4;
5510 }
5511 }
5512 if (UNTAG_Bool(REGB0)) {
5513 ATTR_parser___ComputeProdLocationVisitor____last_location(fra.me.REG[0]) = fra.me.REG[2];
5514 }
5515 /* parser/parser.nit:1088 */
5516 ATTR_parser___Prod____last_location(fra.me.REG[1]) = fra.me.REG[3];
5517 /* parser/parser.nit:1089 */
5518 fra.me.REG[2] = ATTR_parser___Prod____first_location(fra.me.REG[1]);
5519 /* parser/parser.nit:1090 */
5520 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5521 if (UNTAG_Bool(REGB0)) {
5522 } else {
5523 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5524 if (UNTAG_Bool(REGB4)) {
5525 REGB4 = TAG_Bool(0);
5526 REGB0 = REGB4;
5527 } else {
5528 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5529 REGB0 = REGB4;
5530 }
5531 }
5532 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5533 if (UNTAG_Bool(REGB0)) {
5534 /* parser/parser.nit:1092 */
5535 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5536 if (UNTAG_Bool(REGB0)) {
5537 } else {
5538 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5539 if (UNTAG_Bool(REGB4)) {
5540 REGB4 = TAG_Bool(0);
5541 REGB0 = REGB4;
5542 } else {
5543 REGB4 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
5544 REGB0 = REGB4;
5545 }
5546 }
5547 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5548 if (UNTAG_Bool(REGB0)) {
5549 } else {
5550 nit_abort("Assert failed", NULL, LOCATE_parser, 1092);
5551 }
5552 /* parser/parser.nit:1094 */
5553 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5554 if (UNTAG_Bool(REGB0)) {
5555 nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
5556 }
5557 fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
5558 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5559 if (UNTAG_Bool(REGB0)) {
5560 nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
5561 }
5562 REGB0 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
5563 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5564 if (UNTAG_Bool(REGB4)) {
5565 nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
5566 }
5567 REGB4 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
5568 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5569 if (UNTAG_Bool(REGB3)) {
5570 nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
5571 }
5572 REGB3 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
5573 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5574 if (UNTAG_Bool(REGB2)) {
5575 nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
5576 }
5577 REGB2 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
5578 fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB0, REGB4, REGB3, REGB2);
5579 REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5580 if (UNTAG_Bool(REGB2)) {
5581 nit_abort("Reciever is null", NULL, LOCATE_parser, 1094);
5582 }
5583 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
5584 /* parser/parser.nit:1096 */
5585 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5586 if (UNTAG_Bool(REGB2)) {
5587 } else {
5588 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1096);
5589 }
5590 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5591 REGB2 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
5592 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
5593 if (UNTAG_Bool(REGB2)) {
5594 /* parser/parser.nit:1097 */
5595 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5596 if (UNTAG_Bool(REGB2)) {
5597 nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
5598 }
5599 fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[2])(fra.me.REG[2]);
5600 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5601 if (UNTAG_Bool(REGB2)) {
5602 nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
5603 }
5604 REGB2 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
5605 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5606 if (UNTAG_Bool(REGB3)) {
5607 nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
5608 }
5609 REGB3 = CALL_location___Location___line_start(fra.me.REG[2])(fra.me.REG[2]);
5610 REGB4 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5611 if (UNTAG_Bool(REGB4)) {
5612 nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
5613 }
5614 REGB4 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
5615 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5616 if (UNTAG_Bool(REGB0)) {
5617 nit_abort("Reciever is null", NULL, LOCATE_parser, 1097);
5618 }
5619 REGB0 = CALL_location___Location___column_start(fra.me.REG[2])(fra.me.REG[2]);
5620 fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB2, REGB3, REGB4, REGB0);
5621 /* parser/parser.nit:1098 */
5622 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5623 if (UNTAG_Bool(REGB0)) {
5624 } else {
5625 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1098);
5626 }
5627 fra.me.REG[2] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5628 /* ../lib/standard/collection/array.nit:269 */
5629 REGB0 = TAG_Int(0);
5630 /* ../lib/standard/collection/array.nit:270 */
5631 REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
5632 if (UNTAG_Bool(REGB4)) {
5633 } else {
5634 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
5635 }
5636 REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
5637 /* ../lib/standard/collection/array.nit:271 */
5638 fra.me.REG[8] = ATTR_standard___collection___array___Array____items(fra.me.REG[2]);
5639 /* ../lib/standard/collection/array.nit:272 */
5640 while(1) {
5641 /* ../lib/standard/collection/array.nit:24 */
5642 REGB4 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
5643 if (UNTAG_Bool(REGB4)) {
5644 } else {
5645 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
5646 }
5647 REGB4 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
5648 REGB3 = TAG_Bool(VAL_ISA(REGB4, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
5649 if (UNTAG_Bool(REGB3)) {
5650 } else {
5651 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
5652 }
5653 /* ../lib/standard/kernel.nit:235 */
5654 REGB4 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB4));
5655 /* ../lib/standard/collection/array.nit:272 */
5656 if (UNTAG_Bool(REGB4)) {
5657 /* ../lib/standard/collection/array.nit:273 */
5658 REGB4 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
5659 if (UNTAG_Bool(REGB4)) {
5660 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
5661 }
5662 /* ../lib/standard/collection/array.nit:718 */
5663 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[8])->val[UNTAG_Int(REGB0)];
5664 /* parser/parser.nit:1100 */
5665 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
5666 /* ../lib/standard/collection/array.nit:274 */
5667 REGB4 = TAG_Int(1);
5668 /* ../lib/standard/kernel.nit:238 */
5669 REGB4 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB4));
5670 /* ../lib/standard/collection/array.nit:274 */
5671 REGB0 = REGB4;
5672 } else {
5673 /* ../lib/standard/collection/array.nit:272 */
5674 goto label4;
5675 }
5676 }
5677 label4: while(0);
5678 /* parser/parser.nit:1102 */
5679 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5680 if (UNTAG_Bool(REGB0)) {
5681 } else {
5682 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1102);
5683 }
5684 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5685 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
5686 }
5687 /* parser/parser.nit:1105 */
5688 REGB0 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5689 if (UNTAG_Bool(REGB0)) {
5690 } else {
5691 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1105);
5692 }
5693 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5694 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[4])(fra.me.REG[4]);
5695 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5696 if (UNTAG_Bool(REGB0)) {
5697 /* parser/parser.nit:1106 */
5698 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5699 if (UNTAG_Bool(REGB0)) {
5700 nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
5701 }
5702 fra.me.REG[4] = CALL_location___Location___file(fra.me.REG[3])(fra.me.REG[3]);
5703 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5704 if (UNTAG_Bool(REGB0)) {
5705 nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
5706 }
5707 REGB0 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
5708 REGB4 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5709 if (UNTAG_Bool(REGB4)) {
5710 nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
5711 }
5712 REGB4 = CALL_location___Location___line_end(fra.me.REG[3])(fra.me.REG[3]);
5713 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5714 if (UNTAG_Bool(REGB3)) {
5715 nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
5716 }
5717 REGB3 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
5718 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5719 if (UNTAG_Bool(REGB2)) {
5720 nit_abort("Reciever is null", NULL, LOCATE_parser, 1106);
5721 }
5722 REGB2 = CALL_location___Location___column_end(fra.me.REG[3])(fra.me.REG[3]);
5723 fra.me.REG[4] = NEW_Location_location___Location___init(fra.me.REG[4], REGB0, REGB4, REGB3, REGB2);
5724 /* parser/parser.nit:1107 */
5725 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5726 if (UNTAG_Bool(REGB2)) {
5727 } else {
5728 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1107);
5729 }
5730 fra.me.REG[8] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5731 /* ../lib/standard/collection/array.nit:269 */
5732 REGB2 = TAG_Int(0);
5733 /* ../lib/standard/collection/array.nit:270 */
5734 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
5735 if (UNTAG_Bool(REGB3)) {
5736 } else {
5737 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 270);
5738 }
5739 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
5740 /* ../lib/standard/collection/array.nit:271 */
5741 fra.me.REG[2] = ATTR_standard___collection___array___Array____items(fra.me.REG[8]);
5742 /* ../lib/standard/collection/array.nit:272 */
5743 while(1) {
5744 /* ../lib/standard/collection/array.nit:24 */
5745 REGB3 = TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8])!=NIT_NULL);
5746 if (UNTAG_Bool(REGB3)) {
5747 } else {
5748 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 24);
5749 }
5750 REGB3 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[8]);
5751 REGB4 = TAG_Bool(VAL_ISA(REGB3, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2), VTID_standard___kernel___Comparable___OTHER(REGB2))) /*cast OTHER*/;
5752 if (UNTAG_Bool(REGB4)) {
5753 } else {
5754 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
5755 }
5756 /* ../lib/standard/kernel.nit:235 */
5757 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB3));
5758 /* ../lib/standard/collection/array.nit:272 */
5759 if (UNTAG_Bool(REGB3)) {
5760 /* ../lib/standard/collection/array.nit:273 */
5761 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5762 if (UNTAG_Bool(REGB3)) {
5763 nit_abort("Reciever is null", NULL, LOCATE_standard___collection___array, 273);
5764 }
5765 /* ../lib/standard/collection/array.nit:718 */
5766 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB2)];
5767 /* parser/parser.nit:1109 */
5768 CALL_parser___parser_nodes___Prod___location__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
5769 /* ../lib/standard/collection/array.nit:274 */
5770 REGB3 = TAG_Int(1);
5771 /* ../lib/standard/kernel.nit:238 */
5772 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
5773 /* ../lib/standard/collection/array.nit:274 */
5774 REGB2 = REGB3;
5775 } else {
5776 /* ../lib/standard/collection/array.nit:272 */
5777 goto label5;
5778 }
5779 }
5780 label5: while(0);
5781 /* parser/parser.nit:1111 */
5782 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5783 if (UNTAG_Bool(REGB2)) {
5784 } else {
5785 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1111);
5786 }
5787 fra.me.REG[4] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5788 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra.me.REG[4])(fra.me.REG[4]);
5789 }
5790 } else {
5791 /* parser/parser.nit:1116 */
5792 REGB2 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5793 if (UNTAG_Bool(REGB2)) {
5794 } else {
5795 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
5796 if (UNTAG_Bool(REGB3)) {
5797 REGB3 = TAG_Bool(0);
5798 REGB2 = REGB3;
5799 } else {
5800 REGB3 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
5801 REGB2 = REGB3;
5802 }
5803 }
5804 if (UNTAG_Bool(REGB2)) {
5805 /* parser/parser.nit:1118 */
5806 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0])!=NIT_NULL);
5807 if (UNTAG_Bool(REGB2)) {
5808 } else {
5809 nit_abort("Uninitialized attribute %s", "_need_before_epsilons", LOCATE_parser, 1118);
5810 }
5811 fra.me.REG[3] = ATTR_parser___ComputeProdLocationVisitor____need_before_epsilons(fra.me.REG[0]);
5812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
5813 } else {
5814 /* parser/parser.nit:1121 */
5815 REGB2 = TAG_Bool(ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0])!=NIT_NULL);
5816 if (UNTAG_Bool(REGB2)) {
5817 } else {
5818 nit_abort("Uninitialized attribute %s", "_need_after_epsilons", LOCATE_parser, 1121);
5819 }
5820 fra.me.REG[0] = ATTR_parser___ComputeProdLocationVisitor____need_after_epsilons(fra.me.REG[0]);
5821 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
5822 }
5823 }
5824 }
5825 }
5826 label1: while(0);
5827 stack_frame_head = fra.me.prev;
5828 return;
5829 }
5830 static const char LOCATE_parser___ComputeProdLocationVisitor___init[] = "parser::ComputeProdLocationVisitor::init";
5831 void parser___ComputeProdLocationVisitor___init(val_t p0, int* init_table){
5832 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ComputeProdLocationVisitor].i;
5833 struct {struct stack_frame_t me;} fra;
5834 val_t tmp;
5835 if (init_table[itpos2]) return;
5836 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5837 fra.me.file = LOCATE_parser;
5838 fra.me.line = 1127;
5839 fra.me.meth = LOCATE_parser___ComputeProdLocationVisitor___init;
5840 fra.me.has_broke = 0;
5841 fra.me.REG_size = 1;
5842 fra.me.nitni_local_ref_head = NULL;
5843 fra.me.REG[0] = NIT_NULL;
5844 fra.me.REG[0] = p0;
5845 /* parser/parser.nit:1127 */
5846 CALL_parser___parser_prod___Visitor___init(fra.me.REG[0])(fra.me.REG[0], init_table);
5847 stack_frame_head = fra.me.prev;
5848 init_table[itpos2] = 1;
5849 return;
5850 }
5851 static const char LOCATE_parser___ReduceAction___action[] = "parser::ReduceAction::action";
5852 void parser___ReduceAction___action(val_t p0, val_t p1){
5853 struct {struct stack_frame_t me;} fra;
5854 val_t tmp;
5855 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5856 fra.me.file = LOCATE_parser;
5857 fra.me.line = 1132;
5858 fra.me.meth = LOCATE_parser___ReduceAction___action;
5859 fra.me.has_broke = 0;
5860 fra.me.REG_size = 0;
5861 fra.me.nitni_local_ref_head = NULL;
5862 /* parser/parser.nit:1132 */
5863 nit_abort("Deferred method called", NULL, LOCATE_parser, 1132);
5864 stack_frame_head = fra.me.prev;
5865 return;
5866 }
5867 static const char LOCATE_parser___ReduceAction___concat[] = "parser::ReduceAction::concat";
5868 val_t parser___ReduceAction___concat(val_t p0, val_t p1, val_t p2){
5869 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5870 val_t REGB0;
5871 val_t tmp;
5872 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5873 fra.me.file = LOCATE_parser;
5874 fra.me.line = 1133;
5875 fra.me.meth = LOCATE_parser___ReduceAction___concat;
5876 fra.me.has_broke = 0;
5877 fra.me.REG_size = 3;
5878 fra.me.nitni_local_ref_head = NULL;
5879 fra.me.REG[0] = NIT_NULL;
5880 fra.me.REG[1] = NIT_NULL;
5881 fra.me.REG[2] = NIT_NULL;
5882 fra.me.REG[0] = p0;
5883 fra.me.REG[1] = p1;
5884 fra.me.REG[2] = p2;
5885 /* parser/parser.nit:1135 */
5886 REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
5887 if (UNTAG_Bool(REGB0)) {
5888 fra.me.REG[0] = fra.me.REG[2];
5889 goto label1;
5890 }
5891 /* parser/parser.nit:1136 */
5892 CALL_standard___collection___abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5893 /* parser/parser.nit:1137 */
5894 fra.me.REG[0] = fra.me.REG[1];
5895 goto label1;
5896 label1: while(0);
5897 stack_frame_head = fra.me.prev;
5898 return fra.me.REG[0];
5899 }
5900 static const char LOCATE_parser___ReduceAction___init[] = "parser::ReduceAction::init";
5901 void parser___ReduceAction___init(val_t p0, val_t p1, int* init_table){
5902 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_parser___ReduceAction].i;
5903 struct {struct stack_frame_t me;} fra;
5904 val_t REGB0;
5905 val_t tmp;
5906 if (init_table[itpos3]) return;
5907 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5908 fra.me.file = LOCATE_parser;
5909 fra.me.line = 1140;
5910 fra.me.meth = LOCATE_parser___ReduceAction___init;
5911 fra.me.has_broke = 0;
5912 fra.me.REG_size = 1;
5913 fra.me.nitni_local_ref_head = NULL;
5914 fra.me.REG[0] = NIT_NULL;
5915 fra.me.REG[0] = p0;
5916 REGB0 = p1;
5917 /* parser/parser.nit:1140 */
5918 ATTR_parser___ReduceAction____goto(fra.me.REG[0]) = REGB0;
5919 stack_frame_head = fra.me.prev;
5920 init_table[itpos3] = 1;
5921 return;
5922 }
5923 static const char LOCATE_parser___ReduceAction0___action[] = "parser::ReduceAction0::(parser::ReduceAction::action)";
5924 void parser___ReduceAction0___action(val_t p0, val_t p1){
5925 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
5926 val_t REGB0;
5927 val_t tmp;
5928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5929 fra.me.file = LOCATE_parser;
5930 fra.me.line = 1145;
5931 fra.me.meth = LOCATE_parser___ReduceAction0___action;
5932 fra.me.has_broke = 0;
5933 fra.me.REG_size = 6;
5934 fra.me.nitni_local_ref_head = NULL;
5935 fra.me.REG[0] = NIT_NULL;
5936 fra.me.REG[1] = NIT_NULL;
5937 fra.me.REG[2] = NIT_NULL;
5938 fra.me.REG[3] = NIT_NULL;
5939 fra.me.REG[4] = NIT_NULL;
5940 fra.me.REG[5] = NIT_NULL;
5941 fra.me.REG[0] = p0;
5942 fra.me.REG[1] = p1;
5943 /* parser/parser.nit:1147 */
5944 fra.me.REG[2] = NIT_NULL;
5945 /* parser/parser.nit:1148 */
5946 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
5947 /* parser/parser.nit:1149 */
5948 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5949 /* parser/parser.nit:1150 */
5950 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5951 /* parser/parser.nit:1151 */
5952 fra.me.REG[5] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[3], fra.me.REG[4], fra.me.REG[5]);
5953 /* parser/parser.nit:1157 */
5954 fra.me.REG[2] = fra.me.REG[5];
5955 /* parser/parser.nit:1158 */
5956 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
5957 if (UNTAG_Bool(REGB0)) {
5958 } else {
5959 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1158);
5960 }
5961 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
5962 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
5963 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
5964 stack_frame_head = fra.me.prev;
5965 return;
5966 }
5967 static const char LOCATE_parser___ReduceAction1___action[] = "parser::ReduceAction1::(parser::ReduceAction::action)";
5968 void parser___ReduceAction1___action(val_t p0, val_t p1){
5969 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
5970 val_t REGB0;
5971 val_t tmp;
5972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5973 fra.me.file = LOCATE_parser;
5974 fra.me.line = 1163;
5975 fra.me.meth = LOCATE_parser___ReduceAction1___action;
5976 fra.me.has_broke = 0;
5977 fra.me.REG_size = 7;
5978 fra.me.nitni_local_ref_head = NULL;
5979 fra.me.REG[0] = NIT_NULL;
5980 fra.me.REG[1] = NIT_NULL;
5981 fra.me.REG[2] = NIT_NULL;
5982 fra.me.REG[3] = NIT_NULL;
5983 fra.me.REG[4] = NIT_NULL;
5984 fra.me.REG[5] = NIT_NULL;
5985 fra.me.REG[6] = NIT_NULL;
5986 fra.me.REG[0] = p0;
5987 fra.me.REG[1] = p1;
5988 /* parser/parser.nit:1165 */
5989 fra.me.REG[2] = NIT_NULL;
5990 /* parser/parser.nit:1166 */
5991 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
5992 /* parser/parser.nit:1167 */
5993 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
5994 /* parser/parser.nit:1168 */
5995 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
5996 /* parser/parser.nit:1169 */
5997 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
5998 /* parser/parser.nit:1171 */
5999 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*/;
6000 if (UNTAG_Bool(REGB0)) {
6001 } else {
6002 nit_abort("Assert failed", NULL, LOCATE_parser, 1171);
6003 }
6004 /* parser/parser.nit:1172 */
6005 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[3], fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
6006 /* parser/parser.nit:1178 */
6007 fra.me.REG[2] = fra.me.REG[6];
6008 /* parser/parser.nit:1179 */
6009 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6010 if (UNTAG_Bool(REGB0)) {
6011 } else {
6012 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1179);
6013 }
6014 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6015 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6016 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6017 stack_frame_head = fra.me.prev;
6018 return;
6019 }
6020 static const char LOCATE_parser___ReduceAction2___action[] = "parser::ReduceAction2::(parser::ReduceAction::action)";
6021 void parser___ReduceAction2___action(val_t p0, val_t p1){
6022 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6023 val_t REGB0;
6024 val_t tmp;
6025 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6026 fra.me.file = LOCATE_parser;
6027 fra.me.line = 1184;
6028 fra.me.meth = LOCATE_parser___ReduceAction2___action;
6029 fra.me.has_broke = 0;
6030 fra.me.REG_size = 7;
6031 fra.me.nitni_local_ref_head = NULL;
6032 fra.me.REG[0] = NIT_NULL;
6033 fra.me.REG[1] = NIT_NULL;
6034 fra.me.REG[2] = NIT_NULL;
6035 fra.me.REG[3] = NIT_NULL;
6036 fra.me.REG[4] = NIT_NULL;
6037 fra.me.REG[5] = NIT_NULL;
6038 fra.me.REG[6] = NIT_NULL;
6039 fra.me.REG[0] = p0;
6040 fra.me.REG[1] = p1;
6041 /* parser/parser.nit:1186 */
6042 fra.me.REG[2] = NIT_NULL;
6043 /* parser/parser.nit:1187 */
6044 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6045 /* parser/parser.nit:1188 */
6046 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
6047 /* parser/parser.nit:1189 */
6048 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6049 /* parser/parser.nit:1190 */
6050 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6051 /* parser/parser.nit:1192 */
6052 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]*/;
6053 if (UNTAG_Bool(REGB0)) {
6054 } else {
6055 nit_abort("Assert failed", NULL, LOCATE_parser, 1192);
6056 }
6057 /* parser/parser.nit:1193 */
6058 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
6059 fra.me.REG[4] = fra.me.REG[3];
6060 /* parser/parser.nit:1194 */
6061 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
6062 /* parser/parser.nit:1200 */
6063 fra.me.REG[2] = fra.me.REG[6];
6064 /* parser/parser.nit:1201 */
6065 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6066 if (UNTAG_Bool(REGB0)) {
6067 } else {
6068 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1201);
6069 }
6070 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6071 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6072 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6073 stack_frame_head = fra.me.prev;
6074 return;
6075 }
6076 static const char LOCATE_parser___ReduceAction3___action[] = "parser::ReduceAction3::(parser::ReduceAction::action)";
6077 void parser___ReduceAction3___action(val_t p0, val_t p1){
6078 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6079 val_t REGB0;
6080 val_t tmp;
6081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6082 fra.me.file = LOCATE_parser;
6083 fra.me.line = 1206;
6084 fra.me.meth = LOCATE_parser___ReduceAction3___action;
6085 fra.me.has_broke = 0;
6086 fra.me.REG_size = 8;
6087 fra.me.nitni_local_ref_head = NULL;
6088 fra.me.REG[0] = NIT_NULL;
6089 fra.me.REG[1] = NIT_NULL;
6090 fra.me.REG[2] = NIT_NULL;
6091 fra.me.REG[3] = NIT_NULL;
6092 fra.me.REG[4] = NIT_NULL;
6093 fra.me.REG[5] = NIT_NULL;
6094 fra.me.REG[6] = NIT_NULL;
6095 fra.me.REG[7] = NIT_NULL;
6096 fra.me.REG[0] = p0;
6097 fra.me.REG[1] = p1;
6098 /* parser/parser.nit:1208 */
6099 fra.me.REG[2] = NIT_NULL;
6100 /* parser/parser.nit:1209 */
6101 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6102 /* parser/parser.nit:1210 */
6103 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6104 /* parser/parser.nit:1211 */
6105 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6106 /* parser/parser.nit:1212 */
6107 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6108 /* parser/parser.nit:1213 */
6109 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6110 /* parser/parser.nit:1215 */
6111 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*/;
6112 if (UNTAG_Bool(REGB0)) {
6113 } else {
6114 nit_abort("Assert failed", NULL, LOCATE_parser, 1215);
6115 }
6116 /* parser/parser.nit:1217 */
6117 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]*/;
6118 if (UNTAG_Bool(REGB0)) {
6119 } else {
6120 nit_abort("Assert failed", NULL, LOCATE_parser, 1217);
6121 }
6122 /* parser/parser.nit:1218 */
6123 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
6124 fra.me.REG[5] = fra.me.REG[3];
6125 /* parser/parser.nit:1219 */
6126 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6127 /* parser/parser.nit:1225 */
6128 fra.me.REG[2] = fra.me.REG[7];
6129 /* parser/parser.nit:1226 */
6130 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6131 if (UNTAG_Bool(REGB0)) {
6132 } else {
6133 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1226);
6134 }
6135 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6136 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6137 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6138 stack_frame_head = fra.me.prev;
6139 return;
6140 }
6141 static const char LOCATE_parser___ReduceAction4___action[] = "parser::ReduceAction4::(parser::ReduceAction::action)";
6142 void parser___ReduceAction4___action(val_t p0, val_t p1){
6143 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6144 val_t REGB0;
6145 val_t tmp;
6146 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6147 fra.me.file = LOCATE_parser;
6148 fra.me.line = 1231;
6149 fra.me.meth = LOCATE_parser___ReduceAction4___action;
6150 fra.me.has_broke = 0;
6151 fra.me.REG_size = 7;
6152 fra.me.nitni_local_ref_head = NULL;
6153 fra.me.REG[0] = NIT_NULL;
6154 fra.me.REG[1] = NIT_NULL;
6155 fra.me.REG[2] = NIT_NULL;
6156 fra.me.REG[3] = NIT_NULL;
6157 fra.me.REG[4] = NIT_NULL;
6158 fra.me.REG[5] = NIT_NULL;
6159 fra.me.REG[6] = NIT_NULL;
6160 fra.me.REG[0] = p0;
6161 fra.me.REG[1] = p1;
6162 /* parser/parser.nit:1233 */
6163 fra.me.REG[2] = NIT_NULL;
6164 /* parser/parser.nit:1234 */
6165 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6166 /* parser/parser.nit:1235 */
6167 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
6168 /* parser/parser.nit:1236 */
6169 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6170 /* parser/parser.nit:1237 */
6171 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6172 /* parser/parser.nit:1239 */
6173 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]*/;
6174 if (UNTAG_Bool(REGB0)) {
6175 } else {
6176 nit_abort("Assert failed", NULL, LOCATE_parser, 1239);
6177 }
6178 /* parser/parser.nit:1240 */
6179 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
6180 fra.me.REG[5] = fra.me.REG[3];
6181 /* parser/parser.nit:1241 */
6182 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
6183 /* parser/parser.nit:1247 */
6184 fra.me.REG[2] = fra.me.REG[6];
6185 /* parser/parser.nit:1248 */
6186 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6187 if (UNTAG_Bool(REGB0)) {
6188 } else {
6189 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1248);
6190 }
6191 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6192 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6193 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6194 stack_frame_head = fra.me.prev;
6195 return;
6196 }
6197 static const char LOCATE_parser___ReduceAction5___action[] = "parser::ReduceAction5::(parser::ReduceAction::action)";
6198 void parser___ReduceAction5___action(val_t p0, val_t p1){
6199 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6200 val_t REGB0;
6201 val_t tmp;
6202 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6203 fra.me.file = LOCATE_parser;
6204 fra.me.line = 1253;
6205 fra.me.meth = LOCATE_parser___ReduceAction5___action;
6206 fra.me.has_broke = 0;
6207 fra.me.REG_size = 8;
6208 fra.me.nitni_local_ref_head = NULL;
6209 fra.me.REG[0] = NIT_NULL;
6210 fra.me.REG[1] = NIT_NULL;
6211 fra.me.REG[2] = NIT_NULL;
6212 fra.me.REG[3] = NIT_NULL;
6213 fra.me.REG[4] = NIT_NULL;
6214 fra.me.REG[5] = NIT_NULL;
6215 fra.me.REG[6] = NIT_NULL;
6216 fra.me.REG[7] = NIT_NULL;
6217 fra.me.REG[0] = p0;
6218 fra.me.REG[1] = p1;
6219 /* parser/parser.nit:1255 */
6220 fra.me.REG[2] = NIT_NULL;
6221 /* parser/parser.nit:1256 */
6222 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6223 /* parser/parser.nit:1257 */
6224 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6225 /* parser/parser.nit:1258 */
6226 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6227 /* parser/parser.nit:1259 */
6228 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6229 /* parser/parser.nit:1260 */
6230 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6231 /* parser/parser.nit:1262 */
6232 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*/;
6233 if (UNTAG_Bool(REGB0)) {
6234 } else {
6235 nit_abort("Assert failed", NULL, LOCATE_parser, 1262);
6236 }
6237 /* parser/parser.nit:1264 */
6238 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]*/;
6239 if (UNTAG_Bool(REGB0)) {
6240 } else {
6241 nit_abort("Assert failed", NULL, LOCATE_parser, 1264);
6242 }
6243 /* parser/parser.nit:1265 */
6244 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
6245 fra.me.REG[6] = fra.me.REG[3];
6246 /* parser/parser.nit:1266 */
6247 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6248 /* parser/parser.nit:1272 */
6249 fra.me.REG[2] = fra.me.REG[7];
6250 /* parser/parser.nit:1273 */
6251 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6252 if (UNTAG_Bool(REGB0)) {
6253 } else {
6254 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1273);
6255 }
6256 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6257 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6258 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6259 stack_frame_head = fra.me.prev;
6260 return;
6261 }
6262 static const char LOCATE_parser___ReduceAction6___action[] = "parser::ReduceAction6::(parser::ReduceAction::action)";
6263 void parser___ReduceAction6___action(val_t p0, val_t p1){
6264 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6265 val_t REGB0;
6266 val_t tmp;
6267 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6268 fra.me.file = LOCATE_parser;
6269 fra.me.line = 1278;
6270 fra.me.meth = LOCATE_parser___ReduceAction6___action;
6271 fra.me.has_broke = 0;
6272 fra.me.REG_size = 8;
6273 fra.me.nitni_local_ref_head = NULL;
6274 fra.me.REG[0] = NIT_NULL;
6275 fra.me.REG[1] = NIT_NULL;
6276 fra.me.REG[2] = NIT_NULL;
6277 fra.me.REG[3] = NIT_NULL;
6278 fra.me.REG[4] = NIT_NULL;
6279 fra.me.REG[5] = NIT_NULL;
6280 fra.me.REG[6] = NIT_NULL;
6281 fra.me.REG[7] = NIT_NULL;
6282 fra.me.REG[0] = p0;
6283 fra.me.REG[1] = p1;
6284 /* parser/parser.nit:1280 */
6285 fra.me.REG[2] = NIT_NULL;
6286 /* parser/parser.nit:1281 */
6287 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6288 /* parser/parser.nit:1282 */
6289 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6290 /* parser/parser.nit:1283 */
6291 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6292 /* parser/parser.nit:1284 */
6293 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6294 /* parser/parser.nit:1285 */
6295 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6296 /* parser/parser.nit:1287 */
6297 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]*/;
6298 if (UNTAG_Bool(REGB0)) {
6299 } else {
6300 nit_abort("Assert failed", NULL, LOCATE_parser, 1287);
6301 }
6302 /* parser/parser.nit:1288 */
6303 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
6304 fra.me.REG[5] = fra.me.REG[4];
6305 /* parser/parser.nit:1290 */
6306 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]*/;
6307 if (UNTAG_Bool(REGB0)) {
6308 } else {
6309 nit_abort("Assert failed", NULL, LOCATE_parser, 1290);
6310 }
6311 /* parser/parser.nit:1291 */
6312 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
6313 fra.me.REG[6] = fra.me.REG[3];
6314 /* parser/parser.nit:1292 */
6315 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6316 /* parser/parser.nit:1298 */
6317 fra.me.REG[2] = fra.me.REG[7];
6318 /* parser/parser.nit:1299 */
6319 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6320 if (UNTAG_Bool(REGB0)) {
6321 } else {
6322 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1299);
6323 }
6324 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6325 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6326 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6327 stack_frame_head = fra.me.prev;
6328 return;
6329 }
6330 static const char LOCATE_parser___ReduceAction7___action[] = "parser::ReduceAction7::(parser::ReduceAction::action)";
6331 void parser___ReduceAction7___action(val_t p0, val_t p1){
6332 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6333 val_t REGB0;
6334 val_t tmp;
6335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6336 fra.me.file = LOCATE_parser;
6337 fra.me.line = 1304;
6338 fra.me.meth = LOCATE_parser___ReduceAction7___action;
6339 fra.me.has_broke = 0;
6340 fra.me.REG_size = 9;
6341 fra.me.nitni_local_ref_head = NULL;
6342 fra.me.REG[0] = NIT_NULL;
6343 fra.me.REG[1] = NIT_NULL;
6344 fra.me.REG[2] = NIT_NULL;
6345 fra.me.REG[3] = NIT_NULL;
6346 fra.me.REG[4] = NIT_NULL;
6347 fra.me.REG[5] = NIT_NULL;
6348 fra.me.REG[6] = NIT_NULL;
6349 fra.me.REG[7] = NIT_NULL;
6350 fra.me.REG[8] = NIT_NULL;
6351 fra.me.REG[0] = p0;
6352 fra.me.REG[1] = p1;
6353 /* parser/parser.nit:1306 */
6354 fra.me.REG[2] = NIT_NULL;
6355 /* parser/parser.nit:1307 */
6356 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6357 /* parser/parser.nit:1308 */
6358 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6359 /* parser/parser.nit:1309 */
6360 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6361 /* parser/parser.nit:1310 */
6362 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6363 /* parser/parser.nit:1311 */
6364 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6365 /* parser/parser.nit:1312 */
6366 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6367 /* parser/parser.nit:1314 */
6368 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*/;
6369 if (UNTAG_Bool(REGB0)) {
6370 } else {
6371 nit_abort("Assert failed", NULL, LOCATE_parser, 1314);
6372 }
6373 /* parser/parser.nit:1316 */
6374 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]*/;
6375 if (UNTAG_Bool(REGB0)) {
6376 } else {
6377 nit_abort("Assert failed", NULL, LOCATE_parser, 1316);
6378 }
6379 /* parser/parser.nit:1317 */
6380 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6381 fra.me.REG[6] = fra.me.REG[4];
6382 /* parser/parser.nit:1319 */
6383 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]*/;
6384 if (UNTAG_Bool(REGB0)) {
6385 } else {
6386 nit_abort("Assert failed", NULL, LOCATE_parser, 1319);
6387 }
6388 /* parser/parser.nit:1320 */
6389 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
6390 fra.me.REG[7] = fra.me.REG[3];
6391 /* parser/parser.nit:1321 */
6392 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
6393 /* parser/parser.nit:1327 */
6394 fra.me.REG[2] = fra.me.REG[8];
6395 /* parser/parser.nit:1328 */
6396 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6397 if (UNTAG_Bool(REGB0)) {
6398 } else {
6399 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1328);
6400 }
6401 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6402 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6403 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6404 stack_frame_head = fra.me.prev;
6405 return;
6406 }
6407 static const char LOCATE_parser___ReduceAction8___action[] = "parser::ReduceAction8::(parser::ReduceAction::action)";
6408 void parser___ReduceAction8___action(val_t p0, val_t p1){
6409 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
6410 val_t REGB0;
6411 val_t tmp;
6412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6413 fra.me.file = LOCATE_parser;
6414 fra.me.line = 1333;
6415 fra.me.meth = LOCATE_parser___ReduceAction8___action;
6416 fra.me.has_broke = 0;
6417 fra.me.REG_size = 7;
6418 fra.me.nitni_local_ref_head = NULL;
6419 fra.me.REG[0] = NIT_NULL;
6420 fra.me.REG[1] = NIT_NULL;
6421 fra.me.REG[2] = NIT_NULL;
6422 fra.me.REG[3] = NIT_NULL;
6423 fra.me.REG[4] = NIT_NULL;
6424 fra.me.REG[5] = NIT_NULL;
6425 fra.me.REG[6] = NIT_NULL;
6426 fra.me.REG[0] = p0;
6427 fra.me.REG[1] = p1;
6428 /* parser/parser.nit:1335 */
6429 fra.me.REG[2] = NIT_NULL;
6430 /* parser/parser.nit:1336 */
6431 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6432 /* parser/parser.nit:1337 */
6433 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
6434 /* parser/parser.nit:1338 */
6435 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6436 /* parser/parser.nit:1339 */
6437 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6438 /* parser/parser.nit:1341 */
6439 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]*/;
6440 if (UNTAG_Bool(REGB0)) {
6441 } else {
6442 nit_abort("Assert failed", NULL, LOCATE_parser, 1341);
6443 }
6444 /* parser/parser.nit:1342 */
6445 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
6446 fra.me.REG[6] = fra.me.REG[3];
6447 /* parser/parser.nit:1343 */
6448 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
6449 /* parser/parser.nit:1349 */
6450 fra.me.REG[2] = fra.me.REG[6];
6451 /* parser/parser.nit:1350 */
6452 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6453 if (UNTAG_Bool(REGB0)) {
6454 } else {
6455 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1350);
6456 }
6457 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6458 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6459 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6460 stack_frame_head = fra.me.prev;
6461 return;
6462 }
6463 static const char LOCATE_parser___ReduceAction9___action[] = "parser::ReduceAction9::(parser::ReduceAction::action)";
6464 void parser___ReduceAction9___action(val_t p0, val_t p1){
6465 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6466 val_t REGB0;
6467 val_t tmp;
6468 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6469 fra.me.file = LOCATE_parser;
6470 fra.me.line = 1355;
6471 fra.me.meth = LOCATE_parser___ReduceAction9___action;
6472 fra.me.has_broke = 0;
6473 fra.me.REG_size = 8;
6474 fra.me.nitni_local_ref_head = NULL;
6475 fra.me.REG[0] = NIT_NULL;
6476 fra.me.REG[1] = NIT_NULL;
6477 fra.me.REG[2] = NIT_NULL;
6478 fra.me.REG[3] = NIT_NULL;
6479 fra.me.REG[4] = NIT_NULL;
6480 fra.me.REG[5] = NIT_NULL;
6481 fra.me.REG[6] = NIT_NULL;
6482 fra.me.REG[7] = NIT_NULL;
6483 fra.me.REG[0] = p0;
6484 fra.me.REG[1] = p1;
6485 /* parser/parser.nit:1357 */
6486 fra.me.REG[2] = NIT_NULL;
6487 /* parser/parser.nit:1358 */
6488 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6489 /* parser/parser.nit:1359 */
6490 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6491 /* parser/parser.nit:1360 */
6492 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6493 /* parser/parser.nit:1361 */
6494 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6495 /* parser/parser.nit:1362 */
6496 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6497 /* parser/parser.nit:1364 */
6498 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*/;
6499 if (UNTAG_Bool(REGB0)) {
6500 } else {
6501 nit_abort("Assert failed", NULL, LOCATE_parser, 1364);
6502 }
6503 /* parser/parser.nit:1366 */
6504 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]*/;
6505 if (UNTAG_Bool(REGB0)) {
6506 } else {
6507 nit_abort("Assert failed", NULL, LOCATE_parser, 1366);
6508 }
6509 /* parser/parser.nit:1367 */
6510 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
6511 fra.me.REG[7] = fra.me.REG[3];
6512 /* parser/parser.nit:1368 */
6513 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6514 /* parser/parser.nit:1374 */
6515 fra.me.REG[2] = fra.me.REG[7];
6516 /* parser/parser.nit:1375 */
6517 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6518 if (UNTAG_Bool(REGB0)) {
6519 } else {
6520 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1375);
6521 }
6522 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6523 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6524 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6525 stack_frame_head = fra.me.prev;
6526 return;
6527 }
6528 static const char LOCATE_parser___ReduceAction10___action[] = "parser::ReduceAction10::(parser::ReduceAction::action)";
6529 void parser___ReduceAction10___action(val_t p0, val_t p1){
6530 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6531 val_t REGB0;
6532 val_t tmp;
6533 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6534 fra.me.file = LOCATE_parser;
6535 fra.me.line = 1380;
6536 fra.me.meth = LOCATE_parser___ReduceAction10___action;
6537 fra.me.has_broke = 0;
6538 fra.me.REG_size = 8;
6539 fra.me.nitni_local_ref_head = NULL;
6540 fra.me.REG[0] = NIT_NULL;
6541 fra.me.REG[1] = NIT_NULL;
6542 fra.me.REG[2] = NIT_NULL;
6543 fra.me.REG[3] = NIT_NULL;
6544 fra.me.REG[4] = NIT_NULL;
6545 fra.me.REG[5] = NIT_NULL;
6546 fra.me.REG[6] = NIT_NULL;
6547 fra.me.REG[7] = NIT_NULL;
6548 fra.me.REG[0] = p0;
6549 fra.me.REG[1] = p1;
6550 /* parser/parser.nit:1382 */
6551 fra.me.REG[2] = NIT_NULL;
6552 /* parser/parser.nit:1383 */
6553 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6554 /* parser/parser.nit:1384 */
6555 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6556 /* parser/parser.nit:1385 */
6557 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6558 /* parser/parser.nit:1386 */
6559 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6560 /* parser/parser.nit:1387 */
6561 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6562 /* parser/parser.nit:1389 */
6563 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]*/;
6564 if (UNTAG_Bool(REGB0)) {
6565 } else {
6566 nit_abort("Assert failed", NULL, LOCATE_parser, 1389);
6567 }
6568 /* parser/parser.nit:1390 */
6569 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
6570 fra.me.REG[5] = fra.me.REG[4];
6571 /* parser/parser.nit:1392 */
6572 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]*/;
6573 if (UNTAG_Bool(REGB0)) {
6574 } else {
6575 nit_abort("Assert failed", NULL, LOCATE_parser, 1392);
6576 }
6577 /* parser/parser.nit:1393 */
6578 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
6579 fra.me.REG[7] = fra.me.REG[3];
6580 /* parser/parser.nit:1394 */
6581 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6582 /* parser/parser.nit:1400 */
6583 fra.me.REG[2] = fra.me.REG[7];
6584 /* parser/parser.nit:1401 */
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, 1401);
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 static const char LOCATE_parser___ReduceAction11___action[] = "parser::ReduceAction11::(parser::ReduceAction::action)";
6597 void parser___ReduceAction11___action(val_t p0, val_t p1){
6598 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6599 val_t REGB0;
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 = 1406;
6604 fra.me.meth = LOCATE_parser___ReduceAction11___action;
6605 fra.me.has_broke = 0;
6606 fra.me.REG_size = 9;
6607 fra.me.nitni_local_ref_head = NULL;
6608 fra.me.REG[0] = NIT_NULL;
6609 fra.me.REG[1] = NIT_NULL;
6610 fra.me.REG[2] = NIT_NULL;
6611 fra.me.REG[3] = NIT_NULL;
6612 fra.me.REG[4] = NIT_NULL;
6613 fra.me.REG[5] = NIT_NULL;
6614 fra.me.REG[6] = NIT_NULL;
6615 fra.me.REG[7] = NIT_NULL;
6616 fra.me.REG[8] = NIT_NULL;
6617 fra.me.REG[0] = p0;
6618 fra.me.REG[1] = p1;
6619 /* parser/parser.nit:1408 */
6620 fra.me.REG[2] = NIT_NULL;
6621 /* parser/parser.nit:1409 */
6622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6623 /* parser/parser.nit:1410 */
6624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6625 /* parser/parser.nit:1411 */
6626 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6627 /* parser/parser.nit:1412 */
6628 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6629 /* parser/parser.nit:1413 */
6630 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6631 /* parser/parser.nit:1414 */
6632 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6633 /* parser/parser.nit:1416 */
6634 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*/;
6635 if (UNTAG_Bool(REGB0)) {
6636 } else {
6637 nit_abort("Assert failed", NULL, LOCATE_parser, 1416);
6638 }
6639 /* parser/parser.nit:1418 */
6640 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]*/;
6641 if (UNTAG_Bool(REGB0)) {
6642 } else {
6643 nit_abort("Assert failed", NULL, LOCATE_parser, 1418);
6644 }
6645 /* parser/parser.nit:1419 */
6646 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6647 fra.me.REG[6] = fra.me.REG[4];
6648 /* parser/parser.nit:1421 */
6649 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]*/;
6650 if (UNTAG_Bool(REGB0)) {
6651 } else {
6652 nit_abort("Assert failed", NULL, LOCATE_parser, 1421);
6653 }
6654 /* parser/parser.nit:1422 */
6655 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
6656 fra.me.REG[8] = fra.me.REG[3];
6657 /* parser/parser.nit:1423 */
6658 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
6659 /* parser/parser.nit:1429 */
6660 fra.me.REG[2] = fra.me.REG[8];
6661 /* parser/parser.nit:1430 */
6662 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6663 if (UNTAG_Bool(REGB0)) {
6664 } else {
6665 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1430);
6666 }
6667 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6668 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6669 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6670 stack_frame_head = fra.me.prev;
6671 return;
6672 }
6673 static const char LOCATE_parser___ReduceAction12___action[] = "parser::ReduceAction12::(parser::ReduceAction::action)";
6674 void parser___ReduceAction12___action(val_t p0, val_t p1){
6675 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6676 val_t REGB0;
6677 val_t tmp;
6678 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6679 fra.me.file = LOCATE_parser;
6680 fra.me.line = 1435;
6681 fra.me.meth = LOCATE_parser___ReduceAction12___action;
6682 fra.me.has_broke = 0;
6683 fra.me.REG_size = 8;
6684 fra.me.nitni_local_ref_head = NULL;
6685 fra.me.REG[0] = NIT_NULL;
6686 fra.me.REG[1] = NIT_NULL;
6687 fra.me.REG[2] = NIT_NULL;
6688 fra.me.REG[3] = NIT_NULL;
6689 fra.me.REG[4] = NIT_NULL;
6690 fra.me.REG[5] = NIT_NULL;
6691 fra.me.REG[6] = NIT_NULL;
6692 fra.me.REG[7] = NIT_NULL;
6693 fra.me.REG[0] = p0;
6694 fra.me.REG[1] = p1;
6695 /* parser/parser.nit:1437 */
6696 fra.me.REG[2] = NIT_NULL;
6697 /* parser/parser.nit:1438 */
6698 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6699 /* parser/parser.nit:1439 */
6700 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6701 /* parser/parser.nit:1440 */
6702 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
6703 /* parser/parser.nit:1441 */
6704 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6705 /* parser/parser.nit:1442 */
6706 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6707 /* parser/parser.nit:1444 */
6708 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]*/;
6709 if (UNTAG_Bool(REGB0)) {
6710 } else {
6711 nit_abort("Assert failed", NULL, LOCATE_parser, 1444);
6712 }
6713 /* parser/parser.nit:1445 */
6714 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
6715 fra.me.REG[6] = fra.me.REG[4];
6716 /* parser/parser.nit:1447 */
6717 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]*/;
6718 if (UNTAG_Bool(REGB0)) {
6719 } else {
6720 nit_abort("Assert failed", NULL, LOCATE_parser, 1447);
6721 }
6722 /* parser/parser.nit:1448 */
6723 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
6724 fra.me.REG[7] = fra.me.REG[3];
6725 /* parser/parser.nit:1449 */
6726 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
6727 /* parser/parser.nit:1455 */
6728 fra.me.REG[2] = fra.me.REG[7];
6729 /* parser/parser.nit:1456 */
6730 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6731 if (UNTAG_Bool(REGB0)) {
6732 } else {
6733 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1456);
6734 }
6735 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6736 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6737 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6738 stack_frame_head = fra.me.prev;
6739 return;
6740 }
6741 static const char LOCATE_parser___ReduceAction13___action[] = "parser::ReduceAction13::(parser::ReduceAction::action)";
6742 void parser___ReduceAction13___action(val_t p0, val_t p1){
6743 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6744 val_t REGB0;
6745 val_t tmp;
6746 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6747 fra.me.file = LOCATE_parser;
6748 fra.me.line = 1461;
6749 fra.me.meth = LOCATE_parser___ReduceAction13___action;
6750 fra.me.has_broke = 0;
6751 fra.me.REG_size = 9;
6752 fra.me.nitni_local_ref_head = NULL;
6753 fra.me.REG[0] = NIT_NULL;
6754 fra.me.REG[1] = NIT_NULL;
6755 fra.me.REG[2] = NIT_NULL;
6756 fra.me.REG[3] = NIT_NULL;
6757 fra.me.REG[4] = NIT_NULL;
6758 fra.me.REG[5] = NIT_NULL;
6759 fra.me.REG[6] = NIT_NULL;
6760 fra.me.REG[7] = NIT_NULL;
6761 fra.me.REG[8] = NIT_NULL;
6762 fra.me.REG[0] = p0;
6763 fra.me.REG[1] = p1;
6764 /* parser/parser.nit:1463 */
6765 fra.me.REG[2] = NIT_NULL;
6766 /* parser/parser.nit:1464 */
6767 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6768 /* parser/parser.nit:1465 */
6769 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6770 /* parser/parser.nit:1466 */
6771 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6772 /* parser/parser.nit:1467 */
6773 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6774 /* parser/parser.nit:1468 */
6775 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6776 /* parser/parser.nit:1469 */
6777 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6778 /* parser/parser.nit:1471 */
6779 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*/;
6780 if (UNTAG_Bool(REGB0)) {
6781 } else {
6782 nit_abort("Assert failed", NULL, LOCATE_parser, 1471);
6783 }
6784 /* parser/parser.nit:1473 */
6785 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]*/;
6786 if (UNTAG_Bool(REGB0)) {
6787 } else {
6788 nit_abort("Assert failed", NULL, LOCATE_parser, 1473);
6789 }
6790 /* parser/parser.nit:1474 */
6791 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6792 fra.me.REG[7] = fra.me.REG[4];
6793 /* parser/parser.nit:1476 */
6794 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]*/;
6795 if (UNTAG_Bool(REGB0)) {
6796 } else {
6797 nit_abort("Assert failed", NULL, LOCATE_parser, 1476);
6798 }
6799 /* parser/parser.nit:1477 */
6800 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
6801 fra.me.REG[8] = fra.me.REG[3];
6802 /* parser/parser.nit:1478 */
6803 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
6804 /* parser/parser.nit:1484 */
6805 fra.me.REG[2] = fra.me.REG[8];
6806 /* parser/parser.nit:1485 */
6807 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6808 if (UNTAG_Bool(REGB0)) {
6809 } else {
6810 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1485);
6811 }
6812 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6813 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6814 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6815 stack_frame_head = fra.me.prev;
6816 return;
6817 }
6818 static const char LOCATE_parser___ReduceAction14___action[] = "parser::ReduceAction14::(parser::ReduceAction::action)";
6819 void parser___ReduceAction14___action(val_t p0, val_t p1){
6820 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
6821 val_t REGB0;
6822 val_t tmp;
6823 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6824 fra.me.file = LOCATE_parser;
6825 fra.me.line = 1490;
6826 fra.me.meth = LOCATE_parser___ReduceAction14___action;
6827 fra.me.has_broke = 0;
6828 fra.me.REG_size = 9;
6829 fra.me.nitni_local_ref_head = NULL;
6830 fra.me.REG[0] = NIT_NULL;
6831 fra.me.REG[1] = NIT_NULL;
6832 fra.me.REG[2] = NIT_NULL;
6833 fra.me.REG[3] = NIT_NULL;
6834 fra.me.REG[4] = NIT_NULL;
6835 fra.me.REG[5] = NIT_NULL;
6836 fra.me.REG[6] = NIT_NULL;
6837 fra.me.REG[7] = NIT_NULL;
6838 fra.me.REG[8] = NIT_NULL;
6839 fra.me.REG[0] = p0;
6840 fra.me.REG[1] = p1;
6841 /* parser/parser.nit:1492 */
6842 fra.me.REG[2] = NIT_NULL;
6843 /* parser/parser.nit:1493 */
6844 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6845 /* parser/parser.nit:1494 */
6846 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6847 /* parser/parser.nit:1495 */
6848 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6849 /* parser/parser.nit:1496 */
6850 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
6851 /* parser/parser.nit:1497 */
6852 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6853 /* parser/parser.nit:1498 */
6854 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6855 /* parser/parser.nit:1500 */
6856 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]*/;
6857 if (UNTAG_Bool(REGB0)) {
6858 } else {
6859 nit_abort("Assert failed", NULL, LOCATE_parser, 1500);
6860 }
6861 /* parser/parser.nit:1501 */
6862 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
6863 fra.me.REG[6] = fra.me.REG[5];
6864 /* parser/parser.nit:1503 */
6865 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]*/;
6866 if (UNTAG_Bool(REGB0)) {
6867 } else {
6868 nit_abort("Assert failed", NULL, LOCATE_parser, 1503);
6869 }
6870 /* parser/parser.nit:1504 */
6871 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
6872 fra.me.REG[7] = fra.me.REG[4];
6873 /* parser/parser.nit:1506 */
6874 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]*/;
6875 if (UNTAG_Bool(REGB0)) {
6876 } else {
6877 nit_abort("Assert failed", NULL, LOCATE_parser, 1506);
6878 }
6879 /* parser/parser.nit:1507 */
6880 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
6881 fra.me.REG[8] = fra.me.REG[3];
6882 /* parser/parser.nit:1508 */
6883 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
6884 /* parser/parser.nit:1514 */
6885 fra.me.REG[2] = fra.me.REG[8];
6886 /* parser/parser.nit:1515 */
6887 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6888 if (UNTAG_Bool(REGB0)) {
6889 } else {
6890 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1515);
6891 }
6892 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6893 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6894 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6895 stack_frame_head = fra.me.prev;
6896 return;
6897 }
6898 static const char LOCATE_parser___ReduceAction15___action[] = "parser::ReduceAction15::(parser::ReduceAction::action)";
6899 void parser___ReduceAction15___action(val_t p0, val_t p1){
6900 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
6901 val_t REGB0;
6902 val_t tmp;
6903 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6904 fra.me.file = LOCATE_parser;
6905 fra.me.line = 1520;
6906 fra.me.meth = LOCATE_parser___ReduceAction15___action;
6907 fra.me.has_broke = 0;
6908 fra.me.REG_size = 10;
6909 fra.me.nitni_local_ref_head = NULL;
6910 fra.me.REG[0] = NIT_NULL;
6911 fra.me.REG[1] = NIT_NULL;
6912 fra.me.REG[2] = NIT_NULL;
6913 fra.me.REG[3] = NIT_NULL;
6914 fra.me.REG[4] = NIT_NULL;
6915 fra.me.REG[5] = NIT_NULL;
6916 fra.me.REG[6] = NIT_NULL;
6917 fra.me.REG[7] = NIT_NULL;
6918 fra.me.REG[8] = NIT_NULL;
6919 fra.me.REG[9] = NIT_NULL;
6920 fra.me.REG[0] = p0;
6921 fra.me.REG[1] = p1;
6922 /* parser/parser.nit:1522 */
6923 fra.me.REG[2] = NIT_NULL;
6924 /* parser/parser.nit:1523 */
6925 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6926 /* parser/parser.nit:1524 */
6927 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6928 /* parser/parser.nit:1525 */
6929 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6930 /* parser/parser.nit:1526 */
6931 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
6932 /* parser/parser.nit:1527 */
6933 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
6934 /* parser/parser.nit:1528 */
6935 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
6936 /* parser/parser.nit:1529 */
6937 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
6938 /* parser/parser.nit:1531 */
6939 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*/;
6940 if (UNTAG_Bool(REGB0)) {
6941 } else {
6942 nit_abort("Assert failed", NULL, LOCATE_parser, 1531);
6943 }
6944 /* parser/parser.nit:1533 */
6945 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]*/;
6946 if (UNTAG_Bool(REGB0)) {
6947 } else {
6948 nit_abort("Assert failed", NULL, LOCATE_parser, 1533);
6949 }
6950 /* parser/parser.nit:1534 */
6951 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
6952 fra.me.REG[7] = fra.me.REG[5];
6953 /* parser/parser.nit:1536 */
6954 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]*/;
6955 if (UNTAG_Bool(REGB0)) {
6956 } else {
6957 nit_abort("Assert failed", NULL, LOCATE_parser, 1536);
6958 }
6959 /* parser/parser.nit:1537 */
6960 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
6961 fra.me.REG[8] = fra.me.REG[4];
6962 /* parser/parser.nit:1539 */
6963 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]*/;
6964 if (UNTAG_Bool(REGB0)) {
6965 } else {
6966 nit_abort("Assert failed", NULL, LOCATE_parser, 1539);
6967 }
6968 /* parser/parser.nit:1540 */
6969 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
6970 fra.me.REG[9] = fra.me.REG[3];
6971 /* parser/parser.nit:1541 */
6972 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
6973 /* parser/parser.nit:1547 */
6974 fra.me.REG[2] = fra.me.REG[9];
6975 /* parser/parser.nit:1548 */
6976 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
6977 if (UNTAG_Bool(REGB0)) {
6978 } else {
6979 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1548);
6980 }
6981 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
6982 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
6983 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
6984 stack_frame_head = fra.me.prev;
6985 return;
6986 }
6987 static const char LOCATE_parser___ReduceAction16___action[] = "parser::ReduceAction16::(parser::ReduceAction::action)";
6988 void parser___ReduceAction16___action(val_t p0, val_t p1){
6989 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
6990 val_t REGB0;
6991 val_t REGB1;
6992 val_t tmp;
6993 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6994 fra.me.file = LOCATE_parser;
6995 fra.me.line = 1553;
6996 fra.me.meth = LOCATE_parser___ReduceAction16___action;
6997 fra.me.has_broke = 0;
6998 fra.me.REG_size = 8;
6999 fra.me.nitni_local_ref_head = NULL;
7000 fra.me.REG[0] = NIT_NULL;
7001 fra.me.REG[1] = NIT_NULL;
7002 fra.me.REG[2] = NIT_NULL;
7003 fra.me.REG[3] = NIT_NULL;
7004 fra.me.REG[4] = NIT_NULL;
7005 fra.me.REG[5] = NIT_NULL;
7006 fra.me.REG[6] = NIT_NULL;
7007 fra.me.REG[7] = NIT_NULL;
7008 fra.me.REG[0] = p0;
7009 fra.me.REG[1] = p1;
7010 /* parser/parser.nit:1555 */
7011 fra.me.REG[2] = NIT_NULL;
7012 /* parser/parser.nit:1556 */
7013 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7014 /* parser/parser.nit:1557 */
7015 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
7016 /* parser/parser.nit:1558 */
7017 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7018 /* parser/parser.nit:1559 */
7019 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7020 /* parser/parser.nit:1560 */
7021 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7022 /* parser/parser.nit:1562 */
7023 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]*/;
7024 if (UNTAG_Bool(REGB0)) {
7025 } else {
7026 nit_abort("Assert failed", NULL, LOCATE_parser, 1562);
7027 }
7028 /* parser/parser.nit:1563 */
7029 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
7030 fra.me.REG[7] = fra.me.REG[3];
7031 /* parser/parser.nit:1564 */
7032 fra.me.REG[7] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[7]);
7033 /* parser/parser.nit:1567 */
7034 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7035 if (UNTAG_Bool(REGB0)) {
7036 } else {
7037 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
7038 if (UNTAG_Bool(REGB1)) {
7039 REGB1 = TAG_Bool(0);
7040 REGB0 = REGB1;
7041 } else {
7042 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
7043 REGB0 = REGB1;
7044 }
7045 }
7046 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7047 if (UNTAG_Bool(REGB0)) {
7048 /* parser/parser.nit:1568 */
7049 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
7050 }
7051 /* parser/parser.nit:1570 */
7052 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
7053 /* parser/parser.nit:1576 */
7054 fra.me.REG[2] = fra.me.REG[6];
7055 /* parser/parser.nit:1577 */
7056 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7057 if (UNTAG_Bool(REGB0)) {
7058 } else {
7059 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1577);
7060 }
7061 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7062 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7063 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7064 stack_frame_head = fra.me.prev;
7065 return;
7066 }
7067 static const char LOCATE_parser___ReduceAction17___action[] = "parser::ReduceAction17::(parser::ReduceAction::action)";
7068 void parser___ReduceAction17___action(val_t p0, val_t p1){
7069 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7070 val_t REGB0;
7071 val_t REGB1;
7072 val_t tmp;
7073 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7074 fra.me.file = LOCATE_parser;
7075 fra.me.line = 1582;
7076 fra.me.meth = LOCATE_parser___ReduceAction17___action;
7077 fra.me.has_broke = 0;
7078 fra.me.REG_size = 9;
7079 fra.me.nitni_local_ref_head = NULL;
7080 fra.me.REG[0] = NIT_NULL;
7081 fra.me.REG[1] = NIT_NULL;
7082 fra.me.REG[2] = NIT_NULL;
7083 fra.me.REG[3] = NIT_NULL;
7084 fra.me.REG[4] = NIT_NULL;
7085 fra.me.REG[5] = NIT_NULL;
7086 fra.me.REG[6] = NIT_NULL;
7087 fra.me.REG[7] = NIT_NULL;
7088 fra.me.REG[8] = NIT_NULL;
7089 fra.me.REG[0] = p0;
7090 fra.me.REG[1] = p1;
7091 /* parser/parser.nit:1584 */
7092 fra.me.REG[2] = NIT_NULL;
7093 /* parser/parser.nit:1585 */
7094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7095 /* parser/parser.nit:1586 */
7096 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7097 /* parser/parser.nit:1587 */
7098 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7099 /* parser/parser.nit:1588 */
7100 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7101 /* parser/parser.nit:1589 */
7102 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7103 /* parser/parser.nit:1591 */
7104 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*/;
7105 if (UNTAG_Bool(REGB0)) {
7106 } else {
7107 nit_abort("Assert failed", NULL, LOCATE_parser, 1591);
7108 }
7109 /* parser/parser.nit:1592 */
7110 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7111 /* parser/parser.nit:1594 */
7112 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]*/;
7113 if (UNTAG_Bool(REGB0)) {
7114 } else {
7115 nit_abort("Assert failed", NULL, LOCATE_parser, 1594);
7116 }
7117 /* parser/parser.nit:1595 */
7118 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
7119 fra.me.REG[8] = fra.me.REG[3];
7120 /* parser/parser.nit:1596 */
7121 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
7122 /* parser/parser.nit:1599 */
7123 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7124 if (UNTAG_Bool(REGB0)) {
7125 } else {
7126 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7127 if (UNTAG_Bool(REGB1)) {
7128 REGB1 = TAG_Bool(0);
7129 REGB0 = REGB1;
7130 } else {
7131 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
7132 REGB0 = REGB1;
7133 }
7134 }
7135 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7136 if (UNTAG_Bool(REGB0)) {
7137 /* parser/parser.nit:1600 */
7138 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
7139 }
7140 /* parser/parser.nit:1602 */
7141 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
7142 /* parser/parser.nit:1608 */
7143 fra.me.REG[2] = fra.me.REG[7];
7144 /* parser/parser.nit:1609 */
7145 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7146 if (UNTAG_Bool(REGB0)) {
7147 } else {
7148 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1609);
7149 }
7150 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7151 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7152 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7153 stack_frame_head = fra.me.prev;
7154 return;
7155 }
7156 static const char LOCATE_parser___ReduceAction18___action[] = "parser::ReduceAction18::(parser::ReduceAction::action)";
7157 void parser___ReduceAction18___action(val_t p0, val_t p1){
7158 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7159 val_t REGB0;
7160 val_t REGB1;
7161 val_t tmp;
7162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7163 fra.me.file = LOCATE_parser;
7164 fra.me.line = 1614;
7165 fra.me.meth = LOCATE_parser___ReduceAction18___action;
7166 fra.me.has_broke = 0;
7167 fra.me.REG_size = 8;
7168 fra.me.nitni_local_ref_head = NULL;
7169 fra.me.REG[0] = NIT_NULL;
7170 fra.me.REG[1] = NIT_NULL;
7171 fra.me.REG[2] = NIT_NULL;
7172 fra.me.REG[3] = NIT_NULL;
7173 fra.me.REG[4] = NIT_NULL;
7174 fra.me.REG[5] = NIT_NULL;
7175 fra.me.REG[6] = NIT_NULL;
7176 fra.me.REG[7] = NIT_NULL;
7177 fra.me.REG[0] = p0;
7178 fra.me.REG[1] = p1;
7179 /* parser/parser.nit:1616 */
7180 fra.me.REG[2] = NIT_NULL;
7181 /* parser/parser.nit:1617 */
7182 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7183 /* parser/parser.nit:1618 */
7184 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7185 /* parser/parser.nit:1619 */
7186 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7187 /* parser/parser.nit:1620 */
7188 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7189 /* parser/parser.nit:1621 */
7190 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7191 /* parser/parser.nit:1623 */
7192 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]*/;
7193 if (UNTAG_Bool(REGB0)) {
7194 } else {
7195 nit_abort("Assert failed", NULL, LOCATE_parser, 1623);
7196 }
7197 /* parser/parser.nit:1624 */
7198 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
7199 fra.me.REG[5] = fra.me.REG[4];
7200 /* parser/parser.nit:1625 */
7201 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
7202 /* parser/parser.nit:1627 */
7203 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]*/;
7204 if (UNTAG_Bool(REGB0)) {
7205 } else {
7206 nit_abort("Assert failed", NULL, LOCATE_parser, 1627);
7207 }
7208 /* parser/parser.nit:1628 */
7209 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
7210 fra.me.REG[4] = fra.me.REG[3];
7211 /* parser/parser.nit:1629 */
7212 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
7213 /* parser/parser.nit:1632 */
7214 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7215 if (UNTAG_Bool(REGB0)) {
7216 } else {
7217 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7218 if (UNTAG_Bool(REGB1)) {
7219 REGB1 = TAG_Bool(0);
7220 REGB0 = REGB1;
7221 } else {
7222 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
7223 REGB0 = REGB1;
7224 }
7225 }
7226 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7227 if (UNTAG_Bool(REGB0)) {
7228 /* parser/parser.nit:1633 */
7229 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
7230 }
7231 /* parser/parser.nit:1635 */
7232 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
7233 /* parser/parser.nit:1641 */
7234 fra.me.REG[2] = fra.me.REG[7];
7235 /* parser/parser.nit:1642 */
7236 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7237 if (UNTAG_Bool(REGB0)) {
7238 } else {
7239 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1642);
7240 }
7241 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7242 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7243 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7244 stack_frame_head = fra.me.prev;
7245 return;
7246 }
7247 static const char LOCATE_parser___ReduceAction19___action[] = "parser::ReduceAction19::(parser::ReduceAction::action)";
7248 void parser___ReduceAction19___action(val_t p0, val_t p1){
7249 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7250 val_t REGB0;
7251 val_t REGB1;
7252 val_t tmp;
7253 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7254 fra.me.file = LOCATE_parser;
7255 fra.me.line = 1647;
7256 fra.me.meth = LOCATE_parser___ReduceAction19___action;
7257 fra.me.has_broke = 0;
7258 fra.me.REG_size = 9;
7259 fra.me.nitni_local_ref_head = NULL;
7260 fra.me.REG[0] = NIT_NULL;
7261 fra.me.REG[1] = NIT_NULL;
7262 fra.me.REG[2] = NIT_NULL;
7263 fra.me.REG[3] = NIT_NULL;
7264 fra.me.REG[4] = NIT_NULL;
7265 fra.me.REG[5] = NIT_NULL;
7266 fra.me.REG[6] = NIT_NULL;
7267 fra.me.REG[7] = NIT_NULL;
7268 fra.me.REG[8] = NIT_NULL;
7269 fra.me.REG[0] = p0;
7270 fra.me.REG[1] = p1;
7271 /* parser/parser.nit:1649 */
7272 fra.me.REG[2] = NIT_NULL;
7273 /* parser/parser.nit:1650 */
7274 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7275 /* parser/parser.nit:1651 */
7276 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7277 /* parser/parser.nit:1652 */
7278 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7279 /* parser/parser.nit:1653 */
7280 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7281 /* parser/parser.nit:1654 */
7282 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7283 /* parser/parser.nit:1655 */
7284 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7285 /* parser/parser.nit:1657 */
7286 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*/;
7287 if (UNTAG_Bool(REGB0)) {
7288 } else {
7289 nit_abort("Assert failed", NULL, LOCATE_parser, 1657);
7290 }
7291 /* parser/parser.nit:1659 */
7292 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]*/;
7293 if (UNTAG_Bool(REGB0)) {
7294 } else {
7295 nit_abort("Assert failed", NULL, LOCATE_parser, 1659);
7296 }
7297 /* parser/parser.nit:1660 */
7298 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
7299 fra.me.REG[6] = fra.me.REG[4];
7300 /* parser/parser.nit:1661 */
7301 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
7302 /* parser/parser.nit:1663 */
7303 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]*/;
7304 if (UNTAG_Bool(REGB0)) {
7305 } else {
7306 nit_abort("Assert failed", NULL, LOCATE_parser, 1663);
7307 }
7308 /* parser/parser.nit:1664 */
7309 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
7310 fra.me.REG[4] = fra.me.REG[3];
7311 /* parser/parser.nit:1665 */
7312 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
7313 /* parser/parser.nit:1668 */
7314 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7315 if (UNTAG_Bool(REGB0)) {
7316 } else {
7317 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7318 if (UNTAG_Bool(REGB1)) {
7319 REGB1 = TAG_Bool(0);
7320 REGB0 = REGB1;
7321 } else {
7322 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
7323 REGB0 = REGB1;
7324 }
7325 }
7326 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7327 if (UNTAG_Bool(REGB0)) {
7328 /* parser/parser.nit:1669 */
7329 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
7330 }
7331 /* parser/parser.nit:1671 */
7332 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7333 /* parser/parser.nit:1677 */
7334 fra.me.REG[2] = fra.me.REG[8];
7335 /* parser/parser.nit:1678 */
7336 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7337 if (UNTAG_Bool(REGB0)) {
7338 } else {
7339 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1678);
7340 }
7341 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7342 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7343 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7344 stack_frame_head = fra.me.prev;
7345 return;
7346 }
7347 static const char LOCATE_parser___ReduceAction20___action[] = "parser::ReduceAction20::(parser::ReduceAction::action)";
7348 void parser___ReduceAction20___action(val_t p0, val_t p1){
7349 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
7350 val_t REGB0;
7351 val_t REGB1;
7352 val_t tmp;
7353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7354 fra.me.file = LOCATE_parser;
7355 fra.me.line = 1683;
7356 fra.me.meth = LOCATE_parser___ReduceAction20___action;
7357 fra.me.has_broke = 0;
7358 fra.me.REG_size = 8;
7359 fra.me.nitni_local_ref_head = NULL;
7360 fra.me.REG[0] = NIT_NULL;
7361 fra.me.REG[1] = NIT_NULL;
7362 fra.me.REG[2] = NIT_NULL;
7363 fra.me.REG[3] = NIT_NULL;
7364 fra.me.REG[4] = NIT_NULL;
7365 fra.me.REG[5] = NIT_NULL;
7366 fra.me.REG[6] = NIT_NULL;
7367 fra.me.REG[7] = NIT_NULL;
7368 fra.me.REG[0] = p0;
7369 fra.me.REG[1] = p1;
7370 /* parser/parser.nit:1685 */
7371 fra.me.REG[2] = NIT_NULL;
7372 /* parser/parser.nit:1686 */
7373 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7374 /* parser/parser.nit:1687 */
7375 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7376 /* parser/parser.nit:1688 */
7377 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7378 /* parser/parser.nit:1689 */
7379 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7380 /* parser/parser.nit:1690 */
7381 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7382 /* parser/parser.nit:1692 */
7383 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]*/;
7384 if (UNTAG_Bool(REGB0)) {
7385 } else {
7386 nit_abort("Assert failed", NULL, LOCATE_parser, 1692);
7387 }
7388 /* parser/parser.nit:1693 */
7389 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
7390 fra.me.REG[6] = fra.me.REG[4];
7391 /* parser/parser.nit:1694 */
7392 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
7393 /* parser/parser.nit:1696 */
7394 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]*/;
7395 if (UNTAG_Bool(REGB0)) {
7396 } else {
7397 nit_abort("Assert failed", NULL, LOCATE_parser, 1696);
7398 }
7399 /* parser/parser.nit:1697 */
7400 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
7401 fra.me.REG[4] = fra.me.REG[3];
7402 /* parser/parser.nit:1698 */
7403 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
7404 /* parser/parser.nit:1701 */
7405 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7406 if (UNTAG_Bool(REGB0)) {
7407 } else {
7408 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7409 if (UNTAG_Bool(REGB1)) {
7410 REGB1 = TAG_Bool(0);
7411 REGB0 = REGB1;
7412 } else {
7413 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
7414 REGB0 = REGB1;
7415 }
7416 }
7417 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7418 if (UNTAG_Bool(REGB0)) {
7419 /* parser/parser.nit:1702 */
7420 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[4]);
7421 }
7422 /* parser/parser.nit:1704 */
7423 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
7424 /* parser/parser.nit:1710 */
7425 fra.me.REG[2] = fra.me.REG[7];
7426 /* parser/parser.nit:1711 */
7427 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7428 if (UNTAG_Bool(REGB0)) {
7429 } else {
7430 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1711);
7431 }
7432 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7433 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7434 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7435 stack_frame_head = fra.me.prev;
7436 return;
7437 }
7438 static const char LOCATE_parser___ReduceAction21___action[] = "parser::ReduceAction21::(parser::ReduceAction::action)";
7439 void parser___ReduceAction21___action(val_t p0, val_t p1){
7440 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7441 val_t REGB0;
7442 val_t REGB1;
7443 val_t tmp;
7444 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7445 fra.me.file = LOCATE_parser;
7446 fra.me.line = 1716;
7447 fra.me.meth = LOCATE_parser___ReduceAction21___action;
7448 fra.me.has_broke = 0;
7449 fra.me.REG_size = 9;
7450 fra.me.nitni_local_ref_head = NULL;
7451 fra.me.REG[0] = NIT_NULL;
7452 fra.me.REG[1] = NIT_NULL;
7453 fra.me.REG[2] = NIT_NULL;
7454 fra.me.REG[3] = NIT_NULL;
7455 fra.me.REG[4] = NIT_NULL;
7456 fra.me.REG[5] = NIT_NULL;
7457 fra.me.REG[6] = NIT_NULL;
7458 fra.me.REG[7] = NIT_NULL;
7459 fra.me.REG[8] = NIT_NULL;
7460 fra.me.REG[0] = p0;
7461 fra.me.REG[1] = p1;
7462 /* parser/parser.nit:1718 */
7463 fra.me.REG[2] = NIT_NULL;
7464 /* parser/parser.nit:1719 */
7465 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7466 /* parser/parser.nit:1720 */
7467 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7468 /* parser/parser.nit:1721 */
7469 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7470 /* parser/parser.nit:1722 */
7471 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7472 /* parser/parser.nit:1723 */
7473 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7474 /* parser/parser.nit:1724 */
7475 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7476 /* parser/parser.nit:1726 */
7477 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*/;
7478 if (UNTAG_Bool(REGB0)) {
7479 } else {
7480 nit_abort("Assert failed", NULL, LOCATE_parser, 1726);
7481 }
7482 /* parser/parser.nit:1728 */
7483 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]*/;
7484 if (UNTAG_Bool(REGB0)) {
7485 } else {
7486 nit_abort("Assert failed", NULL, LOCATE_parser, 1728);
7487 }
7488 /* parser/parser.nit:1729 */
7489 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
7490 fra.me.REG[7] = fra.me.REG[4];
7491 /* parser/parser.nit:1730 */
7492 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
7493 /* parser/parser.nit:1732 */
7494 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]*/;
7495 if (UNTAG_Bool(REGB0)) {
7496 } else {
7497 nit_abort("Assert failed", NULL, LOCATE_parser, 1732);
7498 }
7499 /* parser/parser.nit:1733 */
7500 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
7501 fra.me.REG[4] = fra.me.REG[3];
7502 /* parser/parser.nit:1734 */
7503 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
7504 /* parser/parser.nit:1737 */
7505 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7506 if (UNTAG_Bool(REGB0)) {
7507 } else {
7508 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7509 if (UNTAG_Bool(REGB1)) {
7510 REGB1 = TAG_Bool(0);
7511 REGB0 = REGB1;
7512 } else {
7513 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
7514 REGB0 = REGB1;
7515 }
7516 }
7517 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7518 if (UNTAG_Bool(REGB0)) {
7519 /* parser/parser.nit:1738 */
7520 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
7521 }
7522 /* parser/parser.nit:1740 */
7523 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7524 /* parser/parser.nit:1746 */
7525 fra.me.REG[2] = fra.me.REG[8];
7526 /* parser/parser.nit:1747 */
7527 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7528 if (UNTAG_Bool(REGB0)) {
7529 } else {
7530 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1747);
7531 }
7532 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7533 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7534 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7535 stack_frame_head = fra.me.prev;
7536 return;
7537 }
7538 static const char LOCATE_parser___ReduceAction22___action[] = "parser::ReduceAction22::(parser::ReduceAction::action)";
7539 void parser___ReduceAction22___action(val_t p0, val_t p1){
7540 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7541 val_t REGB0;
7542 val_t REGB1;
7543 val_t tmp;
7544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7545 fra.me.file = LOCATE_parser;
7546 fra.me.line = 1752;
7547 fra.me.meth = LOCATE_parser___ReduceAction22___action;
7548 fra.me.has_broke = 0;
7549 fra.me.REG_size = 9;
7550 fra.me.nitni_local_ref_head = NULL;
7551 fra.me.REG[0] = NIT_NULL;
7552 fra.me.REG[1] = NIT_NULL;
7553 fra.me.REG[2] = NIT_NULL;
7554 fra.me.REG[3] = NIT_NULL;
7555 fra.me.REG[4] = NIT_NULL;
7556 fra.me.REG[5] = NIT_NULL;
7557 fra.me.REG[6] = NIT_NULL;
7558 fra.me.REG[7] = NIT_NULL;
7559 fra.me.REG[8] = NIT_NULL;
7560 fra.me.REG[0] = p0;
7561 fra.me.REG[1] = p1;
7562 /* parser/parser.nit:1754 */
7563 fra.me.REG[2] = NIT_NULL;
7564 /* parser/parser.nit:1755 */
7565 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7566 /* parser/parser.nit:1756 */
7567 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7568 /* parser/parser.nit:1757 */
7569 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7570 /* parser/parser.nit:1758 */
7571 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7572 /* parser/parser.nit:1759 */
7573 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7574 /* parser/parser.nit:1760 */
7575 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7576 /* parser/parser.nit:1762 */
7577 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]*/;
7578 if (UNTAG_Bool(REGB0)) {
7579 } else {
7580 nit_abort("Assert failed", NULL, LOCATE_parser, 1762);
7581 }
7582 /* parser/parser.nit:1763 */
7583 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
7584 fra.me.REG[6] = fra.me.REG[5];
7585 /* parser/parser.nit:1765 */
7586 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]*/;
7587 if (UNTAG_Bool(REGB0)) {
7588 } else {
7589 nit_abort("Assert failed", NULL, LOCATE_parser, 1765);
7590 }
7591 /* parser/parser.nit:1766 */
7592 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
7593 fra.me.REG[7] = fra.me.REG[4];
7594 /* parser/parser.nit:1767 */
7595 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
7596 /* parser/parser.nit:1769 */
7597 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]*/;
7598 if (UNTAG_Bool(REGB0)) {
7599 } else {
7600 nit_abort("Assert failed", NULL, LOCATE_parser, 1769);
7601 }
7602 /* parser/parser.nit:1770 */
7603 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
7604 fra.me.REG[4] = fra.me.REG[3];
7605 /* parser/parser.nit:1771 */
7606 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
7607 /* parser/parser.nit:1774 */
7608 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7609 if (UNTAG_Bool(REGB0)) {
7610 } else {
7611 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7612 if (UNTAG_Bool(REGB1)) {
7613 REGB1 = TAG_Bool(0);
7614 REGB0 = REGB1;
7615 } else {
7616 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
7617 REGB0 = REGB1;
7618 }
7619 }
7620 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7621 if (UNTAG_Bool(REGB0)) {
7622 /* parser/parser.nit:1775 */
7623 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[4]);
7624 }
7625 /* parser/parser.nit:1777 */
7626 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7627 /* parser/parser.nit:1783 */
7628 fra.me.REG[2] = fra.me.REG[8];
7629 /* parser/parser.nit:1784 */
7630 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7631 if (UNTAG_Bool(REGB0)) {
7632 } else {
7633 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1784);
7634 }
7635 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7636 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7637 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7638 stack_frame_head = fra.me.prev;
7639 return;
7640 }
7641 static const char LOCATE_parser___ReduceAction23___action[] = "parser::ReduceAction23::(parser::ReduceAction::action)";
7642 void parser___ReduceAction23___action(val_t p0, val_t p1){
7643 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
7644 val_t REGB0;
7645 val_t REGB1;
7646 val_t tmp;
7647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7648 fra.me.file = LOCATE_parser;
7649 fra.me.line = 1789;
7650 fra.me.meth = LOCATE_parser___ReduceAction23___action;
7651 fra.me.has_broke = 0;
7652 fra.me.REG_size = 10;
7653 fra.me.nitni_local_ref_head = NULL;
7654 fra.me.REG[0] = NIT_NULL;
7655 fra.me.REG[1] = NIT_NULL;
7656 fra.me.REG[2] = NIT_NULL;
7657 fra.me.REG[3] = NIT_NULL;
7658 fra.me.REG[4] = NIT_NULL;
7659 fra.me.REG[5] = NIT_NULL;
7660 fra.me.REG[6] = NIT_NULL;
7661 fra.me.REG[7] = NIT_NULL;
7662 fra.me.REG[8] = NIT_NULL;
7663 fra.me.REG[9] = NIT_NULL;
7664 fra.me.REG[0] = p0;
7665 fra.me.REG[1] = p1;
7666 /* parser/parser.nit:1791 */
7667 fra.me.REG[2] = NIT_NULL;
7668 /* parser/parser.nit:1792 */
7669 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7670 /* parser/parser.nit:1793 */
7671 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7672 /* parser/parser.nit:1794 */
7673 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7674 /* parser/parser.nit:1795 */
7675 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7676 /* parser/parser.nit:1796 */
7677 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7678 /* parser/parser.nit:1797 */
7679 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7680 /* parser/parser.nit:1798 */
7681 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
7682 /* parser/parser.nit:1800 */
7683 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*/;
7684 if (UNTAG_Bool(REGB0)) {
7685 } else {
7686 nit_abort("Assert failed", NULL, LOCATE_parser, 1800);
7687 }
7688 /* parser/parser.nit:1802 */
7689 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]*/;
7690 if (UNTAG_Bool(REGB0)) {
7691 } else {
7692 nit_abort("Assert failed", NULL, LOCATE_parser, 1802);
7693 }
7694 /* parser/parser.nit:1803 */
7695 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
7696 fra.me.REG[7] = fra.me.REG[5];
7697 /* parser/parser.nit:1805 */
7698 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]*/;
7699 if (UNTAG_Bool(REGB0)) {
7700 } else {
7701 nit_abort("Assert failed", NULL, LOCATE_parser, 1805);
7702 }
7703 /* parser/parser.nit:1806 */
7704 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
7705 fra.me.REG[8] = fra.me.REG[4];
7706 /* parser/parser.nit:1807 */
7707 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
7708 /* parser/parser.nit:1809 */
7709 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]*/;
7710 if (UNTAG_Bool(REGB0)) {
7711 } else {
7712 nit_abort("Assert failed", NULL, LOCATE_parser, 1809);
7713 }
7714 /* parser/parser.nit:1810 */
7715 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
7716 fra.me.REG[4] = fra.me.REG[3];
7717 /* parser/parser.nit:1811 */
7718 fra.me.REG[4] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[4]);
7719 /* parser/parser.nit:1814 */
7720 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7721 if (UNTAG_Bool(REGB0)) {
7722 } else {
7723 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
7724 if (UNTAG_Bool(REGB1)) {
7725 REGB1 = TAG_Bool(0);
7726 REGB0 = REGB1;
7727 } else {
7728 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
7729 REGB0 = REGB1;
7730 }
7731 }
7732 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7733 if (UNTAG_Bool(REGB0)) {
7734 /* parser/parser.nit:1815 */
7735 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[4]);
7736 }
7737 /* parser/parser.nit:1817 */
7738 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
7739 /* parser/parser.nit:1823 */
7740 fra.me.REG[2] = fra.me.REG[9];
7741 /* parser/parser.nit:1824 */
7742 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7743 if (UNTAG_Bool(REGB0)) {
7744 } else {
7745 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1824);
7746 }
7747 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7748 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7749 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7750 stack_frame_head = fra.me.prev;
7751 return;
7752 }
7753 static const char LOCATE_parser___ReduceAction24___action[] = "parser::ReduceAction24::(parser::ReduceAction::action)";
7754 void parser___ReduceAction24___action(val_t p0, val_t p1){
7755 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7756 val_t REGB0;
7757 val_t REGB1;
7758 val_t tmp;
7759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7760 fra.me.file = LOCATE_parser;
7761 fra.me.line = 1829;
7762 fra.me.meth = LOCATE_parser___ReduceAction24___action;
7763 fra.me.has_broke = 0;
7764 fra.me.REG_size = 9;
7765 fra.me.nitni_local_ref_head = NULL;
7766 fra.me.REG[0] = NIT_NULL;
7767 fra.me.REG[1] = NIT_NULL;
7768 fra.me.REG[2] = NIT_NULL;
7769 fra.me.REG[3] = NIT_NULL;
7770 fra.me.REG[4] = NIT_NULL;
7771 fra.me.REG[5] = NIT_NULL;
7772 fra.me.REG[6] = NIT_NULL;
7773 fra.me.REG[7] = NIT_NULL;
7774 fra.me.REG[8] = NIT_NULL;
7775 fra.me.REG[0] = p0;
7776 fra.me.REG[1] = p1;
7777 /* parser/parser.nit:1831 */
7778 fra.me.REG[2] = NIT_NULL;
7779 /* parser/parser.nit:1832 */
7780 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7781 /* parser/parser.nit:1833 */
7782 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7783 /* parser/parser.nit:1834 */
7784 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
7785 /* parser/parser.nit:1835 */
7786 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7787 /* parser/parser.nit:1836 */
7788 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7789 /* parser/parser.nit:1838 */
7790 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]*/;
7791 if (UNTAG_Bool(REGB0)) {
7792 } else {
7793 nit_abort("Assert failed", NULL, LOCATE_parser, 1838);
7794 }
7795 /* parser/parser.nit:1839 */
7796 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7797 /* parser/parser.nit:1841 */
7798 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]*/;
7799 if (UNTAG_Bool(REGB0)) {
7800 } else {
7801 nit_abort("Assert failed", NULL, LOCATE_parser, 1841);
7802 }
7803 /* parser/parser.nit:1842 */
7804 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
7805 fra.me.REG[8] = fra.me.REG[3];
7806 /* parser/parser.nit:1843 */
7807 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
7808 /* parser/parser.nit:1846 */
7809 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
7810 fra.me.REG[7] = fra.me.REG[4];
7811 /* parser/parser.nit:1847 */
7812 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7813 if (UNTAG_Bool(REGB0)) {
7814 } else {
7815 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
7816 if (UNTAG_Bool(REGB1)) {
7817 REGB1 = TAG_Bool(0);
7818 REGB0 = REGB1;
7819 } else {
7820 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
7821 REGB0 = REGB1;
7822 }
7823 }
7824 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7825 if (UNTAG_Bool(REGB0)) {
7826 /* parser/parser.nit:1848 */
7827 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
7828 }
7829 /* parser/parser.nit:1850 */
7830 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
7831 /* parser/parser.nit:1856 */
7832 fra.me.REG[2] = fra.me.REG[7];
7833 /* parser/parser.nit:1857 */
7834 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7835 if (UNTAG_Bool(REGB0)) {
7836 } else {
7837 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1857);
7838 }
7839 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7840 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7841 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7842 stack_frame_head = fra.me.prev;
7843 return;
7844 }
7845 static const char LOCATE_parser___ReduceAction25___action[] = "parser::ReduceAction25::(parser::ReduceAction::action)";
7846 void parser___ReduceAction25___action(val_t p0, val_t p1){
7847 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
7848 val_t REGB0;
7849 val_t REGB1;
7850 val_t tmp;
7851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7852 fra.me.file = LOCATE_parser;
7853 fra.me.line = 1862;
7854 fra.me.meth = LOCATE_parser___ReduceAction25___action;
7855 fra.me.has_broke = 0;
7856 fra.me.REG_size = 10;
7857 fra.me.nitni_local_ref_head = NULL;
7858 fra.me.REG[0] = NIT_NULL;
7859 fra.me.REG[1] = NIT_NULL;
7860 fra.me.REG[2] = NIT_NULL;
7861 fra.me.REG[3] = NIT_NULL;
7862 fra.me.REG[4] = NIT_NULL;
7863 fra.me.REG[5] = NIT_NULL;
7864 fra.me.REG[6] = NIT_NULL;
7865 fra.me.REG[7] = NIT_NULL;
7866 fra.me.REG[8] = NIT_NULL;
7867 fra.me.REG[9] = NIT_NULL;
7868 fra.me.REG[0] = p0;
7869 fra.me.REG[1] = p1;
7870 /* parser/parser.nit:1864 */
7871 fra.me.REG[2] = NIT_NULL;
7872 /* parser/parser.nit:1865 */
7873 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7874 /* parser/parser.nit:1866 */
7875 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7876 /* parser/parser.nit:1867 */
7877 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7878 /* parser/parser.nit:1868 */
7879 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7880 /* parser/parser.nit:1869 */
7881 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7882 /* parser/parser.nit:1870 */
7883 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7884 /* parser/parser.nit:1872 */
7885 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*/;
7886 if (UNTAG_Bool(REGB0)) {
7887 } else {
7888 nit_abort("Assert failed", NULL, LOCATE_parser, 1872);
7889 }
7890 /* parser/parser.nit:1874 */
7891 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]*/;
7892 if (UNTAG_Bool(REGB0)) {
7893 } else {
7894 nit_abort("Assert failed", NULL, LOCATE_parser, 1874);
7895 }
7896 /* parser/parser.nit:1875 */
7897 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
7898 /* parser/parser.nit:1877 */
7899 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]*/;
7900 if (UNTAG_Bool(REGB0)) {
7901 } else {
7902 nit_abort("Assert failed", NULL, LOCATE_parser, 1877);
7903 }
7904 /* parser/parser.nit:1878 */
7905 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
7906 fra.me.REG[9] = fra.me.REG[3];
7907 /* parser/parser.nit:1879 */
7908 fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
7909 /* parser/parser.nit:1882 */
7910 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
7911 fra.me.REG[8] = fra.me.REG[4];
7912 /* parser/parser.nit:1883 */
7913 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
7914 if (UNTAG_Bool(REGB0)) {
7915 } else {
7916 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
7917 if (UNTAG_Bool(REGB1)) {
7918 REGB1 = TAG_Bool(0);
7919 REGB0 = REGB1;
7920 } else {
7921 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
7922 REGB0 = REGB1;
7923 }
7924 }
7925 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7926 if (UNTAG_Bool(REGB0)) {
7927 /* parser/parser.nit:1884 */
7928 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
7929 }
7930 /* parser/parser.nit:1886 */
7931 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
7932 /* parser/parser.nit:1892 */
7933 fra.me.REG[2] = fra.me.REG[8];
7934 /* parser/parser.nit:1893 */
7935 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
7936 if (UNTAG_Bool(REGB0)) {
7937 } else {
7938 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1893);
7939 }
7940 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
7941 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
7942 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
7943 stack_frame_head = fra.me.prev;
7944 return;
7945 }
7946 static const char LOCATE_parser___ReduceAction26___action[] = "parser::ReduceAction26::(parser::ReduceAction::action)";
7947 void parser___ReduceAction26___action(val_t p0, val_t p1){
7948 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
7949 val_t REGB0;
7950 val_t REGB1;
7951 val_t tmp;
7952 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7953 fra.me.file = LOCATE_parser;
7954 fra.me.line = 1898;
7955 fra.me.meth = LOCATE_parser___ReduceAction26___action;
7956 fra.me.has_broke = 0;
7957 fra.me.REG_size = 9;
7958 fra.me.nitni_local_ref_head = NULL;
7959 fra.me.REG[0] = NIT_NULL;
7960 fra.me.REG[1] = NIT_NULL;
7961 fra.me.REG[2] = NIT_NULL;
7962 fra.me.REG[3] = NIT_NULL;
7963 fra.me.REG[4] = NIT_NULL;
7964 fra.me.REG[5] = NIT_NULL;
7965 fra.me.REG[6] = NIT_NULL;
7966 fra.me.REG[7] = NIT_NULL;
7967 fra.me.REG[8] = NIT_NULL;
7968 fra.me.REG[0] = p0;
7969 fra.me.REG[1] = p1;
7970 /* parser/parser.nit:1900 */
7971 fra.me.REG[2] = NIT_NULL;
7972 /* parser/parser.nit:1901 */
7973 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7974 /* parser/parser.nit:1902 */
7975 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7976 /* parser/parser.nit:1903 */
7977 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
7978 /* parser/parser.nit:1904 */
7979 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
7980 /* parser/parser.nit:1905 */
7981 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
7982 /* parser/parser.nit:1906 */
7983 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
7984 /* parser/parser.nit:1908 */
7985 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]*/;
7986 if (UNTAG_Bool(REGB0)) {
7987 } else {
7988 nit_abort("Assert failed", NULL, LOCATE_parser, 1908);
7989 }
7990 /* parser/parser.nit:1909 */
7991 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
7992 fra.me.REG[6] = fra.me.REG[5];
7993 /* parser/parser.nit:1911 */
7994 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]*/;
7995 if (UNTAG_Bool(REGB0)) {
7996 } else {
7997 nit_abort("Assert failed", NULL, LOCATE_parser, 1911);
7998 }
7999 /* parser/parser.nit:1912 */
8000 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8001 /* parser/parser.nit:1914 */
8002 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]*/;
8003 if (UNTAG_Bool(REGB0)) {
8004 } else {
8005 nit_abort("Assert failed", NULL, LOCATE_parser, 1914);
8006 }
8007 /* parser/parser.nit:1915 */
8008 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
8009 fra.me.REG[5] = fra.me.REG[3];
8010 /* parser/parser.nit:1916 */
8011 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
8012 /* parser/parser.nit:1919 */
8013 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
8014 fra.me.REG[8] = fra.me.REG[4];
8015 /* parser/parser.nit:1920 */
8016 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8017 if (UNTAG_Bool(REGB0)) {
8018 } else {
8019 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8020 if (UNTAG_Bool(REGB1)) {
8021 REGB1 = TAG_Bool(0);
8022 REGB0 = REGB1;
8023 } else {
8024 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
8025 REGB0 = REGB1;
8026 }
8027 }
8028 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8029 if (UNTAG_Bool(REGB0)) {
8030 /* parser/parser.nit:1921 */
8031 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
8032 }
8033 /* parser/parser.nit:1923 */
8034 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
8035 /* parser/parser.nit:1929 */
8036 fra.me.REG[2] = fra.me.REG[8];
8037 /* parser/parser.nit:1930 */
8038 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8039 if (UNTAG_Bool(REGB0)) {
8040 } else {
8041 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1930);
8042 }
8043 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8044 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8045 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8046 stack_frame_head = fra.me.prev;
8047 return;
8048 }
8049 static const char LOCATE_parser___ReduceAction27___action[] = "parser::ReduceAction27::(parser::ReduceAction::action)";
8050 void parser___ReduceAction27___action(val_t p0, val_t p1){
8051 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
8052 val_t REGB0;
8053 val_t REGB1;
8054 val_t tmp;
8055 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8056 fra.me.file = LOCATE_parser;
8057 fra.me.line = 1935;
8058 fra.me.meth = LOCATE_parser___ReduceAction27___action;
8059 fra.me.has_broke = 0;
8060 fra.me.REG_size = 10;
8061 fra.me.nitni_local_ref_head = NULL;
8062 fra.me.REG[0] = NIT_NULL;
8063 fra.me.REG[1] = NIT_NULL;
8064 fra.me.REG[2] = NIT_NULL;
8065 fra.me.REG[3] = NIT_NULL;
8066 fra.me.REG[4] = NIT_NULL;
8067 fra.me.REG[5] = NIT_NULL;
8068 fra.me.REG[6] = NIT_NULL;
8069 fra.me.REG[7] = NIT_NULL;
8070 fra.me.REG[8] = NIT_NULL;
8071 fra.me.REG[9] = NIT_NULL;
8072 fra.me.REG[0] = p0;
8073 fra.me.REG[1] = p1;
8074 /* parser/parser.nit:1937 */
8075 fra.me.REG[2] = NIT_NULL;
8076 /* parser/parser.nit:1938 */
8077 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8078 /* parser/parser.nit:1939 */
8079 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8080 /* parser/parser.nit:1940 */
8081 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8082 /* parser/parser.nit:1941 */
8083 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8084 /* parser/parser.nit:1942 */
8085 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8086 /* parser/parser.nit:1943 */
8087 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8088 /* parser/parser.nit:1944 */
8089 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8090 /* parser/parser.nit:1946 */
8091 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*/;
8092 if (UNTAG_Bool(REGB0)) {
8093 } else {
8094 nit_abort("Assert failed", NULL, LOCATE_parser, 1946);
8095 }
8096 /* parser/parser.nit:1948 */
8097 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]*/;
8098 if (UNTAG_Bool(REGB0)) {
8099 } else {
8100 nit_abort("Assert failed", NULL, LOCATE_parser, 1948);
8101 }
8102 /* parser/parser.nit:1949 */
8103 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
8104 fra.me.REG[7] = fra.me.REG[5];
8105 /* parser/parser.nit:1951 */
8106 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]*/;
8107 if (UNTAG_Bool(REGB0)) {
8108 } else {
8109 nit_abort("Assert failed", NULL, LOCATE_parser, 1951);
8110 }
8111 /* parser/parser.nit:1952 */
8112 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8113 /* parser/parser.nit:1954 */
8114 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]*/;
8115 if (UNTAG_Bool(REGB0)) {
8116 } else {
8117 nit_abort("Assert failed", NULL, LOCATE_parser, 1954);
8118 }
8119 /* parser/parser.nit:1955 */
8120 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
8121 fra.me.REG[5] = fra.me.REG[3];
8122 /* parser/parser.nit:1956 */
8123 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
8124 /* parser/parser.nit:1959 */
8125 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
8126 fra.me.REG[9] = fra.me.REG[4];
8127 /* parser/parser.nit:1960 */
8128 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8129 if (UNTAG_Bool(REGB0)) {
8130 } else {
8131 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8132 if (UNTAG_Bool(REGB1)) {
8133 REGB1 = TAG_Bool(0);
8134 REGB0 = REGB1;
8135 } else {
8136 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
8137 REGB0 = REGB1;
8138 }
8139 }
8140 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8141 if (UNTAG_Bool(REGB0)) {
8142 /* parser/parser.nit:1961 */
8143 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
8144 }
8145 /* parser/parser.nit:1963 */
8146 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
8147 /* parser/parser.nit:1969 */
8148 fra.me.REG[2] = fra.me.REG[9];
8149 /* parser/parser.nit:1970 */
8150 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8151 if (UNTAG_Bool(REGB0)) {
8152 } else {
8153 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 1970);
8154 }
8155 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8156 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8157 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8158 stack_frame_head = fra.me.prev;
8159 return;
8160 }
8161 static const char LOCATE_parser___ReduceAction28___action[] = "parser::ReduceAction28::(parser::ReduceAction::action)";
8162 void parser___ReduceAction28___action(val_t p0, val_t p1){
8163 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
8164 val_t REGB0;
8165 val_t REGB1;
8166 val_t tmp;
8167 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8168 fra.me.file = LOCATE_parser;
8169 fra.me.line = 1975;
8170 fra.me.meth = LOCATE_parser___ReduceAction28___action;
8171 fra.me.has_broke = 0;
8172 fra.me.REG_size = 9;
8173 fra.me.nitni_local_ref_head = NULL;
8174 fra.me.REG[0] = NIT_NULL;
8175 fra.me.REG[1] = NIT_NULL;
8176 fra.me.REG[2] = NIT_NULL;
8177 fra.me.REG[3] = NIT_NULL;
8178 fra.me.REG[4] = NIT_NULL;
8179 fra.me.REG[5] = NIT_NULL;
8180 fra.me.REG[6] = NIT_NULL;
8181 fra.me.REG[7] = NIT_NULL;
8182 fra.me.REG[8] = NIT_NULL;
8183 fra.me.REG[0] = p0;
8184 fra.me.REG[1] = p1;
8185 /* parser/parser.nit:1977 */
8186 fra.me.REG[2] = NIT_NULL;
8187 /* parser/parser.nit:1978 */
8188 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8189 /* parser/parser.nit:1979 */
8190 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8191 /* parser/parser.nit:1980 */
8192 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8193 /* parser/parser.nit:1981 */
8194 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8195 /* parser/parser.nit:1982 */
8196 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8197 /* parser/parser.nit:1983 */
8198 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8199 /* parser/parser.nit:1985 */
8200 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]*/;
8201 if (UNTAG_Bool(REGB0)) {
8202 } else {
8203 nit_abort("Assert failed", NULL, LOCATE_parser, 1985);
8204 }
8205 /* parser/parser.nit:1986 */
8206 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
8207 fra.me.REG[7] = fra.me.REG[5];
8208 /* parser/parser.nit:1988 */
8209 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]*/;
8210 if (UNTAG_Bool(REGB0)) {
8211 } else {
8212 nit_abort("Assert failed", NULL, LOCATE_parser, 1988);
8213 }
8214 /* parser/parser.nit:1989 */
8215 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8216 /* parser/parser.nit:1991 */
8217 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]*/;
8218 if (UNTAG_Bool(REGB0)) {
8219 } else {
8220 nit_abort("Assert failed", NULL, LOCATE_parser, 1991);
8221 }
8222 /* parser/parser.nit:1992 */
8223 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
8224 fra.me.REG[5] = fra.me.REG[3];
8225 /* parser/parser.nit:1993 */
8226 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
8227 /* parser/parser.nit:1996 */
8228 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
8229 fra.me.REG[8] = fra.me.REG[4];
8230 /* parser/parser.nit:1997 */
8231 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8232 if (UNTAG_Bool(REGB0)) {
8233 } else {
8234 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8235 if (UNTAG_Bool(REGB1)) {
8236 REGB1 = TAG_Bool(0);
8237 REGB0 = REGB1;
8238 } else {
8239 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
8240 REGB0 = REGB1;
8241 }
8242 }
8243 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8244 if (UNTAG_Bool(REGB0)) {
8245 /* parser/parser.nit:1998 */
8246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
8247 }
8248 /* parser/parser.nit:2000 */
8249 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
8250 /* parser/parser.nit:2006 */
8251 fra.me.REG[2] = fra.me.REG[8];
8252 /* parser/parser.nit:2007 */
8253 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8254 if (UNTAG_Bool(REGB0)) {
8255 } else {
8256 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2007);
8257 }
8258 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8259 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8260 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8261 stack_frame_head = fra.me.prev;
8262 return;
8263 }
8264 static const char LOCATE_parser___ReduceAction29___action[] = "parser::ReduceAction29::(parser::ReduceAction::action)";
8265 void parser___ReduceAction29___action(val_t p0, val_t p1){
8266 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
8267 val_t REGB0;
8268 val_t REGB1;
8269 val_t tmp;
8270 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8271 fra.me.file = LOCATE_parser;
8272 fra.me.line = 2012;
8273 fra.me.meth = LOCATE_parser___ReduceAction29___action;
8274 fra.me.has_broke = 0;
8275 fra.me.REG_size = 10;
8276 fra.me.nitni_local_ref_head = NULL;
8277 fra.me.REG[0] = NIT_NULL;
8278 fra.me.REG[1] = NIT_NULL;
8279 fra.me.REG[2] = NIT_NULL;
8280 fra.me.REG[3] = NIT_NULL;
8281 fra.me.REG[4] = NIT_NULL;
8282 fra.me.REG[5] = NIT_NULL;
8283 fra.me.REG[6] = NIT_NULL;
8284 fra.me.REG[7] = NIT_NULL;
8285 fra.me.REG[8] = NIT_NULL;
8286 fra.me.REG[9] = NIT_NULL;
8287 fra.me.REG[0] = p0;
8288 fra.me.REG[1] = p1;
8289 /* parser/parser.nit:2014 */
8290 fra.me.REG[2] = NIT_NULL;
8291 /* parser/parser.nit:2015 */
8292 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8293 /* parser/parser.nit:2016 */
8294 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8295 /* parser/parser.nit:2017 */
8296 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8297 /* parser/parser.nit:2018 */
8298 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8299 /* parser/parser.nit:2019 */
8300 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8301 /* parser/parser.nit:2020 */
8302 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8303 /* parser/parser.nit:2021 */
8304 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8305 /* parser/parser.nit:2023 */
8306 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*/;
8307 if (UNTAG_Bool(REGB0)) {
8308 } else {
8309 nit_abort("Assert failed", NULL, LOCATE_parser, 2023);
8310 }
8311 /* parser/parser.nit:2025 */
8312 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]*/;
8313 if (UNTAG_Bool(REGB0)) {
8314 } else {
8315 nit_abort("Assert failed", NULL, LOCATE_parser, 2025);
8316 }
8317 /* parser/parser.nit:2026 */
8318 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
8319 fra.me.REG[8] = fra.me.REG[5];
8320 /* parser/parser.nit:2028 */
8321 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]*/;
8322 if (UNTAG_Bool(REGB0)) {
8323 } else {
8324 nit_abort("Assert failed", NULL, LOCATE_parser, 2028);
8325 }
8326 /* parser/parser.nit:2029 */
8327 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8328 /* parser/parser.nit:2031 */
8329 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]*/;
8330 if (UNTAG_Bool(REGB0)) {
8331 } else {
8332 nit_abort("Assert failed", NULL, LOCATE_parser, 2031);
8333 }
8334 /* parser/parser.nit:2032 */
8335 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
8336 fra.me.REG[5] = fra.me.REG[3];
8337 /* parser/parser.nit:2033 */
8338 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
8339 /* parser/parser.nit:2036 */
8340 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
8341 fra.me.REG[9] = fra.me.REG[4];
8342 /* parser/parser.nit:2037 */
8343 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8344 if (UNTAG_Bool(REGB0)) {
8345 } else {
8346 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8347 if (UNTAG_Bool(REGB1)) {
8348 REGB1 = TAG_Bool(0);
8349 REGB0 = REGB1;
8350 } else {
8351 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
8352 REGB0 = REGB1;
8353 }
8354 }
8355 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8356 if (UNTAG_Bool(REGB0)) {
8357 /* parser/parser.nit:2038 */
8358 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
8359 }
8360 /* parser/parser.nit:2040 */
8361 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
8362 /* parser/parser.nit:2046 */
8363 fra.me.REG[2] = fra.me.REG[9];
8364 /* parser/parser.nit:2047 */
8365 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8366 if (UNTAG_Bool(REGB0)) {
8367 } else {
8368 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2047);
8369 }
8370 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8371 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8372 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8373 stack_frame_head = fra.me.prev;
8374 return;
8375 }
8376 static const char LOCATE_parser___ReduceAction30___action[] = "parser::ReduceAction30::(parser::ReduceAction::action)";
8377 void parser___ReduceAction30___action(val_t p0, val_t p1){
8378 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
8379 val_t REGB0;
8380 val_t REGB1;
8381 val_t tmp;
8382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8383 fra.me.file = LOCATE_parser;
8384 fra.me.line = 2052;
8385 fra.me.meth = LOCATE_parser___ReduceAction30___action;
8386 fra.me.has_broke = 0;
8387 fra.me.REG_size = 10;
8388 fra.me.nitni_local_ref_head = NULL;
8389 fra.me.REG[0] = NIT_NULL;
8390 fra.me.REG[1] = NIT_NULL;
8391 fra.me.REG[2] = NIT_NULL;
8392 fra.me.REG[3] = NIT_NULL;
8393 fra.me.REG[4] = NIT_NULL;
8394 fra.me.REG[5] = NIT_NULL;
8395 fra.me.REG[6] = NIT_NULL;
8396 fra.me.REG[7] = NIT_NULL;
8397 fra.me.REG[8] = NIT_NULL;
8398 fra.me.REG[9] = NIT_NULL;
8399 fra.me.REG[0] = p0;
8400 fra.me.REG[1] = p1;
8401 /* parser/parser.nit:2054 */
8402 fra.me.REG[2] = NIT_NULL;
8403 /* parser/parser.nit:2055 */
8404 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8405 /* parser/parser.nit:2056 */
8406 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8407 /* parser/parser.nit:2057 */
8408 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8409 /* parser/parser.nit:2058 */
8410 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8411 /* parser/parser.nit:2059 */
8412 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8413 /* parser/parser.nit:2060 */
8414 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8415 /* parser/parser.nit:2061 */
8416 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8417 /* parser/parser.nit:2063 */
8418 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]*/;
8419 if (UNTAG_Bool(REGB0)) {
8420 } else {
8421 nit_abort("Assert failed", NULL, LOCATE_parser, 2063);
8422 }
8423 /* parser/parser.nit:2064 */
8424 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
8425 fra.me.REG[7] = fra.me.REG[6];
8426 /* parser/parser.nit:2066 */
8427 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]*/;
8428 if (UNTAG_Bool(REGB0)) {
8429 } else {
8430 nit_abort("Assert failed", NULL, LOCATE_parser, 2066);
8431 }
8432 /* parser/parser.nit:2067 */
8433 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
8434 fra.me.REG[8] = fra.me.REG[5];
8435 /* parser/parser.nit:2069 */
8436 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]*/;
8437 if (UNTAG_Bool(REGB0)) {
8438 } else {
8439 nit_abort("Assert failed", NULL, LOCATE_parser, 2069);
8440 }
8441 /* parser/parser.nit:2070 */
8442 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8443 /* parser/parser.nit:2072 */
8444 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]*/;
8445 if (UNTAG_Bool(REGB0)) {
8446 } else {
8447 nit_abort("Assert failed", NULL, LOCATE_parser, 2072);
8448 }
8449 /* parser/parser.nit:2073 */
8450 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
8451 fra.me.REG[5] = fra.me.REG[3];
8452 /* parser/parser.nit:2074 */
8453 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
8454 /* parser/parser.nit:2077 */
8455 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
8456 fra.me.REG[9] = fra.me.REG[4];
8457 /* parser/parser.nit:2078 */
8458 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8459 if (UNTAG_Bool(REGB0)) {
8460 } else {
8461 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8462 if (UNTAG_Bool(REGB1)) {
8463 REGB1 = TAG_Bool(0);
8464 REGB0 = REGB1;
8465 } else {
8466 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
8467 REGB0 = REGB1;
8468 }
8469 }
8470 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8471 if (UNTAG_Bool(REGB0)) {
8472 /* parser/parser.nit:2079 */
8473 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
8474 }
8475 /* parser/parser.nit:2081 */
8476 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
8477 /* parser/parser.nit:2087 */
8478 fra.me.REG[2] = fra.me.REG[9];
8479 /* parser/parser.nit:2088 */
8480 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8481 if (UNTAG_Bool(REGB0)) {
8482 } else {
8483 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2088);
8484 }
8485 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8486 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8487 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8488 stack_frame_head = fra.me.prev;
8489 return;
8490 }
8491 static const char LOCATE_parser___ReduceAction31___action[] = "parser::ReduceAction31::(parser::ReduceAction::action)";
8492 void parser___ReduceAction31___action(val_t p0, val_t p1){
8493 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
8494 val_t REGB0;
8495 val_t REGB1;
8496 val_t tmp;
8497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8498 fra.me.file = LOCATE_parser;
8499 fra.me.line = 2093;
8500 fra.me.meth = LOCATE_parser___ReduceAction31___action;
8501 fra.me.has_broke = 0;
8502 fra.me.REG_size = 11;
8503 fra.me.nitni_local_ref_head = NULL;
8504 fra.me.REG[0] = NIT_NULL;
8505 fra.me.REG[1] = NIT_NULL;
8506 fra.me.REG[2] = NIT_NULL;
8507 fra.me.REG[3] = NIT_NULL;
8508 fra.me.REG[4] = NIT_NULL;
8509 fra.me.REG[5] = NIT_NULL;
8510 fra.me.REG[6] = NIT_NULL;
8511 fra.me.REG[7] = NIT_NULL;
8512 fra.me.REG[8] = NIT_NULL;
8513 fra.me.REG[9] = NIT_NULL;
8514 fra.me.REG[10] = NIT_NULL;
8515 fra.me.REG[0] = p0;
8516 fra.me.REG[1] = p1;
8517 /* parser/parser.nit:2095 */
8518 fra.me.REG[2] = NIT_NULL;
8519 /* parser/parser.nit:2096 */
8520 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8521 /* parser/parser.nit:2097 */
8522 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8523 /* parser/parser.nit:2098 */
8524 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8525 /* parser/parser.nit:2099 */
8526 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8527 /* parser/parser.nit:2100 */
8528 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8529 /* parser/parser.nit:2101 */
8530 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8531 /* parser/parser.nit:2102 */
8532 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
8533 /* parser/parser.nit:2103 */
8534 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
8535 /* parser/parser.nit:2105 */
8536 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*/;
8537 if (UNTAG_Bool(REGB0)) {
8538 } else {
8539 nit_abort("Assert failed", NULL, LOCATE_parser, 2105);
8540 }
8541 /* parser/parser.nit:2107 */
8542 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]*/;
8543 if (UNTAG_Bool(REGB0)) {
8544 } else {
8545 nit_abort("Assert failed", NULL, LOCATE_parser, 2107);
8546 }
8547 /* parser/parser.nit:2108 */
8548 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
8549 fra.me.REG[8] = fra.me.REG[6];
8550 /* parser/parser.nit:2110 */
8551 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]*/;
8552 if (UNTAG_Bool(REGB0)) {
8553 } else {
8554 nit_abort("Assert failed", NULL, LOCATE_parser, 2110);
8555 }
8556 /* parser/parser.nit:2111 */
8557 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
8558 fra.me.REG[9] = fra.me.REG[5];
8559 /* parser/parser.nit:2113 */
8560 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]*/;
8561 if (UNTAG_Bool(REGB0)) {
8562 } else {
8563 nit_abort("Assert failed", NULL, LOCATE_parser, 2113);
8564 }
8565 /* parser/parser.nit:2114 */
8566 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8567 /* parser/parser.nit:2116 */
8568 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]*/;
8569 if (UNTAG_Bool(REGB0)) {
8570 } else {
8571 nit_abort("Assert failed", NULL, LOCATE_parser, 2116);
8572 }
8573 /* parser/parser.nit:2117 */
8574 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
8575 fra.me.REG[5] = fra.me.REG[3];
8576 /* parser/parser.nit:2118 */
8577 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
8578 /* parser/parser.nit:2121 */
8579 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
8580 fra.me.REG[10] = fra.me.REG[4];
8581 /* parser/parser.nit:2122 */
8582 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8583 if (UNTAG_Bool(REGB0)) {
8584 } else {
8585 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8586 if (UNTAG_Bool(REGB1)) {
8587 REGB1 = TAG_Bool(0);
8588 REGB0 = REGB1;
8589 } else {
8590 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
8591 REGB0 = REGB1;
8592 }
8593 }
8594 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8595 if (UNTAG_Bool(REGB0)) {
8596 /* parser/parser.nit:2123 */
8597 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[5]);
8598 }
8599 /* parser/parser.nit:2125 */
8600 fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
8601 /* parser/parser.nit:2131 */
8602 fra.me.REG[2] = fra.me.REG[10];
8603 /* parser/parser.nit:2132 */
8604 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8605 if (UNTAG_Bool(REGB0)) {
8606 } else {
8607 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2132);
8608 }
8609 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8610 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8611 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8612 stack_frame_head = fra.me.prev;
8613 return;
8614 }
8615 static const char LOCATE_parser___ReduceAction32___action[] = "parser::ReduceAction32::(parser::ReduceAction::action)";
8616 void parser___ReduceAction32___action(val_t p0, val_t p1){
8617 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
8618 val_t REGB0;
8619 val_t REGB1;
8620 val_t tmp;
8621 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8622 fra.me.file = LOCATE_parser;
8623 fra.me.line = 2137;
8624 fra.me.meth = LOCATE_parser___ReduceAction32___action;
8625 fra.me.has_broke = 0;
8626 fra.me.REG_size = 7;
8627 fra.me.nitni_local_ref_head = NULL;
8628 fra.me.REG[0] = NIT_NULL;
8629 fra.me.REG[1] = NIT_NULL;
8630 fra.me.REG[2] = NIT_NULL;
8631 fra.me.REG[3] = NIT_NULL;
8632 fra.me.REG[4] = NIT_NULL;
8633 fra.me.REG[5] = NIT_NULL;
8634 fra.me.REG[6] = NIT_NULL;
8635 fra.me.REG[0] = p0;
8636 fra.me.REG[1] = p1;
8637 /* parser/parser.nit:2139 */
8638 fra.me.REG[2] = NIT_NULL;
8639 /* parser/parser.nit:2140 */
8640 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8641 /* parser/parser.nit:2141 */
8642 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
8643 /* parser/parser.nit:2142 */
8644 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8645 /* parser/parser.nit:2143 */
8646 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8647 /* parser/parser.nit:2145 */
8648 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*/;
8649 if (UNTAG_Bool(REGB0)) {
8650 } else {
8651 nit_abort("Assert failed", NULL, LOCATE_parser, 2145);
8652 }
8653 /* parser/parser.nit:2146 */
8654 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8655 if (UNTAG_Bool(REGB0)) {
8656 } else {
8657 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8658 if (UNTAG_Bool(REGB1)) {
8659 REGB1 = TAG_Bool(0);
8660 REGB0 = REGB1;
8661 } else {
8662 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8663 REGB0 = REGB1;
8664 }
8665 }
8666 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8667 if (UNTAG_Bool(REGB0)) {
8668 /* parser/parser.nit:2147 */
8669 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
8670 }
8671 /* parser/parser.nit:2149 */
8672 fra.me.REG[6] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[4], fra.me.REG[5], fra.me.REG[6]);
8673 /* parser/parser.nit:2155 */
8674 fra.me.REG[2] = fra.me.REG[6];
8675 /* parser/parser.nit:2156 */
8676 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8677 if (UNTAG_Bool(REGB0)) {
8678 } else {
8679 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2156);
8680 }
8681 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8682 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8683 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8684 stack_frame_head = fra.me.prev;
8685 return;
8686 }
8687 static const char LOCATE_parser___ReduceAction33___action[] = "parser::ReduceAction33::(parser::ReduceAction::action)";
8688 void parser___ReduceAction33___action(val_t p0, val_t p1){
8689 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8690 val_t REGB0;
8691 val_t REGB1;
8692 val_t tmp;
8693 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8694 fra.me.file = LOCATE_parser;
8695 fra.me.line = 2161;
8696 fra.me.meth = LOCATE_parser___ReduceAction33___action;
8697 fra.me.has_broke = 0;
8698 fra.me.REG_size = 8;
8699 fra.me.nitni_local_ref_head = NULL;
8700 fra.me.REG[0] = NIT_NULL;
8701 fra.me.REG[1] = NIT_NULL;
8702 fra.me.REG[2] = NIT_NULL;
8703 fra.me.REG[3] = NIT_NULL;
8704 fra.me.REG[4] = NIT_NULL;
8705 fra.me.REG[5] = NIT_NULL;
8706 fra.me.REG[6] = NIT_NULL;
8707 fra.me.REG[7] = NIT_NULL;
8708 fra.me.REG[0] = p0;
8709 fra.me.REG[1] = p1;
8710 /* parser/parser.nit:2163 */
8711 fra.me.REG[2] = NIT_NULL;
8712 /* parser/parser.nit:2164 */
8713 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8714 /* parser/parser.nit:2165 */
8715 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8716 /* parser/parser.nit:2166 */
8717 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8718 /* parser/parser.nit:2167 */
8719 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8720 /* parser/parser.nit:2168 */
8721 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8722 /* parser/parser.nit:2170 */
8723 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*/;
8724 if (UNTAG_Bool(REGB0)) {
8725 } else {
8726 nit_abort("Assert failed", NULL, LOCATE_parser, 2170);
8727 }
8728 /* parser/parser.nit:2172 */
8729 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*/;
8730 if (UNTAG_Bool(REGB0)) {
8731 } else {
8732 nit_abort("Assert failed", NULL, LOCATE_parser, 2172);
8733 }
8734 /* parser/parser.nit:2173 */
8735 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8736 if (UNTAG_Bool(REGB0)) {
8737 } else {
8738 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8739 if (UNTAG_Bool(REGB1)) {
8740 REGB1 = TAG_Bool(0);
8741 REGB0 = REGB1;
8742 } else {
8743 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8744 REGB0 = REGB1;
8745 }
8746 }
8747 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8748 if (UNTAG_Bool(REGB0)) {
8749 /* parser/parser.nit:2174 */
8750 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
8751 }
8752 /* parser/parser.nit:2176 */
8753 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[4], fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
8754 /* parser/parser.nit:2182 */
8755 fra.me.REG[2] = fra.me.REG[7];
8756 /* parser/parser.nit:2183 */
8757 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8758 if (UNTAG_Bool(REGB0)) {
8759 } else {
8760 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2183);
8761 }
8762 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8763 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8764 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8765 stack_frame_head = fra.me.prev;
8766 return;
8767 }
8768 static const char LOCATE_parser___ReduceAction34___action[] = "parser::ReduceAction34::(parser::ReduceAction::action)";
8769 void parser___ReduceAction34___action(val_t p0, val_t p1){
8770 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8771 val_t REGB0;
8772 val_t REGB1;
8773 val_t tmp;
8774 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8775 fra.me.file = LOCATE_parser;
8776 fra.me.line = 2188;
8777 fra.me.meth = LOCATE_parser___ReduceAction34___action;
8778 fra.me.has_broke = 0;
8779 fra.me.REG_size = 8;
8780 fra.me.nitni_local_ref_head = NULL;
8781 fra.me.REG[0] = NIT_NULL;
8782 fra.me.REG[1] = NIT_NULL;
8783 fra.me.REG[2] = NIT_NULL;
8784 fra.me.REG[3] = NIT_NULL;
8785 fra.me.REG[4] = NIT_NULL;
8786 fra.me.REG[5] = NIT_NULL;
8787 fra.me.REG[6] = NIT_NULL;
8788 fra.me.REG[7] = NIT_NULL;
8789 fra.me.REG[0] = p0;
8790 fra.me.REG[1] = p1;
8791 /* parser/parser.nit:2190 */
8792 fra.me.REG[2] = NIT_NULL;
8793 /* parser/parser.nit:2191 */
8794 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8795 /* parser/parser.nit:2192 */
8796 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8797 /* parser/parser.nit:2193 */
8798 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8799 /* parser/parser.nit:2194 */
8800 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8801 /* parser/parser.nit:2195 */
8802 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8803 /* parser/parser.nit:2197 */
8804 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]*/;
8805 if (UNTAG_Bool(REGB0)) {
8806 } else {
8807 nit_abort("Assert failed", NULL, LOCATE_parser, 2197);
8808 }
8809 /* parser/parser.nit:2198 */
8810 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
8811 fra.me.REG[5] = fra.me.REG[4];
8812 /* parser/parser.nit:2200 */
8813 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*/;
8814 if (UNTAG_Bool(REGB0)) {
8815 } else {
8816 nit_abort("Assert failed", NULL, LOCATE_parser, 2200);
8817 }
8818 /* parser/parser.nit:2201 */
8819 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8820 if (UNTAG_Bool(REGB0)) {
8821 } else {
8822 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8823 if (UNTAG_Bool(REGB1)) {
8824 REGB1 = TAG_Bool(0);
8825 REGB0 = REGB1;
8826 } else {
8827 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8828 REGB0 = REGB1;
8829 }
8830 }
8831 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8832 if (UNTAG_Bool(REGB0)) {
8833 /* parser/parser.nit:2202 */
8834 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
8835 }
8836 /* parser/parser.nit:2204 */
8837 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
8838 /* parser/parser.nit:2210 */
8839 fra.me.REG[2] = fra.me.REG[7];
8840 /* parser/parser.nit:2211 */
8841 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8842 if (UNTAG_Bool(REGB0)) {
8843 } else {
8844 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2211);
8845 }
8846 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8847 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8848 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8849 stack_frame_head = fra.me.prev;
8850 return;
8851 }
8852 static const char LOCATE_parser___ReduceAction35___action[] = "parser::ReduceAction35::(parser::ReduceAction::action)";
8853 void parser___ReduceAction35___action(val_t p0, val_t p1){
8854 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
8855 val_t REGB0;
8856 val_t REGB1;
8857 val_t tmp;
8858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8859 fra.me.file = LOCATE_parser;
8860 fra.me.line = 2216;
8861 fra.me.meth = LOCATE_parser___ReduceAction35___action;
8862 fra.me.has_broke = 0;
8863 fra.me.REG_size = 9;
8864 fra.me.nitni_local_ref_head = NULL;
8865 fra.me.REG[0] = NIT_NULL;
8866 fra.me.REG[1] = NIT_NULL;
8867 fra.me.REG[2] = NIT_NULL;
8868 fra.me.REG[3] = NIT_NULL;
8869 fra.me.REG[4] = NIT_NULL;
8870 fra.me.REG[5] = NIT_NULL;
8871 fra.me.REG[6] = NIT_NULL;
8872 fra.me.REG[7] = NIT_NULL;
8873 fra.me.REG[8] = NIT_NULL;
8874 fra.me.REG[0] = p0;
8875 fra.me.REG[1] = p1;
8876 /* parser/parser.nit:2218 */
8877 fra.me.REG[2] = NIT_NULL;
8878 /* parser/parser.nit:2219 */
8879 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8880 /* parser/parser.nit:2220 */
8881 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8882 /* parser/parser.nit:2221 */
8883 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8884 /* parser/parser.nit:2222 */
8885 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8886 /* parser/parser.nit:2223 */
8887 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8888 /* parser/parser.nit:2224 */
8889 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
8890 /* parser/parser.nit:2226 */
8891 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*/;
8892 if (UNTAG_Bool(REGB0)) {
8893 } else {
8894 nit_abort("Assert failed", NULL, LOCATE_parser, 2226);
8895 }
8896 /* parser/parser.nit:2228 */
8897 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]*/;
8898 if (UNTAG_Bool(REGB0)) {
8899 } else {
8900 nit_abort("Assert failed", NULL, LOCATE_parser, 2228);
8901 }
8902 /* parser/parser.nit:2229 */
8903 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
8904 fra.me.REG[6] = fra.me.REG[4];
8905 /* parser/parser.nit:2231 */
8906 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*/;
8907 if (UNTAG_Bool(REGB0)) {
8908 } else {
8909 nit_abort("Assert failed", NULL, LOCATE_parser, 2231);
8910 }
8911 /* parser/parser.nit:2232 */
8912 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8913 if (UNTAG_Bool(REGB0)) {
8914 } else {
8915 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8916 if (UNTAG_Bool(REGB1)) {
8917 REGB1 = TAG_Bool(0);
8918 REGB0 = REGB1;
8919 } else {
8920 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8921 REGB0 = REGB1;
8922 }
8923 }
8924 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8925 if (UNTAG_Bool(REGB0)) {
8926 /* parser/parser.nit:2233 */
8927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
8928 }
8929 /* parser/parser.nit:2235 */
8930 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
8931 /* parser/parser.nit:2241 */
8932 fra.me.REG[2] = fra.me.REG[8];
8933 /* parser/parser.nit:2242 */
8934 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
8935 if (UNTAG_Bool(REGB0)) {
8936 } else {
8937 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2242);
8938 }
8939 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
8940 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
8941 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
8942 stack_frame_head = fra.me.prev;
8943 return;
8944 }
8945 static const char LOCATE_parser___ReduceAction36___action[] = "parser::ReduceAction36::(parser::ReduceAction::action)";
8946 void parser___ReduceAction36___action(val_t p0, val_t p1){
8947 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
8948 val_t REGB0;
8949 val_t REGB1;
8950 val_t tmp;
8951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8952 fra.me.file = LOCATE_parser;
8953 fra.me.line = 2247;
8954 fra.me.meth = LOCATE_parser___ReduceAction36___action;
8955 fra.me.has_broke = 0;
8956 fra.me.REG_size = 8;
8957 fra.me.nitni_local_ref_head = NULL;
8958 fra.me.REG[0] = NIT_NULL;
8959 fra.me.REG[1] = NIT_NULL;
8960 fra.me.REG[2] = NIT_NULL;
8961 fra.me.REG[3] = NIT_NULL;
8962 fra.me.REG[4] = NIT_NULL;
8963 fra.me.REG[5] = NIT_NULL;
8964 fra.me.REG[6] = NIT_NULL;
8965 fra.me.REG[7] = NIT_NULL;
8966 fra.me.REG[0] = p0;
8967 fra.me.REG[1] = p1;
8968 /* parser/parser.nit:2249 */
8969 fra.me.REG[2] = NIT_NULL;
8970 /* parser/parser.nit:2250 */
8971 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8972 /* parser/parser.nit:2251 */
8973 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
8974 /* parser/parser.nit:2252 */
8975 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
8976 /* parser/parser.nit:2253 */
8977 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
8978 /* parser/parser.nit:2254 */
8979 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
8980 /* parser/parser.nit:2256 */
8981 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]*/;
8982 if (UNTAG_Bool(REGB0)) {
8983 } else {
8984 nit_abort("Assert failed", NULL, LOCATE_parser, 2256);
8985 }
8986 /* parser/parser.nit:2257 */
8987 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
8988 fra.me.REG[6] = fra.me.REG[4];
8989 /* parser/parser.nit:2259 */
8990 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*/;
8991 if (UNTAG_Bool(REGB0)) {
8992 } else {
8993 nit_abort("Assert failed", NULL, LOCATE_parser, 2259);
8994 }
8995 /* parser/parser.nit:2260 */
8996 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8997 if (UNTAG_Bool(REGB0)) {
8998 } else {
8999 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9000 if (UNTAG_Bool(REGB1)) {
9001 REGB1 = TAG_Bool(0);
9002 REGB0 = REGB1;
9003 } else {
9004 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9005 REGB0 = REGB1;
9006 }
9007 }
9008 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9009 if (UNTAG_Bool(REGB0)) {
9010 /* parser/parser.nit:2261 */
9011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
9012 }
9013 /* parser/parser.nit:2263 */
9014 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
9015 /* parser/parser.nit:2269 */
9016 fra.me.REG[2] = fra.me.REG[7];
9017 /* parser/parser.nit:2270 */
9018 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9019 if (UNTAG_Bool(REGB0)) {
9020 } else {
9021 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2270);
9022 }
9023 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9024 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9025 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9026 stack_frame_head = fra.me.prev;
9027 return;
9028 }
9029 static const char LOCATE_parser___ReduceAction37___action[] = "parser::ReduceAction37::(parser::ReduceAction::action)";
9030 void parser___ReduceAction37___action(val_t p0, val_t p1){
9031 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9032 val_t REGB0;
9033 val_t REGB1;
9034 val_t tmp;
9035 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9036 fra.me.file = LOCATE_parser;
9037 fra.me.line = 2275;
9038 fra.me.meth = LOCATE_parser___ReduceAction37___action;
9039 fra.me.has_broke = 0;
9040 fra.me.REG_size = 9;
9041 fra.me.nitni_local_ref_head = NULL;
9042 fra.me.REG[0] = NIT_NULL;
9043 fra.me.REG[1] = NIT_NULL;
9044 fra.me.REG[2] = NIT_NULL;
9045 fra.me.REG[3] = NIT_NULL;
9046 fra.me.REG[4] = NIT_NULL;
9047 fra.me.REG[5] = NIT_NULL;
9048 fra.me.REG[6] = NIT_NULL;
9049 fra.me.REG[7] = NIT_NULL;
9050 fra.me.REG[8] = NIT_NULL;
9051 fra.me.REG[0] = p0;
9052 fra.me.REG[1] = p1;
9053 /* parser/parser.nit:2277 */
9054 fra.me.REG[2] = NIT_NULL;
9055 /* parser/parser.nit:2278 */
9056 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9057 /* parser/parser.nit:2279 */
9058 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9059 /* parser/parser.nit:2280 */
9060 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9061 /* parser/parser.nit:2281 */
9062 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9063 /* parser/parser.nit:2282 */
9064 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9065 /* parser/parser.nit:2283 */
9066 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9067 /* parser/parser.nit:2285 */
9068 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*/;
9069 if (UNTAG_Bool(REGB0)) {
9070 } else {
9071 nit_abort("Assert failed", NULL, LOCATE_parser, 2285);
9072 }
9073 /* parser/parser.nit:2287 */
9074 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]*/;
9075 if (UNTAG_Bool(REGB0)) {
9076 } else {
9077 nit_abort("Assert failed", NULL, LOCATE_parser, 2287);
9078 }
9079 /* parser/parser.nit:2288 */
9080 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
9081 fra.me.REG[7] = fra.me.REG[4];
9082 /* parser/parser.nit:2290 */
9083 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*/;
9084 if (UNTAG_Bool(REGB0)) {
9085 } else {
9086 nit_abort("Assert failed", NULL, LOCATE_parser, 2290);
9087 }
9088 /* parser/parser.nit:2291 */
9089 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9090 if (UNTAG_Bool(REGB0)) {
9091 } else {
9092 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9093 if (UNTAG_Bool(REGB1)) {
9094 REGB1 = TAG_Bool(0);
9095 REGB0 = REGB1;
9096 } else {
9097 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9098 REGB0 = REGB1;
9099 }
9100 }
9101 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9102 if (UNTAG_Bool(REGB0)) {
9103 /* parser/parser.nit:2292 */
9104 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
9105 }
9106 /* parser/parser.nit:2294 */
9107 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
9108 /* parser/parser.nit:2300 */
9109 fra.me.REG[2] = fra.me.REG[8];
9110 /* parser/parser.nit:2301 */
9111 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9112 if (UNTAG_Bool(REGB0)) {
9113 } else {
9114 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2301);
9115 }
9116 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9117 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9118 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9119 stack_frame_head = fra.me.prev;
9120 return;
9121 }
9122 static const char LOCATE_parser___ReduceAction38___action[] = "parser::ReduceAction38::(parser::ReduceAction::action)";
9123 void parser___ReduceAction38___action(val_t p0, val_t p1){
9124 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9125 val_t REGB0;
9126 val_t REGB1;
9127 val_t tmp;
9128 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9129 fra.me.file = LOCATE_parser;
9130 fra.me.line = 2306;
9131 fra.me.meth = LOCATE_parser___ReduceAction38___action;
9132 fra.me.has_broke = 0;
9133 fra.me.REG_size = 9;
9134 fra.me.nitni_local_ref_head = NULL;
9135 fra.me.REG[0] = NIT_NULL;
9136 fra.me.REG[1] = NIT_NULL;
9137 fra.me.REG[2] = NIT_NULL;
9138 fra.me.REG[3] = NIT_NULL;
9139 fra.me.REG[4] = NIT_NULL;
9140 fra.me.REG[5] = NIT_NULL;
9141 fra.me.REG[6] = NIT_NULL;
9142 fra.me.REG[7] = NIT_NULL;
9143 fra.me.REG[8] = NIT_NULL;
9144 fra.me.REG[0] = p0;
9145 fra.me.REG[1] = p1;
9146 /* parser/parser.nit:2308 */
9147 fra.me.REG[2] = NIT_NULL;
9148 /* parser/parser.nit:2309 */
9149 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9150 /* parser/parser.nit:2310 */
9151 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9152 /* parser/parser.nit:2311 */
9153 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9154 /* parser/parser.nit:2312 */
9155 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9156 /* parser/parser.nit:2313 */
9157 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9158 /* parser/parser.nit:2314 */
9159 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9160 /* parser/parser.nit:2316 */
9161 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]*/;
9162 if (UNTAG_Bool(REGB0)) {
9163 } else {
9164 nit_abort("Assert failed", NULL, LOCATE_parser, 2316);
9165 }
9166 /* parser/parser.nit:2317 */
9167 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
9168 fra.me.REG[6] = fra.me.REG[5];
9169 /* parser/parser.nit:2319 */
9170 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]*/;
9171 if (UNTAG_Bool(REGB0)) {
9172 } else {
9173 nit_abort("Assert failed", NULL, LOCATE_parser, 2319);
9174 }
9175 /* parser/parser.nit:2320 */
9176 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
9177 fra.me.REG[7] = fra.me.REG[4];
9178 /* parser/parser.nit:2322 */
9179 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*/;
9180 if (UNTAG_Bool(REGB0)) {
9181 } else {
9182 nit_abort("Assert failed", NULL, LOCATE_parser, 2322);
9183 }
9184 /* parser/parser.nit:2323 */
9185 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9186 if (UNTAG_Bool(REGB0)) {
9187 } else {
9188 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9189 if (UNTAG_Bool(REGB1)) {
9190 REGB1 = TAG_Bool(0);
9191 REGB0 = REGB1;
9192 } else {
9193 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9194 REGB0 = REGB1;
9195 }
9196 }
9197 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9198 if (UNTAG_Bool(REGB0)) {
9199 /* parser/parser.nit:2324 */
9200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
9201 }
9202 /* parser/parser.nit:2326 */
9203 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
9204 /* parser/parser.nit:2332 */
9205 fra.me.REG[2] = fra.me.REG[8];
9206 /* parser/parser.nit:2333 */
9207 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9208 if (UNTAG_Bool(REGB0)) {
9209 } else {
9210 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2333);
9211 }
9212 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9213 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9214 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9215 stack_frame_head = fra.me.prev;
9216 return;
9217 }
9218 static const char LOCATE_parser___ReduceAction39___action[] = "parser::ReduceAction39::(parser::ReduceAction::action)";
9219 void parser___ReduceAction39___action(val_t p0, val_t p1){
9220 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
9221 val_t REGB0;
9222 val_t REGB1;
9223 val_t tmp;
9224 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9225 fra.me.file = LOCATE_parser;
9226 fra.me.line = 2338;
9227 fra.me.meth = LOCATE_parser___ReduceAction39___action;
9228 fra.me.has_broke = 0;
9229 fra.me.REG_size = 10;
9230 fra.me.nitni_local_ref_head = NULL;
9231 fra.me.REG[0] = NIT_NULL;
9232 fra.me.REG[1] = NIT_NULL;
9233 fra.me.REG[2] = NIT_NULL;
9234 fra.me.REG[3] = NIT_NULL;
9235 fra.me.REG[4] = NIT_NULL;
9236 fra.me.REG[5] = NIT_NULL;
9237 fra.me.REG[6] = NIT_NULL;
9238 fra.me.REG[7] = NIT_NULL;
9239 fra.me.REG[8] = NIT_NULL;
9240 fra.me.REG[9] = NIT_NULL;
9241 fra.me.REG[0] = p0;
9242 fra.me.REG[1] = p1;
9243 /* parser/parser.nit:2340 */
9244 fra.me.REG[2] = NIT_NULL;
9245 /* parser/parser.nit:2341 */
9246 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9247 /* parser/parser.nit:2342 */
9248 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9249 /* parser/parser.nit:2343 */
9250 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9251 /* parser/parser.nit:2344 */
9252 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9253 /* parser/parser.nit:2345 */
9254 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9255 /* parser/parser.nit:2346 */
9256 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9257 /* parser/parser.nit:2347 */
9258 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9259 /* parser/parser.nit:2349 */
9260 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*/;
9261 if (UNTAG_Bool(REGB0)) {
9262 } else {
9263 nit_abort("Assert failed", NULL, LOCATE_parser, 2349);
9264 }
9265 /* parser/parser.nit:2351 */
9266 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]*/;
9267 if (UNTAG_Bool(REGB0)) {
9268 } else {
9269 nit_abort("Assert failed", NULL, LOCATE_parser, 2351);
9270 }
9271 /* parser/parser.nit:2352 */
9272 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
9273 fra.me.REG[7] = fra.me.REG[5];
9274 /* parser/parser.nit:2354 */
9275 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]*/;
9276 if (UNTAG_Bool(REGB0)) {
9277 } else {
9278 nit_abort("Assert failed", NULL, LOCATE_parser, 2354);
9279 }
9280 /* parser/parser.nit:2355 */
9281 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
9282 fra.me.REG[8] = fra.me.REG[4];
9283 /* parser/parser.nit:2357 */
9284 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*/;
9285 if (UNTAG_Bool(REGB0)) {
9286 } else {
9287 nit_abort("Assert failed", NULL, LOCATE_parser, 2357);
9288 }
9289 /* parser/parser.nit:2358 */
9290 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9291 if (UNTAG_Bool(REGB0)) {
9292 } else {
9293 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9294 if (UNTAG_Bool(REGB1)) {
9295 REGB1 = TAG_Bool(0);
9296 REGB0 = REGB1;
9297 } else {
9298 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9299 REGB0 = REGB1;
9300 }
9301 }
9302 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9303 if (UNTAG_Bool(REGB0)) {
9304 /* parser/parser.nit:2359 */
9305 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
9306 }
9307 /* parser/parser.nit:2361 */
9308 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
9309 /* parser/parser.nit:2367 */
9310 fra.me.REG[2] = fra.me.REG[9];
9311 /* parser/parser.nit:2368 */
9312 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9313 if (UNTAG_Bool(REGB0)) {
9314 } else {
9315 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2368);
9316 }
9317 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9318 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9319 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9320 stack_frame_head = fra.me.prev;
9321 return;
9322 }
9323 static const char LOCATE_parser___ReduceAction40___action[] = "parser::ReduceAction40::(parser::ReduceAction::action)";
9324 void parser___ReduceAction40___action(val_t p0, val_t p1){
9325 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
9326 val_t REGB0;
9327 val_t REGB1;
9328 val_t tmp;
9329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9330 fra.me.file = LOCATE_parser;
9331 fra.me.line = 2373;
9332 fra.me.meth = LOCATE_parser___ReduceAction40___action;
9333 fra.me.has_broke = 0;
9334 fra.me.REG_size = 8;
9335 fra.me.nitni_local_ref_head = NULL;
9336 fra.me.REG[0] = NIT_NULL;
9337 fra.me.REG[1] = NIT_NULL;
9338 fra.me.REG[2] = NIT_NULL;
9339 fra.me.REG[3] = NIT_NULL;
9340 fra.me.REG[4] = NIT_NULL;
9341 fra.me.REG[5] = NIT_NULL;
9342 fra.me.REG[6] = NIT_NULL;
9343 fra.me.REG[7] = NIT_NULL;
9344 fra.me.REG[0] = p0;
9345 fra.me.REG[1] = p1;
9346 /* parser/parser.nit:2375 */
9347 fra.me.REG[2] = NIT_NULL;
9348 /* parser/parser.nit:2376 */
9349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9350 /* parser/parser.nit:2377 */
9351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9352 /* parser/parser.nit:2378 */
9353 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
9354 /* parser/parser.nit:2379 */
9355 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9356 /* parser/parser.nit:2380 */
9357 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9358 /* parser/parser.nit:2382 */
9359 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]*/;
9360 if (UNTAG_Bool(REGB0)) {
9361 } else {
9362 nit_abort("Assert failed", NULL, LOCATE_parser, 2382);
9363 }
9364 /* parser/parser.nit:2384 */
9365 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*/;
9366 if (UNTAG_Bool(REGB0)) {
9367 } else {
9368 nit_abort("Assert failed", NULL, LOCATE_parser, 2384);
9369 }
9370 /* parser/parser.nit:2385 */
9371 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
9372 fra.me.REG[7] = fra.me.REG[4];
9373 /* parser/parser.nit:2386 */
9374 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9375 if (UNTAG_Bool(REGB0)) {
9376 } else {
9377 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9378 if (UNTAG_Bool(REGB1)) {
9379 REGB1 = TAG_Bool(0);
9380 REGB0 = REGB1;
9381 } else {
9382 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9383 REGB0 = REGB1;
9384 }
9385 }
9386 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9387 if (UNTAG_Bool(REGB0)) {
9388 /* parser/parser.nit:2387 */
9389 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
9390 }
9391 /* parser/parser.nit:2389 */
9392 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
9393 /* parser/parser.nit:2395 */
9394 fra.me.REG[2] = fra.me.REG[7];
9395 /* parser/parser.nit:2396 */
9396 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9397 if (UNTAG_Bool(REGB0)) {
9398 } else {
9399 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2396);
9400 }
9401 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9402 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9403 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9404 stack_frame_head = fra.me.prev;
9405 return;
9406 }
9407 static const char LOCATE_parser___ReduceAction41___action[] = "parser::ReduceAction41::(parser::ReduceAction::action)";
9408 void parser___ReduceAction41___action(val_t p0, val_t p1){
9409 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9410 val_t REGB0;
9411 val_t REGB1;
9412 val_t tmp;
9413 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9414 fra.me.file = LOCATE_parser;
9415 fra.me.line = 2401;
9416 fra.me.meth = LOCATE_parser___ReduceAction41___action;
9417 fra.me.has_broke = 0;
9418 fra.me.REG_size = 9;
9419 fra.me.nitni_local_ref_head = NULL;
9420 fra.me.REG[0] = NIT_NULL;
9421 fra.me.REG[1] = NIT_NULL;
9422 fra.me.REG[2] = NIT_NULL;
9423 fra.me.REG[3] = NIT_NULL;
9424 fra.me.REG[4] = NIT_NULL;
9425 fra.me.REG[5] = NIT_NULL;
9426 fra.me.REG[6] = NIT_NULL;
9427 fra.me.REG[7] = NIT_NULL;
9428 fra.me.REG[8] = NIT_NULL;
9429 fra.me.REG[0] = p0;
9430 fra.me.REG[1] = p1;
9431 /* parser/parser.nit:2403 */
9432 fra.me.REG[2] = NIT_NULL;
9433 /* parser/parser.nit:2404 */
9434 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9435 /* parser/parser.nit:2405 */
9436 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9437 /* parser/parser.nit:2406 */
9438 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9439 /* parser/parser.nit:2407 */
9440 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9441 /* parser/parser.nit:2408 */
9442 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9443 /* parser/parser.nit:2409 */
9444 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9445 /* parser/parser.nit:2411 */
9446 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*/;
9447 if (UNTAG_Bool(REGB0)) {
9448 } else {
9449 nit_abort("Assert failed", NULL, LOCATE_parser, 2411);
9450 }
9451 /* parser/parser.nit:2413 */
9452 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]*/;
9453 if (UNTAG_Bool(REGB0)) {
9454 } else {
9455 nit_abort("Assert failed", NULL, LOCATE_parser, 2413);
9456 }
9457 /* parser/parser.nit:2415 */
9458 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*/;
9459 if (UNTAG_Bool(REGB0)) {
9460 } else {
9461 nit_abort("Assert failed", NULL, LOCATE_parser, 2415);
9462 }
9463 /* parser/parser.nit:2416 */
9464 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
9465 fra.me.REG[8] = fra.me.REG[4];
9466 /* parser/parser.nit:2417 */
9467 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9468 if (UNTAG_Bool(REGB0)) {
9469 } else {
9470 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9471 if (UNTAG_Bool(REGB1)) {
9472 REGB1 = TAG_Bool(0);
9473 REGB0 = REGB1;
9474 } else {
9475 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9476 REGB0 = REGB1;
9477 }
9478 }
9479 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9480 if (UNTAG_Bool(REGB0)) {
9481 /* parser/parser.nit:2418 */
9482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
9483 }
9484 /* parser/parser.nit:2420 */
9485 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
9486 /* parser/parser.nit:2426 */
9487 fra.me.REG[2] = fra.me.REG[8];
9488 /* parser/parser.nit:2427 */
9489 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9490 if (UNTAG_Bool(REGB0)) {
9491 } else {
9492 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2427);
9493 }
9494 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9495 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9496 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9497 stack_frame_head = fra.me.prev;
9498 return;
9499 }
9500 static const char LOCATE_parser___ReduceAction42___action[] = "parser::ReduceAction42::(parser::ReduceAction::action)";
9501 void parser___ReduceAction42___action(val_t p0, val_t p1){
9502 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9503 val_t REGB0;
9504 val_t REGB1;
9505 val_t tmp;
9506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9507 fra.me.file = LOCATE_parser;
9508 fra.me.line = 2432;
9509 fra.me.meth = LOCATE_parser___ReduceAction42___action;
9510 fra.me.has_broke = 0;
9511 fra.me.REG_size = 9;
9512 fra.me.nitni_local_ref_head = NULL;
9513 fra.me.REG[0] = NIT_NULL;
9514 fra.me.REG[1] = NIT_NULL;
9515 fra.me.REG[2] = NIT_NULL;
9516 fra.me.REG[3] = NIT_NULL;
9517 fra.me.REG[4] = NIT_NULL;
9518 fra.me.REG[5] = NIT_NULL;
9519 fra.me.REG[6] = NIT_NULL;
9520 fra.me.REG[7] = NIT_NULL;
9521 fra.me.REG[8] = NIT_NULL;
9522 fra.me.REG[0] = p0;
9523 fra.me.REG[1] = p1;
9524 /* parser/parser.nit:2434 */
9525 fra.me.REG[2] = NIT_NULL;
9526 /* parser/parser.nit:2435 */
9527 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9528 /* parser/parser.nit:2436 */
9529 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9530 /* parser/parser.nit:2437 */
9531 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9532 /* parser/parser.nit:2438 */
9533 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9534 /* parser/parser.nit:2439 */
9535 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9536 /* parser/parser.nit:2440 */
9537 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9538 /* parser/parser.nit:2442 */
9539 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]*/;
9540 if (UNTAG_Bool(REGB0)) {
9541 } else {
9542 nit_abort("Assert failed", NULL, LOCATE_parser, 2442);
9543 }
9544 /* parser/parser.nit:2443 */
9545 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
9546 fra.me.REG[6] = fra.me.REG[5];
9547 /* parser/parser.nit:2445 */
9548 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]*/;
9549 if (UNTAG_Bool(REGB0)) {
9550 } else {
9551 nit_abort("Assert failed", NULL, LOCATE_parser, 2445);
9552 }
9553 /* parser/parser.nit:2447 */
9554 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*/;
9555 if (UNTAG_Bool(REGB0)) {
9556 } else {
9557 nit_abort("Assert failed", NULL, LOCATE_parser, 2447);
9558 }
9559 /* parser/parser.nit:2448 */
9560 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
9561 fra.me.REG[8] = fra.me.REG[4];
9562 /* parser/parser.nit:2449 */
9563 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9564 if (UNTAG_Bool(REGB0)) {
9565 } else {
9566 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9567 if (UNTAG_Bool(REGB1)) {
9568 REGB1 = TAG_Bool(0);
9569 REGB0 = REGB1;
9570 } else {
9571 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9572 REGB0 = REGB1;
9573 }
9574 }
9575 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9576 if (UNTAG_Bool(REGB0)) {
9577 /* parser/parser.nit:2450 */
9578 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
9579 }
9580 /* parser/parser.nit:2452 */
9581 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
9582 /* parser/parser.nit:2458 */
9583 fra.me.REG[2] = fra.me.REG[8];
9584 /* parser/parser.nit:2459 */
9585 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9586 if (UNTAG_Bool(REGB0)) {
9587 } else {
9588 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2459);
9589 }
9590 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9591 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9592 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9593 stack_frame_head = fra.me.prev;
9594 return;
9595 }
9596 static const char LOCATE_parser___ReduceAction43___action[] = "parser::ReduceAction43::(parser::ReduceAction::action)";
9597 void parser___ReduceAction43___action(val_t p0, val_t p1){
9598 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
9599 val_t REGB0;
9600 val_t REGB1;
9601 val_t tmp;
9602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9603 fra.me.file = LOCATE_parser;
9604 fra.me.line = 2464;
9605 fra.me.meth = LOCATE_parser___ReduceAction43___action;
9606 fra.me.has_broke = 0;
9607 fra.me.REG_size = 10;
9608 fra.me.nitni_local_ref_head = NULL;
9609 fra.me.REG[0] = NIT_NULL;
9610 fra.me.REG[1] = NIT_NULL;
9611 fra.me.REG[2] = NIT_NULL;
9612 fra.me.REG[3] = NIT_NULL;
9613 fra.me.REG[4] = NIT_NULL;
9614 fra.me.REG[5] = NIT_NULL;
9615 fra.me.REG[6] = NIT_NULL;
9616 fra.me.REG[7] = NIT_NULL;
9617 fra.me.REG[8] = NIT_NULL;
9618 fra.me.REG[9] = NIT_NULL;
9619 fra.me.REG[0] = p0;
9620 fra.me.REG[1] = p1;
9621 /* parser/parser.nit:2466 */
9622 fra.me.REG[2] = NIT_NULL;
9623 /* parser/parser.nit:2467 */
9624 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9625 /* parser/parser.nit:2468 */
9626 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9627 /* parser/parser.nit:2469 */
9628 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9629 /* parser/parser.nit:2470 */
9630 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9631 /* parser/parser.nit:2471 */
9632 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9633 /* parser/parser.nit:2472 */
9634 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9635 /* parser/parser.nit:2473 */
9636 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9637 /* parser/parser.nit:2475 */
9638 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*/;
9639 if (UNTAG_Bool(REGB0)) {
9640 } else {
9641 nit_abort("Assert failed", NULL, LOCATE_parser, 2475);
9642 }
9643 /* parser/parser.nit:2477 */
9644 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]*/;
9645 if (UNTAG_Bool(REGB0)) {
9646 } else {
9647 nit_abort("Assert failed", NULL, LOCATE_parser, 2477);
9648 }
9649 /* parser/parser.nit:2478 */
9650 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
9651 fra.me.REG[7] = fra.me.REG[5];
9652 /* parser/parser.nit:2480 */
9653 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]*/;
9654 if (UNTAG_Bool(REGB0)) {
9655 } else {
9656 nit_abort("Assert failed", NULL, LOCATE_parser, 2480);
9657 }
9658 /* parser/parser.nit:2482 */
9659 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*/;
9660 if (UNTAG_Bool(REGB0)) {
9661 } else {
9662 nit_abort("Assert failed", NULL, LOCATE_parser, 2482);
9663 }
9664 /* parser/parser.nit:2483 */
9665 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
9666 fra.me.REG[9] = fra.me.REG[4];
9667 /* parser/parser.nit:2484 */
9668 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9669 if (UNTAG_Bool(REGB0)) {
9670 } else {
9671 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9672 if (UNTAG_Bool(REGB1)) {
9673 REGB1 = TAG_Bool(0);
9674 REGB0 = REGB1;
9675 } else {
9676 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9677 REGB0 = REGB1;
9678 }
9679 }
9680 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9681 if (UNTAG_Bool(REGB0)) {
9682 /* parser/parser.nit:2485 */
9683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
9684 }
9685 /* parser/parser.nit:2487 */
9686 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
9687 /* parser/parser.nit:2493 */
9688 fra.me.REG[2] = fra.me.REG[9];
9689 /* parser/parser.nit:2494 */
9690 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9691 if (UNTAG_Bool(REGB0)) {
9692 } else {
9693 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2494);
9694 }
9695 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9697 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9698 stack_frame_head = fra.me.prev;
9699 return;
9700 }
9701 static const char LOCATE_parser___ReduceAction44___action[] = "parser::ReduceAction44::(parser::ReduceAction::action)";
9702 void parser___ReduceAction44___action(val_t p0, val_t p1){
9703 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
9704 val_t REGB0;
9705 val_t REGB1;
9706 val_t tmp;
9707 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9708 fra.me.file = LOCATE_parser;
9709 fra.me.line = 2499;
9710 fra.me.meth = LOCATE_parser___ReduceAction44___action;
9711 fra.me.has_broke = 0;
9712 fra.me.REG_size = 9;
9713 fra.me.nitni_local_ref_head = NULL;
9714 fra.me.REG[0] = NIT_NULL;
9715 fra.me.REG[1] = NIT_NULL;
9716 fra.me.REG[2] = NIT_NULL;
9717 fra.me.REG[3] = NIT_NULL;
9718 fra.me.REG[4] = NIT_NULL;
9719 fra.me.REG[5] = NIT_NULL;
9720 fra.me.REG[6] = NIT_NULL;
9721 fra.me.REG[7] = NIT_NULL;
9722 fra.me.REG[8] = NIT_NULL;
9723 fra.me.REG[0] = p0;
9724 fra.me.REG[1] = p1;
9725 /* parser/parser.nit:2501 */
9726 fra.me.REG[2] = NIT_NULL;
9727 /* parser/parser.nit:2502 */
9728 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9729 /* parser/parser.nit:2503 */
9730 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9731 /* parser/parser.nit:2504 */
9732 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9733 /* parser/parser.nit:2505 */
9734 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
9735 /* parser/parser.nit:2506 */
9736 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9737 /* parser/parser.nit:2507 */
9738 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9739 /* parser/parser.nit:2509 */
9740 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]*/;
9741 if (UNTAG_Bool(REGB0)) {
9742 } else {
9743 nit_abort("Assert failed", NULL, LOCATE_parser, 2509);
9744 }
9745 /* parser/parser.nit:2510 */
9746 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
9747 fra.me.REG[7] = fra.me.REG[5];
9748 /* parser/parser.nit:2512 */
9749 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]*/;
9750 if (UNTAG_Bool(REGB0)) {
9751 } else {
9752 nit_abort("Assert failed", NULL, LOCATE_parser, 2512);
9753 }
9754 /* parser/parser.nit:2514 */
9755 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*/;
9756 if (UNTAG_Bool(REGB0)) {
9757 } else {
9758 nit_abort("Assert failed", NULL, LOCATE_parser, 2514);
9759 }
9760 /* parser/parser.nit:2515 */
9761 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
9762 fra.me.REG[8] = fra.me.REG[4];
9763 /* parser/parser.nit:2516 */
9764 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9765 if (UNTAG_Bool(REGB0)) {
9766 } else {
9767 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9768 if (UNTAG_Bool(REGB1)) {
9769 REGB1 = TAG_Bool(0);
9770 REGB0 = REGB1;
9771 } else {
9772 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9773 REGB0 = REGB1;
9774 }
9775 }
9776 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9777 if (UNTAG_Bool(REGB0)) {
9778 /* parser/parser.nit:2517 */
9779 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
9780 }
9781 /* parser/parser.nit:2519 */
9782 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
9783 /* parser/parser.nit:2525 */
9784 fra.me.REG[2] = fra.me.REG[8];
9785 /* parser/parser.nit:2526 */
9786 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9787 if (UNTAG_Bool(REGB0)) {
9788 } else {
9789 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2526);
9790 }
9791 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9792 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9793 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9794 stack_frame_head = fra.me.prev;
9795 return;
9796 }
9797 static const char LOCATE_parser___ReduceAction45___action[] = "parser::ReduceAction45::(parser::ReduceAction::action)";
9798 void parser___ReduceAction45___action(val_t p0, val_t p1){
9799 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
9800 val_t REGB0;
9801 val_t REGB1;
9802 val_t tmp;
9803 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9804 fra.me.file = LOCATE_parser;
9805 fra.me.line = 2531;
9806 fra.me.meth = LOCATE_parser___ReduceAction45___action;
9807 fra.me.has_broke = 0;
9808 fra.me.REG_size = 10;
9809 fra.me.nitni_local_ref_head = NULL;
9810 fra.me.REG[0] = NIT_NULL;
9811 fra.me.REG[1] = NIT_NULL;
9812 fra.me.REG[2] = NIT_NULL;
9813 fra.me.REG[3] = NIT_NULL;
9814 fra.me.REG[4] = NIT_NULL;
9815 fra.me.REG[5] = NIT_NULL;
9816 fra.me.REG[6] = NIT_NULL;
9817 fra.me.REG[7] = NIT_NULL;
9818 fra.me.REG[8] = NIT_NULL;
9819 fra.me.REG[9] = NIT_NULL;
9820 fra.me.REG[0] = p0;
9821 fra.me.REG[1] = p1;
9822 /* parser/parser.nit:2533 */
9823 fra.me.REG[2] = NIT_NULL;
9824 /* parser/parser.nit:2534 */
9825 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9826 /* parser/parser.nit:2535 */
9827 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9828 /* parser/parser.nit:2536 */
9829 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9830 /* parser/parser.nit:2537 */
9831 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9832 /* parser/parser.nit:2538 */
9833 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9834 /* parser/parser.nit:2539 */
9835 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9836 /* parser/parser.nit:2540 */
9837 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9838 /* parser/parser.nit:2542 */
9839 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*/;
9840 if (UNTAG_Bool(REGB0)) {
9841 } else {
9842 nit_abort("Assert failed", NULL, LOCATE_parser, 2542);
9843 }
9844 /* parser/parser.nit:2544 */
9845 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]*/;
9846 if (UNTAG_Bool(REGB0)) {
9847 } else {
9848 nit_abort("Assert failed", NULL, LOCATE_parser, 2544);
9849 }
9850 /* parser/parser.nit:2545 */
9851 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
9852 fra.me.REG[8] = fra.me.REG[5];
9853 /* parser/parser.nit:2547 */
9854 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]*/;
9855 if (UNTAG_Bool(REGB0)) {
9856 } else {
9857 nit_abort("Assert failed", NULL, LOCATE_parser, 2547);
9858 }
9859 /* parser/parser.nit:2549 */
9860 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*/;
9861 if (UNTAG_Bool(REGB0)) {
9862 } else {
9863 nit_abort("Assert failed", NULL, LOCATE_parser, 2549);
9864 }
9865 /* parser/parser.nit:2550 */
9866 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
9867 fra.me.REG[9] = fra.me.REG[4];
9868 /* parser/parser.nit:2551 */
9869 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9870 if (UNTAG_Bool(REGB0)) {
9871 } else {
9872 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9873 if (UNTAG_Bool(REGB1)) {
9874 REGB1 = TAG_Bool(0);
9875 REGB0 = REGB1;
9876 } else {
9877 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9878 REGB0 = REGB1;
9879 }
9880 }
9881 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9882 if (UNTAG_Bool(REGB0)) {
9883 /* parser/parser.nit:2552 */
9884 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
9885 }
9886 /* parser/parser.nit:2554 */
9887 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
9888 /* parser/parser.nit:2560 */
9889 fra.me.REG[2] = fra.me.REG[9];
9890 /* parser/parser.nit:2561 */
9891 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
9892 if (UNTAG_Bool(REGB0)) {
9893 } else {
9894 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2561);
9895 }
9896 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
9897 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
9898 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
9899 stack_frame_head = fra.me.prev;
9900 return;
9901 }
9902 static const char LOCATE_parser___ReduceAction46___action[] = "parser::ReduceAction46::(parser::ReduceAction::action)";
9903 void parser___ReduceAction46___action(val_t p0, val_t p1){
9904 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
9905 val_t REGB0;
9906 val_t REGB1;
9907 val_t tmp;
9908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9909 fra.me.file = LOCATE_parser;
9910 fra.me.line = 2566;
9911 fra.me.meth = LOCATE_parser___ReduceAction46___action;
9912 fra.me.has_broke = 0;
9913 fra.me.REG_size = 10;
9914 fra.me.nitni_local_ref_head = NULL;
9915 fra.me.REG[0] = NIT_NULL;
9916 fra.me.REG[1] = NIT_NULL;
9917 fra.me.REG[2] = NIT_NULL;
9918 fra.me.REG[3] = NIT_NULL;
9919 fra.me.REG[4] = NIT_NULL;
9920 fra.me.REG[5] = NIT_NULL;
9921 fra.me.REG[6] = NIT_NULL;
9922 fra.me.REG[7] = NIT_NULL;
9923 fra.me.REG[8] = NIT_NULL;
9924 fra.me.REG[9] = NIT_NULL;
9925 fra.me.REG[0] = p0;
9926 fra.me.REG[1] = p1;
9927 /* parser/parser.nit:2568 */
9928 fra.me.REG[2] = NIT_NULL;
9929 /* parser/parser.nit:2569 */
9930 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9931 /* parser/parser.nit:2570 */
9932 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9933 /* parser/parser.nit:2571 */
9934 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9935 /* parser/parser.nit:2572 */
9936 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
9937 /* parser/parser.nit:2573 */
9938 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
9939 /* parser/parser.nit:2574 */
9940 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
9941 /* parser/parser.nit:2575 */
9942 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
9943 /* parser/parser.nit:2577 */
9944 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]*/;
9945 if (UNTAG_Bool(REGB0)) {
9946 } else {
9947 nit_abort("Assert failed", NULL, LOCATE_parser, 2577);
9948 }
9949 /* parser/parser.nit:2578 */
9950 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
9951 fra.me.REG[7] = fra.me.REG[6];
9952 /* parser/parser.nit:2580 */
9953 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]*/;
9954 if (UNTAG_Bool(REGB0)) {
9955 } else {
9956 nit_abort("Assert failed", NULL, LOCATE_parser, 2580);
9957 }
9958 /* parser/parser.nit:2581 */
9959 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
9960 fra.me.REG[8] = fra.me.REG[5];
9961 /* parser/parser.nit:2583 */
9962 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]*/;
9963 if (UNTAG_Bool(REGB0)) {
9964 } else {
9965 nit_abort("Assert failed", NULL, LOCATE_parser, 2583);
9966 }
9967 /* parser/parser.nit:2585 */
9968 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*/;
9969 if (UNTAG_Bool(REGB0)) {
9970 } else {
9971 nit_abort("Assert failed", NULL, LOCATE_parser, 2585);
9972 }
9973 /* parser/parser.nit:2586 */
9974 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
9975 fra.me.REG[9] = fra.me.REG[4];
9976 /* parser/parser.nit:2587 */
9977 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9978 if (UNTAG_Bool(REGB0)) {
9979 } else {
9980 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9981 if (UNTAG_Bool(REGB1)) {
9982 REGB1 = TAG_Bool(0);
9983 REGB0 = REGB1;
9984 } else {
9985 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
9986 REGB0 = REGB1;
9987 }
9988 }
9989 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9990 if (UNTAG_Bool(REGB0)) {
9991 /* parser/parser.nit:2588 */
9992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
9993 }
9994 /* parser/parser.nit:2590 */
9995 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
9996 /* parser/parser.nit:2596 */
9997 fra.me.REG[2] = fra.me.REG[9];
9998 /* parser/parser.nit:2597 */
9999 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10000 if (UNTAG_Bool(REGB0)) {
10001 } else {
10002 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2597);
10003 }
10004 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10005 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10006 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10007 stack_frame_head = fra.me.prev;
10008 return;
10009 }
10010 static const char LOCATE_parser___ReduceAction47___action[] = "parser::ReduceAction47::(parser::ReduceAction::action)";
10011 void parser___ReduceAction47___action(val_t p0, val_t p1){
10012 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
10013 val_t REGB0;
10014 val_t REGB1;
10015 val_t tmp;
10016 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10017 fra.me.file = LOCATE_parser;
10018 fra.me.line = 2602;
10019 fra.me.meth = LOCATE_parser___ReduceAction47___action;
10020 fra.me.has_broke = 0;
10021 fra.me.REG_size = 11;
10022 fra.me.nitni_local_ref_head = NULL;
10023 fra.me.REG[0] = NIT_NULL;
10024 fra.me.REG[1] = NIT_NULL;
10025 fra.me.REG[2] = NIT_NULL;
10026 fra.me.REG[3] = NIT_NULL;
10027 fra.me.REG[4] = NIT_NULL;
10028 fra.me.REG[5] = NIT_NULL;
10029 fra.me.REG[6] = NIT_NULL;
10030 fra.me.REG[7] = NIT_NULL;
10031 fra.me.REG[8] = NIT_NULL;
10032 fra.me.REG[9] = NIT_NULL;
10033 fra.me.REG[10] = NIT_NULL;
10034 fra.me.REG[0] = p0;
10035 fra.me.REG[1] = p1;
10036 /* parser/parser.nit:2604 */
10037 fra.me.REG[2] = NIT_NULL;
10038 /* parser/parser.nit:2605 */
10039 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10040 /* parser/parser.nit:2606 */
10041 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10042 /* parser/parser.nit:2607 */
10043 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10044 /* parser/parser.nit:2608 */
10045 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10046 /* parser/parser.nit:2609 */
10047 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10048 /* parser/parser.nit:2610 */
10049 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10050 /* parser/parser.nit:2611 */
10051 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10052 /* parser/parser.nit:2612 */
10053 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
10054 /* parser/parser.nit:2614 */
10055 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*/;
10056 if (UNTAG_Bool(REGB0)) {
10057 } else {
10058 nit_abort("Assert failed", NULL, LOCATE_parser, 2614);
10059 }
10060 /* parser/parser.nit:2616 */
10061 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]*/;
10062 if (UNTAG_Bool(REGB0)) {
10063 } else {
10064 nit_abort("Assert failed", NULL, LOCATE_parser, 2616);
10065 }
10066 /* parser/parser.nit:2617 */
10067 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
10068 fra.me.REG[8] = fra.me.REG[6];
10069 /* parser/parser.nit:2619 */
10070 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]*/;
10071 if (UNTAG_Bool(REGB0)) {
10072 } else {
10073 nit_abort("Assert failed", NULL, LOCATE_parser, 2619);
10074 }
10075 /* parser/parser.nit:2620 */
10076 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
10077 fra.me.REG[9] = fra.me.REG[5];
10078 /* parser/parser.nit:2622 */
10079 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]*/;
10080 if (UNTAG_Bool(REGB0)) {
10081 } else {
10082 nit_abort("Assert failed", NULL, LOCATE_parser, 2622);
10083 }
10084 /* parser/parser.nit:2624 */
10085 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*/;
10086 if (UNTAG_Bool(REGB0)) {
10087 } else {
10088 nit_abort("Assert failed", NULL, LOCATE_parser, 2624);
10089 }
10090 /* parser/parser.nit:2625 */
10091 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
10092 fra.me.REG[10] = fra.me.REG[4];
10093 /* parser/parser.nit:2626 */
10094 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10095 if (UNTAG_Bool(REGB0)) {
10096 } else {
10097 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10098 if (UNTAG_Bool(REGB1)) {
10099 REGB1 = TAG_Bool(0);
10100 REGB0 = REGB1;
10101 } else {
10102 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10103 REGB0 = REGB1;
10104 }
10105 }
10106 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10107 if (UNTAG_Bool(REGB0)) {
10108 /* parser/parser.nit:2627 */
10109 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
10110 }
10111 /* parser/parser.nit:2629 */
10112 fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
10113 /* parser/parser.nit:2635 */
10114 fra.me.REG[2] = fra.me.REG[10];
10115 /* parser/parser.nit:2636 */
10116 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10117 if (UNTAG_Bool(REGB0)) {
10118 } else {
10119 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2636);
10120 }
10121 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10122 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10123 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10124 stack_frame_head = fra.me.prev;
10125 return;
10126 }
10127 static const char LOCATE_parser___ReduceAction48___action[] = "parser::ReduceAction48::(parser::ReduceAction::action)";
10128 void parser___ReduceAction48___action(val_t p0, val_t p1){
10129 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10130 val_t REGB0;
10131 val_t REGB1;
10132 val_t tmp;
10133 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10134 fra.me.file = LOCATE_parser;
10135 fra.me.line = 2641;
10136 fra.me.meth = LOCATE_parser___ReduceAction48___action;
10137 fra.me.has_broke = 0;
10138 fra.me.REG_size = 9;
10139 fra.me.nitni_local_ref_head = NULL;
10140 fra.me.REG[0] = NIT_NULL;
10141 fra.me.REG[1] = NIT_NULL;
10142 fra.me.REG[2] = NIT_NULL;
10143 fra.me.REG[3] = NIT_NULL;
10144 fra.me.REG[4] = NIT_NULL;
10145 fra.me.REG[5] = NIT_NULL;
10146 fra.me.REG[6] = NIT_NULL;
10147 fra.me.REG[7] = NIT_NULL;
10148 fra.me.REG[8] = NIT_NULL;
10149 fra.me.REG[0] = p0;
10150 fra.me.REG[1] = p1;
10151 /* parser/parser.nit:2643 */
10152 fra.me.REG[2] = NIT_NULL;
10153 /* parser/parser.nit:2644 */
10154 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10155 /* parser/parser.nit:2645 */
10156 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10157 /* parser/parser.nit:2646 */
10158 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10159 /* parser/parser.nit:2647 */
10160 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10161 /* parser/parser.nit:2648 */
10162 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10163 /* parser/parser.nit:2649 */
10164 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10165 /* parser/parser.nit:2651 */
10166 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]*/;
10167 if (UNTAG_Bool(REGB0)) {
10168 } else {
10169 nit_abort("Assert failed", NULL, LOCATE_parser, 2651);
10170 }
10171 /* parser/parser.nit:2652 */
10172 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[4]);
10173 fra.me.REG[8] = fra.me.REG[4];
10174 /* parser/parser.nit:2653 */
10175 fra.me.REG[8] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[8]);
10176 /* parser/parser.nit:2657 */
10177 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*/;
10178 if (UNTAG_Bool(REGB0)) {
10179 } else {
10180 nit_abort("Assert failed", NULL, LOCATE_parser, 2657);
10181 }
10182 /* parser/parser.nit:2658 */
10183 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
10184 if (UNTAG_Bool(REGB0)) {
10185 } else {
10186 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
10187 if (UNTAG_Bool(REGB1)) {
10188 REGB1 = TAG_Bool(0);
10189 REGB0 = REGB1;
10190 } else {
10191 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
10192 REGB0 = REGB1;
10193 }
10194 }
10195 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10196 if (UNTAG_Bool(REGB0)) {
10197 /* parser/parser.nit:2659 */
10198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[8]);
10199 }
10200 /* parser/parser.nit:2661 */
10201 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10202 if (UNTAG_Bool(REGB0)) {
10203 } else {
10204 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10205 if (UNTAG_Bool(REGB1)) {
10206 REGB1 = TAG_Bool(0);
10207 REGB0 = REGB1;
10208 } else {
10209 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10210 REGB0 = REGB1;
10211 }
10212 }
10213 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10214 if (UNTAG_Bool(REGB0)) {
10215 /* parser/parser.nit:2662 */
10216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[3]);
10217 }
10218 /* parser/parser.nit:2664 */
10219 fra.me.REG[7] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[5], fra.me.REG[6], fra.me.REG[7]);
10220 /* parser/parser.nit:2670 */
10221 fra.me.REG[2] = fra.me.REG[7];
10222 /* parser/parser.nit:2671 */
10223 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10224 if (UNTAG_Bool(REGB0)) {
10225 } else {
10226 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2671);
10227 }
10228 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10229 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10230 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10231 stack_frame_head = fra.me.prev;
10232 return;
10233 }
10234 static const char LOCATE_parser___ReduceAction49___action[] = "parser::ReduceAction49::(parser::ReduceAction::action)";
10235 void parser___ReduceAction49___action(val_t p0, val_t p1){
10236 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10237 val_t REGB0;
10238 val_t REGB1;
10239 val_t tmp;
10240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10241 fra.me.file = LOCATE_parser;
10242 fra.me.line = 2676;
10243 fra.me.meth = LOCATE_parser___ReduceAction49___action;
10244 fra.me.has_broke = 0;
10245 fra.me.REG_size = 10;
10246 fra.me.nitni_local_ref_head = NULL;
10247 fra.me.REG[0] = NIT_NULL;
10248 fra.me.REG[1] = NIT_NULL;
10249 fra.me.REG[2] = NIT_NULL;
10250 fra.me.REG[3] = NIT_NULL;
10251 fra.me.REG[4] = NIT_NULL;
10252 fra.me.REG[5] = NIT_NULL;
10253 fra.me.REG[6] = NIT_NULL;
10254 fra.me.REG[7] = NIT_NULL;
10255 fra.me.REG[8] = NIT_NULL;
10256 fra.me.REG[9] = NIT_NULL;
10257 fra.me.REG[0] = p0;
10258 fra.me.REG[1] = p1;
10259 /* parser/parser.nit:2678 */
10260 fra.me.REG[2] = NIT_NULL;
10261 /* parser/parser.nit:2679 */
10262 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10263 /* parser/parser.nit:2680 */
10264 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10265 /* parser/parser.nit:2681 */
10266 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10267 /* parser/parser.nit:2682 */
10268 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10269 /* parser/parser.nit:2683 */
10270 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10271 /* parser/parser.nit:2684 */
10272 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10273 /* parser/parser.nit:2686 */
10274 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*/;
10275 if (UNTAG_Bool(REGB0)) {
10276 } else {
10277 nit_abort("Assert failed", NULL, LOCATE_parser, 2686);
10278 }
10279 /* parser/parser.nit:2687 */
10280 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10281 /* parser/parser.nit:2689 */
10282 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]*/;
10283 if (UNTAG_Bool(REGB0)) {
10284 } else {
10285 nit_abort("Assert failed", NULL, LOCATE_parser, 2689);
10286 }
10287 /* parser/parser.nit:2690 */
10288 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
10289 fra.me.REG[9] = fra.me.REG[4];
10290 /* parser/parser.nit:2691 */
10291 fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
10292 /* parser/parser.nit:2695 */
10293 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*/;
10294 if (UNTAG_Bool(REGB0)) {
10295 } else {
10296 nit_abort("Assert failed", NULL, LOCATE_parser, 2695);
10297 }
10298 /* parser/parser.nit:2696 */
10299 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
10300 if (UNTAG_Bool(REGB0)) {
10301 } else {
10302 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
10303 if (UNTAG_Bool(REGB1)) {
10304 REGB1 = TAG_Bool(0);
10305 REGB0 = REGB1;
10306 } else {
10307 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
10308 REGB0 = REGB1;
10309 }
10310 }
10311 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10312 if (UNTAG_Bool(REGB0)) {
10313 /* parser/parser.nit:2697 */
10314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
10315 }
10316 /* parser/parser.nit:2699 */
10317 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10318 if (UNTAG_Bool(REGB0)) {
10319 } else {
10320 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10321 if (UNTAG_Bool(REGB1)) {
10322 REGB1 = TAG_Bool(0);
10323 REGB0 = REGB1;
10324 } else {
10325 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10326 REGB0 = REGB1;
10327 }
10328 }
10329 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10330 if (UNTAG_Bool(REGB0)) {
10331 /* parser/parser.nit:2700 */
10332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
10333 }
10334 /* parser/parser.nit:2702 */
10335 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[5], fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
10336 /* parser/parser.nit:2708 */
10337 fra.me.REG[2] = fra.me.REG[8];
10338 /* parser/parser.nit:2709 */
10339 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10340 if (UNTAG_Bool(REGB0)) {
10341 } else {
10342 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2709);
10343 }
10344 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10345 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10346 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10347 stack_frame_head = fra.me.prev;
10348 return;
10349 }
10350 static const char LOCATE_parser___ReduceAction50___action[] = "parser::ReduceAction50::(parser::ReduceAction::action)";
10351 void parser___ReduceAction50___action(val_t p0, val_t p1){
10352 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10353 val_t REGB0;
10354 val_t REGB1;
10355 val_t tmp;
10356 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10357 fra.me.file = LOCATE_parser;
10358 fra.me.line = 2714;
10359 fra.me.meth = LOCATE_parser___ReduceAction50___action;
10360 fra.me.has_broke = 0;
10361 fra.me.REG_size = 9;
10362 fra.me.nitni_local_ref_head = NULL;
10363 fra.me.REG[0] = NIT_NULL;
10364 fra.me.REG[1] = NIT_NULL;
10365 fra.me.REG[2] = NIT_NULL;
10366 fra.me.REG[3] = NIT_NULL;
10367 fra.me.REG[4] = NIT_NULL;
10368 fra.me.REG[5] = NIT_NULL;
10369 fra.me.REG[6] = NIT_NULL;
10370 fra.me.REG[7] = NIT_NULL;
10371 fra.me.REG[8] = NIT_NULL;
10372 fra.me.REG[0] = p0;
10373 fra.me.REG[1] = p1;
10374 /* parser/parser.nit:2716 */
10375 fra.me.REG[2] = NIT_NULL;
10376 /* parser/parser.nit:2717 */
10377 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10378 /* parser/parser.nit:2718 */
10379 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10380 /* parser/parser.nit:2719 */
10381 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10382 /* parser/parser.nit:2720 */
10383 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10384 /* parser/parser.nit:2721 */
10385 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10386 /* parser/parser.nit:2722 */
10387 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10388 /* parser/parser.nit:2724 */
10389 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]*/;
10390 if (UNTAG_Bool(REGB0)) {
10391 } else {
10392 nit_abort("Assert failed", NULL, LOCATE_parser, 2724);
10393 }
10394 /* parser/parser.nit:2725 */
10395 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
10396 fra.me.REG[6] = fra.me.REG[5];
10397 /* parser/parser.nit:2726 */
10398 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10399 /* parser/parser.nit:2728 */
10400 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]*/;
10401 if (UNTAG_Bool(REGB0)) {
10402 } else {
10403 nit_abort("Assert failed", NULL, LOCATE_parser, 2728);
10404 }
10405 /* parser/parser.nit:2729 */
10406 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
10407 fra.me.REG[5] = fra.me.REG[4];
10408 /* parser/parser.nit:2730 */
10409 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10410 /* parser/parser.nit:2734 */
10411 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*/;
10412 if (UNTAG_Bool(REGB0)) {
10413 } else {
10414 nit_abort("Assert failed", NULL, LOCATE_parser, 2734);
10415 }
10416 /* parser/parser.nit:2735 */
10417 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10418 if (UNTAG_Bool(REGB0)) {
10419 } else {
10420 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10421 if (UNTAG_Bool(REGB1)) {
10422 REGB1 = TAG_Bool(0);
10423 REGB0 = REGB1;
10424 } else {
10425 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10426 REGB0 = REGB1;
10427 }
10428 }
10429 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10430 if (UNTAG_Bool(REGB0)) {
10431 /* parser/parser.nit:2736 */
10432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
10433 }
10434 /* parser/parser.nit:2738 */
10435 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10436 if (UNTAG_Bool(REGB0)) {
10437 } else {
10438 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10439 if (UNTAG_Bool(REGB1)) {
10440 REGB1 = TAG_Bool(0);
10441 REGB0 = REGB1;
10442 } else {
10443 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10444 REGB0 = REGB1;
10445 }
10446 }
10447 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10448 if (UNTAG_Bool(REGB0)) {
10449 /* parser/parser.nit:2739 */
10450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
10451 }
10452 /* parser/parser.nit:2741 */
10453 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
10454 /* parser/parser.nit:2747 */
10455 fra.me.REG[2] = fra.me.REG[8];
10456 /* parser/parser.nit:2748 */
10457 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10458 if (UNTAG_Bool(REGB0)) {
10459 } else {
10460 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2748);
10461 }
10462 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10463 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10464 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10465 stack_frame_head = fra.me.prev;
10466 return;
10467 }
10468 static const char LOCATE_parser___ReduceAction51___action[] = "parser::ReduceAction51::(parser::ReduceAction::action)";
10469 void parser___ReduceAction51___action(val_t p0, val_t p1){
10470 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10471 val_t REGB0;
10472 val_t REGB1;
10473 val_t tmp;
10474 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10475 fra.me.file = LOCATE_parser;
10476 fra.me.line = 2753;
10477 fra.me.meth = LOCATE_parser___ReduceAction51___action;
10478 fra.me.has_broke = 0;
10479 fra.me.REG_size = 10;
10480 fra.me.nitni_local_ref_head = NULL;
10481 fra.me.REG[0] = NIT_NULL;
10482 fra.me.REG[1] = NIT_NULL;
10483 fra.me.REG[2] = NIT_NULL;
10484 fra.me.REG[3] = NIT_NULL;
10485 fra.me.REG[4] = NIT_NULL;
10486 fra.me.REG[5] = NIT_NULL;
10487 fra.me.REG[6] = NIT_NULL;
10488 fra.me.REG[7] = NIT_NULL;
10489 fra.me.REG[8] = NIT_NULL;
10490 fra.me.REG[9] = NIT_NULL;
10491 fra.me.REG[0] = p0;
10492 fra.me.REG[1] = p1;
10493 /* parser/parser.nit:2755 */
10494 fra.me.REG[2] = NIT_NULL;
10495 /* parser/parser.nit:2756 */
10496 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10497 /* parser/parser.nit:2757 */
10498 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10499 /* parser/parser.nit:2758 */
10500 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10501 /* parser/parser.nit:2759 */
10502 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10503 /* parser/parser.nit:2760 */
10504 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10505 /* parser/parser.nit:2761 */
10506 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10507 /* parser/parser.nit:2762 */
10508 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10509 /* parser/parser.nit:2764 */
10510 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*/;
10511 if (UNTAG_Bool(REGB0)) {
10512 } else {
10513 nit_abort("Assert failed", NULL, LOCATE_parser, 2764);
10514 }
10515 /* parser/parser.nit:2766 */
10516 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]*/;
10517 if (UNTAG_Bool(REGB0)) {
10518 } else {
10519 nit_abort("Assert failed", NULL, LOCATE_parser, 2766);
10520 }
10521 /* parser/parser.nit:2767 */
10522 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
10523 fra.me.REG[7] = fra.me.REG[5];
10524 /* parser/parser.nit:2768 */
10525 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10526 /* parser/parser.nit:2770 */
10527 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]*/;
10528 if (UNTAG_Bool(REGB0)) {
10529 } else {
10530 nit_abort("Assert failed", NULL, LOCATE_parser, 2770);
10531 }
10532 /* parser/parser.nit:2771 */
10533 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
10534 fra.me.REG[5] = fra.me.REG[4];
10535 /* parser/parser.nit:2772 */
10536 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10537 /* parser/parser.nit:2776 */
10538 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*/;
10539 if (UNTAG_Bool(REGB0)) {
10540 } else {
10541 nit_abort("Assert failed", NULL, LOCATE_parser, 2776);
10542 }
10543 /* parser/parser.nit:2777 */
10544 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10545 if (UNTAG_Bool(REGB0)) {
10546 } else {
10547 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10548 if (UNTAG_Bool(REGB1)) {
10549 REGB1 = TAG_Bool(0);
10550 REGB0 = REGB1;
10551 } else {
10552 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10553 REGB0 = REGB1;
10554 }
10555 }
10556 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10557 if (UNTAG_Bool(REGB0)) {
10558 /* parser/parser.nit:2778 */
10559 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
10560 }
10561 /* parser/parser.nit:2780 */
10562 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10563 if (UNTAG_Bool(REGB0)) {
10564 } else {
10565 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10566 if (UNTAG_Bool(REGB1)) {
10567 REGB1 = TAG_Bool(0);
10568 REGB0 = REGB1;
10569 } else {
10570 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10571 REGB0 = REGB1;
10572 }
10573 }
10574 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10575 if (UNTAG_Bool(REGB0)) {
10576 /* parser/parser.nit:2781 */
10577 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
10578 }
10579 /* parser/parser.nit:2783 */
10580 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
10581 /* parser/parser.nit:2789 */
10582 fra.me.REG[2] = fra.me.REG[9];
10583 /* parser/parser.nit:2790 */
10584 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10585 if (UNTAG_Bool(REGB0)) {
10586 } else {
10587 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2790);
10588 }
10589 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10590 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10591 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10592 stack_frame_head = fra.me.prev;
10593 return;
10594 }
10595 static const char LOCATE_parser___ReduceAction52___action[] = "parser::ReduceAction52::(parser::ReduceAction::action)";
10596 void parser___ReduceAction52___action(val_t p0, val_t p1){
10597 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
10598 val_t REGB0;
10599 val_t REGB1;
10600 val_t tmp;
10601 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10602 fra.me.file = LOCATE_parser;
10603 fra.me.line = 2795;
10604 fra.me.meth = LOCATE_parser___ReduceAction52___action;
10605 fra.me.has_broke = 0;
10606 fra.me.REG_size = 9;
10607 fra.me.nitni_local_ref_head = NULL;
10608 fra.me.REG[0] = NIT_NULL;
10609 fra.me.REG[1] = NIT_NULL;
10610 fra.me.REG[2] = NIT_NULL;
10611 fra.me.REG[3] = NIT_NULL;
10612 fra.me.REG[4] = NIT_NULL;
10613 fra.me.REG[5] = NIT_NULL;
10614 fra.me.REG[6] = NIT_NULL;
10615 fra.me.REG[7] = NIT_NULL;
10616 fra.me.REG[8] = NIT_NULL;
10617 fra.me.REG[0] = p0;
10618 fra.me.REG[1] = p1;
10619 /* parser/parser.nit:2797 */
10620 fra.me.REG[2] = NIT_NULL;
10621 /* parser/parser.nit:2798 */
10622 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10623 /* parser/parser.nit:2799 */
10624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10625 /* parser/parser.nit:2800 */
10626 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10627 /* parser/parser.nit:2801 */
10628 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
10629 /* parser/parser.nit:2802 */
10630 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10631 /* parser/parser.nit:2803 */
10632 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10633 /* parser/parser.nit:2805 */
10634 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]*/;
10635 if (UNTAG_Bool(REGB0)) {
10636 } else {
10637 nit_abort("Assert failed", NULL, LOCATE_parser, 2805);
10638 }
10639 /* parser/parser.nit:2806 */
10640 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
10641 fra.me.REG[7] = fra.me.REG[5];
10642 /* parser/parser.nit:2807 */
10643 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10644 /* parser/parser.nit:2809 */
10645 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]*/;
10646 if (UNTAG_Bool(REGB0)) {
10647 } else {
10648 nit_abort("Assert failed", NULL, LOCATE_parser, 2809);
10649 }
10650 /* parser/parser.nit:2810 */
10651 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
10652 fra.me.REG[5] = fra.me.REG[4];
10653 /* parser/parser.nit:2811 */
10654 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10655 /* parser/parser.nit:2815 */
10656 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*/;
10657 if (UNTAG_Bool(REGB0)) {
10658 } else {
10659 nit_abort("Assert failed", NULL, LOCATE_parser, 2815);
10660 }
10661 /* parser/parser.nit:2816 */
10662 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10663 if (UNTAG_Bool(REGB0)) {
10664 } else {
10665 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10666 if (UNTAG_Bool(REGB1)) {
10667 REGB1 = TAG_Bool(0);
10668 REGB0 = REGB1;
10669 } else {
10670 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10671 REGB0 = REGB1;
10672 }
10673 }
10674 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10675 if (UNTAG_Bool(REGB0)) {
10676 /* parser/parser.nit:2817 */
10677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[5]);
10678 }
10679 /* parser/parser.nit:2819 */
10680 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10681 if (UNTAG_Bool(REGB0)) {
10682 } else {
10683 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10684 if (UNTAG_Bool(REGB1)) {
10685 REGB1 = TAG_Bool(0);
10686 REGB0 = REGB1;
10687 } else {
10688 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10689 REGB0 = REGB1;
10690 }
10691 }
10692 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10693 if (UNTAG_Bool(REGB0)) {
10694 /* parser/parser.nit:2820 */
10695 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
10696 }
10697 /* parser/parser.nit:2822 */
10698 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
10699 /* parser/parser.nit:2828 */
10700 fra.me.REG[2] = fra.me.REG[8];
10701 /* parser/parser.nit:2829 */
10702 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10703 if (UNTAG_Bool(REGB0)) {
10704 } else {
10705 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2829);
10706 }
10707 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10708 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10709 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10710 stack_frame_head = fra.me.prev;
10711 return;
10712 }
10713 static const char LOCATE_parser___ReduceAction53___action[] = "parser::ReduceAction53::(parser::ReduceAction::action)";
10714 void parser___ReduceAction53___action(val_t p0, val_t p1){
10715 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10716 val_t REGB0;
10717 val_t REGB1;
10718 val_t tmp;
10719 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10720 fra.me.file = LOCATE_parser;
10721 fra.me.line = 2834;
10722 fra.me.meth = LOCATE_parser___ReduceAction53___action;
10723 fra.me.has_broke = 0;
10724 fra.me.REG_size = 10;
10725 fra.me.nitni_local_ref_head = NULL;
10726 fra.me.REG[0] = NIT_NULL;
10727 fra.me.REG[1] = NIT_NULL;
10728 fra.me.REG[2] = NIT_NULL;
10729 fra.me.REG[3] = NIT_NULL;
10730 fra.me.REG[4] = NIT_NULL;
10731 fra.me.REG[5] = NIT_NULL;
10732 fra.me.REG[6] = NIT_NULL;
10733 fra.me.REG[7] = NIT_NULL;
10734 fra.me.REG[8] = NIT_NULL;
10735 fra.me.REG[9] = NIT_NULL;
10736 fra.me.REG[0] = p0;
10737 fra.me.REG[1] = p1;
10738 /* parser/parser.nit:2836 */
10739 fra.me.REG[2] = NIT_NULL;
10740 /* parser/parser.nit:2837 */
10741 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10742 /* parser/parser.nit:2838 */
10743 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10744 /* parser/parser.nit:2839 */
10745 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10746 /* parser/parser.nit:2840 */
10747 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10748 /* parser/parser.nit:2841 */
10749 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10750 /* parser/parser.nit:2842 */
10751 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10752 /* parser/parser.nit:2843 */
10753 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10754 /* parser/parser.nit:2845 */
10755 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*/;
10756 if (UNTAG_Bool(REGB0)) {
10757 } else {
10758 nit_abort("Assert failed", NULL, LOCATE_parser, 2845);
10759 }
10760 /* parser/parser.nit:2847 */
10761 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]*/;
10762 if (UNTAG_Bool(REGB0)) {
10763 } else {
10764 nit_abort("Assert failed", NULL, LOCATE_parser, 2847);
10765 }
10766 /* parser/parser.nit:2848 */
10767 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
10768 fra.me.REG[8] = fra.me.REG[5];
10769 /* parser/parser.nit:2849 */
10770 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10771 /* parser/parser.nit:2851 */
10772 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]*/;
10773 if (UNTAG_Bool(REGB0)) {
10774 } else {
10775 nit_abort("Assert failed", NULL, LOCATE_parser, 2851);
10776 }
10777 /* parser/parser.nit:2852 */
10778 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
10779 fra.me.REG[5] = fra.me.REG[4];
10780 /* parser/parser.nit:2853 */
10781 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10782 /* parser/parser.nit:2857 */
10783 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*/;
10784 if (UNTAG_Bool(REGB0)) {
10785 } else {
10786 nit_abort("Assert failed", NULL, LOCATE_parser, 2857);
10787 }
10788 /* parser/parser.nit:2858 */
10789 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10790 if (UNTAG_Bool(REGB0)) {
10791 } else {
10792 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10793 if (UNTAG_Bool(REGB1)) {
10794 REGB1 = TAG_Bool(0);
10795 REGB0 = REGB1;
10796 } else {
10797 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10798 REGB0 = REGB1;
10799 }
10800 }
10801 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10802 if (UNTAG_Bool(REGB0)) {
10803 /* parser/parser.nit:2859 */
10804 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
10805 }
10806 /* parser/parser.nit:2861 */
10807 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10808 if (UNTAG_Bool(REGB0)) {
10809 } else {
10810 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10811 if (UNTAG_Bool(REGB1)) {
10812 REGB1 = TAG_Bool(0);
10813 REGB0 = REGB1;
10814 } else {
10815 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10816 REGB0 = REGB1;
10817 }
10818 }
10819 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10820 if (UNTAG_Bool(REGB0)) {
10821 /* parser/parser.nit:2862 */
10822 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
10823 }
10824 /* parser/parser.nit:2864 */
10825 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
10826 /* parser/parser.nit:2870 */
10827 fra.me.REG[2] = fra.me.REG[9];
10828 /* parser/parser.nit:2871 */
10829 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10830 if (UNTAG_Bool(REGB0)) {
10831 } else {
10832 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2871);
10833 }
10834 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10835 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10836 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10837 stack_frame_head = fra.me.prev;
10838 return;
10839 }
10840 static const char LOCATE_parser___ReduceAction54___action[] = "parser::ReduceAction54::(parser::ReduceAction::action)";
10841 void parser___ReduceAction54___action(val_t p0, val_t p1){
10842 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
10843 val_t REGB0;
10844 val_t REGB1;
10845 val_t tmp;
10846 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10847 fra.me.file = LOCATE_parser;
10848 fra.me.line = 2876;
10849 fra.me.meth = LOCATE_parser___ReduceAction54___action;
10850 fra.me.has_broke = 0;
10851 fra.me.REG_size = 10;
10852 fra.me.nitni_local_ref_head = NULL;
10853 fra.me.REG[0] = NIT_NULL;
10854 fra.me.REG[1] = NIT_NULL;
10855 fra.me.REG[2] = NIT_NULL;
10856 fra.me.REG[3] = NIT_NULL;
10857 fra.me.REG[4] = NIT_NULL;
10858 fra.me.REG[5] = NIT_NULL;
10859 fra.me.REG[6] = NIT_NULL;
10860 fra.me.REG[7] = NIT_NULL;
10861 fra.me.REG[8] = NIT_NULL;
10862 fra.me.REG[9] = NIT_NULL;
10863 fra.me.REG[0] = p0;
10864 fra.me.REG[1] = p1;
10865 /* parser/parser.nit:2878 */
10866 fra.me.REG[2] = NIT_NULL;
10867 /* parser/parser.nit:2879 */
10868 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10869 /* parser/parser.nit:2880 */
10870 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10871 /* parser/parser.nit:2881 */
10872 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10873 /* parser/parser.nit:2882 */
10874 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
10875 /* parser/parser.nit:2883 */
10876 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
10877 /* parser/parser.nit:2884 */
10878 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
10879 /* parser/parser.nit:2885 */
10880 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
10881 /* parser/parser.nit:2887 */
10882 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]*/;
10883 if (UNTAG_Bool(REGB0)) {
10884 } else {
10885 nit_abort("Assert failed", NULL, LOCATE_parser, 2887);
10886 }
10887 /* parser/parser.nit:2888 */
10888 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
10889 fra.me.REG[7] = fra.me.REG[6];
10890 /* parser/parser.nit:2890 */
10891 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]*/;
10892 if (UNTAG_Bool(REGB0)) {
10893 } else {
10894 nit_abort("Assert failed", NULL, LOCATE_parser, 2890);
10895 }
10896 /* parser/parser.nit:2891 */
10897 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
10898 fra.me.REG[8] = fra.me.REG[5];
10899 /* parser/parser.nit:2892 */
10900 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
10901 /* parser/parser.nit:2894 */
10902 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]*/;
10903 if (UNTAG_Bool(REGB0)) {
10904 } else {
10905 nit_abort("Assert failed", NULL, LOCATE_parser, 2894);
10906 }
10907 /* parser/parser.nit:2895 */
10908 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
10909 fra.me.REG[5] = fra.me.REG[4];
10910 /* parser/parser.nit:2896 */
10911 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
10912 /* parser/parser.nit:2900 */
10913 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*/;
10914 if (UNTAG_Bool(REGB0)) {
10915 } else {
10916 nit_abort("Assert failed", NULL, LOCATE_parser, 2900);
10917 }
10918 /* parser/parser.nit:2901 */
10919 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10920 if (UNTAG_Bool(REGB0)) {
10921 } else {
10922 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10923 if (UNTAG_Bool(REGB1)) {
10924 REGB1 = TAG_Bool(0);
10925 REGB0 = REGB1;
10926 } else {
10927 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
10928 REGB0 = REGB1;
10929 }
10930 }
10931 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10932 if (UNTAG_Bool(REGB0)) {
10933 /* parser/parser.nit:2902 */
10934 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[5]);
10935 }
10936 /* parser/parser.nit:2904 */
10937 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10938 if (UNTAG_Bool(REGB0)) {
10939 } else {
10940 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10941 if (UNTAG_Bool(REGB1)) {
10942 REGB1 = TAG_Bool(0);
10943 REGB0 = REGB1;
10944 } else {
10945 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
10946 REGB0 = REGB1;
10947 }
10948 }
10949 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10950 if (UNTAG_Bool(REGB0)) {
10951 /* parser/parser.nit:2905 */
10952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
10953 }
10954 /* parser/parser.nit:2907 */
10955 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
10956 /* parser/parser.nit:2913 */
10957 fra.me.REG[2] = fra.me.REG[9];
10958 /* parser/parser.nit:2914 */
10959 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
10960 if (UNTAG_Bool(REGB0)) {
10961 } else {
10962 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2914);
10963 }
10964 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
10965 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
10966 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
10967 stack_frame_head = fra.me.prev;
10968 return;
10969 }
10970 static const char LOCATE_parser___ReduceAction55___action[] = "parser::ReduceAction55::(parser::ReduceAction::action)";
10971 void parser___ReduceAction55___action(val_t p0, val_t p1){
10972 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
10973 val_t REGB0;
10974 val_t REGB1;
10975 val_t tmp;
10976 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10977 fra.me.file = LOCATE_parser;
10978 fra.me.line = 2919;
10979 fra.me.meth = LOCATE_parser___ReduceAction55___action;
10980 fra.me.has_broke = 0;
10981 fra.me.REG_size = 11;
10982 fra.me.nitni_local_ref_head = NULL;
10983 fra.me.REG[0] = NIT_NULL;
10984 fra.me.REG[1] = NIT_NULL;
10985 fra.me.REG[2] = NIT_NULL;
10986 fra.me.REG[3] = NIT_NULL;
10987 fra.me.REG[4] = NIT_NULL;
10988 fra.me.REG[5] = NIT_NULL;
10989 fra.me.REG[6] = NIT_NULL;
10990 fra.me.REG[7] = NIT_NULL;
10991 fra.me.REG[8] = NIT_NULL;
10992 fra.me.REG[9] = NIT_NULL;
10993 fra.me.REG[10] = NIT_NULL;
10994 fra.me.REG[0] = p0;
10995 fra.me.REG[1] = p1;
10996 /* parser/parser.nit:2921 */
10997 fra.me.REG[2] = NIT_NULL;
10998 /* parser/parser.nit:2922 */
10999 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11000 /* parser/parser.nit:2923 */
11001 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11002 /* parser/parser.nit:2924 */
11003 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11004 /* parser/parser.nit:2925 */
11005 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11006 /* parser/parser.nit:2926 */
11007 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11008 /* parser/parser.nit:2927 */
11009 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11010 /* parser/parser.nit:2928 */
11011 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11012 /* parser/parser.nit:2929 */
11013 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
11014 /* parser/parser.nit:2931 */
11015 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*/;
11016 if (UNTAG_Bool(REGB0)) {
11017 } else {
11018 nit_abort("Assert failed", NULL, LOCATE_parser, 2931);
11019 }
11020 /* parser/parser.nit:2933 */
11021 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]*/;
11022 if (UNTAG_Bool(REGB0)) {
11023 } else {
11024 nit_abort("Assert failed", NULL, LOCATE_parser, 2933);
11025 }
11026 /* parser/parser.nit:2934 */
11027 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
11028 fra.me.REG[8] = fra.me.REG[6];
11029 /* parser/parser.nit:2936 */
11030 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]*/;
11031 if (UNTAG_Bool(REGB0)) {
11032 } else {
11033 nit_abort("Assert failed", NULL, LOCATE_parser, 2936);
11034 }
11035 /* parser/parser.nit:2937 */
11036 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
11037 fra.me.REG[9] = fra.me.REG[5];
11038 /* parser/parser.nit:2938 */
11039 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
11040 /* parser/parser.nit:2940 */
11041 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]*/;
11042 if (UNTAG_Bool(REGB0)) {
11043 } else {
11044 nit_abort("Assert failed", NULL, LOCATE_parser, 2940);
11045 }
11046 /* parser/parser.nit:2941 */
11047 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
11048 fra.me.REG[5] = fra.me.REG[4];
11049 /* parser/parser.nit:2942 */
11050 fra.me.REG[5] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[5]);
11051 /* parser/parser.nit:2946 */
11052 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*/;
11053 if (UNTAG_Bool(REGB0)) {
11054 } else {
11055 nit_abort("Assert failed", NULL, LOCATE_parser, 2946);
11056 }
11057 /* parser/parser.nit:2947 */
11058 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
11059 if (UNTAG_Bool(REGB0)) {
11060 } else {
11061 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
11062 if (UNTAG_Bool(REGB1)) {
11063 REGB1 = TAG_Bool(0);
11064 REGB0 = REGB1;
11065 } else {
11066 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
11067 REGB0 = REGB1;
11068 }
11069 }
11070 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11071 if (UNTAG_Bool(REGB0)) {
11072 /* parser/parser.nit:2948 */
11073 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[5]);
11074 }
11075 /* parser/parser.nit:2950 */
11076 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11077 if (UNTAG_Bool(REGB0)) {
11078 } else {
11079 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11080 if (UNTAG_Bool(REGB1)) {
11081 REGB1 = TAG_Bool(0);
11082 REGB0 = REGB1;
11083 } else {
11084 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11085 REGB0 = REGB1;
11086 }
11087 }
11088 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11089 if (UNTAG_Bool(REGB0)) {
11090 /* parser/parser.nit:2951 */
11091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
11092 }
11093 /* parser/parser.nit:2953 */
11094 fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
11095 /* parser/parser.nit:2959 */
11096 fra.me.REG[2] = fra.me.REG[10];
11097 /* parser/parser.nit:2960 */
11098 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11099 if (UNTAG_Bool(REGB0)) {
11100 } else {
11101 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2960);
11102 }
11103 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11104 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11105 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11106 stack_frame_head = fra.me.prev;
11107 return;
11108 }
11109 static const char LOCATE_parser___ReduceAction56___action[] = "parser::ReduceAction56::(parser::ReduceAction::action)";
11110 void parser___ReduceAction56___action(val_t p0, val_t p1){
11111 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11112 val_t REGB0;
11113 val_t REGB1;
11114 val_t tmp;
11115 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11116 fra.me.file = LOCATE_parser;
11117 fra.me.line = 2965;
11118 fra.me.meth = LOCATE_parser___ReduceAction56___action;
11119 fra.me.has_broke = 0;
11120 fra.me.REG_size = 10;
11121 fra.me.nitni_local_ref_head = NULL;
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[9] = NIT_NULL;
11132 fra.me.REG[0] = p0;
11133 fra.me.REG[1] = p1;
11134 /* parser/parser.nit:2967 */
11135 fra.me.REG[2] = NIT_NULL;
11136 /* parser/parser.nit:2968 */
11137 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11138 /* parser/parser.nit:2969 */
11139 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11140 /* parser/parser.nit:2970 */
11141 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11142 /* parser/parser.nit:2971 */
11143 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11144 /* parser/parser.nit:2972 */
11145 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11146 /* parser/parser.nit:2973 */
11147 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11148 /* parser/parser.nit:2975 */
11149 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]*/;
11150 if (UNTAG_Bool(REGB0)) {
11151 } else {
11152 nit_abort("Assert failed", NULL, LOCATE_parser, 2975);
11153 }
11154 /* parser/parser.nit:2976 */
11155 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11156 /* parser/parser.nit:2978 */
11157 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]*/;
11158 if (UNTAG_Bool(REGB0)) {
11159 } else {
11160 nit_abort("Assert failed", NULL, LOCATE_parser, 2978);
11161 }
11162 /* parser/parser.nit:2979 */
11163 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
11164 fra.me.REG[9] = fra.me.REG[4];
11165 /* parser/parser.nit:2980 */
11166 fra.me.REG[9] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[9]);
11167 /* parser/parser.nit:2984 */
11168 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*/;
11169 if (UNTAG_Bool(REGB0)) {
11170 } else {
11171 nit_abort("Assert failed", NULL, LOCATE_parser, 2984);
11172 }
11173 /* parser/parser.nit:2985 */
11174 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
11175 fra.me.REG[8] = fra.me.REG[5];
11176 /* parser/parser.nit:2986 */
11177 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
11178 if (UNTAG_Bool(REGB0)) {
11179 } else {
11180 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
11181 if (UNTAG_Bool(REGB1)) {
11182 REGB1 = TAG_Bool(0);
11183 REGB0 = REGB1;
11184 } else {
11185 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
11186 REGB0 = REGB1;
11187 }
11188 }
11189 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11190 if (UNTAG_Bool(REGB0)) {
11191 /* parser/parser.nit:2987 */
11192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[9]);
11193 }
11194 /* parser/parser.nit:2989 */
11195 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11196 if (UNTAG_Bool(REGB0)) {
11197 } else {
11198 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11199 if (UNTAG_Bool(REGB1)) {
11200 REGB1 = TAG_Bool(0);
11201 REGB0 = REGB1;
11202 } else {
11203 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11204 REGB0 = REGB1;
11205 }
11206 }
11207 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11208 if (UNTAG_Bool(REGB0)) {
11209 /* parser/parser.nit:2990 */
11210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[3]);
11211 }
11212 /* parser/parser.nit:2992 */
11213 fra.me.REG[8] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[6], fra.me.REG[7], fra.me.REG[8]);
11214 /* parser/parser.nit:2998 */
11215 fra.me.REG[2] = fra.me.REG[8];
11216 /* parser/parser.nit:2999 */
11217 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11218 if (UNTAG_Bool(REGB0)) {
11219 } else {
11220 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 2999);
11221 }
11222 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11223 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11224 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11225 stack_frame_head = fra.me.prev;
11226 return;
11227 }
11228 static const char LOCATE_parser___ReduceAction57___action[] = "parser::ReduceAction57::(parser::ReduceAction::action)";
11229 void parser___ReduceAction57___action(val_t p0, val_t p1){
11230 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
11231 val_t REGB0;
11232 val_t REGB1;
11233 val_t tmp;
11234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11235 fra.me.file = LOCATE_parser;
11236 fra.me.line = 3004;
11237 fra.me.meth = LOCATE_parser___ReduceAction57___action;
11238 fra.me.has_broke = 0;
11239 fra.me.REG_size = 11;
11240 fra.me.nitni_local_ref_head = NULL;
11241 fra.me.REG[0] = NIT_NULL;
11242 fra.me.REG[1] = NIT_NULL;
11243 fra.me.REG[2] = NIT_NULL;
11244 fra.me.REG[3] = NIT_NULL;
11245 fra.me.REG[4] = NIT_NULL;
11246 fra.me.REG[5] = NIT_NULL;
11247 fra.me.REG[6] = NIT_NULL;
11248 fra.me.REG[7] = NIT_NULL;
11249 fra.me.REG[8] = NIT_NULL;
11250 fra.me.REG[9] = NIT_NULL;
11251 fra.me.REG[10] = NIT_NULL;
11252 fra.me.REG[0] = p0;
11253 fra.me.REG[1] = p1;
11254 /* parser/parser.nit:3006 */
11255 fra.me.REG[2] = NIT_NULL;
11256 /* parser/parser.nit:3007 */
11257 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11258 /* parser/parser.nit:3008 */
11259 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11260 /* parser/parser.nit:3009 */
11261 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11262 /* parser/parser.nit:3010 */
11263 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11264 /* parser/parser.nit:3011 */
11265 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11266 /* parser/parser.nit:3012 */
11267 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11268 /* parser/parser.nit:3013 */
11269 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11270 /* parser/parser.nit:3015 */
11271 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*/;
11272 if (UNTAG_Bool(REGB0)) {
11273 } else {
11274 nit_abort("Assert failed", NULL, LOCATE_parser, 3015);
11275 }
11276 /* parser/parser.nit:3017 */
11277 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]*/;
11278 if (UNTAG_Bool(REGB0)) {
11279 } else {
11280 nit_abort("Assert failed", NULL, LOCATE_parser, 3017);
11281 }
11282 /* parser/parser.nit:3018 */
11283 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
11284 /* parser/parser.nit:3020 */
11285 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]*/;
11286 if (UNTAG_Bool(REGB0)) {
11287 } else {
11288 nit_abort("Assert failed", NULL, LOCATE_parser, 3020);
11289 }
11290 /* parser/parser.nit:3021 */
11291 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
11292 fra.me.REG[10] = fra.me.REG[4];
11293 /* parser/parser.nit:3022 */
11294 fra.me.REG[10] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[10]);
11295 /* parser/parser.nit:3026 */
11296 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*/;
11297 if (UNTAG_Bool(REGB0)) {
11298 } else {
11299 nit_abort("Assert failed", NULL, LOCATE_parser, 3026);
11300 }
11301 /* parser/parser.nit:3027 */
11302 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
11303 fra.me.REG[9] = fra.me.REG[5];
11304 /* parser/parser.nit:3028 */
11305 REGB0 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
11306 if (UNTAG_Bool(REGB0)) {
11307 } else {
11308 REGB1 = TAG_Bool(fra.me.REG[10]==NIT_NULL);
11309 if (UNTAG_Bool(REGB1)) {
11310 REGB1 = TAG_Bool(0);
11311 REGB0 = REGB1;
11312 } else {
11313 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[10])(fra.me.REG[10], NIT_NULL);
11314 REGB0 = REGB1;
11315 }
11316 }
11317 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11318 if (UNTAG_Bool(REGB0)) {
11319 /* parser/parser.nit:3029 */
11320 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[10]);
11321 }
11322 /* parser/parser.nit:3031 */
11323 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11324 if (UNTAG_Bool(REGB0)) {
11325 } else {
11326 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11327 if (UNTAG_Bool(REGB1)) {
11328 REGB1 = TAG_Bool(0);
11329 REGB0 = REGB1;
11330 } else {
11331 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11332 REGB0 = REGB1;
11333 }
11334 }
11335 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11336 if (UNTAG_Bool(REGB0)) {
11337 /* parser/parser.nit:3032 */
11338 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
11339 }
11340 /* parser/parser.nit:3034 */
11341 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[6], fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
11342 /* parser/parser.nit:3040 */
11343 fra.me.REG[2] = fra.me.REG[9];
11344 /* parser/parser.nit:3041 */
11345 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11346 if (UNTAG_Bool(REGB0)) {
11347 } else {
11348 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3041);
11349 }
11350 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11351 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11352 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11353 stack_frame_head = fra.me.prev;
11354 return;
11355 }
11356 static const char LOCATE_parser___ReduceAction58___action[] = "parser::ReduceAction58::(parser::ReduceAction::action)";
11357 void parser___ReduceAction58___action(val_t p0, val_t p1){
11358 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11359 val_t REGB0;
11360 val_t REGB1;
11361 val_t tmp;
11362 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11363 fra.me.file = LOCATE_parser;
11364 fra.me.line = 3046;
11365 fra.me.meth = LOCATE_parser___ReduceAction58___action;
11366 fra.me.has_broke = 0;
11367 fra.me.REG_size = 10;
11368 fra.me.nitni_local_ref_head = NULL;
11369 fra.me.REG[0] = NIT_NULL;
11370 fra.me.REG[1] = NIT_NULL;
11371 fra.me.REG[2] = NIT_NULL;
11372 fra.me.REG[3] = NIT_NULL;
11373 fra.me.REG[4] = NIT_NULL;
11374 fra.me.REG[5] = NIT_NULL;
11375 fra.me.REG[6] = NIT_NULL;
11376 fra.me.REG[7] = NIT_NULL;
11377 fra.me.REG[8] = NIT_NULL;
11378 fra.me.REG[9] = NIT_NULL;
11379 fra.me.REG[0] = p0;
11380 fra.me.REG[1] = p1;
11381 /* parser/parser.nit:3048 */
11382 fra.me.REG[2] = NIT_NULL;
11383 /* parser/parser.nit:3049 */
11384 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11385 /* parser/parser.nit:3050 */
11386 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11387 /* parser/parser.nit:3051 */
11388 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11389 /* parser/parser.nit:3052 */
11390 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11391 /* parser/parser.nit:3053 */
11392 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11393 /* parser/parser.nit:3054 */
11394 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11395 /* parser/parser.nit:3055 */
11396 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11397 /* parser/parser.nit:3057 */
11398 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]*/;
11399 if (UNTAG_Bool(REGB0)) {
11400 } else {
11401 nit_abort("Assert failed", NULL, LOCATE_parser, 3057);
11402 }
11403 /* parser/parser.nit:3058 */
11404 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[6]);
11405 fra.me.REG[7] = fra.me.REG[6];
11406 /* parser/parser.nit:3060 */
11407 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]*/;
11408 if (UNTAG_Bool(REGB0)) {
11409 } else {
11410 nit_abort("Assert failed", NULL, LOCATE_parser, 3060);
11411 }
11412 /* parser/parser.nit:3061 */
11413 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11414 /* parser/parser.nit:3063 */
11415 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]*/;
11416 if (UNTAG_Bool(REGB0)) {
11417 } else {
11418 nit_abort("Assert failed", NULL, LOCATE_parser, 3063);
11419 }
11420 /* parser/parser.nit:3064 */
11421 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
11422 fra.me.REG[6] = fra.me.REG[4];
11423 /* parser/parser.nit:3065 */
11424 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
11425 /* parser/parser.nit:3069 */
11426 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*/;
11427 if (UNTAG_Bool(REGB0)) {
11428 } else {
11429 nit_abort("Assert failed", NULL, LOCATE_parser, 3069);
11430 }
11431 /* parser/parser.nit:3070 */
11432 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
11433 fra.me.REG[9] = fra.me.REG[5];
11434 /* parser/parser.nit:3071 */
11435 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11436 if (UNTAG_Bool(REGB0)) {
11437 } else {
11438 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11439 if (UNTAG_Bool(REGB1)) {
11440 REGB1 = TAG_Bool(0);
11441 REGB0 = REGB1;
11442 } else {
11443 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
11444 REGB0 = REGB1;
11445 }
11446 }
11447 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11448 if (UNTAG_Bool(REGB0)) {
11449 /* parser/parser.nit:3072 */
11450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
11451 }
11452 /* parser/parser.nit:3074 */
11453 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11454 if (UNTAG_Bool(REGB0)) {
11455 } else {
11456 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11457 if (UNTAG_Bool(REGB1)) {
11458 REGB1 = TAG_Bool(0);
11459 REGB0 = REGB1;
11460 } else {
11461 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11462 REGB0 = REGB1;
11463 }
11464 }
11465 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11466 if (UNTAG_Bool(REGB0)) {
11467 /* parser/parser.nit:3075 */
11468 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
11469 }
11470 /* parser/parser.nit:3077 */
11471 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
11472 /* parser/parser.nit:3083 */
11473 fra.me.REG[2] = fra.me.REG[9];
11474 /* parser/parser.nit:3084 */
11475 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11476 if (UNTAG_Bool(REGB0)) {
11477 } else {
11478 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3084);
11479 }
11480 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11481 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11483 stack_frame_head = fra.me.prev;
11484 return;
11485 }
11486 static const char LOCATE_parser___ReduceAction59___action[] = "parser::ReduceAction59::(parser::ReduceAction::action)";
11487 void parser___ReduceAction59___action(val_t p0, val_t p1){
11488 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
11489 val_t REGB0;
11490 val_t REGB1;
11491 val_t tmp;
11492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11493 fra.me.file = LOCATE_parser;
11494 fra.me.line = 3089;
11495 fra.me.meth = LOCATE_parser___ReduceAction59___action;
11496 fra.me.has_broke = 0;
11497 fra.me.REG_size = 11;
11498 fra.me.nitni_local_ref_head = NULL;
11499 fra.me.REG[0] = NIT_NULL;
11500 fra.me.REG[1] = NIT_NULL;
11501 fra.me.REG[2] = NIT_NULL;
11502 fra.me.REG[3] = NIT_NULL;
11503 fra.me.REG[4] = NIT_NULL;
11504 fra.me.REG[5] = NIT_NULL;
11505 fra.me.REG[6] = NIT_NULL;
11506 fra.me.REG[7] = NIT_NULL;
11507 fra.me.REG[8] = NIT_NULL;
11508 fra.me.REG[9] = NIT_NULL;
11509 fra.me.REG[10] = NIT_NULL;
11510 fra.me.REG[0] = p0;
11511 fra.me.REG[1] = p1;
11512 /* parser/parser.nit:3091 */
11513 fra.me.REG[2] = NIT_NULL;
11514 /* parser/parser.nit:3092 */
11515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11516 /* parser/parser.nit:3093 */
11517 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11518 /* parser/parser.nit:3094 */
11519 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11520 /* parser/parser.nit:3095 */
11521 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11522 /* parser/parser.nit:3096 */
11523 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11524 /* parser/parser.nit:3097 */
11525 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11526 /* parser/parser.nit:3098 */
11527 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11528 /* parser/parser.nit:3099 */
11529 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
11530 /* parser/parser.nit:3101 */
11531 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*/;
11532 if (UNTAG_Bool(REGB0)) {
11533 } else {
11534 nit_abort("Assert failed", NULL, LOCATE_parser, 3101);
11535 }
11536 /* parser/parser.nit:3103 */
11537 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]*/;
11538 if (UNTAG_Bool(REGB0)) {
11539 } else {
11540 nit_abort("Assert failed", NULL, LOCATE_parser, 3103);
11541 }
11542 /* parser/parser.nit:3104 */
11543 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
11544 fra.me.REG[8] = fra.me.REG[6];
11545 /* parser/parser.nit:3106 */
11546 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]*/;
11547 if (UNTAG_Bool(REGB0)) {
11548 } else {
11549 nit_abort("Assert failed", NULL, LOCATE_parser, 3106);
11550 }
11551 /* parser/parser.nit:3107 */
11552 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11553 /* parser/parser.nit:3109 */
11554 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]*/;
11555 if (UNTAG_Bool(REGB0)) {
11556 } else {
11557 nit_abort("Assert failed", NULL, LOCATE_parser, 3109);
11558 }
11559 /* parser/parser.nit:3110 */
11560 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
11561 fra.me.REG[6] = fra.me.REG[4];
11562 /* parser/parser.nit:3111 */
11563 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
11564 /* parser/parser.nit:3115 */
11565 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*/;
11566 if (UNTAG_Bool(REGB0)) {
11567 } else {
11568 nit_abort("Assert failed", NULL, LOCATE_parser, 3115);
11569 }
11570 /* parser/parser.nit:3116 */
11571 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
11572 fra.me.REG[10] = fra.me.REG[5];
11573 /* parser/parser.nit:3117 */
11574 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11575 if (UNTAG_Bool(REGB0)) {
11576 } else {
11577 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11578 if (UNTAG_Bool(REGB1)) {
11579 REGB1 = TAG_Bool(0);
11580 REGB0 = REGB1;
11581 } else {
11582 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
11583 REGB0 = REGB1;
11584 }
11585 }
11586 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11587 if (UNTAG_Bool(REGB0)) {
11588 /* parser/parser.nit:3118 */
11589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
11590 }
11591 /* parser/parser.nit:3120 */
11592 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11593 if (UNTAG_Bool(REGB0)) {
11594 } else {
11595 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11596 if (UNTAG_Bool(REGB1)) {
11597 REGB1 = TAG_Bool(0);
11598 REGB0 = REGB1;
11599 } else {
11600 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11601 REGB0 = REGB1;
11602 }
11603 }
11604 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11605 if (UNTAG_Bool(REGB0)) {
11606 /* parser/parser.nit:3121 */
11607 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
11608 }
11609 /* parser/parser.nit:3123 */
11610 fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
11611 /* parser/parser.nit:3129 */
11612 fra.me.REG[2] = fra.me.REG[10];
11613 /* parser/parser.nit:3130 */
11614 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11615 if (UNTAG_Bool(REGB0)) {
11616 } else {
11617 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3130);
11618 }
11619 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11620 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11621 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11622 stack_frame_head = fra.me.prev;
11623 return;
11624 }
11625 static const char LOCATE_parser___ReduceAction60___action[] = "parser::ReduceAction60::(parser::ReduceAction::action)";
11626 void parser___ReduceAction60___action(val_t p0, val_t p1){
11627 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
11628 val_t REGB0;
11629 val_t REGB1;
11630 val_t tmp;
11631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11632 fra.me.file = LOCATE_parser;
11633 fra.me.line = 3135;
11634 fra.me.meth = LOCATE_parser___ReduceAction60___action;
11635 fra.me.has_broke = 0;
11636 fra.me.REG_size = 10;
11637 fra.me.nitni_local_ref_head = NULL;
11638 fra.me.REG[0] = NIT_NULL;
11639 fra.me.REG[1] = NIT_NULL;
11640 fra.me.REG[2] = NIT_NULL;
11641 fra.me.REG[3] = NIT_NULL;
11642 fra.me.REG[4] = NIT_NULL;
11643 fra.me.REG[5] = NIT_NULL;
11644 fra.me.REG[6] = NIT_NULL;
11645 fra.me.REG[7] = NIT_NULL;
11646 fra.me.REG[8] = NIT_NULL;
11647 fra.me.REG[9] = NIT_NULL;
11648 fra.me.REG[0] = p0;
11649 fra.me.REG[1] = p1;
11650 /* parser/parser.nit:3137 */
11651 fra.me.REG[2] = NIT_NULL;
11652 /* parser/parser.nit:3138 */
11653 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11654 /* parser/parser.nit:3139 */
11655 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11656 /* parser/parser.nit:3140 */
11657 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11658 /* parser/parser.nit:3141 */
11659 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11660 /* parser/parser.nit:3142 */
11661 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
11662 /* parser/parser.nit:3143 */
11663 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11664 /* parser/parser.nit:3144 */
11665 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11666 /* parser/parser.nit:3146 */
11667 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]*/;
11668 if (UNTAG_Bool(REGB0)) {
11669 } else {
11670 nit_abort("Assert failed", NULL, LOCATE_parser, 3146);
11671 }
11672 /* parser/parser.nit:3147 */
11673 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
11674 fra.me.REG[8] = fra.me.REG[6];
11675 /* parser/parser.nit:3149 */
11676 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]*/;
11677 if (UNTAG_Bool(REGB0)) {
11678 } else {
11679 nit_abort("Assert failed", NULL, LOCATE_parser, 3149);
11680 }
11681 /* parser/parser.nit:3150 */
11682 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11683 /* parser/parser.nit:3152 */
11684 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]*/;
11685 if (UNTAG_Bool(REGB0)) {
11686 } else {
11687 nit_abort("Assert failed", NULL, LOCATE_parser, 3152);
11688 }
11689 /* parser/parser.nit:3153 */
11690 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
11691 fra.me.REG[6] = fra.me.REG[4];
11692 /* parser/parser.nit:3154 */
11693 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
11694 /* parser/parser.nit:3158 */
11695 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*/;
11696 if (UNTAG_Bool(REGB0)) {
11697 } else {
11698 nit_abort("Assert failed", NULL, LOCATE_parser, 3158);
11699 }
11700 /* parser/parser.nit:3159 */
11701 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[5]);
11702 fra.me.REG[9] = fra.me.REG[5];
11703 /* parser/parser.nit:3160 */
11704 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11705 if (UNTAG_Bool(REGB0)) {
11706 } else {
11707 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11708 if (UNTAG_Bool(REGB1)) {
11709 REGB1 = TAG_Bool(0);
11710 REGB0 = REGB1;
11711 } else {
11712 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
11713 REGB0 = REGB1;
11714 }
11715 }
11716 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11717 if (UNTAG_Bool(REGB0)) {
11718 /* parser/parser.nit:3161 */
11719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[6]);
11720 }
11721 /* parser/parser.nit:3163 */
11722 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11723 if (UNTAG_Bool(REGB0)) {
11724 } else {
11725 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11726 if (UNTAG_Bool(REGB1)) {
11727 REGB1 = TAG_Bool(0);
11728 REGB0 = REGB1;
11729 } else {
11730 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11731 REGB0 = REGB1;
11732 }
11733 }
11734 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11735 if (UNTAG_Bool(REGB0)) {
11736 /* parser/parser.nit:3164 */
11737 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[3]);
11738 }
11739 /* parser/parser.nit:3166 */
11740 fra.me.REG[9] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[7], fra.me.REG[8], fra.me.REG[9]);
11741 /* parser/parser.nit:3172 */
11742 fra.me.REG[2] = fra.me.REG[9];
11743 /* parser/parser.nit:3173 */
11744 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11745 if (UNTAG_Bool(REGB0)) {
11746 } else {
11747 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3173);
11748 }
11749 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11750 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11751 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11752 stack_frame_head = fra.me.prev;
11753 return;
11754 }
11755 static const char LOCATE_parser___ReduceAction61___action[] = "parser::ReduceAction61::(parser::ReduceAction::action)";
11756 void parser___ReduceAction61___action(val_t p0, val_t p1){
11757 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
11758 val_t REGB0;
11759 val_t REGB1;
11760 val_t tmp;
11761 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11762 fra.me.file = LOCATE_parser;
11763 fra.me.line = 3178;
11764 fra.me.meth = LOCATE_parser___ReduceAction61___action;
11765 fra.me.has_broke = 0;
11766 fra.me.REG_size = 11;
11767 fra.me.nitni_local_ref_head = NULL;
11768 fra.me.REG[0] = NIT_NULL;
11769 fra.me.REG[1] = NIT_NULL;
11770 fra.me.REG[2] = NIT_NULL;
11771 fra.me.REG[3] = NIT_NULL;
11772 fra.me.REG[4] = NIT_NULL;
11773 fra.me.REG[5] = NIT_NULL;
11774 fra.me.REG[6] = NIT_NULL;
11775 fra.me.REG[7] = NIT_NULL;
11776 fra.me.REG[8] = NIT_NULL;
11777 fra.me.REG[9] = NIT_NULL;
11778 fra.me.REG[10] = NIT_NULL;
11779 fra.me.REG[0] = p0;
11780 fra.me.REG[1] = p1;
11781 /* parser/parser.nit:3180 */
11782 fra.me.REG[2] = NIT_NULL;
11783 /* parser/parser.nit:3181 */
11784 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11785 /* parser/parser.nit:3182 */
11786 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11787 /* parser/parser.nit:3183 */
11788 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11789 /* parser/parser.nit:3184 */
11790 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11791 /* parser/parser.nit:3185 */
11792 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11793 /* parser/parser.nit:3186 */
11794 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11795 /* parser/parser.nit:3187 */
11796 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11797 /* parser/parser.nit:3188 */
11798 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
11799 /* parser/parser.nit:3190 */
11800 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*/;
11801 if (UNTAG_Bool(REGB0)) {
11802 } else {
11803 nit_abort("Assert failed", NULL, LOCATE_parser, 3190);
11804 }
11805 /* parser/parser.nit:3192 */
11806 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]*/;
11807 if (UNTAG_Bool(REGB0)) {
11808 } else {
11809 nit_abort("Assert failed", NULL, LOCATE_parser, 3192);
11810 }
11811 /* parser/parser.nit:3193 */
11812 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
11813 fra.me.REG[9] = fra.me.REG[6];
11814 /* parser/parser.nit:3195 */
11815 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]*/;
11816 if (UNTAG_Bool(REGB0)) {
11817 } else {
11818 nit_abort("Assert failed", NULL, LOCATE_parser, 3195);
11819 }
11820 /* parser/parser.nit:3196 */
11821 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11822 /* parser/parser.nit:3198 */
11823 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]*/;
11824 if (UNTAG_Bool(REGB0)) {
11825 } else {
11826 nit_abort("Assert failed", NULL, LOCATE_parser, 3198);
11827 }
11828 /* parser/parser.nit:3199 */
11829 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
11830 fra.me.REG[6] = fra.me.REG[4];
11831 /* parser/parser.nit:3200 */
11832 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
11833 /* parser/parser.nit:3204 */
11834 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*/;
11835 if (UNTAG_Bool(REGB0)) {
11836 } else {
11837 nit_abort("Assert failed", NULL, LOCATE_parser, 3204);
11838 }
11839 /* parser/parser.nit:3205 */
11840 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
11841 fra.me.REG[10] = fra.me.REG[5];
11842 /* parser/parser.nit:3206 */
11843 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11844 if (UNTAG_Bool(REGB0)) {
11845 } else {
11846 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11847 if (UNTAG_Bool(REGB1)) {
11848 REGB1 = TAG_Bool(0);
11849 REGB0 = REGB1;
11850 } else {
11851 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
11852 REGB0 = REGB1;
11853 }
11854 }
11855 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11856 if (UNTAG_Bool(REGB0)) {
11857 /* parser/parser.nit:3207 */
11858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
11859 }
11860 /* parser/parser.nit:3209 */
11861 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11862 if (UNTAG_Bool(REGB0)) {
11863 } else {
11864 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11865 if (UNTAG_Bool(REGB1)) {
11866 REGB1 = TAG_Bool(0);
11867 REGB0 = REGB1;
11868 } else {
11869 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
11870 REGB0 = REGB1;
11871 }
11872 }
11873 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11874 if (UNTAG_Bool(REGB0)) {
11875 /* parser/parser.nit:3210 */
11876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
11877 }
11878 /* parser/parser.nit:3212 */
11879 fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[7], fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
11880 /* parser/parser.nit:3218 */
11881 fra.me.REG[2] = fra.me.REG[10];
11882 /* parser/parser.nit:3219 */
11883 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
11884 if (UNTAG_Bool(REGB0)) {
11885 } else {
11886 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3219);
11887 }
11888 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
11889 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
11890 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
11891 stack_frame_head = fra.me.prev;
11892 return;
11893 }
11894 static const char LOCATE_parser___ReduceAction62___action[] = "parser::ReduceAction62::(parser::ReduceAction::action)";
11895 void parser___ReduceAction62___action(val_t p0, val_t p1){
11896 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
11897 val_t REGB0;
11898 val_t REGB1;
11899 val_t tmp;
11900 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11901 fra.me.file = LOCATE_parser;
11902 fra.me.line = 3224;
11903 fra.me.meth = LOCATE_parser___ReduceAction62___action;
11904 fra.me.has_broke = 0;
11905 fra.me.REG_size = 11;
11906 fra.me.nitni_local_ref_head = NULL;
11907 fra.me.REG[0] = NIT_NULL;
11908 fra.me.REG[1] = NIT_NULL;
11909 fra.me.REG[2] = NIT_NULL;
11910 fra.me.REG[3] = NIT_NULL;
11911 fra.me.REG[4] = NIT_NULL;
11912 fra.me.REG[5] = NIT_NULL;
11913 fra.me.REG[6] = NIT_NULL;
11914 fra.me.REG[7] = NIT_NULL;
11915 fra.me.REG[8] = NIT_NULL;
11916 fra.me.REG[9] = NIT_NULL;
11917 fra.me.REG[10] = NIT_NULL;
11918 fra.me.REG[0] = p0;
11919 fra.me.REG[1] = p1;
11920 /* parser/parser.nit:3226 */
11921 fra.me.REG[2] = NIT_NULL;
11922 /* parser/parser.nit:3227 */
11923 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11924 /* parser/parser.nit:3228 */
11925 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11926 /* parser/parser.nit:3229 */
11927 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11928 /* parser/parser.nit:3230 */
11929 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11930 /* parser/parser.nit:3231 */
11931 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
11932 /* parser/parser.nit:3232 */
11933 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
11934 /* parser/parser.nit:3233 */
11935 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
11936 /* parser/parser.nit:3234 */
11937 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
11938 /* parser/parser.nit:3236 */
11939 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]*/;
11940 if (UNTAG_Bool(REGB0)) {
11941 } else {
11942 nit_abort("Assert failed", NULL, LOCATE_parser, 3236);
11943 }
11944 /* parser/parser.nit:3237 */
11945 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[7]);
11946 fra.me.REG[8] = fra.me.REG[7];
11947 /* parser/parser.nit:3239 */
11948 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]*/;
11949 if (UNTAG_Bool(REGB0)) {
11950 } else {
11951 nit_abort("Assert failed", NULL, LOCATE_parser, 3239);
11952 }
11953 /* parser/parser.nit:3240 */
11954 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
11955 fra.me.REG[9] = fra.me.REG[6];
11956 /* parser/parser.nit:3242 */
11957 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]*/;
11958 if (UNTAG_Bool(REGB0)) {
11959 } else {
11960 nit_abort("Assert failed", NULL, LOCATE_parser, 3242);
11961 }
11962 /* parser/parser.nit:3243 */
11963 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
11964 /* parser/parser.nit:3245 */
11965 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]*/;
11966 if (UNTAG_Bool(REGB0)) {
11967 } else {
11968 nit_abort("Assert failed", NULL, LOCATE_parser, 3245);
11969 }
11970 /* parser/parser.nit:3246 */
11971 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
11972 fra.me.REG[6] = fra.me.REG[4];
11973 /* parser/parser.nit:3247 */
11974 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
11975 /* parser/parser.nit:3251 */
11976 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*/;
11977 if (UNTAG_Bool(REGB0)) {
11978 } else {
11979 nit_abort("Assert failed", NULL, LOCATE_parser, 3251);
11980 }
11981 /* parser/parser.nit:3252 */
11982 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
11983 fra.me.REG[10] = fra.me.REG[5];
11984 /* parser/parser.nit:3253 */
11985 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11986 if (UNTAG_Bool(REGB0)) {
11987 } else {
11988 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11989 if (UNTAG_Bool(REGB1)) {
11990 REGB1 = TAG_Bool(0);
11991 REGB0 = REGB1;
11992 } else {
11993 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
11994 REGB0 = REGB1;
11995 }
11996 }
11997 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11998 if (UNTAG_Bool(REGB0)) {
11999 /* parser/parser.nit:3254 */
12000 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[6]);
12001 }
12002 /* parser/parser.nit:3256 */
12003 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12004 if (UNTAG_Bool(REGB0)) {
12005 } else {
12006 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12007 if (UNTAG_Bool(REGB1)) {
12008 REGB1 = TAG_Bool(0);
12009 REGB0 = REGB1;
12010 } else {
12011 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12012 REGB0 = REGB1;
12013 }
12014 }
12015 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12016 if (UNTAG_Bool(REGB0)) {
12017 /* parser/parser.nit:3257 */
12018 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[10])(fra.me.REG[10], fra.me.REG[3]);
12019 }
12020 /* parser/parser.nit:3259 */
12021 fra.me.REG[10] = NEW_AModule_parser___parser_prod___AModule___init_amodule(NIT_NULL, fra.me.REG[8], fra.me.REG[9], fra.me.REG[10]);
12022 /* parser/parser.nit:3265 */
12023 fra.me.REG[2] = fra.me.REG[10];
12024 /* parser/parser.nit:3266 */
12025 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12026 if (UNTAG_Bool(REGB0)) {
12027 } else {
12028 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3266);
12029 }
12030 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12031 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12032 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12033 stack_frame_head = fra.me.prev;
12034 return;
12035 }
12036 static const char LOCATE_parser___ReduceAction63___action[] = "parser::ReduceAction63::(parser::ReduceAction::action)";
12037 void parser___ReduceAction63___action(val_t p0, val_t p1){
12038 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
12039 val_t REGB0;
12040 val_t REGB1;
12041 val_t tmp;
12042 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12043 fra.me.file = LOCATE_parser;
12044 fra.me.line = 3271;
12045 fra.me.meth = LOCATE_parser___ReduceAction63___action;
12046 fra.me.has_broke = 0;
12047 fra.me.REG_size = 12;
12048 fra.me.nitni_local_ref_head = NULL;
12049 fra.me.REG[0] = NIT_NULL;
12050 fra.me.REG[1] = NIT_NULL;
12051 fra.me.REG[2] = NIT_NULL;
12052 fra.me.REG[3] = NIT_NULL;
12053 fra.me.REG[4] = NIT_NULL;
12054 fra.me.REG[5] = NIT_NULL;
12055 fra.me.REG[6] = NIT_NULL;
12056 fra.me.REG[7] = NIT_NULL;
12057 fra.me.REG[8] = NIT_NULL;
12058 fra.me.REG[9] = NIT_NULL;
12059 fra.me.REG[10] = NIT_NULL;
12060 fra.me.REG[11] = NIT_NULL;
12061 fra.me.REG[0] = p0;
12062 fra.me.REG[1] = p1;
12063 /* parser/parser.nit:3273 */
12064 fra.me.REG[2] = NIT_NULL;
12065 /* parser/parser.nit:3274 */
12066 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12067 /* parser/parser.nit:3275 */
12068 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12069 /* parser/parser.nit:3276 */
12070 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12071 /* parser/parser.nit:3277 */
12072 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12073 /* parser/parser.nit:3278 */
12074 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12075 /* parser/parser.nit:3279 */
12076 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12077 /* parser/parser.nit:3280 */
12078 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12079 /* parser/parser.nit:3281 */
12080 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
12081 /* parser/parser.nit:3282 */
12082 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
12083 /* parser/parser.nit:3284 */
12084 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AModuledecl, ID_parser___parser_nodes___AModuledecl)) /*cast nullable AModuledecl*/;
12085 if (UNTAG_Bool(REGB0)) {
12086 } else {
12087 nit_abort("Assert failed", NULL, LOCATE_parser, 3284);
12088 }
12089 /* parser/parser.nit:3286 */
12090 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]*/;
12091 if (UNTAG_Bool(REGB0)) {
12092 } else {
12093 nit_abort("Assert failed", NULL, LOCATE_parser, 3286);
12094 }
12095 /* parser/parser.nit:3287 */
12096 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
12097 fra.me.REG[9] = fra.me.REG[7];
12098 /* parser/parser.nit:3289 */
12099 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]*/;
12100 if (UNTAG_Bool(REGB0)) {
12101 } else {
12102 nit_abort("Assert failed", NULL, LOCATE_parser, 3289);
12103 }
12104 /* parser/parser.nit:3290 */
12105 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[6]);
12106 fra.me.REG[10] = fra.me.REG[6];
12107 /* parser/parser.nit:3292 */
12108 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]*/;
12109 if (UNTAG_Bool(REGB0)) {
12110 } else {
12111 nit_abort("Assert failed", NULL, LOCATE_parser, 3292);
12112 }
12113 /* parser/parser.nit:3293 */
12114 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
12115 /* parser/parser.nit:3295 */
12116 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]*/;
12117 if (UNTAG_Bool(REGB0)) {
12118 } else {
12119 nit_abort("Assert failed", NULL, LOCATE_parser, 3295);
12120 }
12121 /* parser/parser.nit:3296 */
12122 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
12123 fra.me.REG[6] = fra.me.REG[4];
12124 /* parser/parser.nit:3297 */
12125 fra.me.REG[6] = NEW_ATopClassdef_parser___parser_prod___ATopClassdef___init_atopclassdef(fra.me.REG[6]);
12126 /* parser/parser.nit:3301 */
12127 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*/;
12128 if (UNTAG_Bool(REGB0)) {
12129 } else {
12130 nit_abort("Assert failed", NULL, LOCATE_parser, 3301);
12131 }
12132 /* parser/parser.nit:3302 */
12133 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
12134 fra.me.REG[11] = fra.me.REG[5];
12135 /* parser/parser.nit:3303 */
12136 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
12137 if (UNTAG_Bool(REGB0)) {
12138 } else {
12139 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
12140 if (UNTAG_Bool(REGB1)) {
12141 REGB1 = TAG_Bool(0);
12142 REGB0 = REGB1;
12143 } else {
12144 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
12145 REGB0 = REGB1;
12146 }
12147 }
12148 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12149 if (UNTAG_Bool(REGB0)) {
12150 /* parser/parser.nit:3304 */
12151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[6]);
12152 }
12153 /* parser/parser.nit:3306 */
12154 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12155 if (UNTAG_Bool(REGB0)) {
12156 } else {
12157 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12158 if (UNTAG_Bool(REGB1)) {
12159 REGB1 = TAG_Bool(0);
12160 REGB0 = REGB1;
12161 } else {
12162 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12163 REGB0 = REGB1;
12164 }
12165 }
12166 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12167 if (UNTAG_Bool(REGB0)) {
12168 /* parser/parser.nit:3307 */
12169 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[11])(fra.me.REG[11], fra.me.REG[3]);
12170 }
12171 /* parser/parser.nit:3309 */
12172 fra.me.REG[11] = NEW_AModule_parser___parser_prod___AModule___init_amodule(fra.me.REG[8], fra.me.REG[9], fra.me.REG[10], fra.me.REG[11]);
12173 /* parser/parser.nit:3315 */
12174 fra.me.REG[2] = fra.me.REG[11];
12175 /* parser/parser.nit:3316 */
12176 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12177 if (UNTAG_Bool(REGB0)) {
12178 } else {
12179 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3316);
12180 }
12181 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12182 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12183 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12184 stack_frame_head = fra.me.prev;
12185 return;
12186 }
12187 static const char LOCATE_parser___ReduceAction64___action[] = "parser::ReduceAction64::(parser::ReduceAction::action)";
12188 void parser___ReduceAction64___action(val_t p0, val_t p1){
12189 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
12190 val_t REGB0;
12191 val_t tmp;
12192 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12193 fra.me.file = LOCATE_parser;
12194 fra.me.line = 3321;
12195 fra.me.meth = LOCATE_parser___ReduceAction64___action;
12196 fra.me.has_broke = 0;
12197 fra.me.REG_size = 6;
12198 fra.me.nitni_local_ref_head = NULL;
12199 fra.me.REG[0] = NIT_NULL;
12200 fra.me.REG[1] = NIT_NULL;
12201 fra.me.REG[2] = NIT_NULL;
12202 fra.me.REG[3] = NIT_NULL;
12203 fra.me.REG[4] = NIT_NULL;
12204 fra.me.REG[5] = NIT_NULL;
12205 fra.me.REG[0] = p0;
12206 fra.me.REG[1] = p1;
12207 /* parser/parser.nit:3323 */
12208 fra.me.REG[2] = NIT_NULL;
12209 /* parser/parser.nit:3324 */
12210 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12211 /* parser/parser.nit:3325 */
12212 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12213 /* parser/parser.nit:3326 */
12214 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12215 /* parser/parser.nit:3327 */
12216 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12217 /* parser/parser.nit:3328 */
12218 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12219 /* parser/parser.nit:3330 */
12220 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*/;
12221 if (UNTAG_Bool(REGB0)) {
12222 } else {
12223 nit_abort("Assert failed", NULL, LOCATE_parser, 3330);
12224 }
12225 /* parser/parser.nit:3332 */
12226 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*/;
12227 if (UNTAG_Bool(REGB0)) {
12228 } else {
12229 nit_abort("Assert failed", NULL, LOCATE_parser, 3332);
12230 }
12231 /* parser/parser.nit:3334 */
12232 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*/;
12233 if (UNTAG_Bool(REGB0)) {
12234 } else {
12235 nit_abort("Assert failed", NULL, LOCATE_parser, 3334);
12236 }
12237 /* parser/parser.nit:3335 */
12238 fra.me.REG[3] = NEW_AModuledecl_parser___parser_prod___AModuledecl___init_amoduledecl(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
12239 /* parser/parser.nit:3340 */
12240 fra.me.REG[2] = fra.me.REG[3];
12241 /* parser/parser.nit:3341 */
12242 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12243 if (UNTAG_Bool(REGB0)) {
12244 } else {
12245 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3341);
12246 }
12247 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12248 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12249 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12250 stack_frame_head = fra.me.prev;
12251 return;
12252 }
12253 static const char LOCATE_parser___ReduceAction65___action[] = "parser::ReduceAction65::(parser::ReduceAction::action)";
12254 void parser___ReduceAction65___action(val_t p0, val_t p1){
12255 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
12256 val_t REGB0;
12257 val_t tmp;
12258 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12259 fra.me.file = LOCATE_parser;
12260 fra.me.line = 3346;
12261 fra.me.meth = LOCATE_parser___ReduceAction65___action;
12262 fra.me.has_broke = 0;
12263 fra.me.REG_size = 7;
12264 fra.me.nitni_local_ref_head = NULL;
12265 fra.me.REG[0] = NIT_NULL;
12266 fra.me.REG[1] = NIT_NULL;
12267 fra.me.REG[2] = NIT_NULL;
12268 fra.me.REG[3] = NIT_NULL;
12269 fra.me.REG[4] = NIT_NULL;
12270 fra.me.REG[5] = NIT_NULL;
12271 fra.me.REG[6] = NIT_NULL;
12272 fra.me.REG[0] = p0;
12273 fra.me.REG[1] = p1;
12274 /* parser/parser.nit:3348 */
12275 fra.me.REG[2] = NIT_NULL;
12276 /* parser/parser.nit:3349 */
12277 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12278 /* parser/parser.nit:3350 */
12279 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12280 /* parser/parser.nit:3351 */
12281 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12282 /* parser/parser.nit:3352 */
12283 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12284 /* parser/parser.nit:3353 */
12285 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12286 /* parser/parser.nit:3354 */
12287 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12288 /* parser/parser.nit:3356 */
12289 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*/;
12290 if (UNTAG_Bool(REGB0)) {
12291 } else {
12292 nit_abort("Assert failed", NULL, LOCATE_parser, 3356);
12293 }
12294 /* parser/parser.nit:3358 */
12295 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*/;
12296 if (UNTAG_Bool(REGB0)) {
12297 } else {
12298 nit_abort("Assert failed", NULL, LOCATE_parser, 3358);
12299 }
12300 /* parser/parser.nit:3360 */
12301 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*/;
12302 if (UNTAG_Bool(REGB0)) {
12303 } else {
12304 nit_abort("Assert failed", NULL, LOCATE_parser, 3360);
12305 }
12306 /* parser/parser.nit:3361 */
12307 fra.me.REG[3] = NEW_AStdImport_parser___parser_prod___AStdImport___init_astdimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
12308 /* parser/parser.nit:3366 */
12309 fra.me.REG[2] = fra.me.REG[3];
12310 /* parser/parser.nit:3367 */
12311 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12312 if (UNTAG_Bool(REGB0)) {
12313 } else {
12314 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3367);
12315 }
12316 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12317 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12318 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12319 stack_frame_head = fra.me.prev;
12320 return;
12321 }
12322 static const char LOCATE_parser___ReduceAction66___action[] = "parser::ReduceAction66::(parser::ReduceAction::action)";
12323 void parser___ReduceAction66___action(val_t p0, val_t p1){
12324 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
12325 val_t REGB0;
12326 val_t tmp;
12327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12328 fra.me.file = LOCATE_parser;
12329 fra.me.line = 3372;
12330 fra.me.meth = LOCATE_parser___ReduceAction66___action;
12331 fra.me.has_broke = 0;
12332 fra.me.REG_size = 7;
12333 fra.me.nitni_local_ref_head = NULL;
12334 fra.me.REG[0] = NIT_NULL;
12335 fra.me.REG[1] = NIT_NULL;
12336 fra.me.REG[2] = NIT_NULL;
12337 fra.me.REG[3] = NIT_NULL;
12338 fra.me.REG[4] = NIT_NULL;
12339 fra.me.REG[5] = NIT_NULL;
12340 fra.me.REG[6] = NIT_NULL;
12341 fra.me.REG[0] = p0;
12342 fra.me.REG[1] = p1;
12343 /* parser/parser.nit:3374 */
12344 fra.me.REG[2] = NIT_NULL;
12345 /* parser/parser.nit:3375 */
12346 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12347 /* parser/parser.nit:3376 */
12348 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12349 /* parser/parser.nit:3377 */
12350 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12351 /* parser/parser.nit:3378 */
12352 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12353 /* parser/parser.nit:3379 */
12354 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12355 /* parser/parser.nit:3380 */
12356 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12357 /* parser/parser.nit:3382 */
12358 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*/;
12359 if (UNTAG_Bool(REGB0)) {
12360 } else {
12361 nit_abort("Assert failed", NULL, LOCATE_parser, 3382);
12362 }
12363 /* parser/parser.nit:3384 */
12364 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*/;
12365 if (UNTAG_Bool(REGB0)) {
12366 } else {
12367 nit_abort("Assert failed", NULL, LOCATE_parser, 3384);
12368 }
12369 /* parser/parser.nit:3386 */
12370 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*/;
12371 if (UNTAG_Bool(REGB0)) {
12372 } else {
12373 nit_abort("Assert failed", NULL, LOCATE_parser, 3386);
12374 }
12375 /* parser/parser.nit:3387 */
12376 fra.me.REG[3] = NEW_ANoImport_parser___parser_prod___ANoImport___init_anoimport(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
12377 /* parser/parser.nit:3392 */
12378 fra.me.REG[2] = fra.me.REG[3];
12379 /* parser/parser.nit:3393 */
12380 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12381 if (UNTAG_Bool(REGB0)) {
12382 } else {
12383 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3393);
12384 }
12385 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12386 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12387 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12388 stack_frame_head = fra.me.prev;
12389 return;
12390 }
12391 static const char LOCATE_parser___ReduceAction67___action[] = "parser::ReduceAction67::(parser::ReduceAction::action)";
12392 void parser___ReduceAction67___action(val_t p0, val_t p1){
12393 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
12394 val_t REGB0;
12395 val_t REGB1;
12396 val_t tmp;
12397 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12398 fra.me.file = LOCATE_parser;
12399 fra.me.line = 3398;
12400 fra.me.meth = LOCATE_parser___ReduceAction67___action;
12401 fra.me.has_broke = 0;
12402 fra.me.REG_size = 5;
12403 fra.me.nitni_local_ref_head = NULL;
12404 fra.me.REG[0] = NIT_NULL;
12405 fra.me.REG[1] = NIT_NULL;
12406 fra.me.REG[2] = NIT_NULL;
12407 fra.me.REG[3] = NIT_NULL;
12408 fra.me.REG[4] = NIT_NULL;
12409 fra.me.REG[0] = p0;
12410 fra.me.REG[1] = p1;
12411 /* parser/parser.nit:3400 */
12412 fra.me.REG[2] = NIT_NULL;
12413 /* parser/parser.nit:3401 */
12414 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12415 /* parser/parser.nit:3402 */
12416 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
12417 /* parser/parser.nit:3404 */
12418 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*/;
12419 if (UNTAG_Bool(REGB0)) {
12420 } else {
12421 nit_abort("Assert failed", NULL, LOCATE_parser, 3404);
12422 }
12423 /* parser/parser.nit:3405 */
12424 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12425 if (UNTAG_Bool(REGB0)) {
12426 } else {
12427 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12428 if (UNTAG_Bool(REGB1)) {
12429 REGB1 = TAG_Bool(0);
12430 REGB0 = REGB1;
12431 } else {
12432 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
12433 REGB0 = REGB1;
12434 }
12435 }
12436 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12437 if (UNTAG_Bool(REGB0)) {
12438 /* parser/parser.nit:3406 */
12439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
12440 }
12441 /* parser/parser.nit:3408 */
12442 fra.me.REG[4] = NEW_AMainClassdef_parser___parser_prod___AMainClassdef___init_amainclassdef(fra.me.REG[4]);
12443 /* parser/parser.nit:3411 */
12444 fra.me.REG[2] = fra.me.REG[4];
12445 /* parser/parser.nit:3412 */
12446 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12447 if (UNTAG_Bool(REGB0)) {
12448 } else {
12449 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3412);
12450 }
12451 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12452 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12453 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12454 stack_frame_head = fra.me.prev;
12455 return;
12456 }
12457 static const char LOCATE_parser___ReduceAction68___action[] = "parser::ReduceAction68::(parser::ReduceAction::action)";
12458 void parser___ReduceAction68___action(val_t p0, val_t p1){
12459 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
12460 val_t REGB0;
12461 val_t tmp;
12462 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12463 fra.me.file = LOCATE_parser;
12464 fra.me.line = 3417;
12465 fra.me.meth = LOCATE_parser___ReduceAction68___action;
12466 fra.me.has_broke = 0;
12467 fra.me.REG_size = 4;
12468 fra.me.nitni_local_ref_head = NULL;
12469 fra.me.REG[0] = NIT_NULL;
12470 fra.me.REG[1] = NIT_NULL;
12471 fra.me.REG[2] = NIT_NULL;
12472 fra.me.REG[3] = NIT_NULL;
12473 fra.me.REG[0] = p0;
12474 fra.me.REG[1] = p1;
12475 /* parser/parser.nit:3419 */
12476 fra.me.REG[2] = NIT_NULL;
12477 /* parser/parser.nit:3420 */
12478 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12479 /* parser/parser.nit:3421 */
12480 fra.me.REG[2] = NIT_NULL;
12481 /* parser/parser.nit:3422 */
12482 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12483 if (UNTAG_Bool(REGB0)) {
12484 } else {
12485 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3422);
12486 }
12487 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12488 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12489 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12490 stack_frame_head = fra.me.prev;
12491 return;
12492 }
12493 static const char LOCATE_parser___ReduceAction69___action[] = "parser::ReduceAction69::(parser::ReduceAction::action)";
12494 void parser___ReduceAction69___action(val_t p0, val_t p1){
12495 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
12496 val_t REGB0;
12497 val_t tmp;
12498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12499 fra.me.file = LOCATE_parser;
12500 fra.me.line = 3427;
12501 fra.me.meth = LOCATE_parser___ReduceAction69___action;
12502 fra.me.has_broke = 0;
12503 fra.me.REG_size = 5;
12504 fra.me.nitni_local_ref_head = NULL;
12505 fra.me.REG[0] = NIT_NULL;
12506 fra.me.REG[1] = NIT_NULL;
12507 fra.me.REG[2] = NIT_NULL;
12508 fra.me.REG[3] = NIT_NULL;
12509 fra.me.REG[4] = NIT_NULL;
12510 fra.me.REG[0] = p0;
12511 fra.me.REG[1] = p1;
12512 /* parser/parser.nit:3429 */
12513 fra.me.REG[2] = NIT_NULL;
12514 /* parser/parser.nit:3430 */
12515 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12516 /* parser/parser.nit:3431 */
12517 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12518 /* parser/parser.nit:3433 */
12519 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*/;
12520 if (UNTAG_Bool(REGB0)) {
12521 } else {
12522 nit_abort("Assert failed", NULL, LOCATE_parser, 3433);
12523 }
12524 /* parser/parser.nit:3434 */
12525 fra.me.REG[3] = NEW_AMainMethPropdef_parser___parser_prod___AMainMethPropdef___init_amainmethpropdef(NIT_NULL, fra.me.REG[3]);
12526 /* parser/parser.nit:3438 */
12527 fra.me.REG[2] = fra.me.REG[3];
12528 /* parser/parser.nit:3439 */
12529 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12530 if (UNTAG_Bool(REGB0)) {
12531 } else {
12532 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3439);
12533 }
12534 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12535 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12536 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12537 stack_frame_head = fra.me.prev;
12538 return;
12539 }
12540 static const char LOCATE_parser___ReduceAction71___action[] = "parser::ReduceAction71::(parser::ReduceAction::action)";
12541 void parser___ReduceAction71___action(val_t p0, val_t p1){
12542 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
12543 val_t REGB0;
12544 val_t tmp;
12545 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12546 fra.me.file = LOCATE_parser;
12547 fra.me.line = 3444;
12548 fra.me.meth = LOCATE_parser___ReduceAction71___action;
12549 fra.me.has_broke = 0;
12550 fra.me.REG_size = 11;
12551 fra.me.nitni_local_ref_head = NULL;
12552 fra.me.REG[0] = NIT_NULL;
12553 fra.me.REG[1] = NIT_NULL;
12554 fra.me.REG[2] = NIT_NULL;
12555 fra.me.REG[3] = NIT_NULL;
12556 fra.me.REG[4] = NIT_NULL;
12557 fra.me.REG[5] = NIT_NULL;
12558 fra.me.REG[6] = NIT_NULL;
12559 fra.me.REG[7] = NIT_NULL;
12560 fra.me.REG[8] = NIT_NULL;
12561 fra.me.REG[9] = NIT_NULL;
12562 fra.me.REG[10] = NIT_NULL;
12563 fra.me.REG[0] = p0;
12564 fra.me.REG[1] = p1;
12565 /* parser/parser.nit:3446 */
12566 fra.me.REG[2] = NIT_NULL;
12567 /* parser/parser.nit:3447 */
12568 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12569 /* parser/parser.nit:3448 */
12570 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12571 /* parser/parser.nit:3449 */
12572 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12573 /* parser/parser.nit:3450 */
12574 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12575 /* parser/parser.nit:3451 */
12576 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12577 /* parser/parser.nit:3452 */
12578 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12579 /* parser/parser.nit:3453 */
12580 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12581 /* parser/parser.nit:3454 */
12582 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
12583 /* parser/parser.nit:3455 */
12584 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12585 /* parser/parser.nit:3456 */
12586 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
12587 /* parser/parser.nit:3458 */
12588 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*/;
12589 if (UNTAG_Bool(REGB0)) {
12590 } else {
12591 nit_abort("Assert failed", NULL, LOCATE_parser, 3458);
12592 }
12593 /* parser/parser.nit:3460 */
12594 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*/;
12595 if (UNTAG_Bool(REGB0)) {
12596 } else {
12597 nit_abort("Assert failed", NULL, LOCATE_parser, 3460);
12598 }
12599 /* parser/parser.nit:3462 */
12600 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*/;
12601 if (UNTAG_Bool(REGB0)) {
12602 } else {
12603 nit_abort("Assert failed", NULL, LOCATE_parser, 3462);
12604 }
12605 /* parser/parser.nit:3464 */
12606 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*/;
12607 if (UNTAG_Bool(REGB0)) {
12608 } else {
12609 nit_abort("Assert failed", NULL, LOCATE_parser, 3464);
12610 }
12611 /* parser/parser.nit:3466 */
12612 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*/;
12613 if (UNTAG_Bool(REGB0)) {
12614 } else {
12615 nit_abort("Assert failed", NULL, LOCATE_parser, 3466);
12616 }
12617 /* parser/parser.nit:3467 */
12618 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8], NIT_NULL, fra.me.REG[9], fra.me.REG[10], fra.me.REG[3]);
12619 /* parser/parser.nit:3479 */
12620 fra.me.REG[2] = fra.me.REG[3];
12621 /* parser/parser.nit:3480 */
12622 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12623 if (UNTAG_Bool(REGB0)) {
12624 } else {
12625 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3480);
12626 }
12627 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12628 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12629 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12630 stack_frame_head = fra.me.prev;
12631 return;
12632 }
12633 static const char LOCATE_parser___ReduceAction72___action[] = "parser::ReduceAction72::(parser::ReduceAction::action)";
12634 void parser___ReduceAction72___action(val_t p0, val_t p1){
12635 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
12636 val_t REGB0;
12637 val_t tmp;
12638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12639 fra.me.file = LOCATE_parser;
12640 fra.me.line = 3485;
12641 fra.me.meth = LOCATE_parser___ReduceAction72___action;
12642 fra.me.has_broke = 0;
12643 fra.me.REG_size = 12;
12644 fra.me.nitni_local_ref_head = NULL;
12645 fra.me.REG[0] = NIT_NULL;
12646 fra.me.REG[1] = NIT_NULL;
12647 fra.me.REG[2] = NIT_NULL;
12648 fra.me.REG[3] = NIT_NULL;
12649 fra.me.REG[4] = NIT_NULL;
12650 fra.me.REG[5] = NIT_NULL;
12651 fra.me.REG[6] = NIT_NULL;
12652 fra.me.REG[7] = NIT_NULL;
12653 fra.me.REG[8] = NIT_NULL;
12654 fra.me.REG[9] = NIT_NULL;
12655 fra.me.REG[10] = NIT_NULL;
12656 fra.me.REG[11] = NIT_NULL;
12657 fra.me.REG[0] = p0;
12658 fra.me.REG[1] = p1;
12659 /* parser/parser.nit:3487 */
12660 fra.me.REG[2] = NIT_NULL;
12661 /* parser/parser.nit:3488 */
12662 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12663 /* parser/parser.nit:3489 */
12664 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12665 /* parser/parser.nit:3490 */
12666 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12667 /* parser/parser.nit:3491 */
12668 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12669 /* parser/parser.nit:3492 */
12670 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12671 /* parser/parser.nit:3493 */
12672 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12673 /* parser/parser.nit:3494 */
12674 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12675 /* parser/parser.nit:3495 */
12676 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12677 /* parser/parser.nit:3496 */
12678 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12679 /* parser/parser.nit:3497 */
12680 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
12681 /* parser/parser.nit:3498 */
12682 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
12683 /* parser/parser.nit:3500 */
12684 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*/;
12685 if (UNTAG_Bool(REGB0)) {
12686 } else {
12687 nit_abort("Assert failed", NULL, LOCATE_parser, 3500);
12688 }
12689 /* parser/parser.nit:3502 */
12690 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*/;
12691 if (UNTAG_Bool(REGB0)) {
12692 } else {
12693 nit_abort("Assert failed", NULL, LOCATE_parser, 3502);
12694 }
12695 /* parser/parser.nit:3504 */
12696 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*/;
12697 if (UNTAG_Bool(REGB0)) {
12698 } else {
12699 nit_abort("Assert failed", NULL, LOCATE_parser, 3504);
12700 }
12701 /* parser/parser.nit:3506 */
12702 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*/;
12703 if (UNTAG_Bool(REGB0)) {
12704 } else {
12705 nit_abort("Assert failed", NULL, LOCATE_parser, 3506);
12706 }
12707 /* parser/parser.nit:3508 */
12708 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*/;
12709 if (UNTAG_Bool(REGB0)) {
12710 } else {
12711 nit_abort("Assert failed", NULL, LOCATE_parser, 3508);
12712 }
12713 /* parser/parser.nit:3510 */
12714 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*/;
12715 if (UNTAG_Bool(REGB0)) {
12716 } else {
12717 nit_abort("Assert failed", NULL, LOCATE_parser, 3510);
12718 }
12719 /* parser/parser.nit:3511 */
12720 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
12721 /* parser/parser.nit:3523 */
12722 fra.me.REG[2] = fra.me.REG[3];
12723 /* parser/parser.nit:3524 */
12724 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12725 if (UNTAG_Bool(REGB0)) {
12726 } else {
12727 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3524);
12728 }
12729 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12730 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12731 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12732 stack_frame_head = fra.me.prev;
12733 return;
12734 }
12735 static const char LOCATE_parser___ReduceAction73___action[] = "parser::ReduceAction73::(parser::ReduceAction::action)";
12736 void parser___ReduceAction73___action(val_t p0, val_t p1){
12737 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
12738 val_t REGB0;
12739 val_t tmp;
12740 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12741 fra.me.file = LOCATE_parser;
12742 fra.me.line = 3529;
12743 fra.me.meth = LOCATE_parser___ReduceAction73___action;
12744 fra.me.has_broke = 0;
12745 fra.me.REG_size = 12;
12746 fra.me.nitni_local_ref_head = NULL;
12747 fra.me.REG[0] = NIT_NULL;
12748 fra.me.REG[1] = NIT_NULL;
12749 fra.me.REG[2] = NIT_NULL;
12750 fra.me.REG[3] = NIT_NULL;
12751 fra.me.REG[4] = NIT_NULL;
12752 fra.me.REG[5] = NIT_NULL;
12753 fra.me.REG[6] = NIT_NULL;
12754 fra.me.REG[7] = NIT_NULL;
12755 fra.me.REG[8] = NIT_NULL;
12756 fra.me.REG[9] = NIT_NULL;
12757 fra.me.REG[10] = NIT_NULL;
12758 fra.me.REG[11] = NIT_NULL;
12759 fra.me.REG[0] = p0;
12760 fra.me.REG[1] = p1;
12761 /* parser/parser.nit:3531 */
12762 fra.me.REG[2] = NIT_NULL;
12763 /* parser/parser.nit:3532 */
12764 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12765 /* parser/parser.nit:3533 */
12766 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12767 /* parser/parser.nit:3534 */
12768 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12769 /* parser/parser.nit:3535 */
12770 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12771 /* parser/parser.nit:3536 */
12772 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12773 /* parser/parser.nit:3537 */
12774 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12775 /* parser/parser.nit:3538 */
12776 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12777 /* parser/parser.nit:3539 */
12778 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12779 /* parser/parser.nit:3540 */
12780 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
12781 /* parser/parser.nit:3541 */
12782 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
12783 /* parser/parser.nit:3542 */
12784 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
12785 /* parser/parser.nit:3544 */
12786 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*/;
12787 if (UNTAG_Bool(REGB0)) {
12788 } else {
12789 nit_abort("Assert failed", NULL, LOCATE_parser, 3544);
12790 }
12791 /* parser/parser.nit:3546 */
12792 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*/;
12793 if (UNTAG_Bool(REGB0)) {
12794 } else {
12795 nit_abort("Assert failed", NULL, LOCATE_parser, 3546);
12796 }
12797 /* parser/parser.nit:3548 */
12798 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*/;
12799 if (UNTAG_Bool(REGB0)) {
12800 } else {
12801 nit_abort("Assert failed", NULL, LOCATE_parser, 3548);
12802 }
12803 /* parser/parser.nit:3550 */
12804 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*/;
12805 if (UNTAG_Bool(REGB0)) {
12806 } else {
12807 nit_abort("Assert failed", NULL, LOCATE_parser, 3550);
12808 }
12809 /* parser/parser.nit:3552 */
12810 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]*/;
12811 if (UNTAG_Bool(REGB0)) {
12812 } else {
12813 nit_abort("Assert failed", NULL, LOCATE_parser, 3552);
12814 }
12815 /* parser/parser.nit:3553 */
12816 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[4]);
12817 fra.me.REG[9] = fra.me.REG[4];
12818 /* parser/parser.nit:3555 */
12819 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*/;
12820 if (UNTAG_Bool(REGB0)) {
12821 } else {
12822 nit_abort("Assert failed", NULL, LOCATE_parser, 3555);
12823 }
12824 /* parser/parser.nit:3556 */
12825 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
12826 /* parser/parser.nit:3568 */
12827 fra.me.REG[2] = fra.me.REG[3];
12828 /* parser/parser.nit:3569 */
12829 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12830 if (UNTAG_Bool(REGB0)) {
12831 } else {
12832 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3569);
12833 }
12834 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12835 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12836 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12837 stack_frame_head = fra.me.prev;
12838 return;
12839 }
12840 static const char LOCATE_parser___ReduceAction74___action[] = "parser::ReduceAction74::(parser::ReduceAction::action)";
12841 void parser___ReduceAction74___action(val_t p0, val_t p1){
12842 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
12843 val_t REGB0;
12844 val_t tmp;
12845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12846 fra.me.file = LOCATE_parser;
12847 fra.me.line = 3574;
12848 fra.me.meth = LOCATE_parser___ReduceAction74___action;
12849 fra.me.has_broke = 0;
12850 fra.me.REG_size = 13;
12851 fra.me.nitni_local_ref_head = NULL;
12852 fra.me.REG[0] = NIT_NULL;
12853 fra.me.REG[1] = NIT_NULL;
12854 fra.me.REG[2] = NIT_NULL;
12855 fra.me.REG[3] = NIT_NULL;
12856 fra.me.REG[4] = NIT_NULL;
12857 fra.me.REG[5] = NIT_NULL;
12858 fra.me.REG[6] = NIT_NULL;
12859 fra.me.REG[7] = NIT_NULL;
12860 fra.me.REG[8] = NIT_NULL;
12861 fra.me.REG[9] = NIT_NULL;
12862 fra.me.REG[10] = NIT_NULL;
12863 fra.me.REG[11] = NIT_NULL;
12864 fra.me.REG[12] = NIT_NULL;
12865 fra.me.REG[0] = p0;
12866 fra.me.REG[1] = p1;
12867 /* parser/parser.nit:3576 */
12868 fra.me.REG[2] = NIT_NULL;
12869 /* parser/parser.nit:3577 */
12870 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12871 /* parser/parser.nit:3578 */
12872 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12873 /* parser/parser.nit:3579 */
12874 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12875 /* parser/parser.nit:3580 */
12876 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12877 /* parser/parser.nit:3581 */
12878 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12879 /* parser/parser.nit:3582 */
12880 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12881 /* parser/parser.nit:3583 */
12882 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12883 /* parser/parser.nit:3584 */
12884 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12885 /* parser/parser.nit:3585 */
12886 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12887 /* parser/parser.nit:3586 */
12888 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
12889 /* parser/parser.nit:3587 */
12890 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
12891 /* parser/parser.nit:3588 */
12892 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
12893 /* parser/parser.nit:3590 */
12894 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*/;
12895 if (UNTAG_Bool(REGB0)) {
12896 } else {
12897 nit_abort("Assert failed", NULL, LOCATE_parser, 3590);
12898 }
12899 /* parser/parser.nit:3592 */
12900 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*/;
12901 if (UNTAG_Bool(REGB0)) {
12902 } else {
12903 nit_abort("Assert failed", NULL, LOCATE_parser, 3592);
12904 }
12905 /* parser/parser.nit:3594 */
12906 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*/;
12907 if (UNTAG_Bool(REGB0)) {
12908 } else {
12909 nit_abort("Assert failed", NULL, LOCATE_parser, 3594);
12910 }
12911 /* parser/parser.nit:3596 */
12912 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*/;
12913 if (UNTAG_Bool(REGB0)) {
12914 } else {
12915 nit_abort("Assert failed", NULL, LOCATE_parser, 3596);
12916 }
12917 /* parser/parser.nit:3598 */
12918 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*/;
12919 if (UNTAG_Bool(REGB0)) {
12920 } else {
12921 nit_abort("Assert failed", NULL, LOCATE_parser, 3598);
12922 }
12923 /* parser/parser.nit:3600 */
12924 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]*/;
12925 if (UNTAG_Bool(REGB0)) {
12926 } else {
12927 nit_abort("Assert failed", NULL, LOCATE_parser, 3600);
12928 }
12929 /* parser/parser.nit:3601 */
12930 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
12931 fra.me.REG[10] = fra.me.REG[4];
12932 /* parser/parser.nit:3603 */
12933 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*/;
12934 if (UNTAG_Bool(REGB0)) {
12935 } else {
12936 nit_abort("Assert failed", NULL, LOCATE_parser, 3603);
12937 }
12938 /* parser/parser.nit:3604 */
12939 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
12940 /* parser/parser.nit:3616 */
12941 fra.me.REG[2] = fra.me.REG[3];
12942 /* parser/parser.nit:3617 */
12943 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
12944 if (UNTAG_Bool(REGB0)) {
12945 } else {
12946 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3617);
12947 }
12948 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
12949 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
12950 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
12951 stack_frame_head = fra.me.prev;
12952 return;
12953 }
12954 static const char LOCATE_parser___ReduceAction75___action[] = "parser::ReduceAction75::(parser::ReduceAction::action)";
12955 void parser___ReduceAction75___action(val_t p0, val_t p1){
12956 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
12957 val_t REGB0;
12958 val_t tmp;
12959 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12960 fra.me.file = LOCATE_parser;
12961 fra.me.line = 3622;
12962 fra.me.meth = LOCATE_parser___ReduceAction75___action;
12963 fra.me.has_broke = 0;
12964 fra.me.REG_size = 12;
12965 fra.me.nitni_local_ref_head = NULL;
12966 fra.me.REG[0] = NIT_NULL;
12967 fra.me.REG[1] = NIT_NULL;
12968 fra.me.REG[2] = NIT_NULL;
12969 fra.me.REG[3] = NIT_NULL;
12970 fra.me.REG[4] = NIT_NULL;
12971 fra.me.REG[5] = NIT_NULL;
12972 fra.me.REG[6] = NIT_NULL;
12973 fra.me.REG[7] = NIT_NULL;
12974 fra.me.REG[8] = NIT_NULL;
12975 fra.me.REG[9] = NIT_NULL;
12976 fra.me.REG[10] = NIT_NULL;
12977 fra.me.REG[11] = NIT_NULL;
12978 fra.me.REG[0] = p0;
12979 fra.me.REG[1] = p1;
12980 /* parser/parser.nit:3624 */
12981 fra.me.REG[2] = NIT_NULL;
12982 /* parser/parser.nit:3625 */
12983 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12984 /* parser/parser.nit:3626 */
12985 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12986 /* parser/parser.nit:3627 */
12987 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12988 /* parser/parser.nit:3628 */
12989 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12990 /* parser/parser.nit:3629 */
12991 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12992 /* parser/parser.nit:3630 */
12993 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12994 /* parser/parser.nit:3631 */
12995 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12996 /* parser/parser.nit:3632 */
12997 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
12998 /* parser/parser.nit:3633 */
12999 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13000 /* parser/parser.nit:3634 */
13001 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13002 /* parser/parser.nit:3635 */
13003 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13004 /* parser/parser.nit:3637 */
13005 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*/;
13006 if (UNTAG_Bool(REGB0)) {
13007 } else {
13008 nit_abort("Assert failed", NULL, LOCATE_parser, 3637);
13009 }
13010 /* parser/parser.nit:3639 */
13011 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*/;
13012 if (UNTAG_Bool(REGB0)) {
13013 } else {
13014 nit_abort("Assert failed", NULL, LOCATE_parser, 3639);
13015 }
13016 /* parser/parser.nit:3641 */
13017 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*/;
13018 if (UNTAG_Bool(REGB0)) {
13019 } else {
13020 nit_abort("Assert failed", NULL, LOCATE_parser, 3641);
13021 }
13022 /* parser/parser.nit:3643 */
13023 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*/;
13024 if (UNTAG_Bool(REGB0)) {
13025 } else {
13026 nit_abort("Assert failed", NULL, LOCATE_parser, 3643);
13027 }
13028 /* parser/parser.nit:3645 */
13029 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
13030 if (UNTAG_Bool(REGB0)) {
13031 } else {
13032 nit_abort("Assert failed", NULL, LOCATE_parser, 3645);
13033 }
13034 /* parser/parser.nit:3647 */
13035 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*/;
13036 if (UNTAG_Bool(REGB0)) {
13037 } else {
13038 nit_abort("Assert failed", NULL, LOCATE_parser, 3647);
13039 }
13040 /* parser/parser.nit:3648 */
13041 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], fra.me.REG[4], fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
13042 /* parser/parser.nit:3660 */
13043 fra.me.REG[2] = fra.me.REG[3];
13044 /* parser/parser.nit:3661 */
13045 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13046 if (UNTAG_Bool(REGB0)) {
13047 } else {
13048 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3661);
13049 }
13050 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13051 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13052 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13053 stack_frame_head = fra.me.prev;
13054 return;
13055 }
13056 static const char LOCATE_parser___ReduceAction76___action[] = "parser::ReduceAction76::(parser::ReduceAction::action)";
13057 void parser___ReduceAction76___action(val_t p0, val_t p1){
13058 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
13059 val_t REGB0;
13060 val_t tmp;
13061 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13062 fra.me.file = LOCATE_parser;
13063 fra.me.line = 3666;
13064 fra.me.meth = LOCATE_parser___ReduceAction76___action;
13065 fra.me.has_broke = 0;
13066 fra.me.REG_size = 13;
13067 fra.me.nitni_local_ref_head = NULL;
13068 fra.me.REG[0] = NIT_NULL;
13069 fra.me.REG[1] = NIT_NULL;
13070 fra.me.REG[2] = NIT_NULL;
13071 fra.me.REG[3] = NIT_NULL;
13072 fra.me.REG[4] = NIT_NULL;
13073 fra.me.REG[5] = NIT_NULL;
13074 fra.me.REG[6] = NIT_NULL;
13075 fra.me.REG[7] = NIT_NULL;
13076 fra.me.REG[8] = NIT_NULL;
13077 fra.me.REG[9] = NIT_NULL;
13078 fra.me.REG[10] = NIT_NULL;
13079 fra.me.REG[11] = NIT_NULL;
13080 fra.me.REG[12] = NIT_NULL;
13081 fra.me.REG[0] = p0;
13082 fra.me.REG[1] = p1;
13083 /* parser/parser.nit:3668 */
13084 fra.me.REG[2] = NIT_NULL;
13085 /* parser/parser.nit:3669 */
13086 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13087 /* parser/parser.nit:3670 */
13088 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13089 /* parser/parser.nit:3671 */
13090 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13091 /* parser/parser.nit:3672 */
13092 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13093 /* parser/parser.nit:3673 */
13094 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13095 /* parser/parser.nit:3674 */
13096 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13097 /* parser/parser.nit:3675 */
13098 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13099 /* parser/parser.nit:3676 */
13100 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13101 /* parser/parser.nit:3677 */
13102 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13103 /* parser/parser.nit:3678 */
13104 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13105 /* parser/parser.nit:3679 */
13106 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13107 /* parser/parser.nit:3680 */
13108 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
13109 /* parser/parser.nit:3682 */
13110 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*/;
13111 if (UNTAG_Bool(REGB0)) {
13112 } else {
13113 nit_abort("Assert failed", NULL, LOCATE_parser, 3682);
13114 }
13115 /* parser/parser.nit:3684 */
13116 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*/;
13117 if (UNTAG_Bool(REGB0)) {
13118 } else {
13119 nit_abort("Assert failed", NULL, LOCATE_parser, 3684);
13120 }
13121 /* parser/parser.nit:3686 */
13122 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*/;
13123 if (UNTAG_Bool(REGB0)) {
13124 } else {
13125 nit_abort("Assert failed", NULL, LOCATE_parser, 3686);
13126 }
13127 /* parser/parser.nit:3688 */
13128 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*/;
13129 if (UNTAG_Bool(REGB0)) {
13130 } else {
13131 nit_abort("Assert failed", NULL, LOCATE_parser, 3688);
13132 }
13133 /* parser/parser.nit:3690 */
13134 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*/;
13135 if (UNTAG_Bool(REGB0)) {
13136 } else {
13137 nit_abort("Assert failed", NULL, LOCATE_parser, 3690);
13138 }
13139 /* parser/parser.nit:3692 */
13140 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
13141 if (UNTAG_Bool(REGB0)) {
13142 } else {
13143 nit_abort("Assert failed", NULL, LOCATE_parser, 3692);
13144 }
13145 /* parser/parser.nit:3694 */
13146 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*/;
13147 if (UNTAG_Bool(REGB0)) {
13148 } else {
13149 nit_abort("Assert failed", NULL, LOCATE_parser, 3694);
13150 }
13151 /* parser/parser.nit:3695 */
13152 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], fra.me.REG[4], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
13153 /* parser/parser.nit:3707 */
13154 fra.me.REG[2] = fra.me.REG[3];
13155 /* parser/parser.nit:3708 */
13156 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13157 if (UNTAG_Bool(REGB0)) {
13158 } else {
13159 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3708);
13160 }
13161 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13162 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13163 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13164 stack_frame_head = fra.me.prev;
13165 return;
13166 }
13167 static const char LOCATE_parser___ReduceAction77___action[] = "parser::ReduceAction77::(parser::ReduceAction::action)";
13168 void parser___ReduceAction77___action(val_t p0, val_t p1){
13169 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
13170 val_t REGB0;
13171 val_t tmp;
13172 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13173 fra.me.file = LOCATE_parser;
13174 fra.me.line = 3713;
13175 fra.me.meth = LOCATE_parser___ReduceAction77___action;
13176 fra.me.has_broke = 0;
13177 fra.me.REG_size = 13;
13178 fra.me.nitni_local_ref_head = NULL;
13179 fra.me.REG[0] = NIT_NULL;
13180 fra.me.REG[1] = NIT_NULL;
13181 fra.me.REG[2] = NIT_NULL;
13182 fra.me.REG[3] = NIT_NULL;
13183 fra.me.REG[4] = NIT_NULL;
13184 fra.me.REG[5] = NIT_NULL;
13185 fra.me.REG[6] = NIT_NULL;
13186 fra.me.REG[7] = NIT_NULL;
13187 fra.me.REG[8] = NIT_NULL;
13188 fra.me.REG[9] = NIT_NULL;
13189 fra.me.REG[10] = NIT_NULL;
13190 fra.me.REG[11] = NIT_NULL;
13191 fra.me.REG[12] = NIT_NULL;
13192 fra.me.REG[0] = p0;
13193 fra.me.REG[1] = p1;
13194 /* parser/parser.nit:3715 */
13195 fra.me.REG[2] = NIT_NULL;
13196 /* parser/parser.nit:3716 */
13197 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13198 /* parser/parser.nit:3717 */
13199 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13200 /* parser/parser.nit:3718 */
13201 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13202 /* parser/parser.nit:3719 */
13203 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13204 /* parser/parser.nit:3720 */
13205 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13206 /* parser/parser.nit:3721 */
13207 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13208 /* parser/parser.nit:3722 */
13209 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13210 /* parser/parser.nit:3723 */
13211 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13212 /* parser/parser.nit:3724 */
13213 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13214 /* parser/parser.nit:3725 */
13215 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13216 /* parser/parser.nit:3726 */
13217 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13218 /* parser/parser.nit:3727 */
13219 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
13220 /* parser/parser.nit:3729 */
13221 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*/;
13222 if (UNTAG_Bool(REGB0)) {
13223 } else {
13224 nit_abort("Assert failed", NULL, LOCATE_parser, 3729);
13225 }
13226 /* parser/parser.nit:3731 */
13227 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*/;
13228 if (UNTAG_Bool(REGB0)) {
13229 } else {
13230 nit_abort("Assert failed", NULL, LOCATE_parser, 3731);
13231 }
13232 /* parser/parser.nit:3733 */
13233 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*/;
13234 if (UNTAG_Bool(REGB0)) {
13235 } else {
13236 nit_abort("Assert failed", NULL, LOCATE_parser, 3733);
13237 }
13238 /* parser/parser.nit:3735 */
13239 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*/;
13240 if (UNTAG_Bool(REGB0)) {
13241 } else {
13242 nit_abort("Assert failed", NULL, LOCATE_parser, 3735);
13243 }
13244 /* parser/parser.nit:3737 */
13245 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]*/;
13246 if (UNTAG_Bool(REGB0)) {
13247 } else {
13248 nit_abort("Assert failed", NULL, LOCATE_parser, 3737);
13249 }
13250 /* parser/parser.nit:3738 */
13251 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
13252 fra.me.REG[10] = fra.me.REG[5];
13253 /* parser/parser.nit:3740 */
13254 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
13255 if (UNTAG_Bool(REGB0)) {
13256 } else {
13257 nit_abort("Assert failed", NULL, LOCATE_parser, 3740);
13258 }
13259 /* parser/parser.nit:3742 */
13260 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*/;
13261 if (UNTAG_Bool(REGB0)) {
13262 } else {
13263 nit_abort("Assert failed", NULL, LOCATE_parser, 3742);
13264 }
13265 /* parser/parser.nit:3743 */
13266 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], fra.me.REG[4], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
13267 /* parser/parser.nit:3755 */
13268 fra.me.REG[2] = fra.me.REG[3];
13269 /* parser/parser.nit:3756 */
13270 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13271 if (UNTAG_Bool(REGB0)) {
13272 } else {
13273 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3756);
13274 }
13275 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13276 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13277 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13278 stack_frame_head = fra.me.prev;
13279 return;
13280 }
13281 static const char LOCATE_parser___ReduceAction78___action[] = "parser::ReduceAction78::(parser::ReduceAction::action)";
13282 void parser___ReduceAction78___action(val_t p0, val_t p1){
13283 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
13284 val_t REGB0;
13285 val_t tmp;
13286 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13287 fra.me.file = LOCATE_parser;
13288 fra.me.line = 3761;
13289 fra.me.meth = LOCATE_parser___ReduceAction78___action;
13290 fra.me.has_broke = 0;
13291 fra.me.REG_size = 14;
13292 fra.me.nitni_local_ref_head = NULL;
13293 fra.me.REG[0] = NIT_NULL;
13294 fra.me.REG[1] = NIT_NULL;
13295 fra.me.REG[2] = NIT_NULL;
13296 fra.me.REG[3] = NIT_NULL;
13297 fra.me.REG[4] = NIT_NULL;
13298 fra.me.REG[5] = NIT_NULL;
13299 fra.me.REG[6] = NIT_NULL;
13300 fra.me.REG[7] = NIT_NULL;
13301 fra.me.REG[8] = NIT_NULL;
13302 fra.me.REG[9] = NIT_NULL;
13303 fra.me.REG[10] = NIT_NULL;
13304 fra.me.REG[11] = NIT_NULL;
13305 fra.me.REG[12] = NIT_NULL;
13306 fra.me.REG[13] = NIT_NULL;
13307 fra.me.REG[0] = p0;
13308 fra.me.REG[1] = p1;
13309 /* parser/parser.nit:3763 */
13310 fra.me.REG[2] = NIT_NULL;
13311 /* parser/parser.nit:3764 */
13312 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13313 /* parser/parser.nit:3765 */
13314 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13315 /* parser/parser.nit:3766 */
13316 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13317 /* parser/parser.nit:3767 */
13318 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13319 /* parser/parser.nit:3768 */
13320 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13321 /* parser/parser.nit:3769 */
13322 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13323 /* parser/parser.nit:3770 */
13324 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13325 /* parser/parser.nit:3771 */
13326 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13327 /* parser/parser.nit:3772 */
13328 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13329 /* parser/parser.nit:3773 */
13330 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13331 /* parser/parser.nit:3774 */
13332 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13333 /* parser/parser.nit:3775 */
13334 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
13335 /* parser/parser.nit:3776 */
13336 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
13337 /* parser/parser.nit:3778 */
13338 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*/;
13339 if (UNTAG_Bool(REGB0)) {
13340 } else {
13341 nit_abort("Assert failed", NULL, LOCATE_parser, 3778);
13342 }
13343 /* parser/parser.nit:3780 */
13344 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*/;
13345 if (UNTAG_Bool(REGB0)) {
13346 } else {
13347 nit_abort("Assert failed", NULL, LOCATE_parser, 3780);
13348 }
13349 /* parser/parser.nit:3782 */
13350 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*/;
13351 if (UNTAG_Bool(REGB0)) {
13352 } else {
13353 nit_abort("Assert failed", NULL, LOCATE_parser, 3782);
13354 }
13355 /* parser/parser.nit:3784 */
13356 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*/;
13357 if (UNTAG_Bool(REGB0)) {
13358 } else {
13359 nit_abort("Assert failed", NULL, LOCATE_parser, 3784);
13360 }
13361 /* parser/parser.nit:3786 */
13362 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*/;
13363 if (UNTAG_Bool(REGB0)) {
13364 } else {
13365 nit_abort("Assert failed", NULL, LOCATE_parser, 3786);
13366 }
13367 /* parser/parser.nit:3788 */
13368 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]*/;
13369 if (UNTAG_Bool(REGB0)) {
13370 } else {
13371 nit_abort("Assert failed", NULL, LOCATE_parser, 3788);
13372 }
13373 /* parser/parser.nit:3789 */
13374 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
13375 fra.me.REG[11] = fra.me.REG[5];
13376 /* parser/parser.nit:3791 */
13377 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
13378 if (UNTAG_Bool(REGB0)) {
13379 } else {
13380 nit_abort("Assert failed", NULL, LOCATE_parser, 3791);
13381 }
13382 /* parser/parser.nit:3793 */
13383 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*/;
13384 if (UNTAG_Bool(REGB0)) {
13385 } else {
13386 nit_abort("Assert failed", NULL, LOCATE_parser, 3793);
13387 }
13388 /* parser/parser.nit:3794 */
13389 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], fra.me.REG[4], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
13390 /* parser/parser.nit:3806 */
13391 fra.me.REG[2] = fra.me.REG[3];
13392 /* parser/parser.nit:3807 */
13393 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13394 if (UNTAG_Bool(REGB0)) {
13395 } else {
13396 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3807);
13397 }
13398 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13400 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13401 stack_frame_head = fra.me.prev;
13402 return;
13403 }
13404 static const char LOCATE_parser___ReduceAction79___action[] = "parser::ReduceAction79::(parser::ReduceAction::action)";
13405 void parser___ReduceAction79___action(val_t p0, val_t p1){
13406 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
13407 val_t REGB0;
13408 val_t tmp;
13409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13410 fra.me.file = LOCATE_parser;
13411 fra.me.line = 3812;
13412 fra.me.meth = LOCATE_parser___ReduceAction79___action;
13413 fra.me.has_broke = 0;
13414 fra.me.REG_size = 12;
13415 fra.me.nitni_local_ref_head = NULL;
13416 fra.me.REG[0] = NIT_NULL;
13417 fra.me.REG[1] = NIT_NULL;
13418 fra.me.REG[2] = NIT_NULL;
13419 fra.me.REG[3] = NIT_NULL;
13420 fra.me.REG[4] = NIT_NULL;
13421 fra.me.REG[5] = NIT_NULL;
13422 fra.me.REG[6] = NIT_NULL;
13423 fra.me.REG[7] = NIT_NULL;
13424 fra.me.REG[8] = NIT_NULL;
13425 fra.me.REG[9] = NIT_NULL;
13426 fra.me.REG[10] = NIT_NULL;
13427 fra.me.REG[11] = NIT_NULL;
13428 fra.me.REG[0] = p0;
13429 fra.me.REG[1] = p1;
13430 /* parser/parser.nit:3814 */
13431 fra.me.REG[2] = NIT_NULL;
13432 /* parser/parser.nit:3815 */
13433 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13434 /* parser/parser.nit:3816 */
13435 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13436 /* parser/parser.nit:3817 */
13437 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13438 /* parser/parser.nit:3818 */
13439 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13440 /* parser/parser.nit:3819 */
13441 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13442 /* parser/parser.nit:3820 */
13443 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13444 /* parser/parser.nit:3821 */
13445 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13446 /* parser/parser.nit:3822 */
13447 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13448 /* parser/parser.nit:3823 */
13449 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
13450 /* parser/parser.nit:3824 */
13451 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13452 /* parser/parser.nit:3825 */
13453 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13454 /* parser/parser.nit:3827 */
13455 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*/;
13456 if (UNTAG_Bool(REGB0)) {
13457 } else {
13458 nit_abort("Assert failed", NULL, LOCATE_parser, 3827);
13459 }
13460 /* parser/parser.nit:3829 */
13461 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*/;
13462 if (UNTAG_Bool(REGB0)) {
13463 } else {
13464 nit_abort("Assert failed", NULL, LOCATE_parser, 3829);
13465 }
13466 /* parser/parser.nit:3831 */
13467 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*/;
13468 if (UNTAG_Bool(REGB0)) {
13469 } else {
13470 nit_abort("Assert failed", NULL, LOCATE_parser, 3831);
13471 }
13472 /* parser/parser.nit:3833 */
13473 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*/;
13474 if (UNTAG_Bool(REGB0)) {
13475 } else {
13476 nit_abort("Assert failed", NULL, LOCATE_parser, 3833);
13477 }
13478 /* parser/parser.nit:3835 */
13479 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]*/;
13480 if (UNTAG_Bool(REGB0)) {
13481 } else {
13482 nit_abort("Assert failed", NULL, LOCATE_parser, 3835);
13483 }
13484 /* parser/parser.nit:3836 */
13485 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[4]);
13486 fra.me.REG[10] = fra.me.REG[4];
13487 /* parser/parser.nit:3838 */
13488 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*/;
13489 if (UNTAG_Bool(REGB0)) {
13490 } else {
13491 nit_abort("Assert failed", NULL, LOCATE_parser, 3838);
13492 }
13493 /* parser/parser.nit:3839 */
13494 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
13495 /* parser/parser.nit:3851 */
13496 fra.me.REG[2] = fra.me.REG[3];
13497 /* parser/parser.nit:3852 */
13498 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13499 if (UNTAG_Bool(REGB0)) {
13500 } else {
13501 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3852);
13502 }
13503 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13504 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13505 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13506 stack_frame_head = fra.me.prev;
13507 return;
13508 }
13509 static const char LOCATE_parser___ReduceAction80___action[] = "parser::ReduceAction80::(parser::ReduceAction::action)";
13510 void parser___ReduceAction80___action(val_t p0, val_t p1){
13511 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
13512 val_t REGB0;
13513 val_t tmp;
13514 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13515 fra.me.file = LOCATE_parser;
13516 fra.me.line = 3857;
13517 fra.me.meth = LOCATE_parser___ReduceAction80___action;
13518 fra.me.has_broke = 0;
13519 fra.me.REG_size = 13;
13520 fra.me.nitni_local_ref_head = NULL;
13521 fra.me.REG[0] = NIT_NULL;
13522 fra.me.REG[1] = NIT_NULL;
13523 fra.me.REG[2] = NIT_NULL;
13524 fra.me.REG[3] = NIT_NULL;
13525 fra.me.REG[4] = NIT_NULL;
13526 fra.me.REG[5] = NIT_NULL;
13527 fra.me.REG[6] = NIT_NULL;
13528 fra.me.REG[7] = NIT_NULL;
13529 fra.me.REG[8] = NIT_NULL;
13530 fra.me.REG[9] = NIT_NULL;
13531 fra.me.REG[10] = NIT_NULL;
13532 fra.me.REG[11] = NIT_NULL;
13533 fra.me.REG[12] = NIT_NULL;
13534 fra.me.REG[0] = p0;
13535 fra.me.REG[1] = p1;
13536 /* parser/parser.nit:3859 */
13537 fra.me.REG[2] = NIT_NULL;
13538 /* parser/parser.nit:3860 */
13539 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13540 /* parser/parser.nit:3861 */
13541 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13542 /* parser/parser.nit:3862 */
13543 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13544 /* parser/parser.nit:3863 */
13545 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13546 /* parser/parser.nit:3864 */
13547 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13548 /* parser/parser.nit:3865 */
13549 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13550 /* parser/parser.nit:3866 */
13551 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13552 /* parser/parser.nit:3867 */
13553 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13554 /* parser/parser.nit:3868 */
13555 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13556 /* parser/parser.nit:3869 */
13557 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13558 /* parser/parser.nit:3870 */
13559 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13560 /* parser/parser.nit:3871 */
13561 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
13562 /* parser/parser.nit:3873 */
13563 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*/;
13564 if (UNTAG_Bool(REGB0)) {
13565 } else {
13566 nit_abort("Assert failed", NULL, LOCATE_parser, 3873);
13567 }
13568 /* parser/parser.nit:3875 */
13569 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*/;
13570 if (UNTAG_Bool(REGB0)) {
13571 } else {
13572 nit_abort("Assert failed", NULL, LOCATE_parser, 3875);
13573 }
13574 /* parser/parser.nit:3877 */
13575 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*/;
13576 if (UNTAG_Bool(REGB0)) {
13577 } else {
13578 nit_abort("Assert failed", NULL, LOCATE_parser, 3877);
13579 }
13580 /* parser/parser.nit:3879 */
13581 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*/;
13582 if (UNTAG_Bool(REGB0)) {
13583 } else {
13584 nit_abort("Assert failed", NULL, LOCATE_parser, 3879);
13585 }
13586 /* parser/parser.nit:3881 */
13587 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*/;
13588 if (UNTAG_Bool(REGB0)) {
13589 } else {
13590 nit_abort("Assert failed", NULL, LOCATE_parser, 3881);
13591 }
13592 /* parser/parser.nit:3883 */
13593 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]*/;
13594 if (UNTAG_Bool(REGB0)) {
13595 } else {
13596 nit_abort("Assert failed", NULL, LOCATE_parser, 3883);
13597 }
13598 /* parser/parser.nit:3884 */
13599 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
13600 fra.me.REG[11] = fra.me.REG[4];
13601 /* parser/parser.nit:3886 */
13602 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*/;
13603 if (UNTAG_Bool(REGB0)) {
13604 } else {
13605 nit_abort("Assert failed", NULL, LOCATE_parser, 3886);
13606 }
13607 /* parser/parser.nit:3887 */
13608 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
13609 /* parser/parser.nit:3899 */
13610 fra.me.REG[2] = fra.me.REG[3];
13611 /* parser/parser.nit:3900 */
13612 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13613 if (UNTAG_Bool(REGB0)) {
13614 } else {
13615 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3900);
13616 }
13617 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13618 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13619 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13620 stack_frame_head = fra.me.prev;
13621 return;
13622 }
13623 static const char LOCATE_parser___ReduceAction81___action[] = "parser::ReduceAction81::(parser::ReduceAction::action)";
13624 void parser___ReduceAction81___action(val_t p0, val_t p1){
13625 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
13626 val_t REGB0;
13627 val_t tmp;
13628 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13629 fra.me.file = LOCATE_parser;
13630 fra.me.line = 3905;
13631 fra.me.meth = LOCATE_parser___ReduceAction81___action;
13632 fra.me.has_broke = 0;
13633 fra.me.REG_size = 13;
13634 fra.me.nitni_local_ref_head = NULL;
13635 fra.me.REG[0] = NIT_NULL;
13636 fra.me.REG[1] = NIT_NULL;
13637 fra.me.REG[2] = NIT_NULL;
13638 fra.me.REG[3] = NIT_NULL;
13639 fra.me.REG[4] = NIT_NULL;
13640 fra.me.REG[5] = NIT_NULL;
13641 fra.me.REG[6] = NIT_NULL;
13642 fra.me.REG[7] = NIT_NULL;
13643 fra.me.REG[8] = NIT_NULL;
13644 fra.me.REG[9] = NIT_NULL;
13645 fra.me.REG[10] = NIT_NULL;
13646 fra.me.REG[11] = NIT_NULL;
13647 fra.me.REG[12] = NIT_NULL;
13648 fra.me.REG[0] = p0;
13649 fra.me.REG[1] = p1;
13650 /* parser/parser.nit:3907 */
13651 fra.me.REG[2] = NIT_NULL;
13652 /* parser/parser.nit:3908 */
13653 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13654 /* parser/parser.nit:3909 */
13655 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13656 /* parser/parser.nit:3910 */
13657 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13658 /* parser/parser.nit:3911 */
13659 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13660 /* parser/parser.nit:3912 */
13661 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13662 /* parser/parser.nit:3913 */
13663 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13664 /* parser/parser.nit:3914 */
13665 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13666 /* parser/parser.nit:3915 */
13667 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13668 /* parser/parser.nit:3916 */
13669 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13670 /* parser/parser.nit:3917 */
13671 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13672 /* parser/parser.nit:3918 */
13673 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13674 /* parser/parser.nit:3919 */
13675 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
13676 /* parser/parser.nit:3921 */
13677 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*/;
13678 if (UNTAG_Bool(REGB0)) {
13679 } else {
13680 nit_abort("Assert failed", NULL, LOCATE_parser, 3921);
13681 }
13682 /* parser/parser.nit:3923 */
13683 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*/;
13684 if (UNTAG_Bool(REGB0)) {
13685 } else {
13686 nit_abort("Assert failed", NULL, LOCATE_parser, 3923);
13687 }
13688 /* parser/parser.nit:3925 */
13689 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*/;
13690 if (UNTAG_Bool(REGB0)) {
13691 } else {
13692 nit_abort("Assert failed", NULL, LOCATE_parser, 3925);
13693 }
13694 /* parser/parser.nit:3927 */
13695 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*/;
13696 if (UNTAG_Bool(REGB0)) {
13697 } else {
13698 nit_abort("Assert failed", NULL, LOCATE_parser, 3927);
13699 }
13700 /* parser/parser.nit:3929 */
13701 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]*/;
13702 if (UNTAG_Bool(REGB0)) {
13703 } else {
13704 nit_abort("Assert failed", NULL, LOCATE_parser, 3929);
13705 }
13706 /* parser/parser.nit:3930 */
13707 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
13708 fra.me.REG[10] = fra.me.REG[5];
13709 /* parser/parser.nit:3932 */
13710 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]*/;
13711 if (UNTAG_Bool(REGB0)) {
13712 } else {
13713 nit_abort("Assert failed", NULL, LOCATE_parser, 3932);
13714 }
13715 /* parser/parser.nit:3933 */
13716 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
13717 fra.me.REG[11] = fra.me.REG[4];
13718 /* parser/parser.nit:3935 */
13719 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*/;
13720 if (UNTAG_Bool(REGB0)) {
13721 } else {
13722 nit_abort("Assert failed", NULL, LOCATE_parser, 3935);
13723 }
13724 /* parser/parser.nit:3936 */
13725 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
13726 /* parser/parser.nit:3948 */
13727 fra.me.REG[2] = fra.me.REG[3];
13728 /* parser/parser.nit:3949 */
13729 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13730 if (UNTAG_Bool(REGB0)) {
13731 } else {
13732 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 3949);
13733 }
13734 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13735 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13736 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13737 stack_frame_head = fra.me.prev;
13738 return;
13739 }
13740 static const char LOCATE_parser___ReduceAction82___action[] = "parser::ReduceAction82::(parser::ReduceAction::action)";
13741 void parser___ReduceAction82___action(val_t p0, val_t p1){
13742 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
13743 val_t REGB0;
13744 val_t tmp;
13745 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13746 fra.me.file = LOCATE_parser;
13747 fra.me.line = 3954;
13748 fra.me.meth = LOCATE_parser___ReduceAction82___action;
13749 fra.me.has_broke = 0;
13750 fra.me.REG_size = 14;
13751 fra.me.nitni_local_ref_head = NULL;
13752 fra.me.REG[0] = NIT_NULL;
13753 fra.me.REG[1] = NIT_NULL;
13754 fra.me.REG[2] = NIT_NULL;
13755 fra.me.REG[3] = NIT_NULL;
13756 fra.me.REG[4] = NIT_NULL;
13757 fra.me.REG[5] = NIT_NULL;
13758 fra.me.REG[6] = NIT_NULL;
13759 fra.me.REG[7] = NIT_NULL;
13760 fra.me.REG[8] = NIT_NULL;
13761 fra.me.REG[9] = NIT_NULL;
13762 fra.me.REG[10] = NIT_NULL;
13763 fra.me.REG[11] = NIT_NULL;
13764 fra.me.REG[12] = NIT_NULL;
13765 fra.me.REG[13] = NIT_NULL;
13766 fra.me.REG[0] = p0;
13767 fra.me.REG[1] = p1;
13768 /* parser/parser.nit:3956 */
13769 fra.me.REG[2] = NIT_NULL;
13770 /* parser/parser.nit:3957 */
13771 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13772 /* parser/parser.nit:3958 */
13773 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13774 /* parser/parser.nit:3959 */
13775 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13776 /* parser/parser.nit:3960 */
13777 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13778 /* parser/parser.nit:3961 */
13779 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13780 /* parser/parser.nit:3962 */
13781 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13782 /* parser/parser.nit:3963 */
13783 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13784 /* parser/parser.nit:3964 */
13785 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13786 /* parser/parser.nit:3965 */
13787 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13788 /* parser/parser.nit:3966 */
13789 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13790 /* parser/parser.nit:3967 */
13791 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13792 /* parser/parser.nit:3968 */
13793 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
13794 /* parser/parser.nit:3969 */
13795 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
13796 /* parser/parser.nit:3971 */
13797 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*/;
13798 if (UNTAG_Bool(REGB0)) {
13799 } else {
13800 nit_abort("Assert failed", NULL, LOCATE_parser, 3971);
13801 }
13802 /* parser/parser.nit:3973 */
13803 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*/;
13804 if (UNTAG_Bool(REGB0)) {
13805 } else {
13806 nit_abort("Assert failed", NULL, LOCATE_parser, 3973);
13807 }
13808 /* parser/parser.nit:3975 */
13809 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*/;
13810 if (UNTAG_Bool(REGB0)) {
13811 } else {
13812 nit_abort("Assert failed", NULL, LOCATE_parser, 3975);
13813 }
13814 /* parser/parser.nit:3977 */
13815 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*/;
13816 if (UNTAG_Bool(REGB0)) {
13817 } else {
13818 nit_abort("Assert failed", NULL, LOCATE_parser, 3977);
13819 }
13820 /* parser/parser.nit:3979 */
13821 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*/;
13822 if (UNTAG_Bool(REGB0)) {
13823 } else {
13824 nit_abort("Assert failed", NULL, LOCATE_parser, 3979);
13825 }
13826 /* parser/parser.nit:3981 */
13827 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]*/;
13828 if (UNTAG_Bool(REGB0)) {
13829 } else {
13830 nit_abort("Assert failed", NULL, LOCATE_parser, 3981);
13831 }
13832 /* parser/parser.nit:3982 */
13833 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
13834 fra.me.REG[11] = fra.me.REG[5];
13835 /* parser/parser.nit:3984 */
13836 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]*/;
13837 if (UNTAG_Bool(REGB0)) {
13838 } else {
13839 nit_abort("Assert failed", NULL, LOCATE_parser, 3984);
13840 }
13841 /* parser/parser.nit:3985 */
13842 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
13843 fra.me.REG[12] = fra.me.REG[4];
13844 /* parser/parser.nit:3987 */
13845 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*/;
13846 if (UNTAG_Bool(REGB0)) {
13847 } else {
13848 nit_abort("Assert failed", NULL, LOCATE_parser, 3987);
13849 }
13850 /* parser/parser.nit:3988 */
13851 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
13852 /* parser/parser.nit:4000 */
13853 fra.me.REG[2] = fra.me.REG[3];
13854 /* parser/parser.nit:4001 */
13855 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13856 if (UNTAG_Bool(REGB0)) {
13857 } else {
13858 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4001);
13859 }
13860 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13861 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13862 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13863 stack_frame_head = fra.me.prev;
13864 return;
13865 }
13866 static const char LOCATE_parser___ReduceAction83___action[] = "parser::ReduceAction83::(parser::ReduceAction::action)";
13867 void parser___ReduceAction83___action(val_t p0, val_t p1){
13868 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
13869 val_t REGB0;
13870 val_t tmp;
13871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13872 fra.me.file = LOCATE_parser;
13873 fra.me.line = 4006;
13874 fra.me.meth = LOCATE_parser___ReduceAction83___action;
13875 fra.me.has_broke = 0;
13876 fra.me.REG_size = 13;
13877 fra.me.nitni_local_ref_head = NULL;
13878 fra.me.REG[0] = NIT_NULL;
13879 fra.me.REG[1] = NIT_NULL;
13880 fra.me.REG[2] = NIT_NULL;
13881 fra.me.REG[3] = NIT_NULL;
13882 fra.me.REG[4] = NIT_NULL;
13883 fra.me.REG[5] = NIT_NULL;
13884 fra.me.REG[6] = NIT_NULL;
13885 fra.me.REG[7] = NIT_NULL;
13886 fra.me.REG[8] = NIT_NULL;
13887 fra.me.REG[9] = NIT_NULL;
13888 fra.me.REG[10] = NIT_NULL;
13889 fra.me.REG[11] = NIT_NULL;
13890 fra.me.REG[12] = NIT_NULL;
13891 fra.me.REG[0] = p0;
13892 fra.me.REG[1] = p1;
13893 /* parser/parser.nit:4008 */
13894 fra.me.REG[2] = NIT_NULL;
13895 /* parser/parser.nit:4009 */
13896 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13897 /* parser/parser.nit:4010 */
13898 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13899 /* parser/parser.nit:4011 */
13900 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13901 /* parser/parser.nit:4012 */
13902 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13903 /* parser/parser.nit:4013 */
13904 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13905 /* parser/parser.nit:4014 */
13906 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13907 /* parser/parser.nit:4015 */
13908 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13909 /* parser/parser.nit:4016 */
13910 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13911 /* parser/parser.nit:4017 */
13912 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
13913 /* parser/parser.nit:4018 */
13914 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
13915 /* parser/parser.nit:4019 */
13916 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
13917 /* parser/parser.nit:4020 */
13918 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
13919 /* parser/parser.nit:4022 */
13920 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*/;
13921 if (UNTAG_Bool(REGB0)) {
13922 } else {
13923 nit_abort("Assert failed", NULL, LOCATE_parser, 4022);
13924 }
13925 /* parser/parser.nit:4024 */
13926 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*/;
13927 if (UNTAG_Bool(REGB0)) {
13928 } else {
13929 nit_abort("Assert failed", NULL, LOCATE_parser, 4024);
13930 }
13931 /* parser/parser.nit:4026 */
13932 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*/;
13933 if (UNTAG_Bool(REGB0)) {
13934 } else {
13935 nit_abort("Assert failed", NULL, LOCATE_parser, 4026);
13936 }
13937 /* parser/parser.nit:4028 */
13938 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*/;
13939 if (UNTAG_Bool(REGB0)) {
13940 } else {
13941 nit_abort("Assert failed", NULL, LOCATE_parser, 4028);
13942 }
13943 /* parser/parser.nit:4030 */
13944 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
13945 if (UNTAG_Bool(REGB0)) {
13946 } else {
13947 nit_abort("Assert failed", NULL, LOCATE_parser, 4030);
13948 }
13949 /* parser/parser.nit:4032 */
13950 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]*/;
13951 if (UNTAG_Bool(REGB0)) {
13952 } else {
13953 nit_abort("Assert failed", NULL, LOCATE_parser, 4032);
13954 }
13955 /* parser/parser.nit:4033 */
13956 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
13957 fra.me.REG[11] = fra.me.REG[4];
13958 /* parser/parser.nit:4035 */
13959 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*/;
13960 if (UNTAG_Bool(REGB0)) {
13961 } else {
13962 nit_abort("Assert failed", NULL, LOCATE_parser, 4035);
13963 }
13964 /* parser/parser.nit:4036 */
13965 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], fra.me.REG[5], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
13966 /* parser/parser.nit:4048 */
13967 fra.me.REG[2] = fra.me.REG[3];
13968 /* parser/parser.nit:4049 */
13969 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
13970 if (UNTAG_Bool(REGB0)) {
13971 } else {
13972 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4049);
13973 }
13974 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
13975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
13976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
13977 stack_frame_head = fra.me.prev;
13978 return;
13979 }
13980 static const char LOCATE_parser___ReduceAction84___action[] = "parser::ReduceAction84::(parser::ReduceAction::action)";
13981 void parser___ReduceAction84___action(val_t p0, val_t p1){
13982 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
13983 val_t REGB0;
13984 val_t tmp;
13985 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13986 fra.me.file = LOCATE_parser;
13987 fra.me.line = 4054;
13988 fra.me.meth = LOCATE_parser___ReduceAction84___action;
13989 fra.me.has_broke = 0;
13990 fra.me.REG_size = 14;
13991 fra.me.nitni_local_ref_head = NULL;
13992 fra.me.REG[0] = NIT_NULL;
13993 fra.me.REG[1] = NIT_NULL;
13994 fra.me.REG[2] = NIT_NULL;
13995 fra.me.REG[3] = NIT_NULL;
13996 fra.me.REG[4] = NIT_NULL;
13997 fra.me.REG[5] = NIT_NULL;
13998 fra.me.REG[6] = NIT_NULL;
13999 fra.me.REG[7] = NIT_NULL;
14000 fra.me.REG[8] = NIT_NULL;
14001 fra.me.REG[9] = NIT_NULL;
14002 fra.me.REG[10] = NIT_NULL;
14003 fra.me.REG[11] = NIT_NULL;
14004 fra.me.REG[12] = NIT_NULL;
14005 fra.me.REG[13] = NIT_NULL;
14006 fra.me.REG[0] = p0;
14007 fra.me.REG[1] = p1;
14008 /* parser/parser.nit:4056 */
14009 fra.me.REG[2] = NIT_NULL;
14010 /* parser/parser.nit:4057 */
14011 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14012 /* parser/parser.nit:4058 */
14013 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14014 /* parser/parser.nit:4059 */
14015 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14016 /* parser/parser.nit:4060 */
14017 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14018 /* parser/parser.nit:4061 */
14019 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14020 /* parser/parser.nit:4062 */
14021 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14022 /* parser/parser.nit:4063 */
14023 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14024 /* parser/parser.nit:4064 */
14025 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14026 /* parser/parser.nit:4065 */
14027 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14028 /* parser/parser.nit:4066 */
14029 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14030 /* parser/parser.nit:4067 */
14031 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14032 /* parser/parser.nit:4068 */
14033 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
14034 /* parser/parser.nit:4069 */
14035 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
14036 /* parser/parser.nit:4071 */
14037 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*/;
14038 if (UNTAG_Bool(REGB0)) {
14039 } else {
14040 nit_abort("Assert failed", NULL, LOCATE_parser, 4071);
14041 }
14042 /* parser/parser.nit:4073 */
14043 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*/;
14044 if (UNTAG_Bool(REGB0)) {
14045 } else {
14046 nit_abort("Assert failed", NULL, LOCATE_parser, 4073);
14047 }
14048 /* parser/parser.nit:4075 */
14049 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*/;
14050 if (UNTAG_Bool(REGB0)) {
14051 } else {
14052 nit_abort("Assert failed", NULL, LOCATE_parser, 4075);
14053 }
14054 /* parser/parser.nit:4077 */
14055 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*/;
14056 if (UNTAG_Bool(REGB0)) {
14057 } else {
14058 nit_abort("Assert failed", NULL, LOCATE_parser, 4077);
14059 }
14060 /* parser/parser.nit:4079 */
14061 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*/;
14062 if (UNTAG_Bool(REGB0)) {
14063 } else {
14064 nit_abort("Assert failed", NULL, LOCATE_parser, 4079);
14065 }
14066 /* parser/parser.nit:4081 */
14067 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
14068 if (UNTAG_Bool(REGB0)) {
14069 } else {
14070 nit_abort("Assert failed", NULL, LOCATE_parser, 4081);
14071 }
14072 /* parser/parser.nit:4083 */
14073 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]*/;
14074 if (UNTAG_Bool(REGB0)) {
14075 } else {
14076 nit_abort("Assert failed", NULL, LOCATE_parser, 4083);
14077 }
14078 /* parser/parser.nit:4084 */
14079 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
14080 fra.me.REG[12] = fra.me.REG[4];
14081 /* parser/parser.nit:4086 */
14082 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*/;
14083 if (UNTAG_Bool(REGB0)) {
14084 } else {
14085 nit_abort("Assert failed", NULL, LOCATE_parser, 4086);
14086 }
14087 /* parser/parser.nit:4087 */
14088 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], fra.me.REG[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
14089 /* parser/parser.nit:4099 */
14090 fra.me.REG[2] = fra.me.REG[3];
14091 /* parser/parser.nit:4100 */
14092 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14093 if (UNTAG_Bool(REGB0)) {
14094 } else {
14095 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4100);
14096 }
14097 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14098 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14099 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14100 stack_frame_head = fra.me.prev;
14101 return;
14102 }
14103 static const char LOCATE_parser___ReduceAction85___action[] = "parser::ReduceAction85::(parser::ReduceAction::action)";
14104 void parser___ReduceAction85___action(val_t p0, val_t p1){
14105 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
14106 val_t REGB0;
14107 val_t tmp;
14108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14109 fra.me.file = LOCATE_parser;
14110 fra.me.line = 4105;
14111 fra.me.meth = LOCATE_parser___ReduceAction85___action;
14112 fra.me.has_broke = 0;
14113 fra.me.REG_size = 14;
14114 fra.me.nitni_local_ref_head = NULL;
14115 fra.me.REG[0] = NIT_NULL;
14116 fra.me.REG[1] = NIT_NULL;
14117 fra.me.REG[2] = NIT_NULL;
14118 fra.me.REG[3] = NIT_NULL;
14119 fra.me.REG[4] = NIT_NULL;
14120 fra.me.REG[5] = NIT_NULL;
14121 fra.me.REG[6] = NIT_NULL;
14122 fra.me.REG[7] = NIT_NULL;
14123 fra.me.REG[8] = NIT_NULL;
14124 fra.me.REG[9] = NIT_NULL;
14125 fra.me.REG[10] = NIT_NULL;
14126 fra.me.REG[11] = NIT_NULL;
14127 fra.me.REG[12] = NIT_NULL;
14128 fra.me.REG[13] = NIT_NULL;
14129 fra.me.REG[0] = p0;
14130 fra.me.REG[1] = p1;
14131 /* parser/parser.nit:4107 */
14132 fra.me.REG[2] = NIT_NULL;
14133 /* parser/parser.nit:4108 */
14134 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14135 /* parser/parser.nit:4109 */
14136 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14137 /* parser/parser.nit:4110 */
14138 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14139 /* parser/parser.nit:4111 */
14140 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14141 /* parser/parser.nit:4112 */
14142 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14143 /* parser/parser.nit:4113 */
14144 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14145 /* parser/parser.nit:4114 */
14146 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14147 /* parser/parser.nit:4115 */
14148 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14149 /* parser/parser.nit:4116 */
14150 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14151 /* parser/parser.nit:4117 */
14152 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14153 /* parser/parser.nit:4118 */
14154 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14155 /* parser/parser.nit:4119 */
14156 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
14157 /* parser/parser.nit:4120 */
14158 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
14159 /* parser/parser.nit:4122 */
14160 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*/;
14161 if (UNTAG_Bool(REGB0)) {
14162 } else {
14163 nit_abort("Assert failed", NULL, LOCATE_parser, 4122);
14164 }
14165 /* parser/parser.nit:4124 */
14166 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14167 if (UNTAG_Bool(REGB0)) {
14168 } else {
14169 nit_abort("Assert failed", NULL, LOCATE_parser, 4124);
14170 }
14171 /* parser/parser.nit:4126 */
14172 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
14173 if (UNTAG_Bool(REGB0)) {
14174 } else {
14175 nit_abort("Assert failed", NULL, LOCATE_parser, 4126);
14176 }
14177 /* parser/parser.nit:4128 */
14178 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
14179 if (UNTAG_Bool(REGB0)) {
14180 } else {
14181 nit_abort("Assert failed", NULL, LOCATE_parser, 4128);
14182 }
14183 /* parser/parser.nit:4130 */
14184 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]*/;
14185 if (UNTAG_Bool(REGB0)) {
14186 } else {
14187 nit_abort("Assert failed", NULL, LOCATE_parser, 4130);
14188 }
14189 /* parser/parser.nit:4131 */
14190 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
14191 fra.me.REG[11] = fra.me.REG[6];
14192 /* parser/parser.nit:4133 */
14193 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
14194 if (UNTAG_Bool(REGB0)) {
14195 } else {
14196 nit_abort("Assert failed", NULL, LOCATE_parser, 4133);
14197 }
14198 /* parser/parser.nit:4135 */
14199 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]*/;
14200 if (UNTAG_Bool(REGB0)) {
14201 } else {
14202 nit_abort("Assert failed", NULL, LOCATE_parser, 4135);
14203 }
14204 /* parser/parser.nit:4136 */
14205 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
14206 fra.me.REG[12] = fra.me.REG[4];
14207 /* parser/parser.nit:4138 */
14208 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*/;
14209 if (UNTAG_Bool(REGB0)) {
14210 } else {
14211 nit_abort("Assert failed", NULL, LOCATE_parser, 4138);
14212 }
14213 /* parser/parser.nit:4139 */
14214 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], fra.me.REG[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
14215 /* parser/parser.nit:4151 */
14216 fra.me.REG[2] = fra.me.REG[3];
14217 /* parser/parser.nit:4152 */
14218 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14219 if (UNTAG_Bool(REGB0)) {
14220 } else {
14221 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4152);
14222 }
14223 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14224 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14225 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14226 stack_frame_head = fra.me.prev;
14227 return;
14228 }
14229 static const char LOCATE_parser___ReduceAction86___action[] = "parser::ReduceAction86::(parser::ReduceAction::action)";
14230 void parser___ReduceAction86___action(val_t p0, val_t p1){
14231 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
14232 val_t REGB0;
14233 val_t tmp;
14234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14235 fra.me.file = LOCATE_parser;
14236 fra.me.line = 4157;
14237 fra.me.meth = LOCATE_parser___ReduceAction86___action;
14238 fra.me.has_broke = 0;
14239 fra.me.REG_size = 15;
14240 fra.me.nitni_local_ref_head = NULL;
14241 fra.me.REG[0] = NIT_NULL;
14242 fra.me.REG[1] = NIT_NULL;
14243 fra.me.REG[2] = NIT_NULL;
14244 fra.me.REG[3] = NIT_NULL;
14245 fra.me.REG[4] = NIT_NULL;
14246 fra.me.REG[5] = NIT_NULL;
14247 fra.me.REG[6] = NIT_NULL;
14248 fra.me.REG[7] = NIT_NULL;
14249 fra.me.REG[8] = NIT_NULL;
14250 fra.me.REG[9] = NIT_NULL;
14251 fra.me.REG[10] = NIT_NULL;
14252 fra.me.REG[11] = NIT_NULL;
14253 fra.me.REG[12] = NIT_NULL;
14254 fra.me.REG[13] = NIT_NULL;
14255 fra.me.REG[14] = NIT_NULL;
14256 fra.me.REG[0] = p0;
14257 fra.me.REG[1] = p1;
14258 /* parser/parser.nit:4159 */
14259 fra.me.REG[2] = NIT_NULL;
14260 /* parser/parser.nit:4160 */
14261 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14262 /* parser/parser.nit:4161 */
14263 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14264 /* parser/parser.nit:4162 */
14265 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14266 /* parser/parser.nit:4163 */
14267 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14268 /* parser/parser.nit:4164 */
14269 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14270 /* parser/parser.nit:4165 */
14271 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14272 /* parser/parser.nit:4166 */
14273 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14274 /* parser/parser.nit:4167 */
14275 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14276 /* parser/parser.nit:4168 */
14277 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14278 /* parser/parser.nit:4169 */
14279 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14280 /* parser/parser.nit:4170 */
14281 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14282 /* parser/parser.nit:4171 */
14283 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
14284 /* parser/parser.nit:4172 */
14285 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
14286 /* parser/parser.nit:4173 */
14287 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
14288 /* parser/parser.nit:4175 */
14289 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*/;
14290 if (UNTAG_Bool(REGB0)) {
14291 } else {
14292 nit_abort("Assert failed", NULL, LOCATE_parser, 4175);
14293 }
14294 /* parser/parser.nit:4177 */
14295 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
14296 if (UNTAG_Bool(REGB0)) {
14297 } else {
14298 nit_abort("Assert failed", NULL, LOCATE_parser, 4177);
14299 }
14300 /* parser/parser.nit:4179 */
14301 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
14302 if (UNTAG_Bool(REGB0)) {
14303 } else {
14304 nit_abort("Assert failed", NULL, LOCATE_parser, 4179);
14305 }
14306 /* parser/parser.nit:4181 */
14307 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
14308 if (UNTAG_Bool(REGB0)) {
14309 } else {
14310 nit_abort("Assert failed", NULL, LOCATE_parser, 4181);
14311 }
14312 /* parser/parser.nit:4183 */
14313 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
14314 if (UNTAG_Bool(REGB0)) {
14315 } else {
14316 nit_abort("Assert failed", NULL, LOCATE_parser, 4183);
14317 }
14318 /* parser/parser.nit:4185 */
14319 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]*/;
14320 if (UNTAG_Bool(REGB0)) {
14321 } else {
14322 nit_abort("Assert failed", NULL, LOCATE_parser, 4185);
14323 }
14324 /* parser/parser.nit:4186 */
14325 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
14326 fra.me.REG[12] = fra.me.REG[6];
14327 /* parser/parser.nit:4188 */
14328 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
14329 if (UNTAG_Bool(REGB0)) {
14330 } else {
14331 nit_abort("Assert failed", NULL, LOCATE_parser, 4188);
14332 }
14333 /* parser/parser.nit:4190 */
14334 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]*/;
14335 if (UNTAG_Bool(REGB0)) {
14336 } else {
14337 nit_abort("Assert failed", NULL, LOCATE_parser, 4190);
14338 }
14339 /* parser/parser.nit:4191 */
14340 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
14341 fra.me.REG[13] = fra.me.REG[4];
14342 /* parser/parser.nit:4193 */
14343 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*/;
14344 if (UNTAG_Bool(REGB0)) {
14345 } else {
14346 nit_abort("Assert failed", NULL, LOCATE_parser, 4193);
14347 }
14348 /* parser/parser.nit:4194 */
14349 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], fra.me.REG[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
14350 /* parser/parser.nit:4206 */
14351 fra.me.REG[2] = fra.me.REG[3];
14352 /* parser/parser.nit:4207 */
14353 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14354 if (UNTAG_Bool(REGB0)) {
14355 } else {
14356 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4207);
14357 }
14358 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14359 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14360 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14361 stack_frame_head = fra.me.prev;
14362 return;
14363 }
14364 static const char LOCATE_parser___ReduceAction87___action[] = "parser::ReduceAction87::(parser::ReduceAction::action)";
14365 void parser___ReduceAction87___action(val_t p0, val_t p1){
14366 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
14367 val_t REGB0;
14368 val_t tmp;
14369 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14370 fra.me.file = LOCATE_parser;
14371 fra.me.line = 4212;
14372 fra.me.meth = LOCATE_parser___ReduceAction87___action;
14373 fra.me.has_broke = 0;
14374 fra.me.REG_size = 12;
14375 fra.me.nitni_local_ref_head = NULL;
14376 fra.me.REG[0] = NIT_NULL;
14377 fra.me.REG[1] = NIT_NULL;
14378 fra.me.REG[2] = NIT_NULL;
14379 fra.me.REG[3] = NIT_NULL;
14380 fra.me.REG[4] = NIT_NULL;
14381 fra.me.REG[5] = NIT_NULL;
14382 fra.me.REG[6] = NIT_NULL;
14383 fra.me.REG[7] = NIT_NULL;
14384 fra.me.REG[8] = NIT_NULL;
14385 fra.me.REG[9] = NIT_NULL;
14386 fra.me.REG[10] = NIT_NULL;
14387 fra.me.REG[11] = NIT_NULL;
14388 fra.me.REG[0] = p0;
14389 fra.me.REG[1] = p1;
14390 /* parser/parser.nit:4214 */
14391 fra.me.REG[2] = NIT_NULL;
14392 /* parser/parser.nit:4215 */
14393 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14394 /* parser/parser.nit:4216 */
14395 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14396 /* parser/parser.nit:4217 */
14397 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14398 /* parser/parser.nit:4218 */
14399 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14400 /* parser/parser.nit:4219 */
14401 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14402 /* parser/parser.nit:4220 */
14403 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14404 /* parser/parser.nit:4221 */
14405 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14406 /* parser/parser.nit:4222 */
14407 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14408 /* parser/parser.nit:4223 */
14409 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
14410 /* parser/parser.nit:4224 */
14411 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
14412 /* parser/parser.nit:4225 */
14413 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14414 /* parser/parser.nit:4227 */
14415 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*/;
14416 if (UNTAG_Bool(REGB0)) {
14417 } else {
14418 nit_abort("Assert failed", NULL, LOCATE_parser, 4227);
14419 }
14420 /* parser/parser.nit:4229 */
14421 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*/;
14422 if (UNTAG_Bool(REGB0)) {
14423 } else {
14424 nit_abort("Assert failed", NULL, LOCATE_parser, 4229);
14425 }
14426 /* parser/parser.nit:4231 */
14427 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*/;
14428 if (UNTAG_Bool(REGB0)) {
14429 } else {
14430 nit_abort("Assert failed", NULL, LOCATE_parser, 4231);
14431 }
14432 /* parser/parser.nit:4233 */
14433 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*/;
14434 if (UNTAG_Bool(REGB0)) {
14435 } else {
14436 nit_abort("Assert failed", NULL, LOCATE_parser, 4233);
14437 }
14438 /* parser/parser.nit:4235 */
14439 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]*/;
14440 if (UNTAG_Bool(REGB0)) {
14441 } else {
14442 nit_abort("Assert failed", NULL, LOCATE_parser, 4235);
14443 }
14444 /* parser/parser.nit:4236 */
14445 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[4]);
14446 fra.me.REG[11] = fra.me.REG[4];
14447 /* parser/parser.nit:4238 */
14448 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*/;
14449 if (UNTAG_Bool(REGB0)) {
14450 } else {
14451 nit_abort("Assert failed", NULL, LOCATE_parser, 4238);
14452 }
14453 /* parser/parser.nit:4239 */
14454 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[9], NIT_NULL, fra.me.REG[10], fra.me.REG[11], fra.me.REG[3]);
14455 /* parser/parser.nit:4251 */
14456 fra.me.REG[2] = fra.me.REG[3];
14457 /* parser/parser.nit:4252 */
14458 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14459 if (UNTAG_Bool(REGB0)) {
14460 } else {
14461 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4252);
14462 }
14463 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14464 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14465 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14466 stack_frame_head = fra.me.prev;
14467 return;
14468 }
14469 static const char LOCATE_parser___ReduceAction88___action[] = "parser::ReduceAction88::(parser::ReduceAction::action)";
14470 void parser___ReduceAction88___action(val_t p0, val_t p1){
14471 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
14472 val_t REGB0;
14473 val_t tmp;
14474 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14475 fra.me.file = LOCATE_parser;
14476 fra.me.line = 4257;
14477 fra.me.meth = LOCATE_parser___ReduceAction88___action;
14478 fra.me.has_broke = 0;
14479 fra.me.REG_size = 13;
14480 fra.me.nitni_local_ref_head = NULL;
14481 fra.me.REG[0] = NIT_NULL;
14482 fra.me.REG[1] = NIT_NULL;
14483 fra.me.REG[2] = NIT_NULL;
14484 fra.me.REG[3] = NIT_NULL;
14485 fra.me.REG[4] = NIT_NULL;
14486 fra.me.REG[5] = NIT_NULL;
14487 fra.me.REG[6] = NIT_NULL;
14488 fra.me.REG[7] = NIT_NULL;
14489 fra.me.REG[8] = NIT_NULL;
14490 fra.me.REG[9] = NIT_NULL;
14491 fra.me.REG[10] = NIT_NULL;
14492 fra.me.REG[11] = NIT_NULL;
14493 fra.me.REG[12] = NIT_NULL;
14494 fra.me.REG[0] = p0;
14495 fra.me.REG[1] = p1;
14496 /* parser/parser.nit:4259 */
14497 fra.me.REG[2] = NIT_NULL;
14498 /* parser/parser.nit:4260 */
14499 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14500 /* parser/parser.nit:4261 */
14501 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14502 /* parser/parser.nit:4262 */
14503 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14504 /* parser/parser.nit:4263 */
14505 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14506 /* parser/parser.nit:4264 */
14507 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14508 /* parser/parser.nit:4265 */
14509 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14510 /* parser/parser.nit:4266 */
14511 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14512 /* parser/parser.nit:4267 */
14513 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14514 /* parser/parser.nit:4268 */
14515 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14516 /* parser/parser.nit:4269 */
14517 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
14518 /* parser/parser.nit:4270 */
14519 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14520 /* parser/parser.nit:4271 */
14521 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
14522 /* parser/parser.nit:4273 */
14523 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*/;
14524 if (UNTAG_Bool(REGB0)) {
14525 } else {
14526 nit_abort("Assert failed", NULL, LOCATE_parser, 4273);
14527 }
14528 /* parser/parser.nit:4275 */
14529 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*/;
14530 if (UNTAG_Bool(REGB0)) {
14531 } else {
14532 nit_abort("Assert failed", NULL, LOCATE_parser, 4275);
14533 }
14534 /* parser/parser.nit:4277 */
14535 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*/;
14536 if (UNTAG_Bool(REGB0)) {
14537 } else {
14538 nit_abort("Assert failed", NULL, LOCATE_parser, 4277);
14539 }
14540 /* parser/parser.nit:4279 */
14541 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*/;
14542 if (UNTAG_Bool(REGB0)) {
14543 } else {
14544 nit_abort("Assert failed", NULL, LOCATE_parser, 4279);
14545 }
14546 /* parser/parser.nit:4281 */
14547 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*/;
14548 if (UNTAG_Bool(REGB0)) {
14549 } else {
14550 nit_abort("Assert failed", NULL, LOCATE_parser, 4281);
14551 }
14552 /* parser/parser.nit:4283 */
14553 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]*/;
14554 if (UNTAG_Bool(REGB0)) {
14555 } else {
14556 nit_abort("Assert failed", NULL, LOCATE_parser, 4283);
14557 }
14558 /* parser/parser.nit:4284 */
14559 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
14560 fra.me.REG[12] = fra.me.REG[4];
14561 /* parser/parser.nit:4286 */
14562 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*/;
14563 if (UNTAG_Bool(REGB0)) {
14564 } else {
14565 nit_abort("Assert failed", NULL, LOCATE_parser, 4286);
14566 }
14567 /* parser/parser.nit:4287 */
14568 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[10], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
14569 /* parser/parser.nit:4299 */
14570 fra.me.REG[2] = fra.me.REG[3];
14571 /* parser/parser.nit:4300 */
14572 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14573 if (UNTAG_Bool(REGB0)) {
14574 } else {
14575 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4300);
14576 }
14577 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14578 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14579 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14580 stack_frame_head = fra.me.prev;
14581 return;
14582 }
14583 static const char LOCATE_parser___ReduceAction89___action[] = "parser::ReduceAction89::(parser::ReduceAction::action)";
14584 void parser___ReduceAction89___action(val_t p0, val_t p1){
14585 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
14586 val_t REGB0;
14587 val_t tmp;
14588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14589 fra.me.file = LOCATE_parser;
14590 fra.me.line = 4305;
14591 fra.me.meth = LOCATE_parser___ReduceAction89___action;
14592 fra.me.has_broke = 0;
14593 fra.me.REG_size = 13;
14594 fra.me.nitni_local_ref_head = NULL;
14595 fra.me.REG[0] = NIT_NULL;
14596 fra.me.REG[1] = NIT_NULL;
14597 fra.me.REG[2] = NIT_NULL;
14598 fra.me.REG[3] = NIT_NULL;
14599 fra.me.REG[4] = NIT_NULL;
14600 fra.me.REG[5] = NIT_NULL;
14601 fra.me.REG[6] = NIT_NULL;
14602 fra.me.REG[7] = NIT_NULL;
14603 fra.me.REG[8] = NIT_NULL;
14604 fra.me.REG[9] = NIT_NULL;
14605 fra.me.REG[10] = NIT_NULL;
14606 fra.me.REG[11] = NIT_NULL;
14607 fra.me.REG[12] = NIT_NULL;
14608 fra.me.REG[0] = p0;
14609 fra.me.REG[1] = p1;
14610 /* parser/parser.nit:4307 */
14611 fra.me.REG[2] = NIT_NULL;
14612 /* parser/parser.nit:4308 */
14613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14614 /* parser/parser.nit:4309 */
14615 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14616 /* parser/parser.nit:4310 */
14617 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14618 /* parser/parser.nit:4311 */
14619 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14620 /* parser/parser.nit:4312 */
14621 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14622 /* parser/parser.nit:4313 */
14623 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14624 /* parser/parser.nit:4314 */
14625 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14626 /* parser/parser.nit:4315 */
14627 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14628 /* parser/parser.nit:4316 */
14629 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14630 /* parser/parser.nit:4317 */
14631 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
14632 /* parser/parser.nit:4318 */
14633 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14634 /* parser/parser.nit:4319 */
14635 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
14636 /* parser/parser.nit:4321 */
14637 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*/;
14638 if (UNTAG_Bool(REGB0)) {
14639 } else {
14640 nit_abort("Assert failed", NULL, LOCATE_parser, 4321);
14641 }
14642 /* parser/parser.nit:4323 */
14643 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*/;
14644 if (UNTAG_Bool(REGB0)) {
14645 } else {
14646 nit_abort("Assert failed", NULL, LOCATE_parser, 4323);
14647 }
14648 /* parser/parser.nit:4325 */
14649 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*/;
14650 if (UNTAG_Bool(REGB0)) {
14651 } else {
14652 nit_abort("Assert failed", NULL, LOCATE_parser, 4325);
14653 }
14654 /* parser/parser.nit:4327 */
14655 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*/;
14656 if (UNTAG_Bool(REGB0)) {
14657 } else {
14658 nit_abort("Assert failed", NULL, LOCATE_parser, 4327);
14659 }
14660 /* parser/parser.nit:4329 */
14661 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]*/;
14662 if (UNTAG_Bool(REGB0)) {
14663 } else {
14664 nit_abort("Assert failed", NULL, LOCATE_parser, 4329);
14665 }
14666 /* parser/parser.nit:4330 */
14667 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[10], fra.me.REG[5]);
14668 fra.me.REG[10] = fra.me.REG[5];
14669 /* parser/parser.nit:4332 */
14670 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]*/;
14671 if (UNTAG_Bool(REGB0)) {
14672 } else {
14673 nit_abort("Assert failed", NULL, LOCATE_parser, 4332);
14674 }
14675 /* parser/parser.nit:4333 */
14676 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
14677 fra.me.REG[12] = fra.me.REG[4];
14678 /* parser/parser.nit:4335 */
14679 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*/;
14680 if (UNTAG_Bool(REGB0)) {
14681 } else {
14682 nit_abort("Assert failed", NULL, LOCATE_parser, 4335);
14683 }
14684 /* parser/parser.nit:4336 */
14685 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
14686 /* parser/parser.nit:4348 */
14687 fra.me.REG[2] = fra.me.REG[3];
14688 /* parser/parser.nit:4349 */
14689 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14690 if (UNTAG_Bool(REGB0)) {
14691 } else {
14692 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4349);
14693 }
14694 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14695 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14696 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14697 stack_frame_head = fra.me.prev;
14698 return;
14699 }
14700 static const char LOCATE_parser___ReduceAction90___action[] = "parser::ReduceAction90::(parser::ReduceAction::action)";
14701 void parser___ReduceAction90___action(val_t p0, val_t p1){
14702 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
14703 val_t REGB0;
14704 val_t tmp;
14705 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14706 fra.me.file = LOCATE_parser;
14707 fra.me.line = 4354;
14708 fra.me.meth = LOCATE_parser___ReduceAction90___action;
14709 fra.me.has_broke = 0;
14710 fra.me.REG_size = 14;
14711 fra.me.nitni_local_ref_head = NULL;
14712 fra.me.REG[0] = NIT_NULL;
14713 fra.me.REG[1] = NIT_NULL;
14714 fra.me.REG[2] = NIT_NULL;
14715 fra.me.REG[3] = NIT_NULL;
14716 fra.me.REG[4] = NIT_NULL;
14717 fra.me.REG[5] = NIT_NULL;
14718 fra.me.REG[6] = NIT_NULL;
14719 fra.me.REG[7] = NIT_NULL;
14720 fra.me.REG[8] = NIT_NULL;
14721 fra.me.REG[9] = NIT_NULL;
14722 fra.me.REG[10] = NIT_NULL;
14723 fra.me.REG[11] = NIT_NULL;
14724 fra.me.REG[12] = NIT_NULL;
14725 fra.me.REG[13] = NIT_NULL;
14726 fra.me.REG[0] = p0;
14727 fra.me.REG[1] = p1;
14728 /* parser/parser.nit:4356 */
14729 fra.me.REG[2] = NIT_NULL;
14730 /* parser/parser.nit:4357 */
14731 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14732 /* parser/parser.nit:4358 */
14733 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14734 /* parser/parser.nit:4359 */
14735 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14736 /* parser/parser.nit:4360 */
14737 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14738 /* parser/parser.nit:4361 */
14739 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14740 /* parser/parser.nit:4362 */
14741 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14742 /* parser/parser.nit:4363 */
14743 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14744 /* parser/parser.nit:4364 */
14745 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14746 /* parser/parser.nit:4365 */
14747 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14748 /* parser/parser.nit:4366 */
14749 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14750 /* parser/parser.nit:4367 */
14751 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14752 /* parser/parser.nit:4368 */
14753 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
14754 /* parser/parser.nit:4369 */
14755 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
14756 /* parser/parser.nit:4371 */
14757 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*/;
14758 if (UNTAG_Bool(REGB0)) {
14759 } else {
14760 nit_abort("Assert failed", NULL, LOCATE_parser, 4371);
14761 }
14762 /* parser/parser.nit:4373 */
14763 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*/;
14764 if (UNTAG_Bool(REGB0)) {
14765 } else {
14766 nit_abort("Assert failed", NULL, LOCATE_parser, 4373);
14767 }
14768 /* parser/parser.nit:4375 */
14769 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*/;
14770 if (UNTAG_Bool(REGB0)) {
14771 } else {
14772 nit_abort("Assert failed", NULL, LOCATE_parser, 4375);
14773 }
14774 /* parser/parser.nit:4377 */
14775 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*/;
14776 if (UNTAG_Bool(REGB0)) {
14777 } else {
14778 nit_abort("Assert failed", NULL, LOCATE_parser, 4377);
14779 }
14780 /* parser/parser.nit:4379 */
14781 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*/;
14782 if (UNTAG_Bool(REGB0)) {
14783 } else {
14784 nit_abort("Assert failed", NULL, LOCATE_parser, 4379);
14785 }
14786 /* parser/parser.nit:4381 */
14787 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]*/;
14788 if (UNTAG_Bool(REGB0)) {
14789 } else {
14790 nit_abort("Assert failed", NULL, LOCATE_parser, 4381);
14791 }
14792 /* parser/parser.nit:4382 */
14793 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
14794 fra.me.REG[11] = fra.me.REG[5];
14795 /* parser/parser.nit:4384 */
14796 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]*/;
14797 if (UNTAG_Bool(REGB0)) {
14798 } else {
14799 nit_abort("Assert failed", NULL, LOCATE_parser, 4384);
14800 }
14801 /* parser/parser.nit:4385 */
14802 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
14803 fra.me.REG[13] = fra.me.REG[4];
14804 /* parser/parser.nit:4387 */
14805 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*/;
14806 if (UNTAG_Bool(REGB0)) {
14807 } else {
14808 nit_abort("Assert failed", NULL, LOCATE_parser, 4387);
14809 }
14810 /* parser/parser.nit:4388 */
14811 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
14812 /* parser/parser.nit:4400 */
14813 fra.me.REG[2] = fra.me.REG[3];
14814 /* parser/parser.nit:4401 */
14815 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14816 if (UNTAG_Bool(REGB0)) {
14817 } else {
14818 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4401);
14819 }
14820 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14821 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14822 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14823 stack_frame_head = fra.me.prev;
14824 return;
14825 }
14826 static const char LOCATE_parser___ReduceAction91___action[] = "parser::ReduceAction91::(parser::ReduceAction::action)";
14827 void parser___ReduceAction91___action(val_t p0, val_t p1){
14828 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
14829 val_t REGB0;
14830 val_t tmp;
14831 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14832 fra.me.file = LOCATE_parser;
14833 fra.me.line = 4406;
14834 fra.me.meth = LOCATE_parser___ReduceAction91___action;
14835 fra.me.has_broke = 0;
14836 fra.me.REG_size = 13;
14837 fra.me.nitni_local_ref_head = NULL;
14838 fra.me.REG[0] = NIT_NULL;
14839 fra.me.REG[1] = NIT_NULL;
14840 fra.me.REG[2] = NIT_NULL;
14841 fra.me.REG[3] = NIT_NULL;
14842 fra.me.REG[4] = NIT_NULL;
14843 fra.me.REG[5] = NIT_NULL;
14844 fra.me.REG[6] = NIT_NULL;
14845 fra.me.REG[7] = NIT_NULL;
14846 fra.me.REG[8] = NIT_NULL;
14847 fra.me.REG[9] = NIT_NULL;
14848 fra.me.REG[10] = NIT_NULL;
14849 fra.me.REG[11] = NIT_NULL;
14850 fra.me.REG[12] = NIT_NULL;
14851 fra.me.REG[0] = p0;
14852 fra.me.REG[1] = p1;
14853 /* parser/parser.nit:4408 */
14854 fra.me.REG[2] = NIT_NULL;
14855 /* parser/parser.nit:4409 */
14856 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14857 /* parser/parser.nit:4410 */
14858 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14859 /* parser/parser.nit:4411 */
14860 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14861 /* parser/parser.nit:4412 */
14862 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14863 /* parser/parser.nit:4413 */
14864 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14865 /* parser/parser.nit:4414 */
14866 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14867 /* parser/parser.nit:4415 */
14868 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14869 /* parser/parser.nit:4416 */
14870 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14871 /* parser/parser.nit:4417 */
14872 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14873 /* parser/parser.nit:4418 */
14874 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
14875 /* parser/parser.nit:4419 */
14876 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14877 /* parser/parser.nit:4420 */
14878 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
14879 /* parser/parser.nit:4422 */
14880 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*/;
14881 if (UNTAG_Bool(REGB0)) {
14882 } else {
14883 nit_abort("Assert failed", NULL, LOCATE_parser, 4422);
14884 }
14885 /* parser/parser.nit:4424 */
14886 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*/;
14887 if (UNTAG_Bool(REGB0)) {
14888 } else {
14889 nit_abort("Assert failed", NULL, LOCATE_parser, 4424);
14890 }
14891 /* parser/parser.nit:4426 */
14892 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*/;
14893 if (UNTAG_Bool(REGB0)) {
14894 } else {
14895 nit_abort("Assert failed", NULL, LOCATE_parser, 4426);
14896 }
14897 /* parser/parser.nit:4428 */
14898 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*/;
14899 if (UNTAG_Bool(REGB0)) {
14900 } else {
14901 nit_abort("Assert failed", NULL, LOCATE_parser, 4428);
14902 }
14903 /* parser/parser.nit:4430 */
14904 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
14905 if (UNTAG_Bool(REGB0)) {
14906 } else {
14907 nit_abort("Assert failed", NULL, LOCATE_parser, 4430);
14908 }
14909 /* parser/parser.nit:4432 */
14910 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]*/;
14911 if (UNTAG_Bool(REGB0)) {
14912 } else {
14913 nit_abort("Assert failed", NULL, LOCATE_parser, 4432);
14914 }
14915 /* parser/parser.nit:4433 */
14916 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
14917 fra.me.REG[12] = fra.me.REG[4];
14918 /* parser/parser.nit:4435 */
14919 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*/;
14920 if (UNTAG_Bool(REGB0)) {
14921 } else {
14922 nit_abort("Assert failed", NULL, LOCATE_parser, 4435);
14923 }
14924 /* parser/parser.nit:4436 */
14925 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], fra.me.REG[5], fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
14926 /* parser/parser.nit:4448 */
14927 fra.me.REG[2] = fra.me.REG[3];
14928 /* parser/parser.nit:4449 */
14929 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
14930 if (UNTAG_Bool(REGB0)) {
14931 } else {
14932 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4449);
14933 }
14934 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
14935 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
14936 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
14937 stack_frame_head = fra.me.prev;
14938 return;
14939 }
14940 static const char LOCATE_parser___ReduceAction92___action[] = "parser::ReduceAction92::(parser::ReduceAction::action)";
14941 void parser___ReduceAction92___action(val_t p0, val_t p1){
14942 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
14943 val_t REGB0;
14944 val_t tmp;
14945 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14946 fra.me.file = LOCATE_parser;
14947 fra.me.line = 4454;
14948 fra.me.meth = LOCATE_parser___ReduceAction92___action;
14949 fra.me.has_broke = 0;
14950 fra.me.REG_size = 14;
14951 fra.me.nitni_local_ref_head = NULL;
14952 fra.me.REG[0] = NIT_NULL;
14953 fra.me.REG[1] = NIT_NULL;
14954 fra.me.REG[2] = NIT_NULL;
14955 fra.me.REG[3] = NIT_NULL;
14956 fra.me.REG[4] = NIT_NULL;
14957 fra.me.REG[5] = NIT_NULL;
14958 fra.me.REG[6] = NIT_NULL;
14959 fra.me.REG[7] = NIT_NULL;
14960 fra.me.REG[8] = NIT_NULL;
14961 fra.me.REG[9] = NIT_NULL;
14962 fra.me.REG[10] = NIT_NULL;
14963 fra.me.REG[11] = NIT_NULL;
14964 fra.me.REG[12] = NIT_NULL;
14965 fra.me.REG[13] = NIT_NULL;
14966 fra.me.REG[0] = p0;
14967 fra.me.REG[1] = p1;
14968 /* parser/parser.nit:4456 */
14969 fra.me.REG[2] = NIT_NULL;
14970 /* parser/parser.nit:4457 */
14971 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14972 /* parser/parser.nit:4458 */
14973 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14974 /* parser/parser.nit:4459 */
14975 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14976 /* parser/parser.nit:4460 */
14977 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14978 /* parser/parser.nit:4461 */
14979 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14980 /* parser/parser.nit:4462 */
14981 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14982 /* parser/parser.nit:4463 */
14983 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14984 /* parser/parser.nit:4464 */
14985 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14986 /* parser/parser.nit:4465 */
14987 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14988 /* parser/parser.nit:4466 */
14989 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
14990 /* parser/parser.nit:4467 */
14991 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
14992 /* parser/parser.nit:4468 */
14993 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
14994 /* parser/parser.nit:4469 */
14995 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
14996 /* parser/parser.nit:4471 */
14997 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*/;
14998 if (UNTAG_Bool(REGB0)) {
14999 } else {
15000 nit_abort("Assert failed", NULL, LOCATE_parser, 4471);
15001 }
15002 /* parser/parser.nit:4473 */
15003 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*/;
15004 if (UNTAG_Bool(REGB0)) {
15005 } else {
15006 nit_abort("Assert failed", NULL, LOCATE_parser, 4473);
15007 }
15008 /* parser/parser.nit:4475 */
15009 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*/;
15010 if (UNTAG_Bool(REGB0)) {
15011 } else {
15012 nit_abort("Assert failed", NULL, LOCATE_parser, 4475);
15013 }
15014 /* parser/parser.nit:4477 */
15015 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*/;
15016 if (UNTAG_Bool(REGB0)) {
15017 } else {
15018 nit_abort("Assert failed", NULL, LOCATE_parser, 4477);
15019 }
15020 /* parser/parser.nit:4479 */
15021 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*/;
15022 if (UNTAG_Bool(REGB0)) {
15023 } else {
15024 nit_abort("Assert failed", NULL, LOCATE_parser, 4479);
15025 }
15026 /* parser/parser.nit:4481 */
15027 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
15028 if (UNTAG_Bool(REGB0)) {
15029 } else {
15030 nit_abort("Assert failed", NULL, LOCATE_parser, 4481);
15031 }
15032 /* parser/parser.nit:4483 */
15033 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]*/;
15034 if (UNTAG_Bool(REGB0)) {
15035 } else {
15036 nit_abort("Assert failed", NULL, LOCATE_parser, 4483);
15037 }
15038 /* parser/parser.nit:4484 */
15039 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
15040 fra.me.REG[13] = fra.me.REG[4];
15041 /* parser/parser.nit:4486 */
15042 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*/;
15043 if (UNTAG_Bool(REGB0)) {
15044 } else {
15045 nit_abort("Assert failed", NULL, LOCATE_parser, 4486);
15046 }
15047 /* parser/parser.nit:4487 */
15048 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], fra.me.REG[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
15049 /* parser/parser.nit:4499 */
15050 fra.me.REG[2] = fra.me.REG[3];
15051 /* parser/parser.nit:4500 */
15052 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15053 if (UNTAG_Bool(REGB0)) {
15054 } else {
15055 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4500);
15056 }
15057 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15058 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15059 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15060 stack_frame_head = fra.me.prev;
15061 return;
15062 }
15063 static const char LOCATE_parser___ReduceAction93___action[] = "parser::ReduceAction93::(parser::ReduceAction::action)";
15064 void parser___ReduceAction93___action(val_t p0, val_t p1){
15065 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
15066 val_t REGB0;
15067 val_t tmp;
15068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15069 fra.me.file = LOCATE_parser;
15070 fra.me.line = 4505;
15071 fra.me.meth = LOCATE_parser___ReduceAction93___action;
15072 fra.me.has_broke = 0;
15073 fra.me.REG_size = 14;
15074 fra.me.nitni_local_ref_head = NULL;
15075 fra.me.REG[0] = NIT_NULL;
15076 fra.me.REG[1] = NIT_NULL;
15077 fra.me.REG[2] = NIT_NULL;
15078 fra.me.REG[3] = NIT_NULL;
15079 fra.me.REG[4] = NIT_NULL;
15080 fra.me.REG[5] = NIT_NULL;
15081 fra.me.REG[6] = NIT_NULL;
15082 fra.me.REG[7] = NIT_NULL;
15083 fra.me.REG[8] = NIT_NULL;
15084 fra.me.REG[9] = NIT_NULL;
15085 fra.me.REG[10] = NIT_NULL;
15086 fra.me.REG[11] = NIT_NULL;
15087 fra.me.REG[12] = NIT_NULL;
15088 fra.me.REG[13] = NIT_NULL;
15089 fra.me.REG[0] = p0;
15090 fra.me.REG[1] = p1;
15091 /* parser/parser.nit:4507 */
15092 fra.me.REG[2] = NIT_NULL;
15093 /* parser/parser.nit:4508 */
15094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15095 /* parser/parser.nit:4509 */
15096 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15097 /* parser/parser.nit:4510 */
15098 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15099 /* parser/parser.nit:4511 */
15100 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15101 /* parser/parser.nit:4512 */
15102 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15103 /* parser/parser.nit:4513 */
15104 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15105 /* parser/parser.nit:4514 */
15106 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15107 /* parser/parser.nit:4515 */
15108 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15109 /* parser/parser.nit:4516 */
15110 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15111 /* parser/parser.nit:4517 */
15112 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15113 /* parser/parser.nit:4518 */
15114 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15115 /* parser/parser.nit:4519 */
15116 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15117 /* parser/parser.nit:4520 */
15118 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
15119 /* parser/parser.nit:4522 */
15120 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*/;
15121 if (UNTAG_Bool(REGB0)) {
15122 } else {
15123 nit_abort("Assert failed", NULL, LOCATE_parser, 4522);
15124 }
15125 /* parser/parser.nit:4524 */
15126 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15127 if (UNTAG_Bool(REGB0)) {
15128 } else {
15129 nit_abort("Assert failed", NULL, LOCATE_parser, 4524);
15130 }
15131 /* parser/parser.nit:4526 */
15132 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
15133 if (UNTAG_Bool(REGB0)) {
15134 } else {
15135 nit_abort("Assert failed", NULL, LOCATE_parser, 4526);
15136 }
15137 /* parser/parser.nit:4528 */
15138 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
15139 if (UNTAG_Bool(REGB0)) {
15140 } else {
15141 nit_abort("Assert failed", NULL, LOCATE_parser, 4528);
15142 }
15143 /* parser/parser.nit:4530 */
15144 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]*/;
15145 if (UNTAG_Bool(REGB0)) {
15146 } else {
15147 nit_abort("Assert failed", NULL, LOCATE_parser, 4530);
15148 }
15149 /* parser/parser.nit:4531 */
15150 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
15151 fra.me.REG[11] = fra.me.REG[6];
15152 /* parser/parser.nit:4533 */
15153 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
15154 if (UNTAG_Bool(REGB0)) {
15155 } else {
15156 nit_abort("Assert failed", NULL, LOCATE_parser, 4533);
15157 }
15158 /* parser/parser.nit:4535 */
15159 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]*/;
15160 if (UNTAG_Bool(REGB0)) {
15161 } else {
15162 nit_abort("Assert failed", NULL, LOCATE_parser, 4535);
15163 }
15164 /* parser/parser.nit:4536 */
15165 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
15166 fra.me.REG[13] = fra.me.REG[4];
15167 /* parser/parser.nit:4538 */
15168 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*/;
15169 if (UNTAG_Bool(REGB0)) {
15170 } else {
15171 nit_abort("Assert failed", NULL, LOCATE_parser, 4538);
15172 }
15173 /* parser/parser.nit:4539 */
15174 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], fra.me.REG[5], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
15175 /* parser/parser.nit:4551 */
15176 fra.me.REG[2] = fra.me.REG[3];
15177 /* parser/parser.nit:4552 */
15178 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15179 if (UNTAG_Bool(REGB0)) {
15180 } else {
15181 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4552);
15182 }
15183 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15184 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15185 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15186 stack_frame_head = fra.me.prev;
15187 return;
15188 }
15189 static const char LOCATE_parser___ReduceAction94___action[] = "parser::ReduceAction94::(parser::ReduceAction::action)";
15190 void parser___ReduceAction94___action(val_t p0, val_t p1){
15191 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
15192 val_t REGB0;
15193 val_t tmp;
15194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15195 fra.me.file = LOCATE_parser;
15196 fra.me.line = 4557;
15197 fra.me.meth = LOCATE_parser___ReduceAction94___action;
15198 fra.me.has_broke = 0;
15199 fra.me.REG_size = 15;
15200 fra.me.nitni_local_ref_head = NULL;
15201 fra.me.REG[0] = NIT_NULL;
15202 fra.me.REG[1] = NIT_NULL;
15203 fra.me.REG[2] = NIT_NULL;
15204 fra.me.REG[3] = NIT_NULL;
15205 fra.me.REG[4] = NIT_NULL;
15206 fra.me.REG[5] = NIT_NULL;
15207 fra.me.REG[6] = NIT_NULL;
15208 fra.me.REG[7] = NIT_NULL;
15209 fra.me.REG[8] = NIT_NULL;
15210 fra.me.REG[9] = NIT_NULL;
15211 fra.me.REG[10] = NIT_NULL;
15212 fra.me.REG[11] = NIT_NULL;
15213 fra.me.REG[12] = NIT_NULL;
15214 fra.me.REG[13] = NIT_NULL;
15215 fra.me.REG[14] = NIT_NULL;
15216 fra.me.REG[0] = p0;
15217 fra.me.REG[1] = p1;
15218 /* parser/parser.nit:4559 */
15219 fra.me.REG[2] = NIT_NULL;
15220 /* parser/parser.nit:4560 */
15221 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15222 /* parser/parser.nit:4561 */
15223 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15224 /* parser/parser.nit:4562 */
15225 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15226 /* parser/parser.nit:4563 */
15227 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15228 /* parser/parser.nit:4564 */
15229 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15230 /* parser/parser.nit:4565 */
15231 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15232 /* parser/parser.nit:4566 */
15233 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15234 /* parser/parser.nit:4567 */
15235 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15236 /* parser/parser.nit:4568 */
15237 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15238 /* parser/parser.nit:4569 */
15239 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15240 /* parser/parser.nit:4570 */
15241 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15242 /* parser/parser.nit:4571 */
15243 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15244 /* parser/parser.nit:4572 */
15245 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
15246 /* parser/parser.nit:4573 */
15247 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
15248 /* parser/parser.nit:4575 */
15249 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*/;
15250 if (UNTAG_Bool(REGB0)) {
15251 } else {
15252 nit_abort("Assert failed", NULL, LOCATE_parser, 4575);
15253 }
15254 /* parser/parser.nit:4577 */
15255 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
15256 if (UNTAG_Bool(REGB0)) {
15257 } else {
15258 nit_abort("Assert failed", NULL, LOCATE_parser, 4577);
15259 }
15260 /* parser/parser.nit:4579 */
15261 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15262 if (UNTAG_Bool(REGB0)) {
15263 } else {
15264 nit_abort("Assert failed", NULL, LOCATE_parser, 4579);
15265 }
15266 /* parser/parser.nit:4581 */
15267 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
15268 if (UNTAG_Bool(REGB0)) {
15269 } else {
15270 nit_abort("Assert failed", NULL, LOCATE_parser, 4581);
15271 }
15272 /* parser/parser.nit:4583 */
15273 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
15274 if (UNTAG_Bool(REGB0)) {
15275 } else {
15276 nit_abort("Assert failed", NULL, LOCATE_parser, 4583);
15277 }
15278 /* parser/parser.nit:4585 */
15279 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]*/;
15280 if (UNTAG_Bool(REGB0)) {
15281 } else {
15282 nit_abort("Assert failed", NULL, LOCATE_parser, 4585);
15283 }
15284 /* parser/parser.nit:4586 */
15285 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
15286 fra.me.REG[12] = fra.me.REG[6];
15287 /* parser/parser.nit:4588 */
15288 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
15289 if (UNTAG_Bool(REGB0)) {
15290 } else {
15291 nit_abort("Assert failed", NULL, LOCATE_parser, 4588);
15292 }
15293 /* parser/parser.nit:4590 */
15294 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]*/;
15295 if (UNTAG_Bool(REGB0)) {
15296 } else {
15297 nit_abort("Assert failed", NULL, LOCATE_parser, 4590);
15298 }
15299 /* parser/parser.nit:4591 */
15300 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
15301 fra.me.REG[14] = fra.me.REG[4];
15302 /* parser/parser.nit:4593 */
15303 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*/;
15304 if (UNTAG_Bool(REGB0)) {
15305 } else {
15306 nit_abort("Assert failed", NULL, LOCATE_parser, 4593);
15307 }
15308 /* parser/parser.nit:4594 */
15309 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], fra.me.REG[5], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
15310 /* parser/parser.nit:4606 */
15311 fra.me.REG[2] = fra.me.REG[3];
15312 /* parser/parser.nit:4607 */
15313 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15314 if (UNTAG_Bool(REGB0)) {
15315 } else {
15316 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4607);
15317 }
15318 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15319 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15320 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15321 stack_frame_head = fra.me.prev;
15322 return;
15323 }
15324 static const char LOCATE_parser___ReduceAction95___action[] = "parser::ReduceAction95::(parser::ReduceAction::action)";
15325 void parser___ReduceAction95___action(val_t p0, val_t p1){
15326 struct {struct stack_frame_t me; val_t MORE_REG[12];} fra;
15327 val_t REGB0;
15328 val_t tmp;
15329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15330 fra.me.file = LOCATE_parser;
15331 fra.me.line = 4612;
15332 fra.me.meth = LOCATE_parser___ReduceAction95___action;
15333 fra.me.has_broke = 0;
15334 fra.me.REG_size = 13;
15335 fra.me.nitni_local_ref_head = NULL;
15336 fra.me.REG[0] = NIT_NULL;
15337 fra.me.REG[1] = NIT_NULL;
15338 fra.me.REG[2] = NIT_NULL;
15339 fra.me.REG[3] = NIT_NULL;
15340 fra.me.REG[4] = NIT_NULL;
15341 fra.me.REG[5] = NIT_NULL;
15342 fra.me.REG[6] = NIT_NULL;
15343 fra.me.REG[7] = NIT_NULL;
15344 fra.me.REG[8] = NIT_NULL;
15345 fra.me.REG[9] = NIT_NULL;
15346 fra.me.REG[10] = NIT_NULL;
15347 fra.me.REG[11] = NIT_NULL;
15348 fra.me.REG[12] = NIT_NULL;
15349 fra.me.REG[0] = p0;
15350 fra.me.REG[1] = p1;
15351 /* parser/parser.nit:4614 */
15352 fra.me.REG[2] = NIT_NULL;
15353 /* parser/parser.nit:4615 */
15354 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15355 /* parser/parser.nit:4616 */
15356 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15357 /* parser/parser.nit:4617 */
15358 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15359 /* parser/parser.nit:4618 */
15360 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15361 /* parser/parser.nit:4619 */
15362 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15363 /* parser/parser.nit:4620 */
15364 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15365 /* parser/parser.nit:4621 */
15366 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15367 /* parser/parser.nit:4622 */
15368 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15369 /* parser/parser.nit:4623 */
15370 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15371 /* parser/parser.nit:4624 */
15372 fra.me.REG[10] = NEW_Array_standard___collection___array___Array___init();
15373 /* parser/parser.nit:4625 */
15374 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15375 /* parser/parser.nit:4626 */
15376 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15377 /* parser/parser.nit:4628 */
15378 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*/;
15379 if (UNTAG_Bool(REGB0)) {
15380 } else {
15381 nit_abort("Assert failed", NULL, LOCATE_parser, 4628);
15382 }
15383 /* parser/parser.nit:4630 */
15384 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*/;
15385 if (UNTAG_Bool(REGB0)) {
15386 } else {
15387 nit_abort("Assert failed", NULL, LOCATE_parser, 4630);
15388 }
15389 /* parser/parser.nit:4632 */
15390 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*/;
15391 if (UNTAG_Bool(REGB0)) {
15392 } else {
15393 nit_abort("Assert failed", NULL, LOCATE_parser, 4632);
15394 }
15395 /* parser/parser.nit:4634 */
15396 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*/;
15397 if (UNTAG_Bool(REGB0)) {
15398 } else {
15399 nit_abort("Assert failed", NULL, LOCATE_parser, 4634);
15400 }
15401 /* parser/parser.nit:4636 */
15402 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]*/;
15403 if (UNTAG_Bool(REGB0)) {
15404 } else {
15405 nit_abort("Assert failed", NULL, LOCATE_parser, 4636);
15406 }
15407 /* parser/parser.nit:4637 */
15408 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[5]);
15409 fra.me.REG[11] = fra.me.REG[5];
15410 /* parser/parser.nit:4639 */
15411 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]*/;
15412 if (UNTAG_Bool(REGB0)) {
15413 } else {
15414 nit_abort("Assert failed", NULL, LOCATE_parser, 4639);
15415 }
15416 /* parser/parser.nit:4640 */
15417 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[4]);
15418 fra.me.REG[12] = fra.me.REG[4];
15419 /* parser/parser.nit:4642 */
15420 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*/;
15421 if (UNTAG_Bool(REGB0)) {
15422 } else {
15423 nit_abort("Assert failed", NULL, LOCATE_parser, 4642);
15424 }
15425 /* parser/parser.nit:4643 */
15426 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[10], NIT_NULL, fra.me.REG[11], fra.me.REG[12], fra.me.REG[3]);
15427 /* parser/parser.nit:4655 */
15428 fra.me.REG[2] = fra.me.REG[3];
15429 /* parser/parser.nit:4656 */
15430 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15431 if (UNTAG_Bool(REGB0)) {
15432 } else {
15433 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4656);
15434 }
15435 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15436 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15437 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15438 stack_frame_head = fra.me.prev;
15439 return;
15440 }
15441 static const char LOCATE_parser___ReduceAction96___action[] = "parser::ReduceAction96::(parser::ReduceAction::action)";
15442 void parser___ReduceAction96___action(val_t p0, val_t p1){
15443 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
15444 val_t REGB0;
15445 val_t tmp;
15446 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15447 fra.me.file = LOCATE_parser;
15448 fra.me.line = 4661;
15449 fra.me.meth = LOCATE_parser___ReduceAction96___action;
15450 fra.me.has_broke = 0;
15451 fra.me.REG_size = 14;
15452 fra.me.nitni_local_ref_head = NULL;
15453 fra.me.REG[0] = NIT_NULL;
15454 fra.me.REG[1] = NIT_NULL;
15455 fra.me.REG[2] = NIT_NULL;
15456 fra.me.REG[3] = NIT_NULL;
15457 fra.me.REG[4] = NIT_NULL;
15458 fra.me.REG[5] = NIT_NULL;
15459 fra.me.REG[6] = NIT_NULL;
15460 fra.me.REG[7] = NIT_NULL;
15461 fra.me.REG[8] = NIT_NULL;
15462 fra.me.REG[9] = NIT_NULL;
15463 fra.me.REG[10] = NIT_NULL;
15464 fra.me.REG[11] = NIT_NULL;
15465 fra.me.REG[12] = NIT_NULL;
15466 fra.me.REG[13] = NIT_NULL;
15467 fra.me.REG[0] = p0;
15468 fra.me.REG[1] = p1;
15469 /* parser/parser.nit:4663 */
15470 fra.me.REG[2] = NIT_NULL;
15471 /* parser/parser.nit:4664 */
15472 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15473 /* parser/parser.nit:4665 */
15474 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15475 /* parser/parser.nit:4666 */
15476 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15477 /* parser/parser.nit:4667 */
15478 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15479 /* parser/parser.nit:4668 */
15480 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15481 /* parser/parser.nit:4669 */
15482 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15483 /* parser/parser.nit:4670 */
15484 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15485 /* parser/parser.nit:4671 */
15486 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15487 /* parser/parser.nit:4672 */
15488 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15489 /* parser/parser.nit:4673 */
15490 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15491 /* parser/parser.nit:4674 */
15492 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15493 /* parser/parser.nit:4675 */
15494 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15495 /* parser/parser.nit:4676 */
15496 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
15497 /* parser/parser.nit:4678 */
15498 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*/;
15499 if (UNTAG_Bool(REGB0)) {
15500 } else {
15501 nit_abort("Assert failed", NULL, LOCATE_parser, 4678);
15502 }
15503 /* parser/parser.nit:4680 */
15504 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*/;
15505 if (UNTAG_Bool(REGB0)) {
15506 } else {
15507 nit_abort("Assert failed", NULL, LOCATE_parser, 4680);
15508 }
15509 /* parser/parser.nit:4682 */
15510 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*/;
15511 if (UNTAG_Bool(REGB0)) {
15512 } else {
15513 nit_abort("Assert failed", NULL, LOCATE_parser, 4682);
15514 }
15515 /* parser/parser.nit:4684 */
15516 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*/;
15517 if (UNTAG_Bool(REGB0)) {
15518 } else {
15519 nit_abort("Assert failed", NULL, LOCATE_parser, 4684);
15520 }
15521 /* parser/parser.nit:4686 */
15522 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*/;
15523 if (UNTAG_Bool(REGB0)) {
15524 } else {
15525 nit_abort("Assert failed", NULL, LOCATE_parser, 4686);
15526 }
15527 /* parser/parser.nit:4688 */
15528 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]*/;
15529 if (UNTAG_Bool(REGB0)) {
15530 } else {
15531 nit_abort("Assert failed", NULL, LOCATE_parser, 4688);
15532 }
15533 /* parser/parser.nit:4689 */
15534 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
15535 fra.me.REG[12] = fra.me.REG[5];
15536 /* parser/parser.nit:4691 */
15537 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]*/;
15538 if (UNTAG_Bool(REGB0)) {
15539 } else {
15540 nit_abort("Assert failed", NULL, LOCATE_parser, 4691);
15541 }
15542 /* parser/parser.nit:4692 */
15543 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
15544 fra.me.REG[13] = fra.me.REG[4];
15545 /* parser/parser.nit:4694 */
15546 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*/;
15547 if (UNTAG_Bool(REGB0)) {
15548 } else {
15549 nit_abort("Assert failed", NULL, LOCATE_parser, 4694);
15550 }
15551 /* parser/parser.nit:4695 */
15552 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[11], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
15553 /* parser/parser.nit:4707 */
15554 fra.me.REG[2] = fra.me.REG[3];
15555 /* parser/parser.nit:4708 */
15556 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15557 if (UNTAG_Bool(REGB0)) {
15558 } else {
15559 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4708);
15560 }
15561 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15562 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15563 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15564 stack_frame_head = fra.me.prev;
15565 return;
15566 }
15567 static const char LOCATE_parser___ReduceAction97___action[] = "parser::ReduceAction97::(parser::ReduceAction::action)";
15568 void parser___ReduceAction97___action(val_t p0, val_t p1){
15569 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
15570 val_t REGB0;
15571 val_t tmp;
15572 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15573 fra.me.file = LOCATE_parser;
15574 fra.me.line = 4713;
15575 fra.me.meth = LOCATE_parser___ReduceAction97___action;
15576 fra.me.has_broke = 0;
15577 fra.me.REG_size = 14;
15578 fra.me.nitni_local_ref_head = NULL;
15579 fra.me.REG[0] = NIT_NULL;
15580 fra.me.REG[1] = NIT_NULL;
15581 fra.me.REG[2] = NIT_NULL;
15582 fra.me.REG[3] = NIT_NULL;
15583 fra.me.REG[4] = NIT_NULL;
15584 fra.me.REG[5] = NIT_NULL;
15585 fra.me.REG[6] = NIT_NULL;
15586 fra.me.REG[7] = NIT_NULL;
15587 fra.me.REG[8] = NIT_NULL;
15588 fra.me.REG[9] = NIT_NULL;
15589 fra.me.REG[10] = NIT_NULL;
15590 fra.me.REG[11] = NIT_NULL;
15591 fra.me.REG[12] = NIT_NULL;
15592 fra.me.REG[13] = NIT_NULL;
15593 fra.me.REG[0] = p0;
15594 fra.me.REG[1] = p1;
15595 /* parser/parser.nit:4715 */
15596 fra.me.REG[2] = NIT_NULL;
15597 /* parser/parser.nit:4716 */
15598 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15599 /* parser/parser.nit:4717 */
15600 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15601 /* parser/parser.nit:4718 */
15602 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15603 /* parser/parser.nit:4719 */
15604 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15605 /* parser/parser.nit:4720 */
15606 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15607 /* parser/parser.nit:4721 */
15608 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15609 /* parser/parser.nit:4722 */
15610 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15611 /* parser/parser.nit:4723 */
15612 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15613 /* parser/parser.nit:4724 */
15614 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15615 /* parser/parser.nit:4725 */
15616 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15617 /* parser/parser.nit:4726 */
15618 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15619 /* parser/parser.nit:4727 */
15620 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15621 /* parser/parser.nit:4728 */
15622 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
15623 /* parser/parser.nit:4730 */
15624 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*/;
15625 if (UNTAG_Bool(REGB0)) {
15626 } else {
15627 nit_abort("Assert failed", NULL, LOCATE_parser, 4730);
15628 }
15629 /* parser/parser.nit:4732 */
15630 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15631 if (UNTAG_Bool(REGB0)) {
15632 } else {
15633 nit_abort("Assert failed", NULL, LOCATE_parser, 4732);
15634 }
15635 /* parser/parser.nit:4734 */
15636 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
15637 if (UNTAG_Bool(REGB0)) {
15638 } else {
15639 nit_abort("Assert failed", NULL, LOCATE_parser, 4734);
15640 }
15641 /* parser/parser.nit:4736 */
15642 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
15643 if (UNTAG_Bool(REGB0)) {
15644 } else {
15645 nit_abort("Assert failed", NULL, LOCATE_parser, 4736);
15646 }
15647 /* parser/parser.nit:4738 */
15648 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]*/;
15649 if (UNTAG_Bool(REGB0)) {
15650 } else {
15651 nit_abort("Assert failed", NULL, LOCATE_parser, 4738);
15652 }
15653 /* parser/parser.nit:4739 */
15654 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[11], fra.me.REG[6]);
15655 fra.me.REG[11] = fra.me.REG[6];
15656 /* parser/parser.nit:4741 */
15657 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]*/;
15658 if (UNTAG_Bool(REGB0)) {
15659 } else {
15660 nit_abort("Assert failed", NULL, LOCATE_parser, 4741);
15661 }
15662 /* parser/parser.nit:4742 */
15663 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
15664 fra.me.REG[12] = fra.me.REG[5];
15665 /* parser/parser.nit:4744 */
15666 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]*/;
15667 if (UNTAG_Bool(REGB0)) {
15668 } else {
15669 nit_abort("Assert failed", NULL, LOCATE_parser, 4744);
15670 }
15671 /* parser/parser.nit:4745 */
15672 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
15673 fra.me.REG[13] = fra.me.REG[4];
15674 /* parser/parser.nit:4747 */
15675 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*/;
15676 if (UNTAG_Bool(REGB0)) {
15677 } else {
15678 nit_abort("Assert failed", NULL, LOCATE_parser, 4747);
15679 }
15680 /* parser/parser.nit:4748 */
15681 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], NIT_NULL, fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
15682 /* parser/parser.nit:4760 */
15683 fra.me.REG[2] = fra.me.REG[3];
15684 /* parser/parser.nit:4761 */
15685 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15686 if (UNTAG_Bool(REGB0)) {
15687 } else {
15688 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4761);
15689 }
15690 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15691 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15692 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15693 stack_frame_head = fra.me.prev;
15694 return;
15695 }
15696 static const char LOCATE_parser___ReduceAction98___action[] = "parser::ReduceAction98::(parser::ReduceAction::action)";
15697 void parser___ReduceAction98___action(val_t p0, val_t p1){
15698 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
15699 val_t REGB0;
15700 val_t tmp;
15701 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15702 fra.me.file = LOCATE_parser;
15703 fra.me.line = 4766;
15704 fra.me.meth = LOCATE_parser___ReduceAction98___action;
15705 fra.me.has_broke = 0;
15706 fra.me.REG_size = 15;
15707 fra.me.nitni_local_ref_head = NULL;
15708 fra.me.REG[0] = NIT_NULL;
15709 fra.me.REG[1] = NIT_NULL;
15710 fra.me.REG[2] = NIT_NULL;
15711 fra.me.REG[3] = NIT_NULL;
15712 fra.me.REG[4] = NIT_NULL;
15713 fra.me.REG[5] = NIT_NULL;
15714 fra.me.REG[6] = NIT_NULL;
15715 fra.me.REG[7] = NIT_NULL;
15716 fra.me.REG[8] = NIT_NULL;
15717 fra.me.REG[9] = NIT_NULL;
15718 fra.me.REG[10] = NIT_NULL;
15719 fra.me.REG[11] = NIT_NULL;
15720 fra.me.REG[12] = NIT_NULL;
15721 fra.me.REG[13] = NIT_NULL;
15722 fra.me.REG[14] = NIT_NULL;
15723 fra.me.REG[0] = p0;
15724 fra.me.REG[1] = p1;
15725 /* parser/parser.nit:4768 */
15726 fra.me.REG[2] = NIT_NULL;
15727 /* parser/parser.nit:4769 */
15728 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15729 /* parser/parser.nit:4770 */
15730 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15731 /* parser/parser.nit:4771 */
15732 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15733 /* parser/parser.nit:4772 */
15734 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15735 /* parser/parser.nit:4773 */
15736 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15737 /* parser/parser.nit:4774 */
15738 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15739 /* parser/parser.nit:4775 */
15740 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15741 /* parser/parser.nit:4776 */
15742 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15743 /* parser/parser.nit:4777 */
15744 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15745 /* parser/parser.nit:4778 */
15746 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15747 /* parser/parser.nit:4779 */
15748 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15749 /* parser/parser.nit:4780 */
15750 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15751 /* parser/parser.nit:4781 */
15752 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
15753 /* parser/parser.nit:4782 */
15754 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
15755 /* parser/parser.nit:4784 */
15756 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*/;
15757 if (UNTAG_Bool(REGB0)) {
15758 } else {
15759 nit_abort("Assert failed", NULL, LOCATE_parser, 4784);
15760 }
15761 /* parser/parser.nit:4786 */
15762 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
15763 if (UNTAG_Bool(REGB0)) {
15764 } else {
15765 nit_abort("Assert failed", NULL, LOCATE_parser, 4786);
15766 }
15767 /* parser/parser.nit:4788 */
15768 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15769 if (UNTAG_Bool(REGB0)) {
15770 } else {
15771 nit_abort("Assert failed", NULL, LOCATE_parser, 4788);
15772 }
15773 /* parser/parser.nit:4790 */
15774 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
15775 if (UNTAG_Bool(REGB0)) {
15776 } else {
15777 nit_abort("Assert failed", NULL, LOCATE_parser, 4790);
15778 }
15779 /* parser/parser.nit:4792 */
15780 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
15781 if (UNTAG_Bool(REGB0)) {
15782 } else {
15783 nit_abort("Assert failed", NULL, LOCATE_parser, 4792);
15784 }
15785 /* parser/parser.nit:4794 */
15786 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]*/;
15787 if (UNTAG_Bool(REGB0)) {
15788 } else {
15789 nit_abort("Assert failed", NULL, LOCATE_parser, 4794);
15790 }
15791 /* parser/parser.nit:4795 */
15792 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[6]);
15793 fra.me.REG[12] = fra.me.REG[6];
15794 /* parser/parser.nit:4797 */
15795 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]*/;
15796 if (UNTAG_Bool(REGB0)) {
15797 } else {
15798 nit_abort("Assert failed", NULL, LOCATE_parser, 4797);
15799 }
15800 /* parser/parser.nit:4798 */
15801 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
15802 fra.me.REG[13] = fra.me.REG[5];
15803 /* parser/parser.nit:4800 */
15804 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]*/;
15805 if (UNTAG_Bool(REGB0)) {
15806 } else {
15807 nit_abort("Assert failed", NULL, LOCATE_parser, 4800);
15808 }
15809 /* parser/parser.nit:4801 */
15810 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
15811 fra.me.REG[14] = fra.me.REG[4];
15812 /* parser/parser.nit:4803 */
15813 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*/;
15814 if (UNTAG_Bool(REGB0)) {
15815 } else {
15816 nit_abort("Assert failed", NULL, LOCATE_parser, 4803);
15817 }
15818 /* parser/parser.nit:4804 */
15819 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], NIT_NULL, fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
15820 /* parser/parser.nit:4816 */
15821 fra.me.REG[2] = fra.me.REG[3];
15822 /* parser/parser.nit:4817 */
15823 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15824 if (UNTAG_Bool(REGB0)) {
15825 } else {
15826 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4817);
15827 }
15828 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15829 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15830 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15831 stack_frame_head = fra.me.prev;
15832 return;
15833 }
15834 static const char LOCATE_parser___ReduceAction99___action[] = "parser::ReduceAction99::(parser::ReduceAction::action)";
15835 void parser___ReduceAction99___action(val_t p0, val_t p1){
15836 struct {struct stack_frame_t me; val_t MORE_REG[13];} fra;
15837 val_t REGB0;
15838 val_t tmp;
15839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15840 fra.me.file = LOCATE_parser;
15841 fra.me.line = 4822;
15842 fra.me.meth = LOCATE_parser___ReduceAction99___action;
15843 fra.me.has_broke = 0;
15844 fra.me.REG_size = 14;
15845 fra.me.nitni_local_ref_head = NULL;
15846 fra.me.REG[0] = NIT_NULL;
15847 fra.me.REG[1] = NIT_NULL;
15848 fra.me.REG[2] = NIT_NULL;
15849 fra.me.REG[3] = NIT_NULL;
15850 fra.me.REG[4] = NIT_NULL;
15851 fra.me.REG[5] = NIT_NULL;
15852 fra.me.REG[6] = NIT_NULL;
15853 fra.me.REG[7] = NIT_NULL;
15854 fra.me.REG[8] = NIT_NULL;
15855 fra.me.REG[9] = NIT_NULL;
15856 fra.me.REG[10] = NIT_NULL;
15857 fra.me.REG[11] = NIT_NULL;
15858 fra.me.REG[12] = NIT_NULL;
15859 fra.me.REG[13] = NIT_NULL;
15860 fra.me.REG[0] = p0;
15861 fra.me.REG[1] = p1;
15862 /* parser/parser.nit:4824 */
15863 fra.me.REG[2] = NIT_NULL;
15864 /* parser/parser.nit:4825 */
15865 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15866 /* parser/parser.nit:4826 */
15867 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15868 /* parser/parser.nit:4827 */
15869 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15870 /* parser/parser.nit:4828 */
15871 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15872 /* parser/parser.nit:4829 */
15873 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15874 /* parser/parser.nit:4830 */
15875 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15876 /* parser/parser.nit:4831 */
15877 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15878 /* parser/parser.nit:4832 */
15879 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15880 /* parser/parser.nit:4833 */
15881 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15882 /* parser/parser.nit:4834 */
15883 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15884 /* parser/parser.nit:4835 */
15885 fra.me.REG[11] = NEW_Array_standard___collection___array___Array___init();
15886 /* parser/parser.nit:4836 */
15887 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
15888 /* parser/parser.nit:4837 */
15889 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
15890 /* parser/parser.nit:4839 */
15891 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*/;
15892 if (UNTAG_Bool(REGB0)) {
15893 } else {
15894 nit_abort("Assert failed", NULL, LOCATE_parser, 4839);
15895 }
15896 /* parser/parser.nit:4841 */
15897 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
15898 if (UNTAG_Bool(REGB0)) {
15899 } else {
15900 nit_abort("Assert failed", NULL, LOCATE_parser, 4841);
15901 }
15902 /* parser/parser.nit:4843 */
15903 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
15904 if (UNTAG_Bool(REGB0)) {
15905 } else {
15906 nit_abort("Assert failed", NULL, LOCATE_parser, 4843);
15907 }
15908 /* parser/parser.nit:4845 */
15909 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
15910 if (UNTAG_Bool(REGB0)) {
15911 } else {
15912 nit_abort("Assert failed", NULL, LOCATE_parser, 4845);
15913 }
15914 /* parser/parser.nit:4847 */
15915 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
15916 if (UNTAG_Bool(REGB0)) {
15917 } else {
15918 nit_abort("Assert failed", NULL, LOCATE_parser, 4847);
15919 }
15920 /* parser/parser.nit:4849 */
15921 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]*/;
15922 if (UNTAG_Bool(REGB0)) {
15923 } else {
15924 nit_abort("Assert failed", NULL, LOCATE_parser, 4849);
15925 }
15926 /* parser/parser.nit:4850 */
15927 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[5]);
15928 fra.me.REG[12] = fra.me.REG[5];
15929 /* parser/parser.nit:4852 */
15930 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]*/;
15931 if (UNTAG_Bool(REGB0)) {
15932 } else {
15933 nit_abort("Assert failed", NULL, LOCATE_parser, 4852);
15934 }
15935 /* parser/parser.nit:4853 */
15936 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[4]);
15937 fra.me.REG[13] = fra.me.REG[4];
15938 /* parser/parser.nit:4855 */
15939 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*/;
15940 if (UNTAG_Bool(REGB0)) {
15941 } else {
15942 nit_abort("Assert failed", NULL, LOCATE_parser, 4855);
15943 }
15944 /* parser/parser.nit:4856 */
15945 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[10], NIT_NULL, fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[11], fra.me.REG[6], fra.me.REG[12], fra.me.REG[13], fra.me.REG[3]);
15946 /* parser/parser.nit:4868 */
15947 fra.me.REG[2] = fra.me.REG[3];
15948 /* parser/parser.nit:4869 */
15949 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
15950 if (UNTAG_Bool(REGB0)) {
15951 } else {
15952 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4869);
15953 }
15954 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
15955 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
15956 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
15957 stack_frame_head = fra.me.prev;
15958 return;
15959 }
15960 static const char LOCATE_parser___ReduceAction100___action[] = "parser::ReduceAction100::(parser::ReduceAction::action)";
15961 void parser___ReduceAction100___action(val_t p0, val_t p1){
15962 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
15963 val_t REGB0;
15964 val_t tmp;
15965 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15966 fra.me.file = LOCATE_parser;
15967 fra.me.line = 4874;
15968 fra.me.meth = LOCATE_parser___ReduceAction100___action;
15969 fra.me.has_broke = 0;
15970 fra.me.REG_size = 15;
15971 fra.me.nitni_local_ref_head = NULL;
15972 fra.me.REG[0] = NIT_NULL;
15973 fra.me.REG[1] = NIT_NULL;
15974 fra.me.REG[2] = NIT_NULL;
15975 fra.me.REG[3] = NIT_NULL;
15976 fra.me.REG[4] = NIT_NULL;
15977 fra.me.REG[5] = NIT_NULL;
15978 fra.me.REG[6] = NIT_NULL;
15979 fra.me.REG[7] = NIT_NULL;
15980 fra.me.REG[8] = NIT_NULL;
15981 fra.me.REG[9] = NIT_NULL;
15982 fra.me.REG[10] = NIT_NULL;
15983 fra.me.REG[11] = NIT_NULL;
15984 fra.me.REG[12] = NIT_NULL;
15985 fra.me.REG[13] = NIT_NULL;
15986 fra.me.REG[14] = NIT_NULL;
15987 fra.me.REG[0] = p0;
15988 fra.me.REG[1] = p1;
15989 /* parser/parser.nit:4876 */
15990 fra.me.REG[2] = NIT_NULL;
15991 /* parser/parser.nit:4877 */
15992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15993 /* parser/parser.nit:4878 */
15994 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15995 /* parser/parser.nit:4879 */
15996 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15997 /* parser/parser.nit:4880 */
15998 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
15999 /* parser/parser.nit:4881 */
16000 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16001 /* parser/parser.nit:4882 */
16002 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16003 /* parser/parser.nit:4883 */
16004 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16005 /* parser/parser.nit:4884 */
16006 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16007 /* parser/parser.nit:4885 */
16008 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16009 /* parser/parser.nit:4886 */
16010 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16011 /* parser/parser.nit:4887 */
16012 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16013 /* parser/parser.nit:4888 */
16014 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16015 /* parser/parser.nit:4889 */
16016 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
16017 /* parser/parser.nit:4890 */
16018 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
16019 /* parser/parser.nit:4892 */
16020 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*/;
16021 if (UNTAG_Bool(REGB0)) {
16022 } else {
16023 nit_abort("Assert failed", NULL, LOCATE_parser, 4892);
16024 }
16025 /* parser/parser.nit:4894 */
16026 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
16027 if (UNTAG_Bool(REGB0)) {
16028 } else {
16029 nit_abort("Assert failed", NULL, LOCATE_parser, 4894);
16030 }
16031 /* parser/parser.nit:4896 */
16032 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16033 if (UNTAG_Bool(REGB0)) {
16034 } else {
16035 nit_abort("Assert failed", NULL, LOCATE_parser, 4896);
16036 }
16037 /* parser/parser.nit:4898 */
16038 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
16039 if (UNTAG_Bool(REGB0)) {
16040 } else {
16041 nit_abort("Assert failed", NULL, LOCATE_parser, 4898);
16042 }
16043 /* parser/parser.nit:4900 */
16044 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
16045 if (UNTAG_Bool(REGB0)) {
16046 } else {
16047 nit_abort("Assert failed", NULL, LOCATE_parser, 4900);
16048 }
16049 /* parser/parser.nit:4902 */
16050 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
16051 if (UNTAG_Bool(REGB0)) {
16052 } else {
16053 nit_abort("Assert failed", NULL, LOCATE_parser, 4902);
16054 }
16055 /* parser/parser.nit:4904 */
16056 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]*/;
16057 if (UNTAG_Bool(REGB0)) {
16058 } else {
16059 nit_abort("Assert failed", NULL, LOCATE_parser, 4904);
16060 }
16061 /* parser/parser.nit:4905 */
16062 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
16063 fra.me.REG[13] = fra.me.REG[5];
16064 /* parser/parser.nit:4907 */
16065 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]*/;
16066 if (UNTAG_Bool(REGB0)) {
16067 } else {
16068 nit_abort("Assert failed", NULL, LOCATE_parser, 4907);
16069 }
16070 /* parser/parser.nit:4908 */
16071 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
16072 fra.me.REG[14] = fra.me.REG[4];
16073 /* parser/parser.nit:4910 */
16074 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*/;
16075 if (UNTAG_Bool(REGB0)) {
16076 } else {
16077 nit_abort("Assert failed", NULL, LOCATE_parser, 4910);
16078 }
16079 /* parser/parser.nit:4911 */
16080 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[12], fra.me.REG[6], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
16081 /* parser/parser.nit:4923 */
16082 fra.me.REG[2] = fra.me.REG[3];
16083 /* parser/parser.nit:4924 */
16084 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16085 if (UNTAG_Bool(REGB0)) {
16086 } else {
16087 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4924);
16088 }
16089 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16090 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16091 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16092 stack_frame_head = fra.me.prev;
16093 return;
16094 }
16095 static const char LOCATE_parser___ReduceAction101___action[] = "parser::ReduceAction101::(parser::ReduceAction::action)";
16096 void parser___ReduceAction101___action(val_t p0, val_t p1){
16097 struct {struct stack_frame_t me; val_t MORE_REG[14];} fra;
16098 val_t REGB0;
16099 val_t tmp;
16100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16101 fra.me.file = LOCATE_parser;
16102 fra.me.line = 4929;
16103 fra.me.meth = LOCATE_parser___ReduceAction101___action;
16104 fra.me.has_broke = 0;
16105 fra.me.REG_size = 15;
16106 fra.me.nitni_local_ref_head = NULL;
16107 fra.me.REG[0] = NIT_NULL;
16108 fra.me.REG[1] = NIT_NULL;
16109 fra.me.REG[2] = NIT_NULL;
16110 fra.me.REG[3] = NIT_NULL;
16111 fra.me.REG[4] = NIT_NULL;
16112 fra.me.REG[5] = NIT_NULL;
16113 fra.me.REG[6] = NIT_NULL;
16114 fra.me.REG[7] = NIT_NULL;
16115 fra.me.REG[8] = NIT_NULL;
16116 fra.me.REG[9] = NIT_NULL;
16117 fra.me.REG[10] = NIT_NULL;
16118 fra.me.REG[11] = NIT_NULL;
16119 fra.me.REG[12] = NIT_NULL;
16120 fra.me.REG[13] = NIT_NULL;
16121 fra.me.REG[14] = NIT_NULL;
16122 fra.me.REG[0] = p0;
16123 fra.me.REG[1] = p1;
16124 /* parser/parser.nit:4931 */
16125 fra.me.REG[2] = NIT_NULL;
16126 /* parser/parser.nit:4932 */
16127 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16128 /* parser/parser.nit:4933 */
16129 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16130 /* parser/parser.nit:4934 */
16131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16132 /* parser/parser.nit:4935 */
16133 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16134 /* parser/parser.nit:4936 */
16135 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16136 /* parser/parser.nit:4937 */
16137 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16138 /* parser/parser.nit:4938 */
16139 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16140 /* parser/parser.nit:4939 */
16141 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16142 /* parser/parser.nit:4940 */
16143 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16144 /* parser/parser.nit:4941 */
16145 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16146 /* parser/parser.nit:4942 */
16147 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16148 /* parser/parser.nit:4943 */
16149 fra.me.REG[12] = NEW_Array_standard___collection___array___Array___init();
16150 /* parser/parser.nit:4944 */
16151 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
16152 /* parser/parser.nit:4945 */
16153 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
16154 /* parser/parser.nit:4947 */
16155 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*/;
16156 if (UNTAG_Bool(REGB0)) {
16157 } else {
16158 nit_abort("Assert failed", NULL, LOCATE_parser, 4947);
16159 }
16160 /* parser/parser.nit:4949 */
16161 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16162 if (UNTAG_Bool(REGB0)) {
16163 } else {
16164 nit_abort("Assert failed", NULL, LOCATE_parser, 4949);
16165 }
16166 /* parser/parser.nit:4951 */
16167 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
16168 if (UNTAG_Bool(REGB0)) {
16169 } else {
16170 nit_abort("Assert failed", NULL, LOCATE_parser, 4951);
16171 }
16172 /* parser/parser.nit:4953 */
16173 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
16174 if (UNTAG_Bool(REGB0)) {
16175 } else {
16176 nit_abort("Assert failed", NULL, LOCATE_parser, 4953);
16177 }
16178 /* parser/parser.nit:4955 */
16179 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]*/;
16180 if (UNTAG_Bool(REGB0)) {
16181 } else {
16182 nit_abort("Assert failed", NULL, LOCATE_parser, 4955);
16183 }
16184 /* parser/parser.nit:4956 */
16185 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[12], fra.me.REG[7]);
16186 fra.me.REG[12] = fra.me.REG[7];
16187 /* parser/parser.nit:4958 */
16188 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
16189 if (UNTAG_Bool(REGB0)) {
16190 } else {
16191 nit_abort("Assert failed", NULL, LOCATE_parser, 4958);
16192 }
16193 /* parser/parser.nit:4960 */
16194 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]*/;
16195 if (UNTAG_Bool(REGB0)) {
16196 } else {
16197 nit_abort("Assert failed", NULL, LOCATE_parser, 4960);
16198 }
16199 /* parser/parser.nit:4961 */
16200 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[5]);
16201 fra.me.REG[13] = fra.me.REG[5];
16202 /* parser/parser.nit:4963 */
16203 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]*/;
16204 if (UNTAG_Bool(REGB0)) {
16205 } else {
16206 nit_abort("Assert failed", NULL, LOCATE_parser, 4963);
16207 }
16208 /* parser/parser.nit:4964 */
16209 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[4]);
16210 fra.me.REG[14] = fra.me.REG[4];
16211 /* parser/parser.nit:4966 */
16212 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*/;
16213 if (UNTAG_Bool(REGB0)) {
16214 } else {
16215 nit_abort("Assert failed", NULL, LOCATE_parser, 4966);
16216 }
16217 /* parser/parser.nit:4967 */
16218 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[11], NIT_NULL, fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[12], fra.me.REG[6], fra.me.REG[13], fra.me.REG[14], fra.me.REG[3]);
16219 /* parser/parser.nit:4979 */
16220 fra.me.REG[2] = fra.me.REG[3];
16221 /* parser/parser.nit:4980 */
16222 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16223 if (UNTAG_Bool(REGB0)) {
16224 } else {
16225 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 4980);
16226 }
16227 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16228 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16229 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16230 stack_frame_head = fra.me.prev;
16231 return;
16232 }
16233 static const char LOCATE_parser___ReduceAction102___action[] = "parser::ReduceAction102::(parser::ReduceAction::action)";
16234 void parser___ReduceAction102___action(val_t p0, val_t p1){
16235 struct {struct stack_frame_t me; val_t MORE_REG[15];} fra;
16236 val_t REGB0;
16237 val_t tmp;
16238 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16239 fra.me.file = LOCATE_parser;
16240 fra.me.line = 4985;
16241 fra.me.meth = LOCATE_parser___ReduceAction102___action;
16242 fra.me.has_broke = 0;
16243 fra.me.REG_size = 16;
16244 fra.me.nitni_local_ref_head = NULL;
16245 fra.me.REG[0] = NIT_NULL;
16246 fra.me.REG[1] = NIT_NULL;
16247 fra.me.REG[2] = NIT_NULL;
16248 fra.me.REG[3] = NIT_NULL;
16249 fra.me.REG[4] = NIT_NULL;
16250 fra.me.REG[5] = NIT_NULL;
16251 fra.me.REG[6] = NIT_NULL;
16252 fra.me.REG[7] = NIT_NULL;
16253 fra.me.REG[8] = NIT_NULL;
16254 fra.me.REG[9] = NIT_NULL;
16255 fra.me.REG[10] = NIT_NULL;
16256 fra.me.REG[11] = NIT_NULL;
16257 fra.me.REG[12] = NIT_NULL;
16258 fra.me.REG[13] = NIT_NULL;
16259 fra.me.REG[14] = NIT_NULL;
16260 fra.me.REG[15] = NIT_NULL;
16261 fra.me.REG[0] = p0;
16262 fra.me.REG[1] = p1;
16263 /* parser/parser.nit:4987 */
16264 fra.me.REG[2] = NIT_NULL;
16265 /* parser/parser.nit:4988 */
16266 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16267 /* parser/parser.nit:4989 */
16268 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16269 /* parser/parser.nit:4990 */
16270 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16271 /* parser/parser.nit:4991 */
16272 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16273 /* parser/parser.nit:4992 */
16274 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16275 /* parser/parser.nit:4993 */
16276 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16277 /* parser/parser.nit:4994 */
16278 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16279 /* parser/parser.nit:4995 */
16280 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16281 /* parser/parser.nit:4996 */
16282 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16283 /* parser/parser.nit:4997 */
16284 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16285 /* parser/parser.nit:4998 */
16286 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16287 /* parser/parser.nit:4999 */
16288 fra.me.REG[12] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16289 /* parser/parser.nit:5000 */
16290 fra.me.REG[13] = NEW_Array_standard___collection___array___Array___init();
16291 /* parser/parser.nit:5001 */
16292 fra.me.REG[14] = NEW_Array_standard___collection___array___Array___init();
16293 /* parser/parser.nit:5002 */
16294 fra.me.REG[15] = NEW_Array_standard___collection___array___Array___init();
16295 /* parser/parser.nit:5004 */
16296 REGB0 = TAG_Bool((fra.me.REG[12]==NIT_NULL) || VAL_ISA(fra.me.REG[12], COLOR_parser___parser_nodes___ADoc, ID_parser___parser_nodes___ADoc)) /*cast nullable ADoc*/;
16297 if (UNTAG_Bool(REGB0)) {
16298 } else {
16299 nit_abort("Assert failed", NULL, LOCATE_parser, 5004);
16300 }
16301 /* parser/parser.nit:5006 */
16302 REGB0 = TAG_Bool((fra.me.REG[11]==NIT_NULL) || VAL_ISA(fra.me.REG[11], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
16303 if (UNTAG_Bool(REGB0)) {
16304 } else {
16305 nit_abort("Assert failed", NULL, LOCATE_parser, 5006);
16306 }
16307 /* parser/parser.nit:5008 */
16308 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
16309 if (UNTAG_Bool(REGB0)) {
16310 } else {
16311 nit_abort("Assert failed", NULL, LOCATE_parser, 5008);
16312 }
16313 /* parser/parser.nit:5010 */
16314 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AClasskind, ID_parser___parser_nodes___AClasskind)) /*cast nullable AClasskind*/;
16315 if (UNTAG_Bool(REGB0)) {
16316 } else {
16317 nit_abort("Assert failed", NULL, LOCATE_parser, 5010);
16318 }
16319 /* parser/parser.nit:5012 */
16320 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TClassid, ID_parser___parser_nodes___TClassid)) /*cast nullable TClassid*/;
16321 if (UNTAG_Bool(REGB0)) {
16322 } else {
16323 nit_abort("Assert failed", NULL, LOCATE_parser, 5012);
16324 }
16325 /* parser/parser.nit:5014 */
16326 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]*/;
16327 if (UNTAG_Bool(REGB0)) {
16328 } else {
16329 nit_abort("Assert failed", NULL, LOCATE_parser, 5014);
16330 }
16331 /* parser/parser.nit:5015 */
16332 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[13], fra.me.REG[7]);
16333 fra.me.REG[13] = fra.me.REG[7];
16334 /* parser/parser.nit:5017 */
16335 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
16336 if (UNTAG_Bool(REGB0)) {
16337 } else {
16338 nit_abort("Assert failed", NULL, LOCATE_parser, 5017);
16339 }
16340 /* parser/parser.nit:5019 */
16341 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]*/;
16342 if (UNTAG_Bool(REGB0)) {
16343 } else {
16344 nit_abort("Assert failed", NULL, LOCATE_parser, 5019);
16345 }
16346 /* parser/parser.nit:5020 */
16347 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[14], fra.me.REG[5]);
16348 fra.me.REG[14] = fra.me.REG[5];
16349 /* parser/parser.nit:5022 */
16350 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]*/;
16351 if (UNTAG_Bool(REGB0)) {
16352 } else {
16353 nit_abort("Assert failed", NULL, LOCATE_parser, 5022);
16354 }
16355 /* parser/parser.nit:5023 */
16356 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[15], fra.me.REG[4]);
16357 fra.me.REG[15] = fra.me.REG[4];
16358 /* parser/parser.nit:5025 */
16359 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*/;
16360 if (UNTAG_Bool(REGB0)) {
16361 } else {
16362 nit_abort("Assert failed", NULL, LOCATE_parser, 5025);
16363 }
16364 /* parser/parser.nit:5026 */
16365 fra.me.REG[3] = NEW_AStdClassdef_parser___parser_prod___AStdClassdef___init_astdclassdef(fra.me.REG[12], fra.me.REG[11], fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[13], fra.me.REG[6], fra.me.REG[14], fra.me.REG[15], fra.me.REG[3]);
16366 /* parser/parser.nit:5038 */
16367 fra.me.REG[2] = fra.me.REG[3];
16368 /* parser/parser.nit:5039 */
16369 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16370 if (UNTAG_Bool(REGB0)) {
16371 } else {
16372 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5039);
16373 }
16374 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16375 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16376 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16377 stack_frame_head = fra.me.prev;
16378 return;
16379 }
16380 static const char LOCATE_parser___ReduceAction103___action[] = "parser::ReduceAction103::(parser::ReduceAction::action)";
16381 void parser___ReduceAction103___action(val_t p0, val_t p1){
16382 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16383 val_t REGB0;
16384 val_t tmp;
16385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16386 fra.me.file = LOCATE_parser;
16387 fra.me.line = 5044;
16388 fra.me.meth = LOCATE_parser___ReduceAction103___action;
16389 fra.me.has_broke = 0;
16390 fra.me.REG_size = 4;
16391 fra.me.nitni_local_ref_head = NULL;
16392 fra.me.REG[0] = NIT_NULL;
16393 fra.me.REG[1] = NIT_NULL;
16394 fra.me.REG[2] = NIT_NULL;
16395 fra.me.REG[3] = NIT_NULL;
16396 fra.me.REG[0] = p0;
16397 fra.me.REG[1] = p1;
16398 /* parser/parser.nit:5046 */
16399 fra.me.REG[2] = NIT_NULL;
16400 /* parser/parser.nit:5047 */
16401 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16402 /* parser/parser.nit:5049 */
16403 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*/;
16404 if (UNTAG_Bool(REGB0)) {
16405 } else {
16406 nit_abort("Assert failed", NULL, LOCATE_parser, 5049);
16407 }
16408 /* parser/parser.nit:5050 */
16409 fra.me.REG[3] = NEW_AConcreteClasskind_parser___parser_prod___AConcreteClasskind___init_aconcreteclasskind(fra.me.REG[3]);
16410 /* parser/parser.nit:5053 */
16411 fra.me.REG[2] = fra.me.REG[3];
16412 /* parser/parser.nit:5054 */
16413 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16414 if (UNTAG_Bool(REGB0)) {
16415 } else {
16416 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5054);
16417 }
16418 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16419 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16420 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16421 stack_frame_head = fra.me.prev;
16422 return;
16423 }
16424 static const char LOCATE_parser___ReduceAction104___action[] = "parser::ReduceAction104::(parser::ReduceAction::action)";
16425 void parser___ReduceAction104___action(val_t p0, val_t p1){
16426 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
16427 val_t REGB0;
16428 val_t tmp;
16429 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16430 fra.me.file = LOCATE_parser;
16431 fra.me.line = 5059;
16432 fra.me.meth = LOCATE_parser___ReduceAction104___action;
16433 fra.me.has_broke = 0;
16434 fra.me.REG_size = 5;
16435 fra.me.nitni_local_ref_head = NULL;
16436 fra.me.REG[0] = NIT_NULL;
16437 fra.me.REG[1] = NIT_NULL;
16438 fra.me.REG[2] = NIT_NULL;
16439 fra.me.REG[3] = NIT_NULL;
16440 fra.me.REG[4] = NIT_NULL;
16441 fra.me.REG[0] = p0;
16442 fra.me.REG[1] = p1;
16443 /* parser/parser.nit:5061 */
16444 fra.me.REG[2] = NIT_NULL;
16445 /* parser/parser.nit:5062 */
16446 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16447 /* parser/parser.nit:5063 */
16448 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16449 /* parser/parser.nit:5065 */
16450 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*/;
16451 if (UNTAG_Bool(REGB0)) {
16452 } else {
16453 nit_abort("Assert failed", NULL, LOCATE_parser, 5065);
16454 }
16455 /* parser/parser.nit:5067 */
16456 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*/;
16457 if (UNTAG_Bool(REGB0)) {
16458 } else {
16459 nit_abort("Assert failed", NULL, LOCATE_parser, 5067);
16460 }
16461 /* parser/parser.nit:5068 */
16462 fra.me.REG[3] = NEW_AAbstractClasskind_parser___parser_prod___AAbstractClasskind___init_aabstractclasskind(fra.me.REG[4], fra.me.REG[3]);
16463 /* parser/parser.nit:5072 */
16464 fra.me.REG[2] = fra.me.REG[3];
16465 /* parser/parser.nit:5073 */
16466 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16467 if (UNTAG_Bool(REGB0)) {
16468 } else {
16469 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5073);
16470 }
16471 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16472 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16473 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16474 stack_frame_head = fra.me.prev;
16475 return;
16476 }
16477 static const char LOCATE_parser___ReduceAction105___action[] = "parser::ReduceAction105::(parser::ReduceAction::action)";
16478 void parser___ReduceAction105___action(val_t p0, val_t p1){
16479 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16480 val_t REGB0;
16481 val_t tmp;
16482 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16483 fra.me.file = LOCATE_parser;
16484 fra.me.line = 5078;
16485 fra.me.meth = LOCATE_parser___ReduceAction105___action;
16486 fra.me.has_broke = 0;
16487 fra.me.REG_size = 4;
16488 fra.me.nitni_local_ref_head = NULL;
16489 fra.me.REG[0] = NIT_NULL;
16490 fra.me.REG[1] = NIT_NULL;
16491 fra.me.REG[2] = NIT_NULL;
16492 fra.me.REG[3] = NIT_NULL;
16493 fra.me.REG[0] = p0;
16494 fra.me.REG[1] = p1;
16495 /* parser/parser.nit:5080 */
16496 fra.me.REG[2] = NIT_NULL;
16497 /* parser/parser.nit:5081 */
16498 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16499 /* parser/parser.nit:5083 */
16500 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*/;
16501 if (UNTAG_Bool(REGB0)) {
16502 } else {
16503 nit_abort("Assert failed", NULL, LOCATE_parser, 5083);
16504 }
16505 /* parser/parser.nit:5084 */
16506 fra.me.REG[3] = NEW_AInterfaceClasskind_parser___parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(fra.me.REG[3]);
16507 /* parser/parser.nit:5087 */
16508 fra.me.REG[2] = fra.me.REG[3];
16509 /* parser/parser.nit:5088 */
16510 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16511 if (UNTAG_Bool(REGB0)) {
16512 } else {
16513 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5088);
16514 }
16515 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16516 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16517 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16518 stack_frame_head = fra.me.prev;
16519 return;
16520 }
16521 static const char LOCATE_parser___ReduceAction106___action[] = "parser::ReduceAction106::(parser::ReduceAction::action)";
16522 void parser___ReduceAction106___action(val_t p0, val_t p1){
16523 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16524 val_t REGB0;
16525 val_t tmp;
16526 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16527 fra.me.file = LOCATE_parser;
16528 fra.me.line = 5093;
16529 fra.me.meth = LOCATE_parser___ReduceAction106___action;
16530 fra.me.has_broke = 0;
16531 fra.me.REG_size = 4;
16532 fra.me.nitni_local_ref_head = NULL;
16533 fra.me.REG[0] = NIT_NULL;
16534 fra.me.REG[1] = NIT_NULL;
16535 fra.me.REG[2] = NIT_NULL;
16536 fra.me.REG[3] = NIT_NULL;
16537 fra.me.REG[0] = p0;
16538 fra.me.REG[1] = p1;
16539 /* parser/parser.nit:5095 */
16540 fra.me.REG[2] = NIT_NULL;
16541 /* parser/parser.nit:5096 */
16542 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16543 /* parser/parser.nit:5098 */
16544 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*/;
16545 if (UNTAG_Bool(REGB0)) {
16546 } else {
16547 nit_abort("Assert failed", NULL, LOCATE_parser, 5098);
16548 }
16549 /* parser/parser.nit:5099 */
16550 fra.me.REG[3] = NEW_AEnumClasskind_parser___parser_prod___AEnumClasskind___init_aenumclasskind(fra.me.REG[3]);
16551 /* parser/parser.nit:5102 */
16552 fra.me.REG[2] = fra.me.REG[3];
16553 /* parser/parser.nit:5103 */
16554 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16555 if (UNTAG_Bool(REGB0)) {
16556 } else {
16557 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5103);
16558 }
16559 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16560 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16561 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16562 stack_frame_head = fra.me.prev;
16563 return;
16564 }
16565 static const char LOCATE_parser___ReduceAction107___action[] = "parser::ReduceAction107::(parser::ReduceAction::action)";
16566 void parser___ReduceAction107___action(val_t p0, val_t p1){
16567 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16568 val_t REGB0;
16569 val_t tmp;
16570 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16571 fra.me.file = LOCATE_parser;
16572 fra.me.line = 5108;
16573 fra.me.meth = LOCATE_parser___ReduceAction107___action;
16574 fra.me.has_broke = 0;
16575 fra.me.REG_size = 4;
16576 fra.me.nitni_local_ref_head = NULL;
16577 fra.me.REG[0] = NIT_NULL;
16578 fra.me.REG[1] = NIT_NULL;
16579 fra.me.REG[2] = NIT_NULL;
16580 fra.me.REG[3] = NIT_NULL;
16581 fra.me.REG[0] = p0;
16582 fra.me.REG[1] = p1;
16583 /* parser/parser.nit:5110 */
16584 fra.me.REG[2] = NIT_NULL;
16585 /* parser/parser.nit:5111 */
16586 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16587 /* parser/parser.nit:5113 */
16588 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwextern, ID_parser___parser_nodes___TKwextern)) /*cast nullable TKwextern*/;
16589 if (UNTAG_Bool(REGB0)) {
16590 } else {
16591 nit_abort("Assert failed", NULL, LOCATE_parser, 5113);
16592 }
16593 /* parser/parser.nit:5114 */
16594 fra.me.REG[3] = NEW_AExternClasskind_parser___parser_prod___AExternClasskind___init_aexternclasskind(fra.me.REG[3]);
16595 /* parser/parser.nit:5117 */
16596 fra.me.REG[2] = fra.me.REG[3];
16597 /* parser/parser.nit:5118 */
16598 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16599 if (UNTAG_Bool(REGB0)) {
16600 } else {
16601 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5118);
16602 }
16603 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16604 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16605 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16606 stack_frame_head = fra.me.prev;
16607 return;
16608 }
16609 static const char LOCATE_parser___ReduceAction108___action[] = "parser::ReduceAction108::(parser::ReduceAction::action)";
16610 void parser___ReduceAction108___action(val_t p0, val_t p1){
16611 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
16612 val_t REGB0;
16613 val_t REGB1;
16614 val_t tmp;
16615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16616 fra.me.file = LOCATE_parser;
16617 fra.me.line = 5123;
16618 fra.me.meth = LOCATE_parser___ReduceAction108___action;
16619 fra.me.has_broke = 0;
16620 fra.me.REG_size = 5;
16621 fra.me.nitni_local_ref_head = NULL;
16622 fra.me.REG[0] = NIT_NULL;
16623 fra.me.REG[1] = NIT_NULL;
16624 fra.me.REG[2] = NIT_NULL;
16625 fra.me.REG[3] = NIT_NULL;
16626 fra.me.REG[4] = NIT_NULL;
16627 fra.me.REG[0] = p0;
16628 fra.me.REG[1] = p1;
16629 /* parser/parser.nit:5125 */
16630 fra.me.REG[2] = NIT_NULL;
16631 /* parser/parser.nit:5126 */
16632 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16633 /* parser/parser.nit:5127 */
16634 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16635 /* parser/parser.nit:5128 */
16636 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16637 /* parser/parser.nit:5129 */
16638 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16639 /* parser/parser.nit:5130 */
16640 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16641 /* parser/parser.nit:5131 */
16642 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
16643 /* parser/parser.nit:5133 */
16644 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
16645 if (UNTAG_Bool(REGB0)) {
16646 } else {
16647 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
16648 if (UNTAG_Bool(REGB1)) {
16649 REGB1 = TAG_Bool(0);
16650 REGB0 = REGB1;
16651 } else {
16652 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
16653 REGB0 = REGB1;
16654 }
16655 }
16656 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16657 if (UNTAG_Bool(REGB0)) {
16658 /* parser/parser.nit:5134 */
16659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
16660 }
16661 /* parser/parser.nit:5136 */
16662 fra.me.REG[2] = fra.me.REG[4];
16663 /* parser/parser.nit:5137 */
16664 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16665 if (UNTAG_Bool(REGB0)) {
16666 } else {
16667 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5137);
16668 }
16669 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16670 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16671 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16672 stack_frame_head = fra.me.prev;
16673 return;
16674 }
16675 static const char LOCATE_parser___ReduceAction109___action[] = "parser::ReduceAction109::(parser::ReduceAction::action)";
16676 void parser___ReduceAction109___action(val_t p0, val_t p1){
16677 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
16678 val_t REGB0;
16679 val_t REGB1;
16680 val_t tmp;
16681 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16682 fra.me.file = LOCATE_parser;
16683 fra.me.line = 5142;
16684 fra.me.meth = LOCATE_parser___ReduceAction109___action;
16685 fra.me.has_broke = 0;
16686 fra.me.REG_size = 6;
16687 fra.me.nitni_local_ref_head = NULL;
16688 fra.me.REG[0] = NIT_NULL;
16689 fra.me.REG[1] = NIT_NULL;
16690 fra.me.REG[2] = NIT_NULL;
16691 fra.me.REG[3] = NIT_NULL;
16692 fra.me.REG[4] = NIT_NULL;
16693 fra.me.REG[5] = NIT_NULL;
16694 fra.me.REG[0] = p0;
16695 fra.me.REG[1] = p1;
16696 /* parser/parser.nit:5144 */
16697 fra.me.REG[2] = NIT_NULL;
16698 /* parser/parser.nit:5145 */
16699 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16700 /* parser/parser.nit:5146 */
16701 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16702 /* parser/parser.nit:5147 */
16703 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16704 /* parser/parser.nit:5148 */
16705 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16706 /* parser/parser.nit:5149 */
16707 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16708 /* parser/parser.nit:5150 */
16709 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16710 /* parser/parser.nit:5151 */
16711 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
16712 /* parser/parser.nit:5154 */
16713 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]*/;
16714 if (UNTAG_Bool(REGB0)) {
16715 } else {
16716 nit_abort("Assert failed", NULL, LOCATE_parser, 5154);
16717 }
16718 /* parser/parser.nit:5155 */
16719 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
16720 if (UNTAG_Bool(REGB0)) {
16721 } else {
16722 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
16723 if (UNTAG_Bool(REGB1)) {
16724 REGB1 = TAG_Bool(0);
16725 REGB0 = REGB1;
16726 } else {
16727 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
16728 REGB0 = REGB1;
16729 }
16730 }
16731 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16732 if (UNTAG_Bool(REGB0)) {
16733 /* parser/parser.nit:5156 */
16734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
16735 }
16736 /* parser/parser.nit:5158 */
16737 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
16738 fra.me.REG[5] = fra.me.REG[3];
16739 /* parser/parser.nit:5159 */
16740 fra.me.REG[2] = fra.me.REG[5];
16741 /* parser/parser.nit:5160 */
16742 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16743 if (UNTAG_Bool(REGB0)) {
16744 } else {
16745 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5160);
16746 }
16747 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16748 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16749 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16750 stack_frame_head = fra.me.prev;
16751 return;
16752 }
16753 static const char LOCATE_parser___ReduceAction110___action[] = "parser::ReduceAction110::(parser::ReduceAction::action)";
16754 void parser___ReduceAction110___action(val_t p0, val_t p1){
16755 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
16756 val_t REGB0;
16757 val_t tmp;
16758 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16759 fra.me.file = LOCATE_parser;
16760 fra.me.line = 5165;
16761 fra.me.meth = LOCATE_parser___ReduceAction110___action;
16762 fra.me.has_broke = 0;
16763 fra.me.REG_size = 5;
16764 fra.me.nitni_local_ref_head = NULL;
16765 fra.me.REG[0] = NIT_NULL;
16766 fra.me.REG[1] = NIT_NULL;
16767 fra.me.REG[2] = NIT_NULL;
16768 fra.me.REG[3] = NIT_NULL;
16769 fra.me.REG[4] = NIT_NULL;
16770 fra.me.REG[0] = p0;
16771 fra.me.REG[1] = p1;
16772 /* parser/parser.nit:5167 */
16773 fra.me.REG[2] = NIT_NULL;
16774 /* parser/parser.nit:5168 */
16775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16776 /* parser/parser.nit:5169 */
16777 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16778 /* parser/parser.nit:5170 */
16779 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16780 /* parser/parser.nit:5172 */
16781 fra.me.REG[2] = fra.me.REG[3];
16782 /* parser/parser.nit:5173 */
16783 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16784 if (UNTAG_Bool(REGB0)) {
16785 } else {
16786 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5173);
16787 }
16788 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16789 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16790 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16791 stack_frame_head = fra.me.prev;
16792 return;
16793 }
16794 static const char LOCATE_parser___ReduceAction111___action[] = "parser::ReduceAction111::(parser::ReduceAction::action)";
16795 void parser___ReduceAction111___action(val_t p0, val_t p1){
16796 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16797 val_t REGB0;
16798 val_t tmp;
16799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16800 fra.me.file = LOCATE_parser;
16801 fra.me.line = 5178;
16802 fra.me.meth = LOCATE_parser___ReduceAction111___action;
16803 fra.me.has_broke = 0;
16804 fra.me.REG_size = 4;
16805 fra.me.nitni_local_ref_head = NULL;
16806 fra.me.REG[0] = NIT_NULL;
16807 fra.me.REG[1] = NIT_NULL;
16808 fra.me.REG[2] = NIT_NULL;
16809 fra.me.REG[3] = NIT_NULL;
16810 fra.me.REG[0] = p0;
16811 fra.me.REG[1] = p1;
16812 /* parser/parser.nit:5180 */
16813 fra.me.REG[2] = NIT_NULL;
16814 /* parser/parser.nit:5181 */
16815 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16816 /* parser/parser.nit:5183 */
16817 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*/;
16818 if (UNTAG_Bool(REGB0)) {
16819 } else {
16820 nit_abort("Assert failed", NULL, LOCATE_parser, 5183);
16821 }
16822 /* parser/parser.nit:5184 */
16823 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[3], NIT_NULL);
16824 /* parser/parser.nit:5188 */
16825 fra.me.REG[2] = fra.me.REG[3];
16826 /* parser/parser.nit:5189 */
16827 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16828 if (UNTAG_Bool(REGB0)) {
16829 } else {
16830 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5189);
16831 }
16832 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16833 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16834 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16835 stack_frame_head = fra.me.prev;
16836 return;
16837 }
16838 static const char LOCATE_parser___ReduceAction112___action[] = "parser::ReduceAction112::(parser::ReduceAction::action)";
16839 void parser___ReduceAction112___action(val_t p0, val_t p1){
16840 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
16841 val_t REGB0;
16842 val_t tmp;
16843 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16844 fra.me.file = LOCATE_parser;
16845 fra.me.line = 5194;
16846 fra.me.meth = LOCATE_parser___ReduceAction112___action;
16847 fra.me.has_broke = 0;
16848 fra.me.REG_size = 5;
16849 fra.me.nitni_local_ref_head = NULL;
16850 fra.me.REG[0] = NIT_NULL;
16851 fra.me.REG[1] = NIT_NULL;
16852 fra.me.REG[2] = NIT_NULL;
16853 fra.me.REG[3] = NIT_NULL;
16854 fra.me.REG[4] = NIT_NULL;
16855 fra.me.REG[0] = p0;
16856 fra.me.REG[1] = p1;
16857 /* parser/parser.nit:5196 */
16858 fra.me.REG[2] = NIT_NULL;
16859 /* parser/parser.nit:5197 */
16860 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16861 /* parser/parser.nit:5198 */
16862 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16863 /* parser/parser.nit:5200 */
16864 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*/;
16865 if (UNTAG_Bool(REGB0)) {
16866 } else {
16867 nit_abort("Assert failed", NULL, LOCATE_parser, 5200);
16868 }
16869 /* parser/parser.nit:5202 */
16870 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*/;
16871 if (UNTAG_Bool(REGB0)) {
16872 } else {
16873 nit_abort("Assert failed", NULL, LOCATE_parser, 5202);
16874 }
16875 /* parser/parser.nit:5203 */
16876 fra.me.REG[3] = NEW_AFormaldef_parser___parser_prod___AFormaldef___init_aformaldef(fra.me.REG[4], fra.me.REG[3]);
16877 /* parser/parser.nit:5207 */
16878 fra.me.REG[2] = fra.me.REG[3];
16879 /* parser/parser.nit:5208 */
16880 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16881 if (UNTAG_Bool(REGB0)) {
16882 } else {
16883 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5208);
16884 }
16885 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16886 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16887 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16888 stack_frame_head = fra.me.prev;
16889 return;
16890 }
16891 static const char LOCATE_parser___ReduceAction113___action[] = "parser::ReduceAction113::(parser::ReduceAction::action)";
16892 void parser___ReduceAction113___action(val_t p0, val_t p1){
16893 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
16894 val_t REGB0;
16895 val_t tmp;
16896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16897 fra.me.file = LOCATE_parser;
16898 fra.me.line = 5213;
16899 fra.me.meth = LOCATE_parser___ReduceAction113___action;
16900 fra.me.has_broke = 0;
16901 fra.me.REG_size = 6;
16902 fra.me.nitni_local_ref_head = NULL;
16903 fra.me.REG[0] = NIT_NULL;
16904 fra.me.REG[1] = NIT_NULL;
16905 fra.me.REG[2] = NIT_NULL;
16906 fra.me.REG[3] = NIT_NULL;
16907 fra.me.REG[4] = NIT_NULL;
16908 fra.me.REG[5] = NIT_NULL;
16909 fra.me.REG[0] = p0;
16910 fra.me.REG[1] = p1;
16911 /* parser/parser.nit:5215 */
16912 fra.me.REG[2] = NIT_NULL;
16913 /* parser/parser.nit:5216 */
16914 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16915 /* parser/parser.nit:5217 */
16916 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16917 /* parser/parser.nit:5218 */
16918 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16919 /* parser/parser.nit:5219 */
16920 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16921 /* parser/parser.nit:5221 */
16922 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*/;
16923 if (UNTAG_Bool(REGB0)) {
16924 } else {
16925 nit_abort("Assert failed", NULL, LOCATE_parser, 5221);
16926 }
16927 /* parser/parser.nit:5223 */
16928 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*/;
16929 if (UNTAG_Bool(REGB0)) {
16930 } else {
16931 nit_abort("Assert failed", NULL, LOCATE_parser, 5223);
16932 }
16933 /* parser/parser.nit:5224 */
16934 fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
16935 /* parser/parser.nit:5229 */
16936 fra.me.REG[2] = fra.me.REG[3];
16937 /* parser/parser.nit:5230 */
16938 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16939 if (UNTAG_Bool(REGB0)) {
16940 } else {
16941 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5230);
16942 }
16943 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
16944 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
16945 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
16946 stack_frame_head = fra.me.prev;
16947 return;
16948 }
16949 static const char LOCATE_parser___ReduceAction114___action[] = "parser::ReduceAction114::(parser::ReduceAction::action)";
16950 void parser___ReduceAction114___action(val_t p0, val_t p1){
16951 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
16952 val_t REGB0;
16953 val_t tmp;
16954 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16955 fra.me.file = LOCATE_parser;
16956 fra.me.line = 5235;
16957 fra.me.meth = LOCATE_parser___ReduceAction114___action;
16958 fra.me.has_broke = 0;
16959 fra.me.REG_size = 6;
16960 fra.me.nitni_local_ref_head = NULL;
16961 fra.me.REG[0] = NIT_NULL;
16962 fra.me.REG[1] = NIT_NULL;
16963 fra.me.REG[2] = NIT_NULL;
16964 fra.me.REG[3] = NIT_NULL;
16965 fra.me.REG[4] = NIT_NULL;
16966 fra.me.REG[5] = NIT_NULL;
16967 fra.me.REG[0] = p0;
16968 fra.me.REG[1] = p1;
16969 /* parser/parser.nit:5237 */
16970 fra.me.REG[2] = NIT_NULL;
16971 /* parser/parser.nit:5238 */
16972 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16973 /* parser/parser.nit:5239 */
16974 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16975 /* parser/parser.nit:5240 */
16976 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16977 /* parser/parser.nit:5241 */
16978 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
16979 /* parser/parser.nit:5243 */
16980 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*/;
16981 if (UNTAG_Bool(REGB0)) {
16982 } else {
16983 nit_abort("Assert failed", NULL, LOCATE_parser, 5243);
16984 }
16985 /* parser/parser.nit:5245 */
16986 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*/;
16987 if (UNTAG_Bool(REGB0)) {
16988 } else {
16989 nit_abort("Assert failed", NULL, LOCATE_parser, 5245);
16990 }
16991 /* parser/parser.nit:5246 */
16992 fra.me.REG[3] = NEW_ASuperclass_parser___parser_prod___ASuperclass___init_asuperclass(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
16993 /* parser/parser.nit:5251 */
16994 fra.me.REG[2] = fra.me.REG[3];
16995 /* parser/parser.nit:5252 */
16996 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
16997 if (UNTAG_Bool(REGB0)) {
16998 } else {
16999 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5252);
17000 }
17001 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17002 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17003 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17004 stack_frame_head = fra.me.prev;
17005 return;
17006 }
17007 static const char LOCATE_parser___ReduceAction115___action[] = "parser::ReduceAction115::(parser::ReduceAction::action)";
17008 void parser___ReduceAction115___action(val_t p0, val_t p1){
17009 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17010 val_t REGB0;
17011 val_t tmp;
17012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17013 fra.me.file = LOCATE_parser;
17014 fra.me.line = 5257;
17015 fra.me.meth = LOCATE_parser___ReduceAction115___action;
17016 fra.me.has_broke = 0;
17017 fra.me.REG_size = 4;
17018 fra.me.nitni_local_ref_head = NULL;
17019 fra.me.REG[0] = NIT_NULL;
17020 fra.me.REG[1] = NIT_NULL;
17021 fra.me.REG[2] = NIT_NULL;
17022 fra.me.REG[3] = NIT_NULL;
17023 fra.me.REG[0] = p0;
17024 fra.me.REG[1] = p1;
17025 /* parser/parser.nit:5259 */
17026 fra.me.REG[2] = NIT_NULL;
17027 /* parser/parser.nit:5260 */
17028 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17029 /* parser/parser.nit:5261 */
17030 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17031 /* parser/parser.nit:5263 */
17032 fra.me.REG[2] = fra.me.REG[3];
17033 /* parser/parser.nit:5264 */
17034 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17035 if (UNTAG_Bool(REGB0)) {
17036 } else {
17037 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5264);
17038 }
17039 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17040 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17041 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17042 stack_frame_head = fra.me.prev;
17043 return;
17044 }
17045 static const char LOCATE_parser___ReduceAction116___action[] = "parser::ReduceAction116::(parser::ReduceAction::action)";
17046 void parser___ReduceAction116___action(val_t p0, val_t p1){
17047 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17048 val_t REGB0;
17049 val_t tmp;
17050 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17051 fra.me.file = LOCATE_parser;
17052 fra.me.line = 5269;
17053 fra.me.meth = LOCATE_parser___ReduceAction116___action;
17054 fra.me.has_broke = 0;
17055 fra.me.REG_size = 9;
17056 fra.me.nitni_local_ref_head = NULL;
17057 fra.me.REG[0] = NIT_NULL;
17058 fra.me.REG[1] = NIT_NULL;
17059 fra.me.REG[2] = NIT_NULL;
17060 fra.me.REG[3] = NIT_NULL;
17061 fra.me.REG[4] = NIT_NULL;
17062 fra.me.REG[5] = NIT_NULL;
17063 fra.me.REG[6] = NIT_NULL;
17064 fra.me.REG[7] = NIT_NULL;
17065 fra.me.REG[8] = NIT_NULL;
17066 fra.me.REG[0] = p0;
17067 fra.me.REG[1] = p1;
17068 /* parser/parser.nit:5271 */
17069 fra.me.REG[2] = NIT_NULL;
17070 /* parser/parser.nit:5272 */
17071 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17072 /* parser/parser.nit:5273 */
17073 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17074 /* parser/parser.nit:5274 */
17075 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17076 /* parser/parser.nit:5275 */
17077 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17078 /* parser/parser.nit:5276 */
17079 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17080 /* parser/parser.nit:5277 */
17081 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17082 /* parser/parser.nit:5278 */
17083 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17084 /* parser/parser.nit:5280 */
17085 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*/;
17086 if (UNTAG_Bool(REGB0)) {
17087 } else {
17088 nit_abort("Assert failed", NULL, LOCATE_parser, 5280);
17089 }
17090 /* parser/parser.nit:5282 */
17091 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*/;
17092 if (UNTAG_Bool(REGB0)) {
17093 } else {
17094 nit_abort("Assert failed", NULL, LOCATE_parser, 5282);
17095 }
17096 /* parser/parser.nit:5284 */
17097 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*/;
17098 if (UNTAG_Bool(REGB0)) {
17099 } else {
17100 nit_abort("Assert failed", NULL, LOCATE_parser, 5284);
17101 }
17102 /* parser/parser.nit:5286 */
17103 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*/;
17104 if (UNTAG_Bool(REGB0)) {
17105 } else {
17106 nit_abort("Assert failed", NULL, LOCATE_parser, 5286);
17107 }
17108 /* parser/parser.nit:5288 */
17109 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*/;
17110 if (UNTAG_Bool(REGB0)) {
17111 } else {
17112 nit_abort("Assert failed", NULL, LOCATE_parser, 5288);
17113 }
17114 /* parser/parser.nit:5290 */
17115 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*/;
17116 if (UNTAG_Bool(REGB0)) {
17117 } else {
17118 nit_abort("Assert failed", NULL, LOCATE_parser, 5290);
17119 }
17120 /* parser/parser.nit:5291 */
17121 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]);
17122 /* parser/parser.nit:5300 */
17123 fra.me.REG[2] = fra.me.REG[3];
17124 /* parser/parser.nit:5301 */
17125 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17126 if (UNTAG_Bool(REGB0)) {
17127 } else {
17128 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5301);
17129 }
17130 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17131 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17132 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17133 stack_frame_head = fra.me.prev;
17134 return;
17135 }
17136 static const char LOCATE_parser___ReduceAction117___action[] = "parser::ReduceAction117::(parser::ReduceAction::action)";
17137 void parser___ReduceAction117___action(val_t p0, val_t p1){
17138 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
17139 val_t REGB0;
17140 val_t tmp;
17141 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17142 fra.me.file = LOCATE_parser;
17143 fra.me.line = 5306;
17144 fra.me.meth = LOCATE_parser___ReduceAction117___action;
17145 fra.me.has_broke = 0;
17146 fra.me.REG_size = 10;
17147 fra.me.nitni_local_ref_head = NULL;
17148 fra.me.REG[0] = NIT_NULL;
17149 fra.me.REG[1] = NIT_NULL;
17150 fra.me.REG[2] = NIT_NULL;
17151 fra.me.REG[3] = NIT_NULL;
17152 fra.me.REG[4] = NIT_NULL;
17153 fra.me.REG[5] = NIT_NULL;
17154 fra.me.REG[6] = NIT_NULL;
17155 fra.me.REG[7] = NIT_NULL;
17156 fra.me.REG[8] = NIT_NULL;
17157 fra.me.REG[9] = NIT_NULL;
17158 fra.me.REG[0] = p0;
17159 fra.me.REG[1] = p1;
17160 /* parser/parser.nit:5308 */
17161 fra.me.REG[2] = NIT_NULL;
17162 /* parser/parser.nit:5309 */
17163 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17164 /* parser/parser.nit:5310 */
17165 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17166 /* parser/parser.nit:5311 */
17167 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17168 /* parser/parser.nit:5312 */
17169 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17170 /* parser/parser.nit:5313 */
17171 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17172 /* parser/parser.nit:5314 */
17173 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17174 /* parser/parser.nit:5315 */
17175 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17176 /* parser/parser.nit:5316 */
17177 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17178 /* parser/parser.nit:5318 */
17179 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*/;
17180 if (UNTAG_Bool(REGB0)) {
17181 } else {
17182 nit_abort("Assert failed", NULL, LOCATE_parser, 5318);
17183 }
17184 /* parser/parser.nit:5320 */
17185 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*/;
17186 if (UNTAG_Bool(REGB0)) {
17187 } else {
17188 nit_abort("Assert failed", NULL, LOCATE_parser, 5320);
17189 }
17190 /* parser/parser.nit:5322 */
17191 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*/;
17192 if (UNTAG_Bool(REGB0)) {
17193 } else {
17194 nit_abort("Assert failed", NULL, LOCATE_parser, 5322);
17195 }
17196 /* parser/parser.nit:5324 */
17197 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*/;
17198 if (UNTAG_Bool(REGB0)) {
17199 } else {
17200 nit_abort("Assert failed", NULL, LOCATE_parser, 5324);
17201 }
17202 /* parser/parser.nit:5326 */
17203 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*/;
17204 if (UNTAG_Bool(REGB0)) {
17205 } else {
17206 nit_abort("Assert failed", NULL, LOCATE_parser, 5326);
17207 }
17208 /* parser/parser.nit:5328 */
17209 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*/;
17210 if (UNTAG_Bool(REGB0)) {
17211 } else {
17212 nit_abort("Assert failed", NULL, LOCATE_parser, 5328);
17213 }
17214 /* parser/parser.nit:5330 */
17215 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*/;
17216 if (UNTAG_Bool(REGB0)) {
17217 } else {
17218 nit_abort("Assert failed", NULL, LOCATE_parser, 5330);
17219 }
17220 /* parser/parser.nit:5331 */
17221 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]);
17222 /* parser/parser.nit:5340 */
17223 fra.me.REG[2] = fra.me.REG[3];
17224 /* parser/parser.nit:5341 */
17225 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17226 if (UNTAG_Bool(REGB0)) {
17227 } else {
17228 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5341);
17229 }
17230 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17231 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17232 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17233 stack_frame_head = fra.me.prev;
17234 return;
17235 }
17236 static const char LOCATE_parser___ReduceAction118___action[] = "parser::ReduceAction118::(parser::ReduceAction::action)";
17237 void parser___ReduceAction118___action(val_t p0, val_t p1){
17238 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17239 val_t REGB0;
17240 val_t tmp;
17241 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17242 fra.me.file = LOCATE_parser;
17243 fra.me.line = 5346;
17244 fra.me.meth = LOCATE_parser___ReduceAction118___action;
17245 fra.me.has_broke = 0;
17246 fra.me.REG_size = 9;
17247 fra.me.nitni_local_ref_head = NULL;
17248 fra.me.REG[0] = NIT_NULL;
17249 fra.me.REG[1] = NIT_NULL;
17250 fra.me.REG[2] = NIT_NULL;
17251 fra.me.REG[3] = NIT_NULL;
17252 fra.me.REG[4] = NIT_NULL;
17253 fra.me.REG[5] = NIT_NULL;
17254 fra.me.REG[6] = NIT_NULL;
17255 fra.me.REG[7] = NIT_NULL;
17256 fra.me.REG[8] = NIT_NULL;
17257 fra.me.REG[0] = p0;
17258 fra.me.REG[1] = p1;
17259 /* parser/parser.nit:5348 */
17260 fra.me.REG[2] = NIT_NULL;
17261 /* parser/parser.nit:5349 */
17262 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17263 /* parser/parser.nit:5350 */
17264 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17265 /* parser/parser.nit:5351 */
17266 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17267 /* parser/parser.nit:5352 */
17268 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17269 /* parser/parser.nit:5353 */
17270 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17271 /* parser/parser.nit:5354 */
17272 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17273 /* parser/parser.nit:5355 */
17274 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17275 /* parser/parser.nit:5356 */
17276 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17277 /* parser/parser.nit:5358 */
17278 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*/;
17279 if (UNTAG_Bool(REGB0)) {
17280 } else {
17281 nit_abort("Assert failed", NULL, LOCATE_parser, 5358);
17282 }
17283 /* parser/parser.nit:5360 */
17284 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*/;
17285 if (UNTAG_Bool(REGB0)) {
17286 } else {
17287 nit_abort("Assert failed", NULL, LOCATE_parser, 5360);
17288 }
17289 /* parser/parser.nit:5362 */
17290 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*/;
17291 if (UNTAG_Bool(REGB0)) {
17292 } else {
17293 nit_abort("Assert failed", NULL, LOCATE_parser, 5362);
17294 }
17295 /* parser/parser.nit:5364 */
17296 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*/;
17297 if (UNTAG_Bool(REGB0)) {
17298 } else {
17299 nit_abort("Assert failed", NULL, LOCATE_parser, 5364);
17300 }
17301 /* parser/parser.nit:5366 */
17302 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*/;
17303 if (UNTAG_Bool(REGB0)) {
17304 } else {
17305 nit_abort("Assert failed", NULL, LOCATE_parser, 5366);
17306 }
17307 /* parser/parser.nit:5368 */
17308 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*/;
17309 if (UNTAG_Bool(REGB0)) {
17310 } else {
17311 nit_abort("Assert failed", NULL, LOCATE_parser, 5368);
17312 }
17313 /* parser/parser.nit:5369 */
17314 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]);
17315 /* parser/parser.nit:5378 */
17316 fra.me.REG[2] = fra.me.REG[3];
17317 /* parser/parser.nit:5379 */
17318 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17319 if (UNTAG_Bool(REGB0)) {
17320 } else {
17321 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5379);
17322 }
17323 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17324 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17325 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17326 stack_frame_head = fra.me.prev;
17327 return;
17328 }
17329 static const char LOCATE_parser___ReduceAction119___action[] = "parser::ReduceAction119::(parser::ReduceAction::action)";
17330 void parser___ReduceAction119___action(val_t p0, val_t p1){
17331 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
17332 val_t REGB0;
17333 val_t tmp;
17334 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17335 fra.me.file = LOCATE_parser;
17336 fra.me.line = 5384;
17337 fra.me.meth = LOCATE_parser___ReduceAction119___action;
17338 fra.me.has_broke = 0;
17339 fra.me.REG_size = 10;
17340 fra.me.nitni_local_ref_head = NULL;
17341 fra.me.REG[0] = NIT_NULL;
17342 fra.me.REG[1] = NIT_NULL;
17343 fra.me.REG[2] = NIT_NULL;
17344 fra.me.REG[3] = NIT_NULL;
17345 fra.me.REG[4] = NIT_NULL;
17346 fra.me.REG[5] = NIT_NULL;
17347 fra.me.REG[6] = NIT_NULL;
17348 fra.me.REG[7] = NIT_NULL;
17349 fra.me.REG[8] = NIT_NULL;
17350 fra.me.REG[9] = NIT_NULL;
17351 fra.me.REG[0] = p0;
17352 fra.me.REG[1] = p1;
17353 /* parser/parser.nit:5386 */
17354 fra.me.REG[2] = NIT_NULL;
17355 /* parser/parser.nit:5387 */
17356 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17357 /* parser/parser.nit:5388 */
17358 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17359 /* parser/parser.nit:5389 */
17360 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17361 /* parser/parser.nit:5390 */
17362 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17363 /* parser/parser.nit:5391 */
17364 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17365 /* parser/parser.nit:5392 */
17366 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17367 /* parser/parser.nit:5393 */
17368 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17369 /* parser/parser.nit:5394 */
17370 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17371 /* parser/parser.nit:5395 */
17372 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17373 /* parser/parser.nit:5397 */
17374 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*/;
17375 if (UNTAG_Bool(REGB0)) {
17376 } else {
17377 nit_abort("Assert failed", NULL, LOCATE_parser, 5397);
17378 }
17379 /* parser/parser.nit:5399 */
17380 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*/;
17381 if (UNTAG_Bool(REGB0)) {
17382 } else {
17383 nit_abort("Assert failed", NULL, LOCATE_parser, 5399);
17384 }
17385 /* parser/parser.nit:5401 */
17386 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*/;
17387 if (UNTAG_Bool(REGB0)) {
17388 } else {
17389 nit_abort("Assert failed", NULL, LOCATE_parser, 5401);
17390 }
17391 /* parser/parser.nit:5403 */
17392 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*/;
17393 if (UNTAG_Bool(REGB0)) {
17394 } else {
17395 nit_abort("Assert failed", NULL, LOCATE_parser, 5403);
17396 }
17397 /* parser/parser.nit:5405 */
17398 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*/;
17399 if (UNTAG_Bool(REGB0)) {
17400 } else {
17401 nit_abort("Assert failed", NULL, LOCATE_parser, 5405);
17402 }
17403 /* parser/parser.nit:5407 */
17404 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*/;
17405 if (UNTAG_Bool(REGB0)) {
17406 } else {
17407 nit_abort("Assert failed", NULL, LOCATE_parser, 5407);
17408 }
17409 /* parser/parser.nit:5409 */
17410 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*/;
17411 if (UNTAG_Bool(REGB0)) {
17412 } else {
17413 nit_abort("Assert failed", NULL, LOCATE_parser, 5409);
17414 }
17415 /* parser/parser.nit:5410 */
17416 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]);
17417 /* parser/parser.nit:5419 */
17418 fra.me.REG[2] = fra.me.REG[3];
17419 /* parser/parser.nit:5420 */
17420 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17421 if (UNTAG_Bool(REGB0)) {
17422 } else {
17423 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5420);
17424 }
17425 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17426 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17427 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17428 stack_frame_head = fra.me.prev;
17429 return;
17430 }
17431 static const char LOCATE_parser___ReduceAction120___action[] = "parser::ReduceAction120::(parser::ReduceAction::action)";
17432 void parser___ReduceAction120___action(val_t p0, val_t p1){
17433 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17434 val_t REGB0;
17435 val_t tmp;
17436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17437 fra.me.file = LOCATE_parser;
17438 fra.me.line = 5425;
17439 fra.me.meth = LOCATE_parser___ReduceAction120___action;
17440 fra.me.has_broke = 0;
17441 fra.me.REG_size = 9;
17442 fra.me.nitni_local_ref_head = NULL;
17443 fra.me.REG[0] = NIT_NULL;
17444 fra.me.REG[1] = NIT_NULL;
17445 fra.me.REG[2] = NIT_NULL;
17446 fra.me.REG[3] = NIT_NULL;
17447 fra.me.REG[4] = NIT_NULL;
17448 fra.me.REG[5] = NIT_NULL;
17449 fra.me.REG[6] = NIT_NULL;
17450 fra.me.REG[7] = NIT_NULL;
17451 fra.me.REG[8] = NIT_NULL;
17452 fra.me.REG[0] = p0;
17453 fra.me.REG[1] = p1;
17454 /* parser/parser.nit:5427 */
17455 fra.me.REG[2] = NIT_NULL;
17456 /* parser/parser.nit:5428 */
17457 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17458 /* parser/parser.nit:5429 */
17459 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17460 /* parser/parser.nit:5430 */
17461 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17462 /* parser/parser.nit:5431 */
17463 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17464 /* parser/parser.nit:5432 */
17465 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17466 /* parser/parser.nit:5433 */
17467 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17468 /* parser/parser.nit:5434 */
17469 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17470 /* parser/parser.nit:5435 */
17471 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17472 /* parser/parser.nit:5437 */
17473 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*/;
17474 if (UNTAG_Bool(REGB0)) {
17475 } else {
17476 nit_abort("Assert failed", NULL, LOCATE_parser, 5437);
17477 }
17478 /* parser/parser.nit:5439 */
17479 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*/;
17480 if (UNTAG_Bool(REGB0)) {
17481 } else {
17482 nit_abort("Assert failed", NULL, LOCATE_parser, 5439);
17483 }
17484 /* parser/parser.nit:5441 */
17485 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*/;
17486 if (UNTAG_Bool(REGB0)) {
17487 } else {
17488 nit_abort("Assert failed", NULL, LOCATE_parser, 5441);
17489 }
17490 /* parser/parser.nit:5443 */
17491 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*/;
17492 if (UNTAG_Bool(REGB0)) {
17493 } else {
17494 nit_abort("Assert failed", NULL, LOCATE_parser, 5443);
17495 }
17496 /* parser/parser.nit:5445 */
17497 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*/;
17498 if (UNTAG_Bool(REGB0)) {
17499 } else {
17500 nit_abort("Assert failed", NULL, LOCATE_parser, 5445);
17501 }
17502 /* parser/parser.nit:5447 */
17503 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*/;
17504 if (UNTAG_Bool(REGB0)) {
17505 } else {
17506 nit_abort("Assert failed", NULL, LOCATE_parser, 5447);
17507 }
17508 /* parser/parser.nit:5448 */
17509 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]);
17510 /* parser/parser.nit:5457 */
17511 fra.me.REG[2] = fra.me.REG[3];
17512 /* parser/parser.nit:5458 */
17513 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17514 if (UNTAG_Bool(REGB0)) {
17515 } else {
17516 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5458);
17517 }
17518 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17519 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17520 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17521 stack_frame_head = fra.me.prev;
17522 return;
17523 }
17524 static const char LOCATE_parser___ReduceAction121___action[] = "parser::ReduceAction121::(parser::ReduceAction::action)";
17525 void parser___ReduceAction121___action(val_t p0, val_t p1){
17526 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
17527 val_t REGB0;
17528 val_t tmp;
17529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17530 fra.me.file = LOCATE_parser;
17531 fra.me.line = 5463;
17532 fra.me.meth = LOCATE_parser___ReduceAction121___action;
17533 fra.me.has_broke = 0;
17534 fra.me.REG_size = 10;
17535 fra.me.nitni_local_ref_head = NULL;
17536 fra.me.REG[0] = NIT_NULL;
17537 fra.me.REG[1] = NIT_NULL;
17538 fra.me.REG[2] = NIT_NULL;
17539 fra.me.REG[3] = NIT_NULL;
17540 fra.me.REG[4] = NIT_NULL;
17541 fra.me.REG[5] = NIT_NULL;
17542 fra.me.REG[6] = NIT_NULL;
17543 fra.me.REG[7] = NIT_NULL;
17544 fra.me.REG[8] = NIT_NULL;
17545 fra.me.REG[9] = NIT_NULL;
17546 fra.me.REG[0] = p0;
17547 fra.me.REG[1] = p1;
17548 /* parser/parser.nit:5465 */
17549 fra.me.REG[2] = NIT_NULL;
17550 /* parser/parser.nit:5466 */
17551 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17552 /* parser/parser.nit:5467 */
17553 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17554 /* parser/parser.nit:5468 */
17555 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17556 /* parser/parser.nit:5469 */
17557 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17558 /* parser/parser.nit:5470 */
17559 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17560 /* parser/parser.nit:5471 */
17561 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17562 /* parser/parser.nit:5472 */
17563 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17564 /* parser/parser.nit:5473 */
17565 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17566 /* parser/parser.nit:5474 */
17567 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17568 /* parser/parser.nit:5476 */
17569 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*/;
17570 if (UNTAG_Bool(REGB0)) {
17571 } else {
17572 nit_abort("Assert failed", NULL, LOCATE_parser, 5476);
17573 }
17574 /* parser/parser.nit:5478 */
17575 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*/;
17576 if (UNTAG_Bool(REGB0)) {
17577 } else {
17578 nit_abort("Assert failed", NULL, LOCATE_parser, 5478);
17579 }
17580 /* parser/parser.nit:5480 */
17581 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*/;
17582 if (UNTAG_Bool(REGB0)) {
17583 } else {
17584 nit_abort("Assert failed", NULL, LOCATE_parser, 5480);
17585 }
17586 /* parser/parser.nit:5482 */
17587 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*/;
17588 if (UNTAG_Bool(REGB0)) {
17589 } else {
17590 nit_abort("Assert failed", NULL, LOCATE_parser, 5482);
17591 }
17592 /* parser/parser.nit:5484 */
17593 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*/;
17594 if (UNTAG_Bool(REGB0)) {
17595 } else {
17596 nit_abort("Assert failed", NULL, LOCATE_parser, 5484);
17597 }
17598 /* parser/parser.nit:5486 */
17599 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*/;
17600 if (UNTAG_Bool(REGB0)) {
17601 } else {
17602 nit_abort("Assert failed", NULL, LOCATE_parser, 5486);
17603 }
17604 /* parser/parser.nit:5488 */
17605 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*/;
17606 if (UNTAG_Bool(REGB0)) {
17607 } else {
17608 nit_abort("Assert failed", NULL, LOCATE_parser, 5488);
17609 }
17610 /* parser/parser.nit:5489 */
17611 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]);
17612 /* parser/parser.nit:5498 */
17613 fra.me.REG[2] = fra.me.REG[3];
17614 /* parser/parser.nit:5499 */
17615 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17616 if (UNTAG_Bool(REGB0)) {
17617 } else {
17618 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5499);
17619 }
17620 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17621 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17622 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17623 stack_frame_head = fra.me.prev;
17624 return;
17625 }
17626 static const char LOCATE_parser___ReduceAction122___action[] = "parser::ReduceAction122::(parser::ReduceAction::action)";
17627 void parser___ReduceAction122___action(val_t p0, val_t p1){
17628 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17629 val_t REGB0;
17630 val_t tmp;
17631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17632 fra.me.file = LOCATE_parser;
17633 fra.me.line = 5504;
17634 fra.me.meth = LOCATE_parser___ReduceAction122___action;
17635 fra.me.has_broke = 0;
17636 fra.me.REG_size = 8;
17637 fra.me.nitni_local_ref_head = NULL;
17638 fra.me.REG[0] = NIT_NULL;
17639 fra.me.REG[1] = NIT_NULL;
17640 fra.me.REG[2] = NIT_NULL;
17641 fra.me.REG[3] = NIT_NULL;
17642 fra.me.REG[4] = NIT_NULL;
17643 fra.me.REG[5] = NIT_NULL;
17644 fra.me.REG[6] = NIT_NULL;
17645 fra.me.REG[7] = NIT_NULL;
17646 fra.me.REG[0] = p0;
17647 fra.me.REG[1] = p1;
17648 /* parser/parser.nit:5506 */
17649 fra.me.REG[2] = NIT_NULL;
17650 /* parser/parser.nit:5507 */
17651 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17652 /* parser/parser.nit:5508 */
17653 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17654 /* parser/parser.nit:5509 */
17655 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17656 /* parser/parser.nit:5510 */
17657 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17658 /* parser/parser.nit:5511 */
17659 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17660 /* parser/parser.nit:5512 */
17661 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17662 /* parser/parser.nit:5513 */
17663 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17664 /* parser/parser.nit:5515 */
17665 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*/;
17666 if (UNTAG_Bool(REGB0)) {
17667 } else {
17668 nit_abort("Assert failed", NULL, LOCATE_parser, 5515);
17669 }
17670 /* parser/parser.nit:5517 */
17671 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*/;
17672 if (UNTAG_Bool(REGB0)) {
17673 } else {
17674 nit_abort("Assert failed", NULL, LOCATE_parser, 5517);
17675 }
17676 /* parser/parser.nit:5519 */
17677 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*/;
17678 if (UNTAG_Bool(REGB0)) {
17679 } else {
17680 nit_abort("Assert failed", NULL, LOCATE_parser, 5519);
17681 }
17682 /* parser/parser.nit:5521 */
17683 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*/;
17684 if (UNTAG_Bool(REGB0)) {
17685 } else {
17686 nit_abort("Assert failed", NULL, LOCATE_parser, 5521);
17687 }
17688 /* parser/parser.nit:5523 */
17689 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*/;
17690 if (UNTAG_Bool(REGB0)) {
17691 } else {
17692 nit_abort("Assert failed", NULL, LOCATE_parser, 5523);
17693 }
17694 /* parser/parser.nit:5524 */
17695 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]);
17696 /* parser/parser.nit:5532 */
17697 fra.me.REG[2] = fra.me.REG[3];
17698 /* parser/parser.nit:5533 */
17699 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17700 if (UNTAG_Bool(REGB0)) {
17701 } else {
17702 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5533);
17703 }
17704 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17705 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17706 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17707 stack_frame_head = fra.me.prev;
17708 return;
17709 }
17710 static const char LOCATE_parser___ReduceAction123___action[] = "parser::ReduceAction123::(parser::ReduceAction::action)";
17711 void parser___ReduceAction123___action(val_t p0, val_t p1){
17712 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17713 val_t REGB0;
17714 val_t tmp;
17715 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17716 fra.me.file = LOCATE_parser;
17717 fra.me.line = 5538;
17718 fra.me.meth = LOCATE_parser___ReduceAction123___action;
17719 fra.me.has_broke = 0;
17720 fra.me.REG_size = 9;
17721 fra.me.nitni_local_ref_head = NULL;
17722 fra.me.REG[0] = NIT_NULL;
17723 fra.me.REG[1] = NIT_NULL;
17724 fra.me.REG[2] = NIT_NULL;
17725 fra.me.REG[3] = NIT_NULL;
17726 fra.me.REG[4] = NIT_NULL;
17727 fra.me.REG[5] = NIT_NULL;
17728 fra.me.REG[6] = NIT_NULL;
17729 fra.me.REG[7] = NIT_NULL;
17730 fra.me.REG[8] = NIT_NULL;
17731 fra.me.REG[0] = p0;
17732 fra.me.REG[1] = p1;
17733 /* parser/parser.nit:5540 */
17734 fra.me.REG[2] = NIT_NULL;
17735 /* parser/parser.nit:5541 */
17736 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17737 /* parser/parser.nit:5542 */
17738 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17739 /* parser/parser.nit:5543 */
17740 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17741 /* parser/parser.nit:5544 */
17742 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17743 /* parser/parser.nit:5545 */
17744 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17745 /* parser/parser.nit:5546 */
17746 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17747 /* parser/parser.nit:5547 */
17748 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17749 /* parser/parser.nit:5548 */
17750 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17751 /* parser/parser.nit:5550 */
17752 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*/;
17753 if (UNTAG_Bool(REGB0)) {
17754 } else {
17755 nit_abort("Assert failed", NULL, LOCATE_parser, 5550);
17756 }
17757 /* parser/parser.nit:5552 */
17758 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*/;
17759 if (UNTAG_Bool(REGB0)) {
17760 } else {
17761 nit_abort("Assert failed", NULL, LOCATE_parser, 5552);
17762 }
17763 /* parser/parser.nit:5554 */
17764 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*/;
17765 if (UNTAG_Bool(REGB0)) {
17766 } else {
17767 nit_abort("Assert failed", NULL, LOCATE_parser, 5554);
17768 }
17769 /* parser/parser.nit:5556 */
17770 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*/;
17771 if (UNTAG_Bool(REGB0)) {
17772 } else {
17773 nit_abort("Assert failed", NULL, LOCATE_parser, 5556);
17774 }
17775 /* parser/parser.nit:5558 */
17776 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*/;
17777 if (UNTAG_Bool(REGB0)) {
17778 } else {
17779 nit_abort("Assert failed", NULL, LOCATE_parser, 5558);
17780 }
17781 /* parser/parser.nit:5560 */
17782 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*/;
17783 if (UNTAG_Bool(REGB0)) {
17784 } else {
17785 nit_abort("Assert failed", NULL, LOCATE_parser, 5560);
17786 }
17787 /* parser/parser.nit:5561 */
17788 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]);
17789 /* parser/parser.nit:5569 */
17790 fra.me.REG[2] = fra.me.REG[3];
17791 /* parser/parser.nit:5570 */
17792 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17793 if (UNTAG_Bool(REGB0)) {
17794 } else {
17795 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5570);
17796 }
17797 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17798 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17799 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17800 stack_frame_head = fra.me.prev;
17801 return;
17802 }
17803 static const char LOCATE_parser___ReduceAction124___action[] = "parser::ReduceAction124::(parser::ReduceAction::action)";
17804 void parser___ReduceAction124___action(val_t p0, val_t p1){
17805 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17806 val_t REGB0;
17807 val_t tmp;
17808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17809 fra.me.file = LOCATE_parser;
17810 fra.me.line = 5575;
17811 fra.me.meth = LOCATE_parser___ReduceAction124___action;
17812 fra.me.has_broke = 0;
17813 fra.me.REG_size = 8;
17814 fra.me.nitni_local_ref_head = NULL;
17815 fra.me.REG[0] = NIT_NULL;
17816 fra.me.REG[1] = NIT_NULL;
17817 fra.me.REG[2] = NIT_NULL;
17818 fra.me.REG[3] = NIT_NULL;
17819 fra.me.REG[4] = NIT_NULL;
17820 fra.me.REG[5] = NIT_NULL;
17821 fra.me.REG[6] = NIT_NULL;
17822 fra.me.REG[7] = NIT_NULL;
17823 fra.me.REG[0] = p0;
17824 fra.me.REG[1] = p1;
17825 /* parser/parser.nit:5577 */
17826 fra.me.REG[2] = NIT_NULL;
17827 /* parser/parser.nit:5578 */
17828 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17829 /* parser/parser.nit:5579 */
17830 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17831 /* parser/parser.nit:5580 */
17832 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17833 /* parser/parser.nit:5581 */
17834 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17835 /* parser/parser.nit:5582 */
17836 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17837 /* parser/parser.nit:5583 */
17838 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17839 /* parser/parser.nit:5584 */
17840 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17841 /* parser/parser.nit:5586 */
17842 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*/;
17843 if (UNTAG_Bool(REGB0)) {
17844 } else {
17845 nit_abort("Assert failed", NULL, LOCATE_parser, 5586);
17846 }
17847 /* parser/parser.nit:5588 */
17848 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*/;
17849 if (UNTAG_Bool(REGB0)) {
17850 } else {
17851 nit_abort("Assert failed", NULL, LOCATE_parser, 5588);
17852 }
17853 /* parser/parser.nit:5590 */
17854 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*/;
17855 if (UNTAG_Bool(REGB0)) {
17856 } else {
17857 nit_abort("Assert failed", NULL, LOCATE_parser, 5590);
17858 }
17859 /* parser/parser.nit:5592 */
17860 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*/;
17861 if (UNTAG_Bool(REGB0)) {
17862 } else {
17863 nit_abort("Assert failed", NULL, LOCATE_parser, 5592);
17864 }
17865 /* parser/parser.nit:5594 */
17866 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*/;
17867 if (UNTAG_Bool(REGB0)) {
17868 } else {
17869 nit_abort("Assert failed", NULL, LOCATE_parser, 5594);
17870 }
17871 /* parser/parser.nit:5595 */
17872 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]);
17873 /* parser/parser.nit:5603 */
17874 fra.me.REG[2] = fra.me.REG[3];
17875 /* parser/parser.nit:5604 */
17876 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17877 if (UNTAG_Bool(REGB0)) {
17878 } else {
17879 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5604);
17880 }
17881 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17882 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17883 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17884 stack_frame_head = fra.me.prev;
17885 return;
17886 }
17887 static const char LOCATE_parser___ReduceAction125___action[] = "parser::ReduceAction125::(parser::ReduceAction::action)";
17888 void parser___ReduceAction125___action(val_t p0, val_t p1){
17889 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
17890 val_t REGB0;
17891 val_t tmp;
17892 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17893 fra.me.file = LOCATE_parser;
17894 fra.me.line = 5609;
17895 fra.me.meth = LOCATE_parser___ReduceAction125___action;
17896 fra.me.has_broke = 0;
17897 fra.me.REG_size = 9;
17898 fra.me.nitni_local_ref_head = NULL;
17899 fra.me.REG[0] = NIT_NULL;
17900 fra.me.REG[1] = NIT_NULL;
17901 fra.me.REG[2] = NIT_NULL;
17902 fra.me.REG[3] = NIT_NULL;
17903 fra.me.REG[4] = NIT_NULL;
17904 fra.me.REG[5] = NIT_NULL;
17905 fra.me.REG[6] = NIT_NULL;
17906 fra.me.REG[7] = NIT_NULL;
17907 fra.me.REG[8] = NIT_NULL;
17908 fra.me.REG[0] = p0;
17909 fra.me.REG[1] = p1;
17910 /* parser/parser.nit:5611 */
17911 fra.me.REG[2] = NIT_NULL;
17912 /* parser/parser.nit:5612 */
17913 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17914 /* parser/parser.nit:5613 */
17915 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17916 /* parser/parser.nit:5614 */
17917 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17918 /* parser/parser.nit:5615 */
17919 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17920 /* parser/parser.nit:5616 */
17921 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17922 /* parser/parser.nit:5617 */
17923 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17924 /* parser/parser.nit:5618 */
17925 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17926 /* parser/parser.nit:5619 */
17927 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
17928 /* parser/parser.nit:5621 */
17929 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*/;
17930 if (UNTAG_Bool(REGB0)) {
17931 } else {
17932 nit_abort("Assert failed", NULL, LOCATE_parser, 5621);
17933 }
17934 /* parser/parser.nit:5623 */
17935 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*/;
17936 if (UNTAG_Bool(REGB0)) {
17937 } else {
17938 nit_abort("Assert failed", NULL, LOCATE_parser, 5623);
17939 }
17940 /* parser/parser.nit:5625 */
17941 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*/;
17942 if (UNTAG_Bool(REGB0)) {
17943 } else {
17944 nit_abort("Assert failed", NULL, LOCATE_parser, 5625);
17945 }
17946 /* parser/parser.nit:5627 */
17947 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*/;
17948 if (UNTAG_Bool(REGB0)) {
17949 } else {
17950 nit_abort("Assert failed", NULL, LOCATE_parser, 5627);
17951 }
17952 /* parser/parser.nit:5629 */
17953 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*/;
17954 if (UNTAG_Bool(REGB0)) {
17955 } else {
17956 nit_abort("Assert failed", NULL, LOCATE_parser, 5629);
17957 }
17958 /* parser/parser.nit:5631 */
17959 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*/;
17960 if (UNTAG_Bool(REGB0)) {
17961 } else {
17962 nit_abort("Assert failed", NULL, LOCATE_parser, 5631);
17963 }
17964 /* parser/parser.nit:5632 */
17965 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]);
17966 /* parser/parser.nit:5640 */
17967 fra.me.REG[2] = fra.me.REG[3];
17968 /* parser/parser.nit:5641 */
17969 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
17970 if (UNTAG_Bool(REGB0)) {
17971 } else {
17972 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5641);
17973 }
17974 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
17975 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
17976 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
17977 stack_frame_head = fra.me.prev;
17978 return;
17979 }
17980 static const char LOCATE_parser___ReduceAction126___action[] = "parser::ReduceAction126::(parser::ReduceAction::action)";
17981 void parser___ReduceAction126___action(val_t p0, val_t p1){
17982 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
17983 val_t REGB0;
17984 val_t tmp;
17985 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17986 fra.me.file = LOCATE_parser;
17987 fra.me.line = 5646;
17988 fra.me.meth = LOCATE_parser___ReduceAction126___action;
17989 fra.me.has_broke = 0;
17990 fra.me.REG_size = 8;
17991 fra.me.nitni_local_ref_head = NULL;
17992 fra.me.REG[0] = NIT_NULL;
17993 fra.me.REG[1] = NIT_NULL;
17994 fra.me.REG[2] = NIT_NULL;
17995 fra.me.REG[3] = NIT_NULL;
17996 fra.me.REG[4] = NIT_NULL;
17997 fra.me.REG[5] = NIT_NULL;
17998 fra.me.REG[6] = NIT_NULL;
17999 fra.me.REG[7] = NIT_NULL;
18000 fra.me.REG[0] = p0;
18001 fra.me.REG[1] = p1;
18002 /* parser/parser.nit:5648 */
18003 fra.me.REG[2] = NIT_NULL;
18004 /* parser/parser.nit:5649 */
18005 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18006 /* parser/parser.nit:5650 */
18007 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18008 /* parser/parser.nit:5651 */
18009 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18010 /* parser/parser.nit:5652 */
18011 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18012 /* parser/parser.nit:5653 */
18013 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18014 /* parser/parser.nit:5654 */
18015 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18016 /* parser/parser.nit:5655 */
18017 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18018 /* parser/parser.nit:5657 */
18019 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*/;
18020 if (UNTAG_Bool(REGB0)) {
18021 } else {
18022 nit_abort("Assert failed", NULL, LOCATE_parser, 5657);
18023 }
18024 /* parser/parser.nit:5659 */
18025 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*/;
18026 if (UNTAG_Bool(REGB0)) {
18027 } else {
18028 nit_abort("Assert failed", NULL, LOCATE_parser, 5659);
18029 }
18030 /* parser/parser.nit:5661 */
18031 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*/;
18032 if (UNTAG_Bool(REGB0)) {
18033 } else {
18034 nit_abort("Assert failed", NULL, LOCATE_parser, 5661);
18035 }
18036 /* parser/parser.nit:5663 */
18037 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*/;
18038 if (UNTAG_Bool(REGB0)) {
18039 } else {
18040 nit_abort("Assert failed", NULL, LOCATE_parser, 5663);
18041 }
18042 /* parser/parser.nit:5665 */
18043 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*/;
18044 if (UNTAG_Bool(REGB0)) {
18045 } else {
18046 nit_abort("Assert failed", NULL, LOCATE_parser, 5665);
18047 }
18048 /* parser/parser.nit:5666 */
18049 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
18050 /* parser/parser.nit:5677 */
18051 fra.me.REG[2] = fra.me.REG[3];
18052 /* parser/parser.nit:5678 */
18053 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18054 if (UNTAG_Bool(REGB0)) {
18055 } else {
18056 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5678);
18057 }
18058 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18059 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18060 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18061 stack_frame_head = fra.me.prev;
18062 return;
18063 }
18064 static const char LOCATE_parser___ReduceAction127___action[] = "parser::ReduceAction127::(parser::ReduceAction::action)";
18065 void parser___ReduceAction127___action(val_t p0, val_t p1){
18066 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18067 val_t REGB0;
18068 val_t tmp;
18069 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18070 fra.me.file = LOCATE_parser;
18071 fra.me.line = 5683;
18072 fra.me.meth = LOCATE_parser___ReduceAction127___action;
18073 fra.me.has_broke = 0;
18074 fra.me.REG_size = 9;
18075 fra.me.nitni_local_ref_head = NULL;
18076 fra.me.REG[0] = NIT_NULL;
18077 fra.me.REG[1] = NIT_NULL;
18078 fra.me.REG[2] = NIT_NULL;
18079 fra.me.REG[3] = NIT_NULL;
18080 fra.me.REG[4] = NIT_NULL;
18081 fra.me.REG[5] = NIT_NULL;
18082 fra.me.REG[6] = NIT_NULL;
18083 fra.me.REG[7] = NIT_NULL;
18084 fra.me.REG[8] = NIT_NULL;
18085 fra.me.REG[0] = p0;
18086 fra.me.REG[1] = p1;
18087 /* parser/parser.nit:5685 */
18088 fra.me.REG[2] = NIT_NULL;
18089 /* parser/parser.nit:5686 */
18090 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18091 /* parser/parser.nit:5687 */
18092 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18093 /* parser/parser.nit:5688 */
18094 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18095 /* parser/parser.nit:5689 */
18096 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18097 /* parser/parser.nit:5690 */
18098 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18099 /* parser/parser.nit:5691 */
18100 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18101 /* parser/parser.nit:5692 */
18102 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18103 /* parser/parser.nit:5693 */
18104 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18105 /* parser/parser.nit:5695 */
18106 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*/;
18107 if (UNTAG_Bool(REGB0)) {
18108 } else {
18109 nit_abort("Assert failed", NULL, LOCATE_parser, 5695);
18110 }
18111 /* parser/parser.nit:5697 */
18112 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*/;
18113 if (UNTAG_Bool(REGB0)) {
18114 } else {
18115 nit_abort("Assert failed", NULL, LOCATE_parser, 5697);
18116 }
18117 /* parser/parser.nit:5699 */
18118 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*/;
18119 if (UNTAG_Bool(REGB0)) {
18120 } else {
18121 nit_abort("Assert failed", NULL, LOCATE_parser, 5699);
18122 }
18123 /* parser/parser.nit:5701 */
18124 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*/;
18125 if (UNTAG_Bool(REGB0)) {
18126 } else {
18127 nit_abort("Assert failed", NULL, LOCATE_parser, 5701);
18128 }
18129 /* parser/parser.nit:5703 */
18130 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*/;
18131 if (UNTAG_Bool(REGB0)) {
18132 } else {
18133 nit_abort("Assert failed", NULL, LOCATE_parser, 5703);
18134 }
18135 /* parser/parser.nit:5705 */
18136 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*/;
18137 if (UNTAG_Bool(REGB0)) {
18138 } else {
18139 nit_abort("Assert failed", NULL, LOCATE_parser, 5705);
18140 }
18141 /* parser/parser.nit:5706 */
18142 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
18143 /* parser/parser.nit:5717 */
18144 fra.me.REG[2] = fra.me.REG[3];
18145 /* parser/parser.nit:5718 */
18146 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18147 if (UNTAG_Bool(REGB0)) {
18148 } else {
18149 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5718);
18150 }
18151 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18152 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18153 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18154 stack_frame_head = fra.me.prev;
18155 return;
18156 }
18157 static const char LOCATE_parser___ReduceAction128___action[] = "parser::ReduceAction128::(parser::ReduceAction::action)";
18158 void parser___ReduceAction128___action(val_t p0, val_t p1){
18159 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18160 val_t REGB0;
18161 val_t tmp;
18162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18163 fra.me.file = LOCATE_parser;
18164 fra.me.line = 5723;
18165 fra.me.meth = LOCATE_parser___ReduceAction128___action;
18166 fra.me.has_broke = 0;
18167 fra.me.REG_size = 9;
18168 fra.me.nitni_local_ref_head = NULL;
18169 fra.me.REG[0] = NIT_NULL;
18170 fra.me.REG[1] = NIT_NULL;
18171 fra.me.REG[2] = NIT_NULL;
18172 fra.me.REG[3] = NIT_NULL;
18173 fra.me.REG[4] = NIT_NULL;
18174 fra.me.REG[5] = NIT_NULL;
18175 fra.me.REG[6] = NIT_NULL;
18176 fra.me.REG[7] = NIT_NULL;
18177 fra.me.REG[8] = NIT_NULL;
18178 fra.me.REG[0] = p0;
18179 fra.me.REG[1] = p1;
18180 /* parser/parser.nit:5725 */
18181 fra.me.REG[2] = NIT_NULL;
18182 /* parser/parser.nit:5726 */
18183 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18184 /* parser/parser.nit:5727 */
18185 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18186 /* parser/parser.nit:5728 */
18187 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18188 /* parser/parser.nit:5729 */
18189 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18190 /* parser/parser.nit:5730 */
18191 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18192 /* parser/parser.nit:5731 */
18193 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18194 /* parser/parser.nit:5732 */
18195 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18196 /* parser/parser.nit:5733 */
18197 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18198 /* parser/parser.nit:5735 */
18199 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*/;
18200 if (UNTAG_Bool(REGB0)) {
18201 } else {
18202 nit_abort("Assert failed", NULL, LOCATE_parser, 5735);
18203 }
18204 /* parser/parser.nit:5737 */
18205 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*/;
18206 if (UNTAG_Bool(REGB0)) {
18207 } else {
18208 nit_abort("Assert failed", NULL, LOCATE_parser, 5737);
18209 }
18210 /* parser/parser.nit:5739 */
18211 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*/;
18212 if (UNTAG_Bool(REGB0)) {
18213 } else {
18214 nit_abort("Assert failed", NULL, LOCATE_parser, 5739);
18215 }
18216 /* parser/parser.nit:5741 */
18217 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*/;
18218 if (UNTAG_Bool(REGB0)) {
18219 } else {
18220 nit_abort("Assert failed", NULL, LOCATE_parser, 5741);
18221 }
18222 /* parser/parser.nit:5743 */
18223 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*/;
18224 if (UNTAG_Bool(REGB0)) {
18225 } else {
18226 nit_abort("Assert failed", NULL, LOCATE_parser, 5743);
18227 }
18228 /* parser/parser.nit:5745 */
18229 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*/;
18230 if (UNTAG_Bool(REGB0)) {
18231 } else {
18232 nit_abort("Assert failed", NULL, LOCATE_parser, 5745);
18233 }
18234 /* parser/parser.nit:5746 */
18235 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
18236 /* parser/parser.nit:5757 */
18237 fra.me.REG[2] = fra.me.REG[3];
18238 /* parser/parser.nit:5758 */
18239 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18240 if (UNTAG_Bool(REGB0)) {
18241 } else {
18242 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5758);
18243 }
18244 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18245 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18246 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18247 stack_frame_head = fra.me.prev;
18248 return;
18249 }
18250 static const char LOCATE_parser___ReduceAction129___action[] = "parser::ReduceAction129::(parser::ReduceAction::action)";
18251 void parser___ReduceAction129___action(val_t p0, val_t p1){
18252 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
18253 val_t REGB0;
18254 val_t tmp;
18255 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18256 fra.me.file = LOCATE_parser;
18257 fra.me.line = 5763;
18258 fra.me.meth = LOCATE_parser___ReduceAction129___action;
18259 fra.me.has_broke = 0;
18260 fra.me.REG_size = 10;
18261 fra.me.nitni_local_ref_head = NULL;
18262 fra.me.REG[0] = NIT_NULL;
18263 fra.me.REG[1] = NIT_NULL;
18264 fra.me.REG[2] = NIT_NULL;
18265 fra.me.REG[3] = NIT_NULL;
18266 fra.me.REG[4] = NIT_NULL;
18267 fra.me.REG[5] = NIT_NULL;
18268 fra.me.REG[6] = NIT_NULL;
18269 fra.me.REG[7] = NIT_NULL;
18270 fra.me.REG[8] = NIT_NULL;
18271 fra.me.REG[9] = NIT_NULL;
18272 fra.me.REG[0] = p0;
18273 fra.me.REG[1] = p1;
18274 /* parser/parser.nit:5765 */
18275 fra.me.REG[2] = NIT_NULL;
18276 /* parser/parser.nit:5766 */
18277 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18278 /* parser/parser.nit:5767 */
18279 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18280 /* parser/parser.nit:5768 */
18281 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18282 /* parser/parser.nit:5769 */
18283 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18284 /* parser/parser.nit:5770 */
18285 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18286 /* parser/parser.nit:5771 */
18287 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18288 /* parser/parser.nit:5772 */
18289 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18290 /* parser/parser.nit:5773 */
18291 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18292 /* parser/parser.nit:5774 */
18293 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18294 /* parser/parser.nit:5776 */
18295 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*/;
18296 if (UNTAG_Bool(REGB0)) {
18297 } else {
18298 nit_abort("Assert failed", NULL, LOCATE_parser, 5776);
18299 }
18300 /* parser/parser.nit:5778 */
18301 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*/;
18302 if (UNTAG_Bool(REGB0)) {
18303 } else {
18304 nit_abort("Assert failed", NULL, LOCATE_parser, 5778);
18305 }
18306 /* parser/parser.nit:5780 */
18307 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*/;
18308 if (UNTAG_Bool(REGB0)) {
18309 } else {
18310 nit_abort("Assert failed", NULL, LOCATE_parser, 5780);
18311 }
18312 /* parser/parser.nit:5782 */
18313 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*/;
18314 if (UNTAG_Bool(REGB0)) {
18315 } else {
18316 nit_abort("Assert failed", NULL, LOCATE_parser, 5782);
18317 }
18318 /* parser/parser.nit:5784 */
18319 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*/;
18320 if (UNTAG_Bool(REGB0)) {
18321 } else {
18322 nit_abort("Assert failed", NULL, LOCATE_parser, 5784);
18323 }
18324 /* parser/parser.nit:5786 */
18325 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*/;
18326 if (UNTAG_Bool(REGB0)) {
18327 } else {
18328 nit_abort("Assert failed", NULL, LOCATE_parser, 5786);
18329 }
18330 /* parser/parser.nit:5788 */
18331 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*/;
18332 if (UNTAG_Bool(REGB0)) {
18333 } else {
18334 nit_abort("Assert failed", NULL, LOCATE_parser, 5788);
18335 }
18336 /* parser/parser.nit:5789 */
18337 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
18338 /* parser/parser.nit:5800 */
18339 fra.me.REG[2] = fra.me.REG[3];
18340 /* parser/parser.nit:5801 */
18341 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18342 if (UNTAG_Bool(REGB0)) {
18343 } else {
18344 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5801);
18345 }
18346 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18347 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18348 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18349 stack_frame_head = fra.me.prev;
18350 return;
18351 }
18352 static const char LOCATE_parser___ReduceAction130___action[] = "parser::ReduceAction130::(parser::ReduceAction::action)";
18353 void parser___ReduceAction130___action(val_t p0, val_t p1){
18354 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18355 val_t REGB0;
18356 val_t tmp;
18357 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18358 fra.me.file = LOCATE_parser;
18359 fra.me.line = 5806;
18360 fra.me.meth = LOCATE_parser___ReduceAction130___action;
18361 fra.me.has_broke = 0;
18362 fra.me.REG_size = 9;
18363 fra.me.nitni_local_ref_head = NULL;
18364 fra.me.REG[0] = NIT_NULL;
18365 fra.me.REG[1] = NIT_NULL;
18366 fra.me.REG[2] = NIT_NULL;
18367 fra.me.REG[3] = NIT_NULL;
18368 fra.me.REG[4] = NIT_NULL;
18369 fra.me.REG[5] = NIT_NULL;
18370 fra.me.REG[6] = NIT_NULL;
18371 fra.me.REG[7] = NIT_NULL;
18372 fra.me.REG[8] = NIT_NULL;
18373 fra.me.REG[0] = p0;
18374 fra.me.REG[1] = p1;
18375 /* parser/parser.nit:5808 */
18376 fra.me.REG[2] = NIT_NULL;
18377 /* parser/parser.nit:5809 */
18378 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18379 /* parser/parser.nit:5810 */
18380 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18381 /* parser/parser.nit:5811 */
18382 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18383 /* parser/parser.nit:5812 */
18384 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18385 /* parser/parser.nit:5813 */
18386 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18387 /* parser/parser.nit:5814 */
18388 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18389 /* parser/parser.nit:5815 */
18390 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18391 /* parser/parser.nit:5816 */
18392 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18393 /* parser/parser.nit:5818 */
18394 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*/;
18395 if (UNTAG_Bool(REGB0)) {
18396 } else {
18397 nit_abort("Assert failed", NULL, LOCATE_parser, 5818);
18398 }
18399 /* parser/parser.nit:5820 */
18400 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*/;
18401 if (UNTAG_Bool(REGB0)) {
18402 } else {
18403 nit_abort("Assert failed", NULL, LOCATE_parser, 5820);
18404 }
18405 /* parser/parser.nit:5822 */
18406 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*/;
18407 if (UNTAG_Bool(REGB0)) {
18408 } else {
18409 nit_abort("Assert failed", NULL, LOCATE_parser, 5822);
18410 }
18411 /* parser/parser.nit:5824 */
18412 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*/;
18413 if (UNTAG_Bool(REGB0)) {
18414 } else {
18415 nit_abort("Assert failed", NULL, LOCATE_parser, 5824);
18416 }
18417 /* parser/parser.nit:5826 */
18418 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*/;
18419 if (UNTAG_Bool(REGB0)) {
18420 } else {
18421 nit_abort("Assert failed", NULL, LOCATE_parser, 5826);
18422 }
18423 /* parser/parser.nit:5828 */
18424 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
18425 if (UNTAG_Bool(REGB0)) {
18426 } else {
18427 nit_abort("Assert failed", NULL, LOCATE_parser, 5828);
18428 }
18429 /* parser/parser.nit:5829 */
18430 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
18431 /* parser/parser.nit:5840 */
18432 fra.me.REG[2] = fra.me.REG[3];
18433 /* parser/parser.nit:5841 */
18434 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18435 if (UNTAG_Bool(REGB0)) {
18436 } else {
18437 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5841);
18438 }
18439 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18440 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18441 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18442 stack_frame_head = fra.me.prev;
18443 return;
18444 }
18445 static const char LOCATE_parser___ReduceAction131___action[] = "parser::ReduceAction131::(parser::ReduceAction::action)";
18446 void parser___ReduceAction131___action(val_t p0, val_t p1){
18447 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
18448 val_t REGB0;
18449 val_t tmp;
18450 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18451 fra.me.file = LOCATE_parser;
18452 fra.me.line = 5846;
18453 fra.me.meth = LOCATE_parser___ReduceAction131___action;
18454 fra.me.has_broke = 0;
18455 fra.me.REG_size = 10;
18456 fra.me.nitni_local_ref_head = NULL;
18457 fra.me.REG[0] = NIT_NULL;
18458 fra.me.REG[1] = NIT_NULL;
18459 fra.me.REG[2] = NIT_NULL;
18460 fra.me.REG[3] = NIT_NULL;
18461 fra.me.REG[4] = NIT_NULL;
18462 fra.me.REG[5] = NIT_NULL;
18463 fra.me.REG[6] = NIT_NULL;
18464 fra.me.REG[7] = NIT_NULL;
18465 fra.me.REG[8] = NIT_NULL;
18466 fra.me.REG[9] = NIT_NULL;
18467 fra.me.REG[0] = p0;
18468 fra.me.REG[1] = p1;
18469 /* parser/parser.nit:5848 */
18470 fra.me.REG[2] = NIT_NULL;
18471 /* parser/parser.nit:5849 */
18472 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18473 /* parser/parser.nit:5850 */
18474 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18475 /* parser/parser.nit:5851 */
18476 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18477 /* parser/parser.nit:5852 */
18478 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18479 /* parser/parser.nit:5853 */
18480 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18481 /* parser/parser.nit:5854 */
18482 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18483 /* parser/parser.nit:5855 */
18484 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18485 /* parser/parser.nit:5856 */
18486 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18487 /* parser/parser.nit:5857 */
18488 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18489 /* parser/parser.nit:5859 */
18490 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*/;
18491 if (UNTAG_Bool(REGB0)) {
18492 } else {
18493 nit_abort("Assert failed", NULL, LOCATE_parser, 5859);
18494 }
18495 /* parser/parser.nit:5861 */
18496 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*/;
18497 if (UNTAG_Bool(REGB0)) {
18498 } else {
18499 nit_abort("Assert failed", NULL, LOCATE_parser, 5861);
18500 }
18501 /* parser/parser.nit:5863 */
18502 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*/;
18503 if (UNTAG_Bool(REGB0)) {
18504 } else {
18505 nit_abort("Assert failed", NULL, LOCATE_parser, 5863);
18506 }
18507 /* parser/parser.nit:5865 */
18508 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*/;
18509 if (UNTAG_Bool(REGB0)) {
18510 } else {
18511 nit_abort("Assert failed", NULL, LOCATE_parser, 5865);
18512 }
18513 /* parser/parser.nit:5867 */
18514 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*/;
18515 if (UNTAG_Bool(REGB0)) {
18516 } else {
18517 nit_abort("Assert failed", NULL, LOCATE_parser, 5867);
18518 }
18519 /* parser/parser.nit:5869 */
18520 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*/;
18521 if (UNTAG_Bool(REGB0)) {
18522 } else {
18523 nit_abort("Assert failed", NULL, LOCATE_parser, 5869);
18524 }
18525 /* parser/parser.nit:5871 */
18526 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
18527 if (UNTAG_Bool(REGB0)) {
18528 } else {
18529 nit_abort("Assert failed", NULL, LOCATE_parser, 5871);
18530 }
18531 /* parser/parser.nit:5872 */
18532 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
18533 /* parser/parser.nit:5883 */
18534 fra.me.REG[2] = fra.me.REG[3];
18535 /* parser/parser.nit:5884 */
18536 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18537 if (UNTAG_Bool(REGB0)) {
18538 } else {
18539 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5884);
18540 }
18541 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18542 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18543 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18544 stack_frame_head = fra.me.prev;
18545 return;
18546 }
18547 static const char LOCATE_parser___ReduceAction132___action[] = "parser::ReduceAction132::(parser::ReduceAction::action)";
18548 void parser___ReduceAction132___action(val_t p0, val_t p1){
18549 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
18550 val_t REGB0;
18551 val_t tmp;
18552 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18553 fra.me.file = LOCATE_parser;
18554 fra.me.line = 5889;
18555 fra.me.meth = LOCATE_parser___ReduceAction132___action;
18556 fra.me.has_broke = 0;
18557 fra.me.REG_size = 10;
18558 fra.me.nitni_local_ref_head = NULL;
18559 fra.me.REG[0] = NIT_NULL;
18560 fra.me.REG[1] = NIT_NULL;
18561 fra.me.REG[2] = NIT_NULL;
18562 fra.me.REG[3] = NIT_NULL;
18563 fra.me.REG[4] = NIT_NULL;
18564 fra.me.REG[5] = NIT_NULL;
18565 fra.me.REG[6] = NIT_NULL;
18566 fra.me.REG[7] = NIT_NULL;
18567 fra.me.REG[8] = NIT_NULL;
18568 fra.me.REG[9] = NIT_NULL;
18569 fra.me.REG[0] = p0;
18570 fra.me.REG[1] = p1;
18571 /* parser/parser.nit:5891 */
18572 fra.me.REG[2] = NIT_NULL;
18573 /* parser/parser.nit:5892 */
18574 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18575 /* parser/parser.nit:5893 */
18576 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18577 /* parser/parser.nit:5894 */
18578 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18579 /* parser/parser.nit:5895 */
18580 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18581 /* parser/parser.nit:5896 */
18582 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18583 /* parser/parser.nit:5897 */
18584 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18585 /* parser/parser.nit:5898 */
18586 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18587 /* parser/parser.nit:5899 */
18588 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18589 /* parser/parser.nit:5900 */
18590 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18591 /* parser/parser.nit:5902 */
18592 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*/;
18593 if (UNTAG_Bool(REGB0)) {
18594 } else {
18595 nit_abort("Assert failed", NULL, LOCATE_parser, 5902);
18596 }
18597 /* parser/parser.nit:5904 */
18598 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*/;
18599 if (UNTAG_Bool(REGB0)) {
18600 } else {
18601 nit_abort("Assert failed", NULL, LOCATE_parser, 5904);
18602 }
18603 /* parser/parser.nit:5906 */
18604 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
18605 if (UNTAG_Bool(REGB0)) {
18606 } else {
18607 nit_abort("Assert failed", NULL, LOCATE_parser, 5906);
18608 }
18609 /* parser/parser.nit:5908 */
18610 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
18611 if (UNTAG_Bool(REGB0)) {
18612 } else {
18613 nit_abort("Assert failed", NULL, LOCATE_parser, 5908);
18614 }
18615 /* parser/parser.nit:5910 */
18616 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18617 if (UNTAG_Bool(REGB0)) {
18618 } else {
18619 nit_abort("Assert failed", NULL, LOCATE_parser, 5910);
18620 }
18621 /* parser/parser.nit:5912 */
18622 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
18623 if (UNTAG_Bool(REGB0)) {
18624 } else {
18625 nit_abort("Assert failed", NULL, LOCATE_parser, 5912);
18626 }
18627 /* parser/parser.nit:5914 */
18628 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
18629 if (UNTAG_Bool(REGB0)) {
18630 } else {
18631 nit_abort("Assert failed", NULL, LOCATE_parser, 5914);
18632 }
18633 /* parser/parser.nit:5915 */
18634 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
18635 /* parser/parser.nit:5926 */
18636 fra.me.REG[2] = fra.me.REG[3];
18637 /* parser/parser.nit:5927 */
18638 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18639 if (UNTAG_Bool(REGB0)) {
18640 } else {
18641 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5927);
18642 }
18643 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18644 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18645 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18646 stack_frame_head = fra.me.prev;
18647 return;
18648 }
18649 static const char LOCATE_parser___ReduceAction133___action[] = "parser::ReduceAction133::(parser::ReduceAction::action)";
18650 void parser___ReduceAction133___action(val_t p0, val_t p1){
18651 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
18652 val_t REGB0;
18653 val_t tmp;
18654 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18655 fra.me.file = LOCATE_parser;
18656 fra.me.line = 5932;
18657 fra.me.meth = LOCATE_parser___ReduceAction133___action;
18658 fra.me.has_broke = 0;
18659 fra.me.REG_size = 11;
18660 fra.me.nitni_local_ref_head = NULL;
18661 fra.me.REG[0] = NIT_NULL;
18662 fra.me.REG[1] = NIT_NULL;
18663 fra.me.REG[2] = NIT_NULL;
18664 fra.me.REG[3] = NIT_NULL;
18665 fra.me.REG[4] = NIT_NULL;
18666 fra.me.REG[5] = NIT_NULL;
18667 fra.me.REG[6] = NIT_NULL;
18668 fra.me.REG[7] = NIT_NULL;
18669 fra.me.REG[8] = NIT_NULL;
18670 fra.me.REG[9] = NIT_NULL;
18671 fra.me.REG[10] = NIT_NULL;
18672 fra.me.REG[0] = p0;
18673 fra.me.REG[1] = p1;
18674 /* parser/parser.nit:5934 */
18675 fra.me.REG[2] = NIT_NULL;
18676 /* parser/parser.nit:5935 */
18677 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18678 /* parser/parser.nit:5936 */
18679 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18680 /* parser/parser.nit:5937 */
18681 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18682 /* parser/parser.nit:5938 */
18683 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18684 /* parser/parser.nit:5939 */
18685 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18686 /* parser/parser.nit:5940 */
18687 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18688 /* parser/parser.nit:5941 */
18689 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18690 /* parser/parser.nit:5942 */
18691 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18692 /* parser/parser.nit:5943 */
18693 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18694 /* parser/parser.nit:5944 */
18695 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18696 /* parser/parser.nit:5946 */
18697 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*/;
18698 if (UNTAG_Bool(REGB0)) {
18699 } else {
18700 nit_abort("Assert failed", NULL, LOCATE_parser, 5946);
18701 }
18702 /* parser/parser.nit:5948 */
18703 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*/;
18704 if (UNTAG_Bool(REGB0)) {
18705 } else {
18706 nit_abort("Assert failed", NULL, LOCATE_parser, 5948);
18707 }
18708 /* parser/parser.nit:5950 */
18709 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*/;
18710 if (UNTAG_Bool(REGB0)) {
18711 } else {
18712 nit_abort("Assert failed", NULL, LOCATE_parser, 5950);
18713 }
18714 /* parser/parser.nit:5952 */
18715 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
18716 if (UNTAG_Bool(REGB0)) {
18717 } else {
18718 nit_abort("Assert failed", NULL, LOCATE_parser, 5952);
18719 }
18720 /* parser/parser.nit:5954 */
18721 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
18722 if (UNTAG_Bool(REGB0)) {
18723 } else {
18724 nit_abort("Assert failed", NULL, LOCATE_parser, 5954);
18725 }
18726 /* parser/parser.nit:5956 */
18727 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
18728 if (UNTAG_Bool(REGB0)) {
18729 } else {
18730 nit_abort("Assert failed", NULL, LOCATE_parser, 5956);
18731 }
18732 /* parser/parser.nit:5958 */
18733 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
18734 if (UNTAG_Bool(REGB0)) {
18735 } else {
18736 nit_abort("Assert failed", NULL, LOCATE_parser, 5958);
18737 }
18738 /* parser/parser.nit:5960 */
18739 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
18740 if (UNTAG_Bool(REGB0)) {
18741 } else {
18742 nit_abort("Assert failed", NULL, LOCATE_parser, 5960);
18743 }
18744 /* parser/parser.nit:5961 */
18745 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
18746 /* parser/parser.nit:5972 */
18747 fra.me.REG[2] = fra.me.REG[3];
18748 /* parser/parser.nit:5973 */
18749 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18750 if (UNTAG_Bool(REGB0)) {
18751 } else {
18752 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 5973);
18753 }
18754 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18755 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18756 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18757 stack_frame_head = fra.me.prev;
18758 return;
18759 }
18760 static const char LOCATE_parser___ReduceAction134___action[] = "parser::ReduceAction134::(parser::ReduceAction::action)";
18761 void parser___ReduceAction134___action(val_t p0, val_t p1){
18762 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
18763 val_t REGB0;
18764 val_t tmp;
18765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18766 fra.me.file = LOCATE_parser;
18767 fra.me.line = 5978;
18768 fra.me.meth = LOCATE_parser___ReduceAction134___action;
18769 fra.me.has_broke = 0;
18770 fra.me.REG_size = 9;
18771 fra.me.nitni_local_ref_head = NULL;
18772 fra.me.REG[0] = NIT_NULL;
18773 fra.me.REG[1] = NIT_NULL;
18774 fra.me.REG[2] = NIT_NULL;
18775 fra.me.REG[3] = NIT_NULL;
18776 fra.me.REG[4] = NIT_NULL;
18777 fra.me.REG[5] = NIT_NULL;
18778 fra.me.REG[6] = NIT_NULL;
18779 fra.me.REG[7] = NIT_NULL;
18780 fra.me.REG[8] = NIT_NULL;
18781 fra.me.REG[0] = p0;
18782 fra.me.REG[1] = p1;
18783 /* parser/parser.nit:5980 */
18784 fra.me.REG[2] = NIT_NULL;
18785 /* parser/parser.nit:5981 */
18786 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18787 /* parser/parser.nit:5982 */
18788 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18789 /* parser/parser.nit:5983 */
18790 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18791 /* parser/parser.nit:5984 */
18792 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18793 /* parser/parser.nit:5985 */
18794 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18795 /* parser/parser.nit:5986 */
18796 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18797 /* parser/parser.nit:5987 */
18798 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18799 /* parser/parser.nit:5988 */
18800 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18801 /* parser/parser.nit:5990 */
18802 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*/;
18803 if (UNTAG_Bool(REGB0)) {
18804 } else {
18805 nit_abort("Assert failed", NULL, LOCATE_parser, 5990);
18806 }
18807 /* parser/parser.nit:5992 */
18808 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*/;
18809 if (UNTAG_Bool(REGB0)) {
18810 } else {
18811 nit_abort("Assert failed", NULL, LOCATE_parser, 5992);
18812 }
18813 /* parser/parser.nit:5994 */
18814 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*/;
18815 if (UNTAG_Bool(REGB0)) {
18816 } else {
18817 nit_abort("Assert failed", NULL, LOCATE_parser, 5994);
18818 }
18819 /* parser/parser.nit:5996 */
18820 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*/;
18821 if (UNTAG_Bool(REGB0)) {
18822 } else {
18823 nit_abort("Assert failed", NULL, LOCATE_parser, 5996);
18824 }
18825 /* parser/parser.nit:5998 */
18826 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*/;
18827 if (UNTAG_Bool(REGB0)) {
18828 } else {
18829 nit_abort("Assert failed", NULL, LOCATE_parser, 5998);
18830 }
18831 /* parser/parser.nit:6000 */
18832 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
18833 if (UNTAG_Bool(REGB0)) {
18834 } else {
18835 nit_abort("Assert failed", NULL, LOCATE_parser, 6000);
18836 }
18837 /* parser/parser.nit:6001 */
18838 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
18839 /* parser/parser.nit:6012 */
18840 fra.me.REG[2] = fra.me.REG[3];
18841 /* parser/parser.nit:6013 */
18842 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18843 if (UNTAG_Bool(REGB0)) {
18844 } else {
18845 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6013);
18846 }
18847 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18848 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18849 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18850 stack_frame_head = fra.me.prev;
18851 return;
18852 }
18853 static const char LOCATE_parser___ReduceAction135___action[] = "parser::ReduceAction135::(parser::ReduceAction::action)";
18854 void parser___ReduceAction135___action(val_t p0, val_t p1){
18855 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
18856 val_t REGB0;
18857 val_t tmp;
18858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18859 fra.me.file = LOCATE_parser;
18860 fra.me.line = 6018;
18861 fra.me.meth = LOCATE_parser___ReduceAction135___action;
18862 fra.me.has_broke = 0;
18863 fra.me.REG_size = 10;
18864 fra.me.nitni_local_ref_head = NULL;
18865 fra.me.REG[0] = NIT_NULL;
18866 fra.me.REG[1] = NIT_NULL;
18867 fra.me.REG[2] = NIT_NULL;
18868 fra.me.REG[3] = NIT_NULL;
18869 fra.me.REG[4] = NIT_NULL;
18870 fra.me.REG[5] = NIT_NULL;
18871 fra.me.REG[6] = NIT_NULL;
18872 fra.me.REG[7] = NIT_NULL;
18873 fra.me.REG[8] = NIT_NULL;
18874 fra.me.REG[9] = NIT_NULL;
18875 fra.me.REG[0] = p0;
18876 fra.me.REG[1] = p1;
18877 /* parser/parser.nit:6020 */
18878 fra.me.REG[2] = NIT_NULL;
18879 /* parser/parser.nit:6021 */
18880 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18881 /* parser/parser.nit:6022 */
18882 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18883 /* parser/parser.nit:6023 */
18884 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18885 /* parser/parser.nit:6024 */
18886 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18887 /* parser/parser.nit:6025 */
18888 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18889 /* parser/parser.nit:6026 */
18890 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18891 /* parser/parser.nit:6027 */
18892 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18893 /* parser/parser.nit:6028 */
18894 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18895 /* parser/parser.nit:6029 */
18896 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18897 /* parser/parser.nit:6031 */
18898 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*/;
18899 if (UNTAG_Bool(REGB0)) {
18900 } else {
18901 nit_abort("Assert failed", NULL, LOCATE_parser, 6031);
18902 }
18903 /* parser/parser.nit:6033 */
18904 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*/;
18905 if (UNTAG_Bool(REGB0)) {
18906 } else {
18907 nit_abort("Assert failed", NULL, LOCATE_parser, 6033);
18908 }
18909 /* parser/parser.nit:6035 */
18910 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*/;
18911 if (UNTAG_Bool(REGB0)) {
18912 } else {
18913 nit_abort("Assert failed", NULL, LOCATE_parser, 6035);
18914 }
18915 /* parser/parser.nit:6037 */
18916 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*/;
18917 if (UNTAG_Bool(REGB0)) {
18918 } else {
18919 nit_abort("Assert failed", NULL, LOCATE_parser, 6037);
18920 }
18921 /* parser/parser.nit:6039 */
18922 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*/;
18923 if (UNTAG_Bool(REGB0)) {
18924 } else {
18925 nit_abort("Assert failed", NULL, LOCATE_parser, 6039);
18926 }
18927 /* parser/parser.nit:6041 */
18928 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*/;
18929 if (UNTAG_Bool(REGB0)) {
18930 } else {
18931 nit_abort("Assert failed", NULL, LOCATE_parser, 6041);
18932 }
18933 /* parser/parser.nit:6043 */
18934 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
18935 if (UNTAG_Bool(REGB0)) {
18936 } else {
18937 nit_abort("Assert failed", NULL, LOCATE_parser, 6043);
18938 }
18939 /* parser/parser.nit:6044 */
18940 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
18941 /* parser/parser.nit:6055 */
18942 fra.me.REG[2] = fra.me.REG[3];
18943 /* parser/parser.nit:6056 */
18944 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
18945 if (UNTAG_Bool(REGB0)) {
18946 } else {
18947 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6056);
18948 }
18949 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
18950 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
18951 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
18952 stack_frame_head = fra.me.prev;
18953 return;
18954 }
18955 static const char LOCATE_parser___ReduceAction136___action[] = "parser::ReduceAction136::(parser::ReduceAction::action)";
18956 void parser___ReduceAction136___action(val_t p0, val_t p1){
18957 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
18958 val_t REGB0;
18959 val_t tmp;
18960 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18961 fra.me.file = LOCATE_parser;
18962 fra.me.line = 6061;
18963 fra.me.meth = LOCATE_parser___ReduceAction136___action;
18964 fra.me.has_broke = 0;
18965 fra.me.REG_size = 10;
18966 fra.me.nitni_local_ref_head = NULL;
18967 fra.me.REG[0] = NIT_NULL;
18968 fra.me.REG[1] = NIT_NULL;
18969 fra.me.REG[2] = NIT_NULL;
18970 fra.me.REG[3] = NIT_NULL;
18971 fra.me.REG[4] = NIT_NULL;
18972 fra.me.REG[5] = NIT_NULL;
18973 fra.me.REG[6] = NIT_NULL;
18974 fra.me.REG[7] = NIT_NULL;
18975 fra.me.REG[8] = NIT_NULL;
18976 fra.me.REG[9] = NIT_NULL;
18977 fra.me.REG[0] = p0;
18978 fra.me.REG[1] = p1;
18979 /* parser/parser.nit:6063 */
18980 fra.me.REG[2] = NIT_NULL;
18981 /* parser/parser.nit:6064 */
18982 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18983 /* parser/parser.nit:6065 */
18984 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18985 /* parser/parser.nit:6066 */
18986 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18987 /* parser/parser.nit:6067 */
18988 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18989 /* parser/parser.nit:6068 */
18990 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18991 /* parser/parser.nit:6069 */
18992 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18993 /* parser/parser.nit:6070 */
18994 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18995 /* parser/parser.nit:6071 */
18996 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18997 /* parser/parser.nit:6072 */
18998 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
18999 /* parser/parser.nit:6074 */
19000 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*/;
19001 if (UNTAG_Bool(REGB0)) {
19002 } else {
19003 nit_abort("Assert failed", NULL, LOCATE_parser, 6074);
19004 }
19005 /* parser/parser.nit:6076 */
19006 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*/;
19007 if (UNTAG_Bool(REGB0)) {
19008 } else {
19009 nit_abort("Assert failed", NULL, LOCATE_parser, 6076);
19010 }
19011 /* parser/parser.nit:6078 */
19012 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
19013 if (UNTAG_Bool(REGB0)) {
19014 } else {
19015 nit_abort("Assert failed", NULL, LOCATE_parser, 6078);
19016 }
19017 /* parser/parser.nit:6080 */
19018 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19019 if (UNTAG_Bool(REGB0)) {
19020 } else {
19021 nit_abort("Assert failed", NULL, LOCATE_parser, 6080);
19022 }
19023 /* parser/parser.nit:6082 */
19024 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19025 if (UNTAG_Bool(REGB0)) {
19026 } else {
19027 nit_abort("Assert failed", NULL, LOCATE_parser, 6082);
19028 }
19029 /* parser/parser.nit:6084 */
19030 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
19031 if (UNTAG_Bool(REGB0)) {
19032 } else {
19033 nit_abort("Assert failed", NULL, LOCATE_parser, 6084);
19034 }
19035 /* parser/parser.nit:6086 */
19036 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19037 if (UNTAG_Bool(REGB0)) {
19038 } else {
19039 nit_abort("Assert failed", NULL, LOCATE_parser, 6086);
19040 }
19041 /* parser/parser.nit:6087 */
19042 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
19043 /* parser/parser.nit:6098 */
19044 fra.me.REG[2] = fra.me.REG[3];
19045 /* parser/parser.nit:6099 */
19046 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19047 if (UNTAG_Bool(REGB0)) {
19048 } else {
19049 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6099);
19050 }
19051 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19052 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19053 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19054 stack_frame_head = fra.me.prev;
19055 return;
19056 }
19057 static const char LOCATE_parser___ReduceAction137___action[] = "parser::ReduceAction137::(parser::ReduceAction::action)";
19058 void parser___ReduceAction137___action(val_t p0, val_t p1){
19059 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
19060 val_t REGB0;
19061 val_t tmp;
19062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19063 fra.me.file = LOCATE_parser;
19064 fra.me.line = 6104;
19065 fra.me.meth = LOCATE_parser___ReduceAction137___action;
19066 fra.me.has_broke = 0;
19067 fra.me.REG_size = 11;
19068 fra.me.nitni_local_ref_head = NULL;
19069 fra.me.REG[0] = NIT_NULL;
19070 fra.me.REG[1] = NIT_NULL;
19071 fra.me.REG[2] = NIT_NULL;
19072 fra.me.REG[3] = NIT_NULL;
19073 fra.me.REG[4] = NIT_NULL;
19074 fra.me.REG[5] = NIT_NULL;
19075 fra.me.REG[6] = NIT_NULL;
19076 fra.me.REG[7] = NIT_NULL;
19077 fra.me.REG[8] = NIT_NULL;
19078 fra.me.REG[9] = NIT_NULL;
19079 fra.me.REG[10] = NIT_NULL;
19080 fra.me.REG[0] = p0;
19081 fra.me.REG[1] = p1;
19082 /* parser/parser.nit:6106 */
19083 fra.me.REG[2] = NIT_NULL;
19084 /* parser/parser.nit:6107 */
19085 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19086 /* parser/parser.nit:6108 */
19087 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19088 /* parser/parser.nit:6109 */
19089 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19090 /* parser/parser.nit:6110 */
19091 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19092 /* parser/parser.nit:6111 */
19093 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19094 /* parser/parser.nit:6112 */
19095 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19096 /* parser/parser.nit:6113 */
19097 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19098 /* parser/parser.nit:6114 */
19099 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19100 /* parser/parser.nit:6115 */
19101 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19102 /* parser/parser.nit:6116 */
19103 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19104 /* parser/parser.nit:6118 */
19105 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*/;
19106 if (UNTAG_Bool(REGB0)) {
19107 } else {
19108 nit_abort("Assert failed", NULL, LOCATE_parser, 6118);
19109 }
19110 /* parser/parser.nit:6120 */
19111 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*/;
19112 if (UNTAG_Bool(REGB0)) {
19113 } else {
19114 nit_abort("Assert failed", NULL, LOCATE_parser, 6120);
19115 }
19116 /* parser/parser.nit:6122 */
19117 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*/;
19118 if (UNTAG_Bool(REGB0)) {
19119 } else {
19120 nit_abort("Assert failed", NULL, LOCATE_parser, 6122);
19121 }
19122 /* parser/parser.nit:6124 */
19123 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
19124 if (UNTAG_Bool(REGB0)) {
19125 } else {
19126 nit_abort("Assert failed", NULL, LOCATE_parser, 6124);
19127 }
19128 /* parser/parser.nit:6126 */
19129 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19130 if (UNTAG_Bool(REGB0)) {
19131 } else {
19132 nit_abort("Assert failed", NULL, LOCATE_parser, 6126);
19133 }
19134 /* parser/parser.nit:6128 */
19135 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19136 if (UNTAG_Bool(REGB0)) {
19137 } else {
19138 nit_abort("Assert failed", NULL, LOCATE_parser, 6128);
19139 }
19140 /* parser/parser.nit:6130 */
19141 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
19142 if (UNTAG_Bool(REGB0)) {
19143 } else {
19144 nit_abort("Assert failed", NULL, LOCATE_parser, 6130);
19145 }
19146 /* parser/parser.nit:6132 */
19147 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19148 if (UNTAG_Bool(REGB0)) {
19149 } else {
19150 nit_abort("Assert failed", NULL, LOCATE_parser, 6132);
19151 }
19152 /* parser/parser.nit:6133 */
19153 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
19154 /* parser/parser.nit:6144 */
19155 fra.me.REG[2] = fra.me.REG[3];
19156 /* parser/parser.nit:6145 */
19157 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19158 if (UNTAG_Bool(REGB0)) {
19159 } else {
19160 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6145);
19161 }
19162 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19163 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19164 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19165 stack_frame_head = fra.me.prev;
19166 return;
19167 }
19168 static const char LOCATE_parser___ReduceAction138___action[] = "parser::ReduceAction138::(parser::ReduceAction::action)";
19169 void parser___ReduceAction138___action(val_t p0, val_t p1){
19170 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
19171 val_t REGB0;
19172 val_t tmp;
19173 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19174 fra.me.file = LOCATE_parser;
19175 fra.me.line = 6150;
19176 fra.me.meth = LOCATE_parser___ReduceAction138___action;
19177 fra.me.has_broke = 0;
19178 fra.me.REG_size = 10;
19179 fra.me.nitni_local_ref_head = NULL;
19180 fra.me.REG[0] = NIT_NULL;
19181 fra.me.REG[1] = NIT_NULL;
19182 fra.me.REG[2] = NIT_NULL;
19183 fra.me.REG[3] = NIT_NULL;
19184 fra.me.REG[4] = NIT_NULL;
19185 fra.me.REG[5] = NIT_NULL;
19186 fra.me.REG[6] = NIT_NULL;
19187 fra.me.REG[7] = NIT_NULL;
19188 fra.me.REG[8] = NIT_NULL;
19189 fra.me.REG[9] = NIT_NULL;
19190 fra.me.REG[0] = p0;
19191 fra.me.REG[1] = p1;
19192 /* parser/parser.nit:6152 */
19193 fra.me.REG[2] = NIT_NULL;
19194 /* parser/parser.nit:6153 */
19195 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19196 /* parser/parser.nit:6154 */
19197 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19198 /* parser/parser.nit:6155 */
19199 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19200 /* parser/parser.nit:6156 */
19201 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19202 /* parser/parser.nit:6157 */
19203 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19204 /* parser/parser.nit:6158 */
19205 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19206 /* parser/parser.nit:6159 */
19207 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19208 /* parser/parser.nit:6160 */
19209 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19210 /* parser/parser.nit:6161 */
19211 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19212 /* parser/parser.nit:6163 */
19213 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*/;
19214 if (UNTAG_Bool(REGB0)) {
19215 } else {
19216 nit_abort("Assert failed", NULL, LOCATE_parser, 6163);
19217 }
19218 /* parser/parser.nit:6165 */
19219 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*/;
19220 if (UNTAG_Bool(REGB0)) {
19221 } else {
19222 nit_abort("Assert failed", NULL, LOCATE_parser, 6165);
19223 }
19224 /* parser/parser.nit:6167 */
19225 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
19226 if (UNTAG_Bool(REGB0)) {
19227 } else {
19228 nit_abort("Assert failed", NULL, LOCATE_parser, 6167);
19229 }
19230 /* parser/parser.nit:6169 */
19231 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19232 if (UNTAG_Bool(REGB0)) {
19233 } else {
19234 nit_abort("Assert failed", NULL, LOCATE_parser, 6169);
19235 }
19236 /* parser/parser.nit:6171 */
19237 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19238 if (UNTAG_Bool(REGB0)) {
19239 } else {
19240 nit_abort("Assert failed", NULL, LOCATE_parser, 6171);
19241 }
19242 /* parser/parser.nit:6173 */
19243 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19244 if (UNTAG_Bool(REGB0)) {
19245 } else {
19246 nit_abort("Assert failed", NULL, LOCATE_parser, 6173);
19247 }
19248 /* parser/parser.nit:6175 */
19249 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19250 if (UNTAG_Bool(REGB0)) {
19251 } else {
19252 nit_abort("Assert failed", NULL, LOCATE_parser, 6175);
19253 }
19254 /* parser/parser.nit:6176 */
19255 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
19256 /* parser/parser.nit:6187 */
19257 fra.me.REG[2] = fra.me.REG[3];
19258 /* parser/parser.nit:6188 */
19259 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19260 if (UNTAG_Bool(REGB0)) {
19261 } else {
19262 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6188);
19263 }
19264 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19265 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19266 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19267 stack_frame_head = fra.me.prev;
19268 return;
19269 }
19270 static const char LOCATE_parser___ReduceAction139___action[] = "parser::ReduceAction139::(parser::ReduceAction::action)";
19271 void parser___ReduceAction139___action(val_t p0, val_t p1){
19272 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
19273 val_t REGB0;
19274 val_t tmp;
19275 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19276 fra.me.file = LOCATE_parser;
19277 fra.me.line = 6193;
19278 fra.me.meth = LOCATE_parser___ReduceAction139___action;
19279 fra.me.has_broke = 0;
19280 fra.me.REG_size = 11;
19281 fra.me.nitni_local_ref_head = NULL;
19282 fra.me.REG[0] = NIT_NULL;
19283 fra.me.REG[1] = NIT_NULL;
19284 fra.me.REG[2] = NIT_NULL;
19285 fra.me.REG[3] = NIT_NULL;
19286 fra.me.REG[4] = NIT_NULL;
19287 fra.me.REG[5] = NIT_NULL;
19288 fra.me.REG[6] = NIT_NULL;
19289 fra.me.REG[7] = NIT_NULL;
19290 fra.me.REG[8] = NIT_NULL;
19291 fra.me.REG[9] = NIT_NULL;
19292 fra.me.REG[10] = NIT_NULL;
19293 fra.me.REG[0] = p0;
19294 fra.me.REG[1] = p1;
19295 /* parser/parser.nit:6195 */
19296 fra.me.REG[2] = NIT_NULL;
19297 /* parser/parser.nit:6196 */
19298 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19299 /* parser/parser.nit:6197 */
19300 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19301 /* parser/parser.nit:6198 */
19302 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19303 /* parser/parser.nit:6199 */
19304 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19305 /* parser/parser.nit:6200 */
19306 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19307 /* parser/parser.nit:6201 */
19308 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19309 /* parser/parser.nit:6202 */
19310 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19311 /* parser/parser.nit:6203 */
19312 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19313 /* parser/parser.nit:6204 */
19314 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19315 /* parser/parser.nit:6205 */
19316 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19317 /* parser/parser.nit:6207 */
19318 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*/;
19319 if (UNTAG_Bool(REGB0)) {
19320 } else {
19321 nit_abort("Assert failed", NULL, LOCATE_parser, 6207);
19322 }
19323 /* parser/parser.nit:6209 */
19324 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*/;
19325 if (UNTAG_Bool(REGB0)) {
19326 } else {
19327 nit_abort("Assert failed", NULL, LOCATE_parser, 6209);
19328 }
19329 /* parser/parser.nit:6211 */
19330 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*/;
19331 if (UNTAG_Bool(REGB0)) {
19332 } else {
19333 nit_abort("Assert failed", NULL, LOCATE_parser, 6211);
19334 }
19335 /* parser/parser.nit:6213 */
19336 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
19337 if (UNTAG_Bool(REGB0)) {
19338 } else {
19339 nit_abort("Assert failed", NULL, LOCATE_parser, 6213);
19340 }
19341 /* parser/parser.nit:6215 */
19342 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19343 if (UNTAG_Bool(REGB0)) {
19344 } else {
19345 nit_abort("Assert failed", NULL, LOCATE_parser, 6215);
19346 }
19347 /* parser/parser.nit:6217 */
19348 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19349 if (UNTAG_Bool(REGB0)) {
19350 } else {
19351 nit_abort("Assert failed", NULL, LOCATE_parser, 6217);
19352 }
19353 /* parser/parser.nit:6219 */
19354 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19355 if (UNTAG_Bool(REGB0)) {
19356 } else {
19357 nit_abort("Assert failed", NULL, LOCATE_parser, 6219);
19358 }
19359 /* parser/parser.nit:6221 */
19360 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19361 if (UNTAG_Bool(REGB0)) {
19362 } else {
19363 nit_abort("Assert failed", NULL, LOCATE_parser, 6221);
19364 }
19365 /* parser/parser.nit:6222 */
19366 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
19367 /* parser/parser.nit:6233 */
19368 fra.me.REG[2] = fra.me.REG[3];
19369 /* parser/parser.nit:6234 */
19370 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19371 if (UNTAG_Bool(REGB0)) {
19372 } else {
19373 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6234);
19374 }
19375 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19376 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19377 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19378 stack_frame_head = fra.me.prev;
19379 return;
19380 }
19381 static const char LOCATE_parser___ReduceAction140___action[] = "parser::ReduceAction140::(parser::ReduceAction::action)";
19382 void parser___ReduceAction140___action(val_t p0, val_t p1){
19383 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
19384 val_t REGB0;
19385 val_t tmp;
19386 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19387 fra.me.file = LOCATE_parser;
19388 fra.me.line = 6239;
19389 fra.me.meth = LOCATE_parser___ReduceAction140___action;
19390 fra.me.has_broke = 0;
19391 fra.me.REG_size = 11;
19392 fra.me.nitni_local_ref_head = NULL;
19393 fra.me.REG[0] = NIT_NULL;
19394 fra.me.REG[1] = NIT_NULL;
19395 fra.me.REG[2] = NIT_NULL;
19396 fra.me.REG[3] = NIT_NULL;
19397 fra.me.REG[4] = NIT_NULL;
19398 fra.me.REG[5] = NIT_NULL;
19399 fra.me.REG[6] = NIT_NULL;
19400 fra.me.REG[7] = NIT_NULL;
19401 fra.me.REG[8] = NIT_NULL;
19402 fra.me.REG[9] = NIT_NULL;
19403 fra.me.REG[10] = NIT_NULL;
19404 fra.me.REG[0] = p0;
19405 fra.me.REG[1] = p1;
19406 /* parser/parser.nit:6241 */
19407 fra.me.REG[2] = NIT_NULL;
19408 /* parser/parser.nit:6242 */
19409 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19410 /* parser/parser.nit:6243 */
19411 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19412 /* parser/parser.nit:6244 */
19413 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19414 /* parser/parser.nit:6245 */
19415 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19416 /* parser/parser.nit:6246 */
19417 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19418 /* parser/parser.nit:6247 */
19419 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19420 /* parser/parser.nit:6248 */
19421 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19422 /* parser/parser.nit:6249 */
19423 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19424 /* parser/parser.nit:6250 */
19425 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19426 /* parser/parser.nit:6251 */
19427 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19428 /* parser/parser.nit:6253 */
19429 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*/;
19430 if (UNTAG_Bool(REGB0)) {
19431 } else {
19432 nit_abort("Assert failed", NULL, LOCATE_parser, 6253);
19433 }
19434 /* parser/parser.nit:6255 */
19435 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19436 if (UNTAG_Bool(REGB0)) {
19437 } else {
19438 nit_abort("Assert failed", NULL, LOCATE_parser, 6255);
19439 }
19440 /* parser/parser.nit:6257 */
19441 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
19442 if (UNTAG_Bool(REGB0)) {
19443 } else {
19444 nit_abort("Assert failed", NULL, LOCATE_parser, 6257);
19445 }
19446 /* parser/parser.nit:6259 */
19447 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19448 if (UNTAG_Bool(REGB0)) {
19449 } else {
19450 nit_abort("Assert failed", NULL, LOCATE_parser, 6259);
19451 }
19452 /* parser/parser.nit:6261 */
19453 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19454 if (UNTAG_Bool(REGB0)) {
19455 } else {
19456 nit_abort("Assert failed", NULL, LOCATE_parser, 6261);
19457 }
19458 /* parser/parser.nit:6263 */
19459 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
19460 if (UNTAG_Bool(REGB0)) {
19461 } else {
19462 nit_abort("Assert failed", NULL, LOCATE_parser, 6263);
19463 }
19464 /* parser/parser.nit:6265 */
19465 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19466 if (UNTAG_Bool(REGB0)) {
19467 } else {
19468 nit_abort("Assert failed", NULL, LOCATE_parser, 6265);
19469 }
19470 /* parser/parser.nit:6267 */
19471 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19472 if (UNTAG_Bool(REGB0)) {
19473 } else {
19474 nit_abort("Assert failed", NULL, LOCATE_parser, 6267);
19475 }
19476 /* parser/parser.nit:6268 */
19477 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(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], fra.me.REG[4], fra.me.REG[3]);
19478 /* parser/parser.nit:6279 */
19479 fra.me.REG[2] = fra.me.REG[3];
19480 /* parser/parser.nit:6280 */
19481 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19482 if (UNTAG_Bool(REGB0)) {
19483 } else {
19484 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6280);
19485 }
19486 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19487 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19489 stack_frame_head = fra.me.prev;
19490 return;
19491 }
19492 static const char LOCATE_parser___ReduceAction141___action[] = "parser::ReduceAction141::(parser::ReduceAction::action)";
19493 void parser___ReduceAction141___action(val_t p0, val_t p1){
19494 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
19495 val_t REGB0;
19496 val_t tmp;
19497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19498 fra.me.file = LOCATE_parser;
19499 fra.me.line = 6285;
19500 fra.me.meth = LOCATE_parser___ReduceAction141___action;
19501 fra.me.has_broke = 0;
19502 fra.me.REG_size = 12;
19503 fra.me.nitni_local_ref_head = NULL;
19504 fra.me.REG[0] = NIT_NULL;
19505 fra.me.REG[1] = NIT_NULL;
19506 fra.me.REG[2] = NIT_NULL;
19507 fra.me.REG[3] = NIT_NULL;
19508 fra.me.REG[4] = NIT_NULL;
19509 fra.me.REG[5] = NIT_NULL;
19510 fra.me.REG[6] = NIT_NULL;
19511 fra.me.REG[7] = NIT_NULL;
19512 fra.me.REG[8] = NIT_NULL;
19513 fra.me.REG[9] = NIT_NULL;
19514 fra.me.REG[10] = NIT_NULL;
19515 fra.me.REG[11] = NIT_NULL;
19516 fra.me.REG[0] = p0;
19517 fra.me.REG[1] = p1;
19518 /* parser/parser.nit:6287 */
19519 fra.me.REG[2] = NIT_NULL;
19520 /* parser/parser.nit:6288 */
19521 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19522 /* parser/parser.nit:6289 */
19523 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19524 /* parser/parser.nit:6290 */
19525 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19526 /* parser/parser.nit:6291 */
19527 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19528 /* parser/parser.nit:6292 */
19529 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19530 /* parser/parser.nit:6293 */
19531 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19532 /* parser/parser.nit:6294 */
19533 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19534 /* parser/parser.nit:6295 */
19535 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19536 /* parser/parser.nit:6296 */
19537 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19538 /* parser/parser.nit:6297 */
19539 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19540 /* parser/parser.nit:6298 */
19541 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19542 /* parser/parser.nit:6300 */
19543 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*/;
19544 if (UNTAG_Bool(REGB0)) {
19545 } else {
19546 nit_abort("Assert failed", NULL, LOCATE_parser, 6300);
19547 }
19548 /* parser/parser.nit:6302 */
19549 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
19550 if (UNTAG_Bool(REGB0)) {
19551 } else {
19552 nit_abort("Assert failed", NULL, LOCATE_parser, 6302);
19553 }
19554 /* parser/parser.nit:6304 */
19555 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
19556 if (UNTAG_Bool(REGB0)) {
19557 } else {
19558 nit_abort("Assert failed", NULL, LOCATE_parser, 6304);
19559 }
19560 /* parser/parser.nit:6306 */
19561 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
19562 if (UNTAG_Bool(REGB0)) {
19563 } else {
19564 nit_abort("Assert failed", NULL, LOCATE_parser, 6306);
19565 }
19566 /* parser/parser.nit:6308 */
19567 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19568 if (UNTAG_Bool(REGB0)) {
19569 } else {
19570 nit_abort("Assert failed", NULL, LOCATE_parser, 6308);
19571 }
19572 /* parser/parser.nit:6310 */
19573 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19574 if (UNTAG_Bool(REGB0)) {
19575 } else {
19576 nit_abort("Assert failed", NULL, LOCATE_parser, 6310);
19577 }
19578 /* parser/parser.nit:6312 */
19579 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
19580 if (UNTAG_Bool(REGB0)) {
19581 } else {
19582 nit_abort("Assert failed", NULL, LOCATE_parser, 6312);
19583 }
19584 /* parser/parser.nit:6314 */
19585 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19586 if (UNTAG_Bool(REGB0)) {
19587 } else {
19588 nit_abort("Assert failed", NULL, LOCATE_parser, 6314);
19589 }
19590 /* parser/parser.nit:6316 */
19591 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19592 if (UNTAG_Bool(REGB0)) {
19593 } else {
19594 nit_abort("Assert failed", NULL, LOCATE_parser, 6316);
19595 }
19596 /* parser/parser.nit:6317 */
19597 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(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], fra.me.REG[4], fra.me.REG[3]);
19598 /* parser/parser.nit:6328 */
19599 fra.me.REG[2] = fra.me.REG[3];
19600 /* parser/parser.nit:6329 */
19601 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19602 if (UNTAG_Bool(REGB0)) {
19603 } else {
19604 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6329);
19605 }
19606 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19607 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19608 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19609 stack_frame_head = fra.me.prev;
19610 return;
19611 }
19612 static const char LOCATE_parser___ReduceAction142___action[] = "parser::ReduceAction142::(parser::ReduceAction::action)";
19613 void parser___ReduceAction142___action(val_t p0, val_t p1){
19614 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
19615 val_t REGB0;
19616 val_t tmp;
19617 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19618 fra.me.file = LOCATE_parser;
19619 fra.me.line = 6334;
19620 fra.me.meth = LOCATE_parser___ReduceAction142___action;
19621 fra.me.has_broke = 0;
19622 fra.me.REG_size = 9;
19623 fra.me.nitni_local_ref_head = NULL;
19624 fra.me.REG[0] = NIT_NULL;
19625 fra.me.REG[1] = NIT_NULL;
19626 fra.me.REG[2] = NIT_NULL;
19627 fra.me.REG[3] = NIT_NULL;
19628 fra.me.REG[4] = NIT_NULL;
19629 fra.me.REG[5] = NIT_NULL;
19630 fra.me.REG[6] = NIT_NULL;
19631 fra.me.REG[7] = NIT_NULL;
19632 fra.me.REG[8] = NIT_NULL;
19633 fra.me.REG[0] = p0;
19634 fra.me.REG[1] = p1;
19635 /* parser/parser.nit:6336 */
19636 fra.me.REG[2] = NIT_NULL;
19637 /* parser/parser.nit:6337 */
19638 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19639 /* parser/parser.nit:6338 */
19640 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19641 /* parser/parser.nit:6339 */
19642 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19643 /* parser/parser.nit:6340 */
19644 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19645 /* parser/parser.nit:6341 */
19646 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19647 /* parser/parser.nit:6342 */
19648 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19649 /* parser/parser.nit:6344 */
19650 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*/;
19651 if (UNTAG_Bool(REGB0)) {
19652 } else {
19653 nit_abort("Assert failed", NULL, LOCATE_parser, 6344);
19654 }
19655 /* parser/parser.nit:6346 */
19656 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*/;
19657 if (UNTAG_Bool(REGB0)) {
19658 } else {
19659 nit_abort("Assert failed", NULL, LOCATE_parser, 6346);
19660 }
19661 /* parser/parser.nit:6348 */
19662 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*/;
19663 if (UNTAG_Bool(REGB0)) {
19664 } else {
19665 nit_abort("Assert failed", NULL, LOCATE_parser, 6348);
19666 }
19667 /* parser/parser.nit:6350 */
19668 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*/;
19669 if (UNTAG_Bool(REGB0)) {
19670 } else {
19671 nit_abort("Assert failed", NULL, LOCATE_parser, 6350);
19672 }
19673 /* parser/parser.nit:6352 */
19674 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*/;
19675 if (UNTAG_Bool(REGB0)) {
19676 } else {
19677 nit_abort("Assert failed", NULL, LOCATE_parser, 6352);
19678 }
19679 /* parser/parser.nit:6354 */
19680 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19681 if (UNTAG_Bool(REGB0)) {
19682 } else {
19683 nit_abort("Assert failed", NULL, LOCATE_parser, 6354);
19684 }
19685 /* parser/parser.nit:6355 */
19686 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
19687 /* parser/parser.nit:6366 */
19688 fra.me.REG[2] = fra.me.REG[3];
19689 /* parser/parser.nit:6367 */
19690 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19691 if (UNTAG_Bool(REGB0)) {
19692 } else {
19693 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6367);
19694 }
19695 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19697 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19698 stack_frame_head = fra.me.prev;
19699 return;
19700 }
19701 static const char LOCATE_parser___ReduceAction143___action[] = "parser::ReduceAction143::(parser::ReduceAction::action)";
19702 void parser___ReduceAction143___action(val_t p0, val_t p1){
19703 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
19704 val_t REGB0;
19705 val_t tmp;
19706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19707 fra.me.file = LOCATE_parser;
19708 fra.me.line = 6372;
19709 fra.me.meth = LOCATE_parser___ReduceAction143___action;
19710 fra.me.has_broke = 0;
19711 fra.me.REG_size = 10;
19712 fra.me.nitni_local_ref_head = NULL;
19713 fra.me.REG[0] = NIT_NULL;
19714 fra.me.REG[1] = NIT_NULL;
19715 fra.me.REG[2] = NIT_NULL;
19716 fra.me.REG[3] = NIT_NULL;
19717 fra.me.REG[4] = NIT_NULL;
19718 fra.me.REG[5] = NIT_NULL;
19719 fra.me.REG[6] = NIT_NULL;
19720 fra.me.REG[7] = NIT_NULL;
19721 fra.me.REG[8] = NIT_NULL;
19722 fra.me.REG[9] = NIT_NULL;
19723 fra.me.REG[0] = p0;
19724 fra.me.REG[1] = p1;
19725 /* parser/parser.nit:6374 */
19726 fra.me.REG[2] = NIT_NULL;
19727 /* parser/parser.nit:6375 */
19728 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19729 /* parser/parser.nit:6376 */
19730 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19731 /* parser/parser.nit:6377 */
19732 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19733 /* parser/parser.nit:6378 */
19734 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19735 /* parser/parser.nit:6379 */
19736 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19737 /* parser/parser.nit:6380 */
19738 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19739 /* parser/parser.nit:6381 */
19740 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19741 /* parser/parser.nit:6383 */
19742 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*/;
19743 if (UNTAG_Bool(REGB0)) {
19744 } else {
19745 nit_abort("Assert failed", NULL, LOCATE_parser, 6383);
19746 }
19747 /* parser/parser.nit:6385 */
19748 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*/;
19749 if (UNTAG_Bool(REGB0)) {
19750 } else {
19751 nit_abort("Assert failed", NULL, LOCATE_parser, 6385);
19752 }
19753 /* parser/parser.nit:6387 */
19754 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*/;
19755 if (UNTAG_Bool(REGB0)) {
19756 } else {
19757 nit_abort("Assert failed", NULL, LOCATE_parser, 6387);
19758 }
19759 /* parser/parser.nit:6389 */
19760 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*/;
19761 if (UNTAG_Bool(REGB0)) {
19762 } else {
19763 nit_abort("Assert failed", NULL, LOCATE_parser, 6389);
19764 }
19765 /* parser/parser.nit:6391 */
19766 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*/;
19767 if (UNTAG_Bool(REGB0)) {
19768 } else {
19769 nit_abort("Assert failed", NULL, LOCATE_parser, 6391);
19770 }
19771 /* parser/parser.nit:6393 */
19772 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*/;
19773 if (UNTAG_Bool(REGB0)) {
19774 } else {
19775 nit_abort("Assert failed", NULL, LOCATE_parser, 6393);
19776 }
19777 /* parser/parser.nit:6395 */
19778 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19779 if (UNTAG_Bool(REGB0)) {
19780 } else {
19781 nit_abort("Assert failed", NULL, LOCATE_parser, 6395);
19782 }
19783 /* parser/parser.nit:6396 */
19784 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
19785 /* parser/parser.nit:6407 */
19786 fra.me.REG[2] = fra.me.REG[3];
19787 /* parser/parser.nit:6408 */
19788 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19789 if (UNTAG_Bool(REGB0)) {
19790 } else {
19791 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6408);
19792 }
19793 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19794 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19795 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19796 stack_frame_head = fra.me.prev;
19797 return;
19798 }
19799 static const char LOCATE_parser___ReduceAction144___action[] = "parser::ReduceAction144::(parser::ReduceAction::action)";
19800 void parser___ReduceAction144___action(val_t p0, val_t p1){
19801 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
19802 val_t REGB0;
19803 val_t tmp;
19804 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19805 fra.me.file = LOCATE_parser;
19806 fra.me.line = 6413;
19807 fra.me.meth = LOCATE_parser___ReduceAction144___action;
19808 fra.me.has_broke = 0;
19809 fra.me.REG_size = 10;
19810 fra.me.nitni_local_ref_head = NULL;
19811 fra.me.REG[0] = NIT_NULL;
19812 fra.me.REG[1] = NIT_NULL;
19813 fra.me.REG[2] = NIT_NULL;
19814 fra.me.REG[3] = NIT_NULL;
19815 fra.me.REG[4] = NIT_NULL;
19816 fra.me.REG[5] = NIT_NULL;
19817 fra.me.REG[6] = NIT_NULL;
19818 fra.me.REG[7] = NIT_NULL;
19819 fra.me.REG[8] = NIT_NULL;
19820 fra.me.REG[9] = NIT_NULL;
19821 fra.me.REG[0] = p0;
19822 fra.me.REG[1] = p1;
19823 /* parser/parser.nit:6415 */
19824 fra.me.REG[2] = NIT_NULL;
19825 /* parser/parser.nit:6416 */
19826 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19827 /* parser/parser.nit:6417 */
19828 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19829 /* parser/parser.nit:6418 */
19830 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19831 /* parser/parser.nit:6419 */
19832 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19833 /* parser/parser.nit:6420 */
19834 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19835 /* parser/parser.nit:6421 */
19836 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19837 /* parser/parser.nit:6422 */
19838 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19839 /* parser/parser.nit:6424 */
19840 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*/;
19841 if (UNTAG_Bool(REGB0)) {
19842 } else {
19843 nit_abort("Assert failed", NULL, LOCATE_parser, 6424);
19844 }
19845 /* parser/parser.nit:6426 */
19846 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*/;
19847 if (UNTAG_Bool(REGB0)) {
19848 } else {
19849 nit_abort("Assert failed", NULL, LOCATE_parser, 6426);
19850 }
19851 /* parser/parser.nit:6428 */
19852 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
19853 if (UNTAG_Bool(REGB0)) {
19854 } else {
19855 nit_abort("Assert failed", NULL, LOCATE_parser, 6428);
19856 }
19857 /* parser/parser.nit:6430 */
19858 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19859 if (UNTAG_Bool(REGB0)) {
19860 } else {
19861 nit_abort("Assert failed", NULL, LOCATE_parser, 6430);
19862 }
19863 /* parser/parser.nit:6432 */
19864 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19865 if (UNTAG_Bool(REGB0)) {
19866 } else {
19867 nit_abort("Assert failed", NULL, LOCATE_parser, 6432);
19868 }
19869 /* parser/parser.nit:6434 */
19870 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19871 if (UNTAG_Bool(REGB0)) {
19872 } else {
19873 nit_abort("Assert failed", NULL, LOCATE_parser, 6434);
19874 }
19875 /* parser/parser.nit:6436 */
19876 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19877 if (UNTAG_Bool(REGB0)) {
19878 } else {
19879 nit_abort("Assert failed", NULL, LOCATE_parser, 6436);
19880 }
19881 /* parser/parser.nit:6437 */
19882 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
19883 /* parser/parser.nit:6448 */
19884 fra.me.REG[2] = fra.me.REG[3];
19885 /* parser/parser.nit:6449 */
19886 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19887 if (UNTAG_Bool(REGB0)) {
19888 } else {
19889 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6449);
19890 }
19891 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19892 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
19893 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
19894 stack_frame_head = fra.me.prev;
19895 return;
19896 }
19897 static const char LOCATE_parser___ReduceAction145___action[] = "parser::ReduceAction145::(parser::ReduceAction::action)";
19898 void parser___ReduceAction145___action(val_t p0, val_t p1){
19899 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
19900 val_t REGB0;
19901 val_t tmp;
19902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19903 fra.me.file = LOCATE_parser;
19904 fra.me.line = 6454;
19905 fra.me.meth = LOCATE_parser___ReduceAction145___action;
19906 fra.me.has_broke = 0;
19907 fra.me.REG_size = 11;
19908 fra.me.nitni_local_ref_head = NULL;
19909 fra.me.REG[0] = NIT_NULL;
19910 fra.me.REG[1] = NIT_NULL;
19911 fra.me.REG[2] = NIT_NULL;
19912 fra.me.REG[3] = NIT_NULL;
19913 fra.me.REG[4] = NIT_NULL;
19914 fra.me.REG[5] = NIT_NULL;
19915 fra.me.REG[6] = NIT_NULL;
19916 fra.me.REG[7] = NIT_NULL;
19917 fra.me.REG[8] = NIT_NULL;
19918 fra.me.REG[9] = NIT_NULL;
19919 fra.me.REG[10] = NIT_NULL;
19920 fra.me.REG[0] = p0;
19921 fra.me.REG[1] = p1;
19922 /* parser/parser.nit:6456 */
19923 fra.me.REG[2] = NIT_NULL;
19924 /* parser/parser.nit:6457 */
19925 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19926 /* parser/parser.nit:6458 */
19927 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19928 /* parser/parser.nit:6459 */
19929 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19930 /* parser/parser.nit:6460 */
19931 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19932 /* parser/parser.nit:6461 */
19933 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19934 /* parser/parser.nit:6462 */
19935 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19936 /* parser/parser.nit:6463 */
19937 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19938 /* parser/parser.nit:6464 */
19939 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
19940 /* parser/parser.nit:6466 */
19941 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*/;
19942 if (UNTAG_Bool(REGB0)) {
19943 } else {
19944 nit_abort("Assert failed", NULL, LOCATE_parser, 6466);
19945 }
19946 /* parser/parser.nit:6468 */
19947 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*/;
19948 if (UNTAG_Bool(REGB0)) {
19949 } else {
19950 nit_abort("Assert failed", NULL, LOCATE_parser, 6468);
19951 }
19952 /* parser/parser.nit:6470 */
19953 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*/;
19954 if (UNTAG_Bool(REGB0)) {
19955 } else {
19956 nit_abort("Assert failed", NULL, LOCATE_parser, 6470);
19957 }
19958 /* parser/parser.nit:6472 */
19959 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwmeth, ID_parser___parser_nodes___TKwmeth)) /*cast nullable TKwmeth*/;
19960 if (UNTAG_Bool(REGB0)) {
19961 } else {
19962 nit_abort("Assert failed", NULL, LOCATE_parser, 6472);
19963 }
19964 /* parser/parser.nit:6474 */
19965 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
19966 if (UNTAG_Bool(REGB0)) {
19967 } else {
19968 nit_abort("Assert failed", NULL, LOCATE_parser, 6474);
19969 }
19970 /* parser/parser.nit:6476 */
19971 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
19972 if (UNTAG_Bool(REGB0)) {
19973 } else {
19974 nit_abort("Assert failed", NULL, LOCATE_parser, 6476);
19975 }
19976 /* parser/parser.nit:6478 */
19977 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
19978 if (UNTAG_Bool(REGB0)) {
19979 } else {
19980 nit_abort("Assert failed", NULL, LOCATE_parser, 6478);
19981 }
19982 /* parser/parser.nit:6480 */
19983 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
19984 if (UNTAG_Bool(REGB0)) {
19985 } else {
19986 nit_abort("Assert failed", NULL, LOCATE_parser, 6480);
19987 }
19988 /* parser/parser.nit:6481 */
19989 fra.me.REG[3] = NEW_AExternMethPropdef_parser___parser_prod___AExternMethPropdef___init_aexternmethpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
19990 /* parser/parser.nit:6492 */
19991 fra.me.REG[2] = fra.me.REG[3];
19992 /* parser/parser.nit:6493 */
19993 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
19994 if (UNTAG_Bool(REGB0)) {
19995 } else {
19996 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6493);
19997 }
19998 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
19999 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20000 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20001 stack_frame_head = fra.me.prev;
20002 return;
20003 }
20004 static const char LOCATE_parser___ReduceAction146___action[] = "parser::ReduceAction146::(parser::ReduceAction::action)";
20005 void parser___ReduceAction146___action(val_t p0, val_t p1){
20006 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
20007 val_t REGB0;
20008 val_t tmp;
20009 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20010 fra.me.file = LOCATE_parser;
20011 fra.me.line = 6498;
20012 fra.me.meth = LOCATE_parser___ReduceAction146___action;
20013 fra.me.has_broke = 0;
20014 fra.me.REG_size = 7;
20015 fra.me.nitni_local_ref_head = NULL;
20016 fra.me.REG[0] = NIT_NULL;
20017 fra.me.REG[1] = NIT_NULL;
20018 fra.me.REG[2] = NIT_NULL;
20019 fra.me.REG[3] = NIT_NULL;
20020 fra.me.REG[4] = NIT_NULL;
20021 fra.me.REG[5] = NIT_NULL;
20022 fra.me.REG[6] = NIT_NULL;
20023 fra.me.REG[0] = p0;
20024 fra.me.REG[1] = p1;
20025 /* parser/parser.nit:6500 */
20026 fra.me.REG[2] = NIT_NULL;
20027 /* parser/parser.nit:6501 */
20028 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20029 /* parser/parser.nit:6502 */
20030 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20031 /* parser/parser.nit:6503 */
20032 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20033 /* parser/parser.nit:6504 */
20034 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20035 /* parser/parser.nit:6506 */
20036 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*/;
20037 if (UNTAG_Bool(REGB0)) {
20038 } else {
20039 nit_abort("Assert failed", NULL, LOCATE_parser, 6506);
20040 }
20041 /* parser/parser.nit:6508 */
20042 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*/;
20043 if (UNTAG_Bool(REGB0)) {
20044 } else {
20045 nit_abort("Assert failed", NULL, LOCATE_parser, 6508);
20046 }
20047 /* parser/parser.nit:6510 */
20048 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*/;
20049 if (UNTAG_Bool(REGB0)) {
20050 } else {
20051 nit_abort("Assert failed", NULL, LOCATE_parser, 6510);
20052 }
20053 /* parser/parser.nit:6512 */
20054 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*/;
20055 if (UNTAG_Bool(REGB0)) {
20056 } else {
20057 nit_abort("Assert failed", NULL, LOCATE_parser, 6512);
20058 }
20059 /* parser/parser.nit:6513 */
20060 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);
20061 /* parser/parser.nit:6525 */
20062 fra.me.REG[2] = fra.me.REG[3];
20063 /* parser/parser.nit:6526 */
20064 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20065 if (UNTAG_Bool(REGB0)) {
20066 } else {
20067 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6526);
20068 }
20069 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20070 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20071 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20072 stack_frame_head = fra.me.prev;
20073 return;
20074 }
20075 static const char LOCATE_parser___ReduceAction147___action[] = "parser::ReduceAction147::(parser::ReduceAction::action)";
20076 void parser___ReduceAction147___action(val_t p0, val_t p1){
20077 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20078 val_t REGB0;
20079 val_t tmp;
20080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20081 fra.me.file = LOCATE_parser;
20082 fra.me.line = 6531;
20083 fra.me.meth = LOCATE_parser___ReduceAction147___action;
20084 fra.me.has_broke = 0;
20085 fra.me.REG_size = 8;
20086 fra.me.nitni_local_ref_head = NULL;
20087 fra.me.REG[0] = NIT_NULL;
20088 fra.me.REG[1] = NIT_NULL;
20089 fra.me.REG[2] = NIT_NULL;
20090 fra.me.REG[3] = NIT_NULL;
20091 fra.me.REG[4] = NIT_NULL;
20092 fra.me.REG[5] = NIT_NULL;
20093 fra.me.REG[6] = NIT_NULL;
20094 fra.me.REG[7] = NIT_NULL;
20095 fra.me.REG[0] = p0;
20096 fra.me.REG[1] = p1;
20097 /* parser/parser.nit:6533 */
20098 fra.me.REG[2] = NIT_NULL;
20099 /* parser/parser.nit:6534 */
20100 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20101 /* parser/parser.nit:6535 */
20102 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20103 /* parser/parser.nit:6536 */
20104 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20105 /* parser/parser.nit:6537 */
20106 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20107 /* parser/parser.nit:6538 */
20108 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20109 /* parser/parser.nit:6540 */
20110 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*/;
20111 if (UNTAG_Bool(REGB0)) {
20112 } else {
20113 nit_abort("Assert failed", NULL, LOCATE_parser, 6540);
20114 }
20115 /* parser/parser.nit:6542 */
20116 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*/;
20117 if (UNTAG_Bool(REGB0)) {
20118 } else {
20119 nit_abort("Assert failed", NULL, LOCATE_parser, 6542);
20120 }
20121 /* parser/parser.nit:6544 */
20122 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*/;
20123 if (UNTAG_Bool(REGB0)) {
20124 } else {
20125 nit_abort("Assert failed", NULL, LOCATE_parser, 6544);
20126 }
20127 /* parser/parser.nit:6546 */
20128 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*/;
20129 if (UNTAG_Bool(REGB0)) {
20130 } else {
20131 nit_abort("Assert failed", NULL, LOCATE_parser, 6546);
20132 }
20133 /* parser/parser.nit:6548 */
20134 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*/;
20135 if (UNTAG_Bool(REGB0)) {
20136 } else {
20137 nit_abort("Assert failed", NULL, LOCATE_parser, 6548);
20138 }
20139 /* parser/parser.nit:6549 */
20140 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);
20141 /* parser/parser.nit:6561 */
20142 fra.me.REG[2] = fra.me.REG[3];
20143 /* parser/parser.nit:6562 */
20144 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20145 if (UNTAG_Bool(REGB0)) {
20146 } else {
20147 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6562);
20148 }
20149 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20150 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20151 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20152 stack_frame_head = fra.me.prev;
20153 return;
20154 }
20155 static const char LOCATE_parser___ReduceAction148___action[] = "parser::ReduceAction148::(parser::ReduceAction::action)";
20156 void parser___ReduceAction148___action(val_t p0, val_t p1){
20157 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20158 val_t REGB0;
20159 val_t tmp;
20160 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20161 fra.me.file = LOCATE_parser;
20162 fra.me.line = 6567;
20163 fra.me.meth = LOCATE_parser___ReduceAction148___action;
20164 fra.me.has_broke = 0;
20165 fra.me.REG_size = 8;
20166 fra.me.nitni_local_ref_head = NULL;
20167 fra.me.REG[0] = NIT_NULL;
20168 fra.me.REG[1] = NIT_NULL;
20169 fra.me.REG[2] = NIT_NULL;
20170 fra.me.REG[3] = NIT_NULL;
20171 fra.me.REG[4] = NIT_NULL;
20172 fra.me.REG[5] = NIT_NULL;
20173 fra.me.REG[6] = NIT_NULL;
20174 fra.me.REG[7] = NIT_NULL;
20175 fra.me.REG[0] = p0;
20176 fra.me.REG[1] = p1;
20177 /* parser/parser.nit:6569 */
20178 fra.me.REG[2] = NIT_NULL;
20179 /* parser/parser.nit:6570 */
20180 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20181 /* parser/parser.nit:6571 */
20182 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20183 /* parser/parser.nit:6572 */
20184 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20185 /* parser/parser.nit:6573 */
20186 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20187 /* parser/parser.nit:6574 */
20188 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20189 /* parser/parser.nit:6576 */
20190 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*/;
20191 if (UNTAG_Bool(REGB0)) {
20192 } else {
20193 nit_abort("Assert failed", NULL, LOCATE_parser, 6576);
20194 }
20195 /* parser/parser.nit:6578 */
20196 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*/;
20197 if (UNTAG_Bool(REGB0)) {
20198 } else {
20199 nit_abort("Assert failed", NULL, LOCATE_parser, 6578);
20200 }
20201 /* parser/parser.nit:6580 */
20202 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*/;
20203 if (UNTAG_Bool(REGB0)) {
20204 } else {
20205 nit_abort("Assert failed", NULL, LOCATE_parser, 6580);
20206 }
20207 /* parser/parser.nit:6582 */
20208 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*/;
20209 if (UNTAG_Bool(REGB0)) {
20210 } else {
20211 nit_abort("Assert failed", NULL, LOCATE_parser, 6582);
20212 }
20213 /* parser/parser.nit:6584 */
20214 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*/;
20215 if (UNTAG_Bool(REGB0)) {
20216 } else {
20217 nit_abort("Assert failed", NULL, LOCATE_parser, 6584);
20218 }
20219 /* parser/parser.nit:6585 */
20220 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);
20221 /* parser/parser.nit:6597 */
20222 fra.me.REG[2] = fra.me.REG[3];
20223 /* parser/parser.nit:6598 */
20224 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20225 if (UNTAG_Bool(REGB0)) {
20226 } else {
20227 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6598);
20228 }
20229 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20230 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20231 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20232 stack_frame_head = fra.me.prev;
20233 return;
20234 }
20235 static const char LOCATE_parser___ReduceAction149___action[] = "parser::ReduceAction149::(parser::ReduceAction::action)";
20236 void parser___ReduceAction149___action(val_t p0, val_t p1){
20237 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
20238 val_t REGB0;
20239 val_t tmp;
20240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20241 fra.me.file = LOCATE_parser;
20242 fra.me.line = 6603;
20243 fra.me.meth = LOCATE_parser___ReduceAction149___action;
20244 fra.me.has_broke = 0;
20245 fra.me.REG_size = 9;
20246 fra.me.nitni_local_ref_head = NULL;
20247 fra.me.REG[0] = NIT_NULL;
20248 fra.me.REG[1] = NIT_NULL;
20249 fra.me.REG[2] = NIT_NULL;
20250 fra.me.REG[3] = NIT_NULL;
20251 fra.me.REG[4] = NIT_NULL;
20252 fra.me.REG[5] = NIT_NULL;
20253 fra.me.REG[6] = NIT_NULL;
20254 fra.me.REG[7] = NIT_NULL;
20255 fra.me.REG[8] = NIT_NULL;
20256 fra.me.REG[0] = p0;
20257 fra.me.REG[1] = p1;
20258 /* parser/parser.nit:6605 */
20259 fra.me.REG[2] = NIT_NULL;
20260 /* parser/parser.nit:6606 */
20261 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20262 /* parser/parser.nit:6607 */
20263 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20264 /* parser/parser.nit:6608 */
20265 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20266 /* parser/parser.nit:6609 */
20267 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20268 /* parser/parser.nit:6610 */
20269 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20270 /* parser/parser.nit:6611 */
20271 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20272 /* parser/parser.nit:6613 */
20273 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*/;
20274 if (UNTAG_Bool(REGB0)) {
20275 } else {
20276 nit_abort("Assert failed", NULL, LOCATE_parser, 6613);
20277 }
20278 /* parser/parser.nit:6615 */
20279 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*/;
20280 if (UNTAG_Bool(REGB0)) {
20281 } else {
20282 nit_abort("Assert failed", NULL, LOCATE_parser, 6615);
20283 }
20284 /* parser/parser.nit:6617 */
20285 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*/;
20286 if (UNTAG_Bool(REGB0)) {
20287 } else {
20288 nit_abort("Assert failed", NULL, LOCATE_parser, 6617);
20289 }
20290 /* parser/parser.nit:6619 */
20291 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*/;
20292 if (UNTAG_Bool(REGB0)) {
20293 } else {
20294 nit_abort("Assert failed", NULL, LOCATE_parser, 6619);
20295 }
20296 /* parser/parser.nit:6621 */
20297 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*/;
20298 if (UNTAG_Bool(REGB0)) {
20299 } else {
20300 nit_abort("Assert failed", NULL, LOCATE_parser, 6621);
20301 }
20302 /* parser/parser.nit:6623 */
20303 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*/;
20304 if (UNTAG_Bool(REGB0)) {
20305 } else {
20306 nit_abort("Assert failed", NULL, LOCATE_parser, 6623);
20307 }
20308 /* parser/parser.nit:6624 */
20309 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);
20310 /* parser/parser.nit:6636 */
20311 fra.me.REG[2] = fra.me.REG[3];
20312 /* parser/parser.nit:6637 */
20313 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20314 if (UNTAG_Bool(REGB0)) {
20315 } else {
20316 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6637);
20317 }
20318 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20319 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20320 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20321 stack_frame_head = fra.me.prev;
20322 return;
20323 }
20324 static const char LOCATE_parser___ReduceAction150___action[] = "parser::ReduceAction150::(parser::ReduceAction::action)";
20325 void parser___ReduceAction150___action(val_t p0, val_t p1){
20326 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20327 val_t REGB0;
20328 val_t tmp;
20329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20330 fra.me.file = LOCATE_parser;
20331 fra.me.line = 6642;
20332 fra.me.meth = LOCATE_parser___ReduceAction150___action;
20333 fra.me.has_broke = 0;
20334 fra.me.REG_size = 8;
20335 fra.me.nitni_local_ref_head = NULL;
20336 fra.me.REG[0] = NIT_NULL;
20337 fra.me.REG[1] = NIT_NULL;
20338 fra.me.REG[2] = NIT_NULL;
20339 fra.me.REG[3] = NIT_NULL;
20340 fra.me.REG[4] = NIT_NULL;
20341 fra.me.REG[5] = NIT_NULL;
20342 fra.me.REG[6] = NIT_NULL;
20343 fra.me.REG[7] = NIT_NULL;
20344 fra.me.REG[0] = p0;
20345 fra.me.REG[1] = p1;
20346 /* parser/parser.nit:6644 */
20347 fra.me.REG[2] = NIT_NULL;
20348 /* parser/parser.nit:6645 */
20349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20350 /* parser/parser.nit:6646 */
20351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20352 /* parser/parser.nit:6647 */
20353 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20354 /* parser/parser.nit:6648 */
20355 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20356 /* parser/parser.nit:6649 */
20357 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20358 /* parser/parser.nit:6651 */
20359 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*/;
20360 if (UNTAG_Bool(REGB0)) {
20361 } else {
20362 nit_abort("Assert failed", NULL, LOCATE_parser, 6651);
20363 }
20364 /* parser/parser.nit:6653 */
20365 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*/;
20366 if (UNTAG_Bool(REGB0)) {
20367 } else {
20368 nit_abort("Assert failed", NULL, LOCATE_parser, 6653);
20369 }
20370 /* parser/parser.nit:6655 */
20371 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*/;
20372 if (UNTAG_Bool(REGB0)) {
20373 } else {
20374 nit_abort("Assert failed", NULL, LOCATE_parser, 6655);
20375 }
20376 /* parser/parser.nit:6657 */
20377 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*/;
20378 if (UNTAG_Bool(REGB0)) {
20379 } else {
20380 nit_abort("Assert failed", NULL, LOCATE_parser, 6657);
20381 }
20382 /* parser/parser.nit:6659 */
20383 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*/;
20384 if (UNTAG_Bool(REGB0)) {
20385 } else {
20386 nit_abort("Assert failed", NULL, LOCATE_parser, 6659);
20387 }
20388 /* parser/parser.nit:6660 */
20389 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);
20390 /* parser/parser.nit:6672 */
20391 fra.me.REG[2] = fra.me.REG[3];
20392 /* parser/parser.nit:6673 */
20393 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20394 if (UNTAG_Bool(REGB0)) {
20395 } else {
20396 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6673);
20397 }
20398 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20400 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20401 stack_frame_head = fra.me.prev;
20402 return;
20403 }
20404 static const char LOCATE_parser___ReduceAction151___action[] = "parser::ReduceAction151::(parser::ReduceAction::action)";
20405 void parser___ReduceAction151___action(val_t p0, val_t p1){
20406 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
20407 val_t REGB0;
20408 val_t tmp;
20409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20410 fra.me.file = LOCATE_parser;
20411 fra.me.line = 6678;
20412 fra.me.meth = LOCATE_parser___ReduceAction151___action;
20413 fra.me.has_broke = 0;
20414 fra.me.REG_size = 9;
20415 fra.me.nitni_local_ref_head = NULL;
20416 fra.me.REG[0] = NIT_NULL;
20417 fra.me.REG[1] = NIT_NULL;
20418 fra.me.REG[2] = NIT_NULL;
20419 fra.me.REG[3] = NIT_NULL;
20420 fra.me.REG[4] = NIT_NULL;
20421 fra.me.REG[5] = NIT_NULL;
20422 fra.me.REG[6] = NIT_NULL;
20423 fra.me.REG[7] = NIT_NULL;
20424 fra.me.REG[8] = NIT_NULL;
20425 fra.me.REG[0] = p0;
20426 fra.me.REG[1] = p1;
20427 /* parser/parser.nit:6680 */
20428 fra.me.REG[2] = NIT_NULL;
20429 /* parser/parser.nit:6681 */
20430 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20431 /* parser/parser.nit:6682 */
20432 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20433 /* parser/parser.nit:6683 */
20434 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20435 /* parser/parser.nit:6684 */
20436 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20437 /* parser/parser.nit:6685 */
20438 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20439 /* parser/parser.nit:6686 */
20440 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20441 /* parser/parser.nit:6688 */
20442 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*/;
20443 if (UNTAG_Bool(REGB0)) {
20444 } else {
20445 nit_abort("Assert failed", NULL, LOCATE_parser, 6688);
20446 }
20447 /* parser/parser.nit:6690 */
20448 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*/;
20449 if (UNTAG_Bool(REGB0)) {
20450 } else {
20451 nit_abort("Assert failed", NULL, LOCATE_parser, 6690);
20452 }
20453 /* parser/parser.nit:6692 */
20454 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*/;
20455 if (UNTAG_Bool(REGB0)) {
20456 } else {
20457 nit_abort("Assert failed", NULL, LOCATE_parser, 6692);
20458 }
20459 /* parser/parser.nit:6694 */
20460 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*/;
20461 if (UNTAG_Bool(REGB0)) {
20462 } else {
20463 nit_abort("Assert failed", NULL, LOCATE_parser, 6694);
20464 }
20465 /* parser/parser.nit:6696 */
20466 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*/;
20467 if (UNTAG_Bool(REGB0)) {
20468 } else {
20469 nit_abort("Assert failed", NULL, LOCATE_parser, 6696);
20470 }
20471 /* parser/parser.nit:6698 */
20472 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*/;
20473 if (UNTAG_Bool(REGB0)) {
20474 } else {
20475 nit_abort("Assert failed", NULL, LOCATE_parser, 6698);
20476 }
20477 /* parser/parser.nit:6699 */
20478 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);
20479 /* parser/parser.nit:6711 */
20480 fra.me.REG[2] = fra.me.REG[3];
20481 /* parser/parser.nit:6712 */
20482 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20483 if (UNTAG_Bool(REGB0)) {
20484 } else {
20485 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6712);
20486 }
20487 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20488 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20489 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20490 stack_frame_head = fra.me.prev;
20491 return;
20492 }
20493 static const char LOCATE_parser___ReduceAction152___action[] = "parser::ReduceAction152::(parser::ReduceAction::action)";
20494 void parser___ReduceAction152___action(val_t p0, val_t p1){
20495 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
20496 val_t REGB0;
20497 val_t tmp;
20498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20499 fra.me.file = LOCATE_parser;
20500 fra.me.line = 6717;
20501 fra.me.meth = LOCATE_parser___ReduceAction152___action;
20502 fra.me.has_broke = 0;
20503 fra.me.REG_size = 9;
20504 fra.me.nitni_local_ref_head = NULL;
20505 fra.me.REG[0] = NIT_NULL;
20506 fra.me.REG[1] = NIT_NULL;
20507 fra.me.REG[2] = NIT_NULL;
20508 fra.me.REG[3] = NIT_NULL;
20509 fra.me.REG[4] = NIT_NULL;
20510 fra.me.REG[5] = NIT_NULL;
20511 fra.me.REG[6] = NIT_NULL;
20512 fra.me.REG[7] = NIT_NULL;
20513 fra.me.REG[8] = NIT_NULL;
20514 fra.me.REG[0] = p0;
20515 fra.me.REG[1] = p1;
20516 /* parser/parser.nit:6719 */
20517 fra.me.REG[2] = NIT_NULL;
20518 /* parser/parser.nit:6720 */
20519 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20520 /* parser/parser.nit:6721 */
20521 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20522 /* parser/parser.nit:6722 */
20523 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20524 /* parser/parser.nit:6723 */
20525 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20526 /* parser/parser.nit:6724 */
20527 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20528 /* parser/parser.nit:6725 */
20529 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20530 /* parser/parser.nit:6727 */
20531 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*/;
20532 if (UNTAG_Bool(REGB0)) {
20533 } else {
20534 nit_abort("Assert failed", NULL, LOCATE_parser, 6727);
20535 }
20536 /* parser/parser.nit:6729 */
20537 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*/;
20538 if (UNTAG_Bool(REGB0)) {
20539 } else {
20540 nit_abort("Assert failed", NULL, LOCATE_parser, 6729);
20541 }
20542 /* parser/parser.nit:6731 */
20543 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*/;
20544 if (UNTAG_Bool(REGB0)) {
20545 } else {
20546 nit_abort("Assert failed", NULL, LOCATE_parser, 6731);
20547 }
20548 /* parser/parser.nit:6733 */
20549 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*/;
20550 if (UNTAG_Bool(REGB0)) {
20551 } else {
20552 nit_abort("Assert failed", NULL, LOCATE_parser, 6733);
20553 }
20554 /* parser/parser.nit:6735 */
20555 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*/;
20556 if (UNTAG_Bool(REGB0)) {
20557 } else {
20558 nit_abort("Assert failed", NULL, LOCATE_parser, 6735);
20559 }
20560 /* parser/parser.nit:6737 */
20561 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*/;
20562 if (UNTAG_Bool(REGB0)) {
20563 } else {
20564 nit_abort("Assert failed", NULL, LOCATE_parser, 6737);
20565 }
20566 /* parser/parser.nit:6738 */
20567 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);
20568 /* parser/parser.nit:6750 */
20569 fra.me.REG[2] = fra.me.REG[3];
20570 /* parser/parser.nit:6751 */
20571 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20572 if (UNTAG_Bool(REGB0)) {
20573 } else {
20574 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6751);
20575 }
20576 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20577 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20578 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20579 stack_frame_head = fra.me.prev;
20580 return;
20581 }
20582 static const char LOCATE_parser___ReduceAction153___action[] = "parser::ReduceAction153::(parser::ReduceAction::action)";
20583 void parser___ReduceAction153___action(val_t p0, val_t p1){
20584 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
20585 val_t REGB0;
20586 val_t tmp;
20587 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20588 fra.me.file = LOCATE_parser;
20589 fra.me.line = 6756;
20590 fra.me.meth = LOCATE_parser___ReduceAction153___action;
20591 fra.me.has_broke = 0;
20592 fra.me.REG_size = 10;
20593 fra.me.nitni_local_ref_head = NULL;
20594 fra.me.REG[0] = NIT_NULL;
20595 fra.me.REG[1] = NIT_NULL;
20596 fra.me.REG[2] = NIT_NULL;
20597 fra.me.REG[3] = NIT_NULL;
20598 fra.me.REG[4] = NIT_NULL;
20599 fra.me.REG[5] = NIT_NULL;
20600 fra.me.REG[6] = NIT_NULL;
20601 fra.me.REG[7] = NIT_NULL;
20602 fra.me.REG[8] = NIT_NULL;
20603 fra.me.REG[9] = NIT_NULL;
20604 fra.me.REG[0] = p0;
20605 fra.me.REG[1] = p1;
20606 /* parser/parser.nit:6758 */
20607 fra.me.REG[2] = NIT_NULL;
20608 /* parser/parser.nit:6759 */
20609 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20610 /* parser/parser.nit:6760 */
20611 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20612 /* parser/parser.nit:6761 */
20613 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20614 /* parser/parser.nit:6762 */
20615 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20616 /* parser/parser.nit:6763 */
20617 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20618 /* parser/parser.nit:6764 */
20619 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20620 /* parser/parser.nit:6765 */
20621 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20622 /* parser/parser.nit:6767 */
20623 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*/;
20624 if (UNTAG_Bool(REGB0)) {
20625 } else {
20626 nit_abort("Assert failed", NULL, LOCATE_parser, 6767);
20627 }
20628 /* parser/parser.nit:6769 */
20629 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*/;
20630 if (UNTAG_Bool(REGB0)) {
20631 } else {
20632 nit_abort("Assert failed", NULL, LOCATE_parser, 6769);
20633 }
20634 /* parser/parser.nit:6771 */
20635 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*/;
20636 if (UNTAG_Bool(REGB0)) {
20637 } else {
20638 nit_abort("Assert failed", NULL, LOCATE_parser, 6771);
20639 }
20640 /* parser/parser.nit:6773 */
20641 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*/;
20642 if (UNTAG_Bool(REGB0)) {
20643 } else {
20644 nit_abort("Assert failed", NULL, LOCATE_parser, 6773);
20645 }
20646 /* parser/parser.nit:6775 */
20647 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*/;
20648 if (UNTAG_Bool(REGB0)) {
20649 } else {
20650 nit_abort("Assert failed", NULL, LOCATE_parser, 6775);
20651 }
20652 /* parser/parser.nit:6777 */
20653 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*/;
20654 if (UNTAG_Bool(REGB0)) {
20655 } else {
20656 nit_abort("Assert failed", NULL, LOCATE_parser, 6777);
20657 }
20658 /* parser/parser.nit:6779 */
20659 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*/;
20660 if (UNTAG_Bool(REGB0)) {
20661 } else {
20662 nit_abort("Assert failed", NULL, LOCATE_parser, 6779);
20663 }
20664 /* parser/parser.nit:6780 */
20665 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);
20666 /* parser/parser.nit:6792 */
20667 fra.me.REG[2] = fra.me.REG[3];
20668 /* parser/parser.nit:6793 */
20669 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20670 if (UNTAG_Bool(REGB0)) {
20671 } else {
20672 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6793);
20673 }
20674 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20675 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20676 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20677 stack_frame_head = fra.me.prev;
20678 return;
20679 }
20680 static const char LOCATE_parser___ReduceAction154___action[] = "parser::ReduceAction154::(parser::ReduceAction::action)";
20681 void parser___ReduceAction154___action(val_t p0, val_t p1){
20682 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
20683 val_t REGB0;
20684 val_t tmp;
20685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20686 fra.me.file = LOCATE_parser;
20687 fra.me.line = 6798;
20688 fra.me.meth = LOCATE_parser___ReduceAction154___action;
20689 fra.me.has_broke = 0;
20690 fra.me.REG_size = 8;
20691 fra.me.nitni_local_ref_head = NULL;
20692 fra.me.REG[0] = NIT_NULL;
20693 fra.me.REG[1] = NIT_NULL;
20694 fra.me.REG[2] = NIT_NULL;
20695 fra.me.REG[3] = NIT_NULL;
20696 fra.me.REG[4] = NIT_NULL;
20697 fra.me.REG[5] = NIT_NULL;
20698 fra.me.REG[6] = NIT_NULL;
20699 fra.me.REG[7] = NIT_NULL;
20700 fra.me.REG[0] = p0;
20701 fra.me.REG[1] = p1;
20702 /* parser/parser.nit:6800 */
20703 fra.me.REG[2] = NIT_NULL;
20704 /* parser/parser.nit:6801 */
20705 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20706 /* parser/parser.nit:6802 */
20707 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20708 /* parser/parser.nit:6803 */
20709 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20710 /* parser/parser.nit:6804 */
20711 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20712 /* parser/parser.nit:6805 */
20713 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20714 /* parser/parser.nit:6807 */
20715 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*/;
20716 if (UNTAG_Bool(REGB0)) {
20717 } else {
20718 nit_abort("Assert failed", NULL, LOCATE_parser, 6807);
20719 }
20720 /* parser/parser.nit:6809 */
20721 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*/;
20722 if (UNTAG_Bool(REGB0)) {
20723 } else {
20724 nit_abort("Assert failed", NULL, LOCATE_parser, 6809);
20725 }
20726 /* parser/parser.nit:6811 */
20727 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*/;
20728 if (UNTAG_Bool(REGB0)) {
20729 } else {
20730 nit_abort("Assert failed", NULL, LOCATE_parser, 6811);
20731 }
20732 /* parser/parser.nit:6813 */
20733 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*/;
20734 if (UNTAG_Bool(REGB0)) {
20735 } else {
20736 nit_abort("Assert failed", NULL, LOCATE_parser, 6813);
20737 }
20738 /* parser/parser.nit:6815 */
20739 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*/;
20740 if (UNTAG_Bool(REGB0)) {
20741 } else {
20742 nit_abort("Assert failed", NULL, LOCATE_parser, 6815);
20743 }
20744 /* parser/parser.nit:6816 */
20745 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);
20746 /* parser/parser.nit:6828 */
20747 fra.me.REG[2] = fra.me.REG[3];
20748 /* parser/parser.nit:6829 */
20749 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20750 if (UNTAG_Bool(REGB0)) {
20751 } else {
20752 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6829);
20753 }
20754 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20755 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20756 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20757 stack_frame_head = fra.me.prev;
20758 return;
20759 }
20760 static const char LOCATE_parser___ReduceAction155___action[] = "parser::ReduceAction155::(parser::ReduceAction::action)";
20761 void parser___ReduceAction155___action(val_t p0, val_t p1){
20762 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
20763 val_t REGB0;
20764 val_t tmp;
20765 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20766 fra.me.file = LOCATE_parser;
20767 fra.me.line = 6834;
20768 fra.me.meth = LOCATE_parser___ReduceAction155___action;
20769 fra.me.has_broke = 0;
20770 fra.me.REG_size = 9;
20771 fra.me.nitni_local_ref_head = NULL;
20772 fra.me.REG[0] = NIT_NULL;
20773 fra.me.REG[1] = NIT_NULL;
20774 fra.me.REG[2] = NIT_NULL;
20775 fra.me.REG[3] = NIT_NULL;
20776 fra.me.REG[4] = NIT_NULL;
20777 fra.me.REG[5] = NIT_NULL;
20778 fra.me.REG[6] = NIT_NULL;
20779 fra.me.REG[7] = NIT_NULL;
20780 fra.me.REG[8] = NIT_NULL;
20781 fra.me.REG[0] = p0;
20782 fra.me.REG[1] = p1;
20783 /* parser/parser.nit:6836 */
20784 fra.me.REG[2] = NIT_NULL;
20785 /* parser/parser.nit:6837 */
20786 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20787 /* parser/parser.nit:6838 */
20788 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20789 /* parser/parser.nit:6839 */
20790 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20791 /* parser/parser.nit:6840 */
20792 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20793 /* parser/parser.nit:6841 */
20794 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20795 /* parser/parser.nit:6842 */
20796 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20797 /* parser/parser.nit:6844 */
20798 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*/;
20799 if (UNTAG_Bool(REGB0)) {
20800 } else {
20801 nit_abort("Assert failed", NULL, LOCATE_parser, 6844);
20802 }
20803 /* parser/parser.nit:6846 */
20804 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*/;
20805 if (UNTAG_Bool(REGB0)) {
20806 } else {
20807 nit_abort("Assert failed", NULL, LOCATE_parser, 6846);
20808 }
20809 /* parser/parser.nit:6848 */
20810 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*/;
20811 if (UNTAG_Bool(REGB0)) {
20812 } else {
20813 nit_abort("Assert failed", NULL, LOCATE_parser, 6848);
20814 }
20815 /* parser/parser.nit:6850 */
20816 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*/;
20817 if (UNTAG_Bool(REGB0)) {
20818 } else {
20819 nit_abort("Assert failed", NULL, LOCATE_parser, 6850);
20820 }
20821 /* parser/parser.nit:6852 */
20822 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*/;
20823 if (UNTAG_Bool(REGB0)) {
20824 } else {
20825 nit_abort("Assert failed", NULL, LOCATE_parser, 6852);
20826 }
20827 /* parser/parser.nit:6854 */
20828 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*/;
20829 if (UNTAG_Bool(REGB0)) {
20830 } else {
20831 nit_abort("Assert failed", NULL, LOCATE_parser, 6854);
20832 }
20833 /* parser/parser.nit:6855 */
20834 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);
20835 /* parser/parser.nit:6867 */
20836 fra.me.REG[2] = fra.me.REG[3];
20837 /* parser/parser.nit:6868 */
20838 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20839 if (UNTAG_Bool(REGB0)) {
20840 } else {
20841 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6868);
20842 }
20843 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20844 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20845 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20846 stack_frame_head = fra.me.prev;
20847 return;
20848 }
20849 static const char LOCATE_parser___ReduceAction156___action[] = "parser::ReduceAction156::(parser::ReduceAction::action)";
20850 void parser___ReduceAction156___action(val_t p0, val_t p1){
20851 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
20852 val_t REGB0;
20853 val_t tmp;
20854 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20855 fra.me.file = LOCATE_parser;
20856 fra.me.line = 6873;
20857 fra.me.meth = LOCATE_parser___ReduceAction156___action;
20858 fra.me.has_broke = 0;
20859 fra.me.REG_size = 9;
20860 fra.me.nitni_local_ref_head = NULL;
20861 fra.me.REG[0] = NIT_NULL;
20862 fra.me.REG[1] = NIT_NULL;
20863 fra.me.REG[2] = NIT_NULL;
20864 fra.me.REG[3] = NIT_NULL;
20865 fra.me.REG[4] = NIT_NULL;
20866 fra.me.REG[5] = NIT_NULL;
20867 fra.me.REG[6] = NIT_NULL;
20868 fra.me.REG[7] = NIT_NULL;
20869 fra.me.REG[8] = NIT_NULL;
20870 fra.me.REG[0] = p0;
20871 fra.me.REG[1] = p1;
20872 /* parser/parser.nit:6875 */
20873 fra.me.REG[2] = NIT_NULL;
20874 /* parser/parser.nit:6876 */
20875 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20876 /* parser/parser.nit:6877 */
20877 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20878 /* parser/parser.nit:6878 */
20879 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20880 /* parser/parser.nit:6879 */
20881 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20882 /* parser/parser.nit:6880 */
20883 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20884 /* parser/parser.nit:6881 */
20885 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20886 /* parser/parser.nit:6883 */
20887 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*/;
20888 if (UNTAG_Bool(REGB0)) {
20889 } else {
20890 nit_abort("Assert failed", NULL, LOCATE_parser, 6883);
20891 }
20892 /* parser/parser.nit:6885 */
20893 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*/;
20894 if (UNTAG_Bool(REGB0)) {
20895 } else {
20896 nit_abort("Assert failed", NULL, LOCATE_parser, 6885);
20897 }
20898 /* parser/parser.nit:6887 */
20899 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*/;
20900 if (UNTAG_Bool(REGB0)) {
20901 } else {
20902 nit_abort("Assert failed", NULL, LOCATE_parser, 6887);
20903 }
20904 /* parser/parser.nit:6889 */
20905 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*/;
20906 if (UNTAG_Bool(REGB0)) {
20907 } else {
20908 nit_abort("Assert failed", NULL, LOCATE_parser, 6889);
20909 }
20910 /* parser/parser.nit:6891 */
20911 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*/;
20912 if (UNTAG_Bool(REGB0)) {
20913 } else {
20914 nit_abort("Assert failed", NULL, LOCATE_parser, 6891);
20915 }
20916 /* parser/parser.nit:6893 */
20917 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*/;
20918 if (UNTAG_Bool(REGB0)) {
20919 } else {
20920 nit_abort("Assert failed", NULL, LOCATE_parser, 6893);
20921 }
20922 /* parser/parser.nit:6894 */
20923 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);
20924 /* parser/parser.nit:6906 */
20925 fra.me.REG[2] = fra.me.REG[3];
20926 /* parser/parser.nit:6907 */
20927 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
20928 if (UNTAG_Bool(REGB0)) {
20929 } else {
20930 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6907);
20931 }
20932 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
20933 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
20934 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
20935 stack_frame_head = fra.me.prev;
20936 return;
20937 }
20938 static const char LOCATE_parser___ReduceAction157___action[] = "parser::ReduceAction157::(parser::ReduceAction::action)";
20939 void parser___ReduceAction157___action(val_t p0, val_t p1){
20940 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
20941 val_t REGB0;
20942 val_t tmp;
20943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20944 fra.me.file = LOCATE_parser;
20945 fra.me.line = 6912;
20946 fra.me.meth = LOCATE_parser___ReduceAction157___action;
20947 fra.me.has_broke = 0;
20948 fra.me.REG_size = 10;
20949 fra.me.nitni_local_ref_head = NULL;
20950 fra.me.REG[0] = NIT_NULL;
20951 fra.me.REG[1] = NIT_NULL;
20952 fra.me.REG[2] = NIT_NULL;
20953 fra.me.REG[3] = NIT_NULL;
20954 fra.me.REG[4] = NIT_NULL;
20955 fra.me.REG[5] = NIT_NULL;
20956 fra.me.REG[6] = NIT_NULL;
20957 fra.me.REG[7] = NIT_NULL;
20958 fra.me.REG[8] = NIT_NULL;
20959 fra.me.REG[9] = NIT_NULL;
20960 fra.me.REG[0] = p0;
20961 fra.me.REG[1] = p1;
20962 /* parser/parser.nit:6914 */
20963 fra.me.REG[2] = NIT_NULL;
20964 /* parser/parser.nit:6915 */
20965 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20966 /* parser/parser.nit:6916 */
20967 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20968 /* parser/parser.nit:6917 */
20969 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20970 /* parser/parser.nit:6918 */
20971 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20972 /* parser/parser.nit:6919 */
20973 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20974 /* parser/parser.nit:6920 */
20975 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20976 /* parser/parser.nit:6921 */
20977 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
20978 /* parser/parser.nit:6923 */
20979 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*/;
20980 if (UNTAG_Bool(REGB0)) {
20981 } else {
20982 nit_abort("Assert failed", NULL, LOCATE_parser, 6923);
20983 }
20984 /* parser/parser.nit:6925 */
20985 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*/;
20986 if (UNTAG_Bool(REGB0)) {
20987 } else {
20988 nit_abort("Assert failed", NULL, LOCATE_parser, 6925);
20989 }
20990 /* parser/parser.nit:6927 */
20991 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*/;
20992 if (UNTAG_Bool(REGB0)) {
20993 } else {
20994 nit_abort("Assert failed", NULL, LOCATE_parser, 6927);
20995 }
20996 /* parser/parser.nit:6929 */
20997 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*/;
20998 if (UNTAG_Bool(REGB0)) {
20999 } else {
21000 nit_abort("Assert failed", NULL, LOCATE_parser, 6929);
21001 }
21002 /* parser/parser.nit:6931 */
21003 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*/;
21004 if (UNTAG_Bool(REGB0)) {
21005 } else {
21006 nit_abort("Assert failed", NULL, LOCATE_parser, 6931);
21007 }
21008 /* parser/parser.nit:6933 */
21009 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*/;
21010 if (UNTAG_Bool(REGB0)) {
21011 } else {
21012 nit_abort("Assert failed", NULL, LOCATE_parser, 6933);
21013 }
21014 /* parser/parser.nit:6935 */
21015 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*/;
21016 if (UNTAG_Bool(REGB0)) {
21017 } else {
21018 nit_abort("Assert failed", NULL, LOCATE_parser, 6935);
21019 }
21020 /* parser/parser.nit:6936 */
21021 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);
21022 /* parser/parser.nit:6948 */
21023 fra.me.REG[2] = fra.me.REG[3];
21024 /* parser/parser.nit:6949 */
21025 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21026 if (UNTAG_Bool(REGB0)) {
21027 } else {
21028 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6949);
21029 }
21030 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21031 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21032 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21033 stack_frame_head = fra.me.prev;
21034 return;
21035 }
21036 static const char LOCATE_parser___ReduceAction158___action[] = "parser::ReduceAction158::(parser::ReduceAction::action)";
21037 void parser___ReduceAction158___action(val_t p0, val_t p1){
21038 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21039 val_t REGB0;
21040 val_t tmp;
21041 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21042 fra.me.file = LOCATE_parser;
21043 fra.me.line = 6954;
21044 fra.me.meth = LOCATE_parser___ReduceAction158___action;
21045 fra.me.has_broke = 0;
21046 fra.me.REG_size = 9;
21047 fra.me.nitni_local_ref_head = NULL;
21048 fra.me.REG[0] = NIT_NULL;
21049 fra.me.REG[1] = NIT_NULL;
21050 fra.me.REG[2] = NIT_NULL;
21051 fra.me.REG[3] = NIT_NULL;
21052 fra.me.REG[4] = NIT_NULL;
21053 fra.me.REG[5] = NIT_NULL;
21054 fra.me.REG[6] = NIT_NULL;
21055 fra.me.REG[7] = NIT_NULL;
21056 fra.me.REG[8] = NIT_NULL;
21057 fra.me.REG[0] = p0;
21058 fra.me.REG[1] = p1;
21059 /* parser/parser.nit:6956 */
21060 fra.me.REG[2] = NIT_NULL;
21061 /* parser/parser.nit:6957 */
21062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21063 /* parser/parser.nit:6958 */
21064 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21065 /* parser/parser.nit:6959 */
21066 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21067 /* parser/parser.nit:6960 */
21068 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21069 /* parser/parser.nit:6961 */
21070 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21071 /* parser/parser.nit:6962 */
21072 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21073 /* parser/parser.nit:6964 */
21074 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*/;
21075 if (UNTAG_Bool(REGB0)) {
21076 } else {
21077 nit_abort("Assert failed", NULL, LOCATE_parser, 6964);
21078 }
21079 /* parser/parser.nit:6966 */
21080 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*/;
21081 if (UNTAG_Bool(REGB0)) {
21082 } else {
21083 nit_abort("Assert failed", NULL, LOCATE_parser, 6966);
21084 }
21085 /* parser/parser.nit:6968 */
21086 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*/;
21087 if (UNTAG_Bool(REGB0)) {
21088 } else {
21089 nit_abort("Assert failed", NULL, LOCATE_parser, 6968);
21090 }
21091 /* parser/parser.nit:6970 */
21092 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*/;
21093 if (UNTAG_Bool(REGB0)) {
21094 } else {
21095 nit_abort("Assert failed", NULL, LOCATE_parser, 6970);
21096 }
21097 /* parser/parser.nit:6972 */
21098 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*/;
21099 if (UNTAG_Bool(REGB0)) {
21100 } else {
21101 nit_abort("Assert failed", NULL, LOCATE_parser, 6972);
21102 }
21103 /* parser/parser.nit:6974 */
21104 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*/;
21105 if (UNTAG_Bool(REGB0)) {
21106 } else {
21107 nit_abort("Assert failed", NULL, LOCATE_parser, 6974);
21108 }
21109 /* parser/parser.nit:6975 */
21110 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);
21111 /* parser/parser.nit:6987 */
21112 fra.me.REG[2] = fra.me.REG[3];
21113 /* parser/parser.nit:6988 */
21114 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21115 if (UNTAG_Bool(REGB0)) {
21116 } else {
21117 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 6988);
21118 }
21119 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21120 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21121 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21122 stack_frame_head = fra.me.prev;
21123 return;
21124 }
21125 static const char LOCATE_parser___ReduceAction159___action[] = "parser::ReduceAction159::(parser::ReduceAction::action)";
21126 void parser___ReduceAction159___action(val_t p0, val_t p1){
21127 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
21128 val_t REGB0;
21129 val_t tmp;
21130 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21131 fra.me.file = LOCATE_parser;
21132 fra.me.line = 6993;
21133 fra.me.meth = LOCATE_parser___ReduceAction159___action;
21134 fra.me.has_broke = 0;
21135 fra.me.REG_size = 10;
21136 fra.me.nitni_local_ref_head = NULL;
21137 fra.me.REG[0] = NIT_NULL;
21138 fra.me.REG[1] = NIT_NULL;
21139 fra.me.REG[2] = NIT_NULL;
21140 fra.me.REG[3] = NIT_NULL;
21141 fra.me.REG[4] = NIT_NULL;
21142 fra.me.REG[5] = NIT_NULL;
21143 fra.me.REG[6] = NIT_NULL;
21144 fra.me.REG[7] = NIT_NULL;
21145 fra.me.REG[8] = NIT_NULL;
21146 fra.me.REG[9] = NIT_NULL;
21147 fra.me.REG[0] = p0;
21148 fra.me.REG[1] = p1;
21149 /* parser/parser.nit:6995 */
21150 fra.me.REG[2] = NIT_NULL;
21151 /* parser/parser.nit:6996 */
21152 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21153 /* parser/parser.nit:6997 */
21154 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21155 /* parser/parser.nit:6998 */
21156 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21157 /* parser/parser.nit:6999 */
21158 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21159 /* parser/parser.nit:7000 */
21160 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21161 /* parser/parser.nit:7001 */
21162 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21163 /* parser/parser.nit:7002 */
21164 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21165 /* parser/parser.nit:7004 */
21166 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*/;
21167 if (UNTAG_Bool(REGB0)) {
21168 } else {
21169 nit_abort("Assert failed", NULL, LOCATE_parser, 7004);
21170 }
21171 /* parser/parser.nit:7006 */
21172 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*/;
21173 if (UNTAG_Bool(REGB0)) {
21174 } else {
21175 nit_abort("Assert failed", NULL, LOCATE_parser, 7006);
21176 }
21177 /* parser/parser.nit:7008 */
21178 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*/;
21179 if (UNTAG_Bool(REGB0)) {
21180 } else {
21181 nit_abort("Assert failed", NULL, LOCATE_parser, 7008);
21182 }
21183 /* parser/parser.nit:7010 */
21184 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*/;
21185 if (UNTAG_Bool(REGB0)) {
21186 } else {
21187 nit_abort("Assert failed", NULL, LOCATE_parser, 7010);
21188 }
21189 /* parser/parser.nit:7012 */
21190 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*/;
21191 if (UNTAG_Bool(REGB0)) {
21192 } else {
21193 nit_abort("Assert failed", NULL, LOCATE_parser, 7012);
21194 }
21195 /* parser/parser.nit:7014 */
21196 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*/;
21197 if (UNTAG_Bool(REGB0)) {
21198 } else {
21199 nit_abort("Assert failed", NULL, LOCATE_parser, 7014);
21200 }
21201 /* parser/parser.nit:7016 */
21202 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*/;
21203 if (UNTAG_Bool(REGB0)) {
21204 } else {
21205 nit_abort("Assert failed", NULL, LOCATE_parser, 7016);
21206 }
21207 /* parser/parser.nit:7017 */
21208 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);
21209 /* parser/parser.nit:7029 */
21210 fra.me.REG[2] = fra.me.REG[3];
21211 /* parser/parser.nit:7030 */
21212 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21213 if (UNTAG_Bool(REGB0)) {
21214 } else {
21215 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7030);
21216 }
21217 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21218 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21219 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21220 stack_frame_head = fra.me.prev;
21221 return;
21222 }
21223 static const char LOCATE_parser___ReduceAction160___action[] = "parser::ReduceAction160::(parser::ReduceAction::action)";
21224 void parser___ReduceAction160___action(val_t p0, val_t p1){
21225 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
21226 val_t REGB0;
21227 val_t tmp;
21228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21229 fra.me.file = LOCATE_parser;
21230 fra.me.line = 7035;
21231 fra.me.meth = LOCATE_parser___ReduceAction160___action;
21232 fra.me.has_broke = 0;
21233 fra.me.REG_size = 10;
21234 fra.me.nitni_local_ref_head = NULL;
21235 fra.me.REG[0] = NIT_NULL;
21236 fra.me.REG[1] = NIT_NULL;
21237 fra.me.REG[2] = NIT_NULL;
21238 fra.me.REG[3] = NIT_NULL;
21239 fra.me.REG[4] = NIT_NULL;
21240 fra.me.REG[5] = NIT_NULL;
21241 fra.me.REG[6] = NIT_NULL;
21242 fra.me.REG[7] = NIT_NULL;
21243 fra.me.REG[8] = NIT_NULL;
21244 fra.me.REG[9] = NIT_NULL;
21245 fra.me.REG[0] = p0;
21246 fra.me.REG[1] = p1;
21247 /* parser/parser.nit:7037 */
21248 fra.me.REG[2] = NIT_NULL;
21249 /* parser/parser.nit:7038 */
21250 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21251 /* parser/parser.nit:7039 */
21252 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21253 /* parser/parser.nit:7040 */
21254 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21255 /* parser/parser.nit:7041 */
21256 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21257 /* parser/parser.nit:7042 */
21258 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21259 /* parser/parser.nit:7043 */
21260 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21261 /* parser/parser.nit:7044 */
21262 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21263 /* parser/parser.nit:7046 */
21264 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*/;
21265 if (UNTAG_Bool(REGB0)) {
21266 } else {
21267 nit_abort("Assert failed", NULL, LOCATE_parser, 7046);
21268 }
21269 /* parser/parser.nit:7048 */
21270 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*/;
21271 if (UNTAG_Bool(REGB0)) {
21272 } else {
21273 nit_abort("Assert failed", NULL, LOCATE_parser, 7048);
21274 }
21275 /* parser/parser.nit:7050 */
21276 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*/;
21277 if (UNTAG_Bool(REGB0)) {
21278 } else {
21279 nit_abort("Assert failed", NULL, LOCATE_parser, 7050);
21280 }
21281 /* parser/parser.nit:7052 */
21282 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*/;
21283 if (UNTAG_Bool(REGB0)) {
21284 } else {
21285 nit_abort("Assert failed", NULL, LOCATE_parser, 7052);
21286 }
21287 /* parser/parser.nit:7054 */
21288 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*/;
21289 if (UNTAG_Bool(REGB0)) {
21290 } else {
21291 nit_abort("Assert failed", NULL, LOCATE_parser, 7054);
21292 }
21293 /* parser/parser.nit:7056 */
21294 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*/;
21295 if (UNTAG_Bool(REGB0)) {
21296 } else {
21297 nit_abort("Assert failed", NULL, LOCATE_parser, 7056);
21298 }
21299 /* parser/parser.nit:7058 */
21300 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*/;
21301 if (UNTAG_Bool(REGB0)) {
21302 } else {
21303 nit_abort("Assert failed", NULL, LOCATE_parser, 7058);
21304 }
21305 /* parser/parser.nit:7059 */
21306 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);
21307 /* parser/parser.nit:7071 */
21308 fra.me.REG[2] = fra.me.REG[3];
21309 /* parser/parser.nit:7072 */
21310 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21311 if (UNTAG_Bool(REGB0)) {
21312 } else {
21313 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7072);
21314 }
21315 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21316 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21317 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21318 stack_frame_head = fra.me.prev;
21319 return;
21320 }
21321 static const char LOCATE_parser___ReduceAction161___action[] = "parser::ReduceAction161::(parser::ReduceAction::action)";
21322 void parser___ReduceAction161___action(val_t p0, val_t p1){
21323 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
21324 val_t REGB0;
21325 val_t tmp;
21326 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21327 fra.me.file = LOCATE_parser;
21328 fra.me.line = 7077;
21329 fra.me.meth = LOCATE_parser___ReduceAction161___action;
21330 fra.me.has_broke = 0;
21331 fra.me.REG_size = 11;
21332 fra.me.nitni_local_ref_head = NULL;
21333 fra.me.REG[0] = NIT_NULL;
21334 fra.me.REG[1] = NIT_NULL;
21335 fra.me.REG[2] = NIT_NULL;
21336 fra.me.REG[3] = NIT_NULL;
21337 fra.me.REG[4] = NIT_NULL;
21338 fra.me.REG[5] = NIT_NULL;
21339 fra.me.REG[6] = NIT_NULL;
21340 fra.me.REG[7] = NIT_NULL;
21341 fra.me.REG[8] = NIT_NULL;
21342 fra.me.REG[9] = NIT_NULL;
21343 fra.me.REG[10] = NIT_NULL;
21344 fra.me.REG[0] = p0;
21345 fra.me.REG[1] = p1;
21346 /* parser/parser.nit:7079 */
21347 fra.me.REG[2] = NIT_NULL;
21348 /* parser/parser.nit:7080 */
21349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21350 /* parser/parser.nit:7081 */
21351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21352 /* parser/parser.nit:7082 */
21353 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21354 /* parser/parser.nit:7083 */
21355 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21356 /* parser/parser.nit:7084 */
21357 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21358 /* parser/parser.nit:7085 */
21359 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21360 /* parser/parser.nit:7086 */
21361 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21362 /* parser/parser.nit:7087 */
21363 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21364 /* parser/parser.nit:7089 */
21365 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*/;
21366 if (UNTAG_Bool(REGB0)) {
21367 } else {
21368 nit_abort("Assert failed", NULL, LOCATE_parser, 7089);
21369 }
21370 /* parser/parser.nit:7091 */
21371 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*/;
21372 if (UNTAG_Bool(REGB0)) {
21373 } else {
21374 nit_abort("Assert failed", NULL, LOCATE_parser, 7091);
21375 }
21376 /* parser/parser.nit:7093 */
21377 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*/;
21378 if (UNTAG_Bool(REGB0)) {
21379 } else {
21380 nit_abort("Assert failed", NULL, LOCATE_parser, 7093);
21381 }
21382 /* parser/parser.nit:7095 */
21383 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*/;
21384 if (UNTAG_Bool(REGB0)) {
21385 } else {
21386 nit_abort("Assert failed", NULL, LOCATE_parser, 7095);
21387 }
21388 /* parser/parser.nit:7097 */
21389 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*/;
21390 if (UNTAG_Bool(REGB0)) {
21391 } else {
21392 nit_abort("Assert failed", NULL, LOCATE_parser, 7097);
21393 }
21394 /* parser/parser.nit:7099 */
21395 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*/;
21396 if (UNTAG_Bool(REGB0)) {
21397 } else {
21398 nit_abort("Assert failed", NULL, LOCATE_parser, 7099);
21399 }
21400 /* parser/parser.nit:7101 */
21401 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*/;
21402 if (UNTAG_Bool(REGB0)) {
21403 } else {
21404 nit_abort("Assert failed", NULL, LOCATE_parser, 7101);
21405 }
21406 /* parser/parser.nit:7103 */
21407 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*/;
21408 if (UNTAG_Bool(REGB0)) {
21409 } else {
21410 nit_abort("Assert failed", NULL, LOCATE_parser, 7103);
21411 }
21412 /* parser/parser.nit:7104 */
21413 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);
21414 /* parser/parser.nit:7116 */
21415 fra.me.REG[2] = fra.me.REG[3];
21416 /* parser/parser.nit:7117 */
21417 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21418 if (UNTAG_Bool(REGB0)) {
21419 } else {
21420 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7117);
21421 }
21422 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21424 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21425 stack_frame_head = fra.me.prev;
21426 return;
21427 }
21428 static const char LOCATE_parser___ReduceAction162___action[] = "parser::ReduceAction162::(parser::ReduceAction::action)";
21429 void parser___ReduceAction162___action(val_t p0, val_t p1){
21430 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
21431 val_t REGB0;
21432 val_t tmp;
21433 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21434 fra.me.file = LOCATE_parser;
21435 fra.me.line = 7122;
21436 fra.me.meth = LOCATE_parser___ReduceAction162___action;
21437 fra.me.has_broke = 0;
21438 fra.me.REG_size = 8;
21439 fra.me.nitni_local_ref_head = NULL;
21440 fra.me.REG[0] = NIT_NULL;
21441 fra.me.REG[1] = NIT_NULL;
21442 fra.me.REG[2] = NIT_NULL;
21443 fra.me.REG[3] = NIT_NULL;
21444 fra.me.REG[4] = NIT_NULL;
21445 fra.me.REG[5] = NIT_NULL;
21446 fra.me.REG[6] = NIT_NULL;
21447 fra.me.REG[7] = NIT_NULL;
21448 fra.me.REG[0] = p0;
21449 fra.me.REG[1] = p1;
21450 /* parser/parser.nit:7124 */
21451 fra.me.REG[2] = NIT_NULL;
21452 /* parser/parser.nit:7125 */
21453 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21454 /* parser/parser.nit:7126 */
21455 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21456 /* parser/parser.nit:7127 */
21457 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21458 /* parser/parser.nit:7128 */
21459 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21460 /* parser/parser.nit:7129 */
21461 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21462 /* parser/parser.nit:7130 */
21463 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21464 /* parser/parser.nit:7131 */
21465 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21466 /* parser/parser.nit:7133 */
21467 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*/;
21468 if (UNTAG_Bool(REGB0)) {
21469 } else {
21470 nit_abort("Assert failed", NULL, LOCATE_parser, 7133);
21471 }
21472 /* parser/parser.nit:7135 */
21473 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*/;
21474 if (UNTAG_Bool(REGB0)) {
21475 } else {
21476 nit_abort("Assert failed", NULL, LOCATE_parser, 7135);
21477 }
21478 /* parser/parser.nit:7137 */
21479 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*/;
21480 if (UNTAG_Bool(REGB0)) {
21481 } else {
21482 nit_abort("Assert failed", NULL, LOCATE_parser, 7137);
21483 }
21484 /* parser/parser.nit:7139 */
21485 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*/;
21486 if (UNTAG_Bool(REGB0)) {
21487 } else {
21488 nit_abort("Assert failed", NULL, LOCATE_parser, 7139);
21489 }
21490 /* parser/parser.nit:7141 */
21491 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*/;
21492 if (UNTAG_Bool(REGB0)) {
21493 } else {
21494 nit_abort("Assert failed", NULL, LOCATE_parser, 7141);
21495 }
21496 /* parser/parser.nit:7142 */
21497 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]);
21498 /* parser/parser.nit:7154 */
21499 fra.me.REG[2] = fra.me.REG[3];
21500 /* parser/parser.nit:7155 */
21501 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21502 if (UNTAG_Bool(REGB0)) {
21503 } else {
21504 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7155);
21505 }
21506 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21507 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21508 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21509 stack_frame_head = fra.me.prev;
21510 return;
21511 }
21512 static const char LOCATE_parser___ReduceAction163___action[] = "parser::ReduceAction163::(parser::ReduceAction::action)";
21513 void parser___ReduceAction163___action(val_t p0, val_t p1){
21514 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21515 val_t REGB0;
21516 val_t tmp;
21517 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21518 fra.me.file = LOCATE_parser;
21519 fra.me.line = 7160;
21520 fra.me.meth = LOCATE_parser___ReduceAction163___action;
21521 fra.me.has_broke = 0;
21522 fra.me.REG_size = 9;
21523 fra.me.nitni_local_ref_head = NULL;
21524 fra.me.REG[0] = NIT_NULL;
21525 fra.me.REG[1] = NIT_NULL;
21526 fra.me.REG[2] = NIT_NULL;
21527 fra.me.REG[3] = NIT_NULL;
21528 fra.me.REG[4] = NIT_NULL;
21529 fra.me.REG[5] = NIT_NULL;
21530 fra.me.REG[6] = NIT_NULL;
21531 fra.me.REG[7] = NIT_NULL;
21532 fra.me.REG[8] = NIT_NULL;
21533 fra.me.REG[0] = p0;
21534 fra.me.REG[1] = p1;
21535 /* parser/parser.nit:7162 */
21536 fra.me.REG[2] = NIT_NULL;
21537 /* parser/parser.nit:7163 */
21538 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21539 /* parser/parser.nit:7164 */
21540 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21541 /* parser/parser.nit:7165 */
21542 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21543 /* parser/parser.nit:7166 */
21544 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21545 /* parser/parser.nit:7167 */
21546 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21547 /* parser/parser.nit:7168 */
21548 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21549 /* parser/parser.nit:7169 */
21550 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21551 /* parser/parser.nit:7170 */
21552 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21553 /* parser/parser.nit:7172 */
21554 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*/;
21555 if (UNTAG_Bool(REGB0)) {
21556 } else {
21557 nit_abort("Assert failed", NULL, LOCATE_parser, 7172);
21558 }
21559 /* parser/parser.nit:7174 */
21560 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*/;
21561 if (UNTAG_Bool(REGB0)) {
21562 } else {
21563 nit_abort("Assert failed", NULL, LOCATE_parser, 7174);
21564 }
21565 /* parser/parser.nit:7176 */
21566 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*/;
21567 if (UNTAG_Bool(REGB0)) {
21568 } else {
21569 nit_abort("Assert failed", NULL, LOCATE_parser, 7176);
21570 }
21571 /* parser/parser.nit:7178 */
21572 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*/;
21573 if (UNTAG_Bool(REGB0)) {
21574 } else {
21575 nit_abort("Assert failed", NULL, LOCATE_parser, 7178);
21576 }
21577 /* parser/parser.nit:7180 */
21578 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*/;
21579 if (UNTAG_Bool(REGB0)) {
21580 } else {
21581 nit_abort("Assert failed", NULL, LOCATE_parser, 7180);
21582 }
21583 /* parser/parser.nit:7182 */
21584 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*/;
21585 if (UNTAG_Bool(REGB0)) {
21586 } else {
21587 nit_abort("Assert failed", NULL, LOCATE_parser, 7182);
21588 }
21589 /* parser/parser.nit:7183 */
21590 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]);
21591 /* parser/parser.nit:7195 */
21592 fra.me.REG[2] = fra.me.REG[3];
21593 /* parser/parser.nit:7196 */
21594 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21595 if (UNTAG_Bool(REGB0)) {
21596 } else {
21597 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7196);
21598 }
21599 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21600 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21601 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21602 stack_frame_head = fra.me.prev;
21603 return;
21604 }
21605 static const char LOCATE_parser___ReduceAction164___action[] = "parser::ReduceAction164::(parser::ReduceAction::action)";
21606 void parser___ReduceAction164___action(val_t p0, val_t p1){
21607 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21608 val_t REGB0;
21609 val_t tmp;
21610 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21611 fra.me.file = LOCATE_parser;
21612 fra.me.line = 7201;
21613 fra.me.meth = LOCATE_parser___ReduceAction164___action;
21614 fra.me.has_broke = 0;
21615 fra.me.REG_size = 9;
21616 fra.me.nitni_local_ref_head = NULL;
21617 fra.me.REG[0] = NIT_NULL;
21618 fra.me.REG[1] = NIT_NULL;
21619 fra.me.REG[2] = NIT_NULL;
21620 fra.me.REG[3] = NIT_NULL;
21621 fra.me.REG[4] = NIT_NULL;
21622 fra.me.REG[5] = NIT_NULL;
21623 fra.me.REG[6] = NIT_NULL;
21624 fra.me.REG[7] = NIT_NULL;
21625 fra.me.REG[8] = NIT_NULL;
21626 fra.me.REG[0] = p0;
21627 fra.me.REG[1] = p1;
21628 /* parser/parser.nit:7203 */
21629 fra.me.REG[2] = NIT_NULL;
21630 /* parser/parser.nit:7204 */
21631 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21632 /* parser/parser.nit:7205 */
21633 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21634 /* parser/parser.nit:7206 */
21635 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21636 /* parser/parser.nit:7207 */
21637 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21638 /* parser/parser.nit:7208 */
21639 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21640 /* parser/parser.nit:7209 */
21641 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21642 /* parser/parser.nit:7210 */
21643 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21644 /* parser/parser.nit:7211 */
21645 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21646 /* parser/parser.nit:7213 */
21647 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*/;
21648 if (UNTAG_Bool(REGB0)) {
21649 } else {
21650 nit_abort("Assert failed", NULL, LOCATE_parser, 7213);
21651 }
21652 /* parser/parser.nit:7215 */
21653 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*/;
21654 if (UNTAG_Bool(REGB0)) {
21655 } else {
21656 nit_abort("Assert failed", NULL, LOCATE_parser, 7215);
21657 }
21658 /* parser/parser.nit:7217 */
21659 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*/;
21660 if (UNTAG_Bool(REGB0)) {
21661 } else {
21662 nit_abort("Assert failed", NULL, LOCATE_parser, 7217);
21663 }
21664 /* parser/parser.nit:7219 */
21665 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*/;
21666 if (UNTAG_Bool(REGB0)) {
21667 } else {
21668 nit_abort("Assert failed", NULL, LOCATE_parser, 7219);
21669 }
21670 /* parser/parser.nit:7221 */
21671 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*/;
21672 if (UNTAG_Bool(REGB0)) {
21673 } else {
21674 nit_abort("Assert failed", NULL, LOCATE_parser, 7221);
21675 }
21676 /* parser/parser.nit:7223 */
21677 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*/;
21678 if (UNTAG_Bool(REGB0)) {
21679 } else {
21680 nit_abort("Assert failed", NULL, LOCATE_parser, 7223);
21681 }
21682 /* parser/parser.nit:7224 */
21683 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]);
21684 /* parser/parser.nit:7236 */
21685 fra.me.REG[2] = fra.me.REG[3];
21686 /* parser/parser.nit:7237 */
21687 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21688 if (UNTAG_Bool(REGB0)) {
21689 } else {
21690 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7237);
21691 }
21692 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21693 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21694 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21695 stack_frame_head = fra.me.prev;
21696 return;
21697 }
21698 static const char LOCATE_parser___ReduceAction165___action[] = "parser::ReduceAction165::(parser::ReduceAction::action)";
21699 void parser___ReduceAction165___action(val_t p0, val_t p1){
21700 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
21701 val_t REGB0;
21702 val_t tmp;
21703 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21704 fra.me.file = LOCATE_parser;
21705 fra.me.line = 7242;
21706 fra.me.meth = LOCATE_parser___ReduceAction165___action;
21707 fra.me.has_broke = 0;
21708 fra.me.REG_size = 10;
21709 fra.me.nitni_local_ref_head = NULL;
21710 fra.me.REG[0] = NIT_NULL;
21711 fra.me.REG[1] = NIT_NULL;
21712 fra.me.REG[2] = NIT_NULL;
21713 fra.me.REG[3] = NIT_NULL;
21714 fra.me.REG[4] = NIT_NULL;
21715 fra.me.REG[5] = NIT_NULL;
21716 fra.me.REG[6] = NIT_NULL;
21717 fra.me.REG[7] = NIT_NULL;
21718 fra.me.REG[8] = NIT_NULL;
21719 fra.me.REG[9] = NIT_NULL;
21720 fra.me.REG[0] = p0;
21721 fra.me.REG[1] = p1;
21722 /* parser/parser.nit:7244 */
21723 fra.me.REG[2] = NIT_NULL;
21724 /* parser/parser.nit:7245 */
21725 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21726 /* parser/parser.nit:7246 */
21727 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21728 /* parser/parser.nit:7247 */
21729 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21730 /* parser/parser.nit:7248 */
21731 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21732 /* parser/parser.nit:7249 */
21733 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21734 /* parser/parser.nit:7250 */
21735 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21736 /* parser/parser.nit:7251 */
21737 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21738 /* parser/parser.nit:7252 */
21739 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21740 /* parser/parser.nit:7253 */
21741 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21742 /* parser/parser.nit:7255 */
21743 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*/;
21744 if (UNTAG_Bool(REGB0)) {
21745 } else {
21746 nit_abort("Assert failed", NULL, LOCATE_parser, 7255);
21747 }
21748 /* parser/parser.nit:7257 */
21749 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*/;
21750 if (UNTAG_Bool(REGB0)) {
21751 } else {
21752 nit_abort("Assert failed", NULL, LOCATE_parser, 7257);
21753 }
21754 /* parser/parser.nit:7259 */
21755 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*/;
21756 if (UNTAG_Bool(REGB0)) {
21757 } else {
21758 nit_abort("Assert failed", NULL, LOCATE_parser, 7259);
21759 }
21760 /* parser/parser.nit:7261 */
21761 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*/;
21762 if (UNTAG_Bool(REGB0)) {
21763 } else {
21764 nit_abort("Assert failed", NULL, LOCATE_parser, 7261);
21765 }
21766 /* parser/parser.nit:7263 */
21767 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*/;
21768 if (UNTAG_Bool(REGB0)) {
21769 } else {
21770 nit_abort("Assert failed", NULL, LOCATE_parser, 7263);
21771 }
21772 /* parser/parser.nit:7265 */
21773 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*/;
21774 if (UNTAG_Bool(REGB0)) {
21775 } else {
21776 nit_abort("Assert failed", NULL, LOCATE_parser, 7265);
21777 }
21778 /* parser/parser.nit:7267 */
21779 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*/;
21780 if (UNTAG_Bool(REGB0)) {
21781 } else {
21782 nit_abort("Assert failed", NULL, LOCATE_parser, 7267);
21783 }
21784 /* parser/parser.nit:7268 */
21785 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]);
21786 /* parser/parser.nit:7280 */
21787 fra.me.REG[2] = fra.me.REG[3];
21788 /* parser/parser.nit:7281 */
21789 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21790 if (UNTAG_Bool(REGB0)) {
21791 } else {
21792 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7281);
21793 }
21794 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21795 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21796 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21797 stack_frame_head = fra.me.prev;
21798 return;
21799 }
21800 static const char LOCATE_parser___ReduceAction166___action[] = "parser::ReduceAction166::(parser::ReduceAction::action)";
21801 void parser___ReduceAction166___action(val_t p0, val_t p1){
21802 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
21803 val_t REGB0;
21804 val_t tmp;
21805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21806 fra.me.file = LOCATE_parser;
21807 fra.me.line = 7286;
21808 fra.me.meth = LOCATE_parser___ReduceAction166___action;
21809 fra.me.has_broke = 0;
21810 fra.me.REG_size = 9;
21811 fra.me.nitni_local_ref_head = NULL;
21812 fra.me.REG[0] = NIT_NULL;
21813 fra.me.REG[1] = NIT_NULL;
21814 fra.me.REG[2] = NIT_NULL;
21815 fra.me.REG[3] = NIT_NULL;
21816 fra.me.REG[4] = NIT_NULL;
21817 fra.me.REG[5] = NIT_NULL;
21818 fra.me.REG[6] = NIT_NULL;
21819 fra.me.REG[7] = NIT_NULL;
21820 fra.me.REG[8] = NIT_NULL;
21821 fra.me.REG[0] = p0;
21822 fra.me.REG[1] = p1;
21823 /* parser/parser.nit:7288 */
21824 fra.me.REG[2] = NIT_NULL;
21825 /* parser/parser.nit:7289 */
21826 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21827 /* parser/parser.nit:7290 */
21828 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21829 /* parser/parser.nit:7291 */
21830 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21831 /* parser/parser.nit:7292 */
21832 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21833 /* parser/parser.nit:7293 */
21834 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21835 /* parser/parser.nit:7294 */
21836 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21837 /* parser/parser.nit:7295 */
21838 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21839 /* parser/parser.nit:7296 */
21840 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21841 /* parser/parser.nit:7298 */
21842 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*/;
21843 if (UNTAG_Bool(REGB0)) {
21844 } else {
21845 nit_abort("Assert failed", NULL, LOCATE_parser, 7298);
21846 }
21847 /* parser/parser.nit:7300 */
21848 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*/;
21849 if (UNTAG_Bool(REGB0)) {
21850 } else {
21851 nit_abort("Assert failed", NULL, LOCATE_parser, 7300);
21852 }
21853 /* parser/parser.nit:7302 */
21854 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*/;
21855 if (UNTAG_Bool(REGB0)) {
21856 } else {
21857 nit_abort("Assert failed", NULL, LOCATE_parser, 7302);
21858 }
21859 /* parser/parser.nit:7304 */
21860 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*/;
21861 if (UNTAG_Bool(REGB0)) {
21862 } else {
21863 nit_abort("Assert failed", NULL, LOCATE_parser, 7304);
21864 }
21865 /* parser/parser.nit:7306 */
21866 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*/;
21867 if (UNTAG_Bool(REGB0)) {
21868 } else {
21869 nit_abort("Assert failed", NULL, LOCATE_parser, 7306);
21870 }
21871 /* parser/parser.nit:7308 */
21872 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*/;
21873 if (UNTAG_Bool(REGB0)) {
21874 } else {
21875 nit_abort("Assert failed", NULL, LOCATE_parser, 7308);
21876 }
21877 /* parser/parser.nit:7309 */
21878 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]);
21879 /* parser/parser.nit:7321 */
21880 fra.me.REG[2] = fra.me.REG[3];
21881 /* parser/parser.nit:7322 */
21882 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
21883 if (UNTAG_Bool(REGB0)) {
21884 } else {
21885 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7322);
21886 }
21887 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
21888 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
21889 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
21890 stack_frame_head = fra.me.prev;
21891 return;
21892 }
21893 static const char LOCATE_parser___ReduceAction167___action[] = "parser::ReduceAction167::(parser::ReduceAction::action)";
21894 void parser___ReduceAction167___action(val_t p0, val_t p1){
21895 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
21896 val_t REGB0;
21897 val_t tmp;
21898 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21899 fra.me.file = LOCATE_parser;
21900 fra.me.line = 7327;
21901 fra.me.meth = LOCATE_parser___ReduceAction167___action;
21902 fra.me.has_broke = 0;
21903 fra.me.REG_size = 10;
21904 fra.me.nitni_local_ref_head = NULL;
21905 fra.me.REG[0] = NIT_NULL;
21906 fra.me.REG[1] = NIT_NULL;
21907 fra.me.REG[2] = NIT_NULL;
21908 fra.me.REG[3] = NIT_NULL;
21909 fra.me.REG[4] = NIT_NULL;
21910 fra.me.REG[5] = NIT_NULL;
21911 fra.me.REG[6] = NIT_NULL;
21912 fra.me.REG[7] = NIT_NULL;
21913 fra.me.REG[8] = NIT_NULL;
21914 fra.me.REG[9] = NIT_NULL;
21915 fra.me.REG[0] = p0;
21916 fra.me.REG[1] = p1;
21917 /* parser/parser.nit:7329 */
21918 fra.me.REG[2] = NIT_NULL;
21919 /* parser/parser.nit:7330 */
21920 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21921 /* parser/parser.nit:7331 */
21922 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21923 /* parser/parser.nit:7332 */
21924 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21925 /* parser/parser.nit:7333 */
21926 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21927 /* parser/parser.nit:7334 */
21928 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21929 /* parser/parser.nit:7335 */
21930 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21931 /* parser/parser.nit:7336 */
21932 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21933 /* parser/parser.nit:7337 */
21934 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21935 /* parser/parser.nit:7338 */
21936 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
21937 /* parser/parser.nit:7340 */
21938 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*/;
21939 if (UNTAG_Bool(REGB0)) {
21940 } else {
21941 nit_abort("Assert failed", NULL, LOCATE_parser, 7340);
21942 }
21943 /* parser/parser.nit:7342 */
21944 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*/;
21945 if (UNTAG_Bool(REGB0)) {
21946 } else {
21947 nit_abort("Assert failed", NULL, LOCATE_parser, 7342);
21948 }
21949 /* parser/parser.nit:7344 */
21950 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*/;
21951 if (UNTAG_Bool(REGB0)) {
21952 } else {
21953 nit_abort("Assert failed", NULL, LOCATE_parser, 7344);
21954 }
21955 /* parser/parser.nit:7346 */
21956 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*/;
21957 if (UNTAG_Bool(REGB0)) {
21958 } else {
21959 nit_abort("Assert failed", NULL, LOCATE_parser, 7346);
21960 }
21961 /* parser/parser.nit:7348 */
21962 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*/;
21963 if (UNTAG_Bool(REGB0)) {
21964 } else {
21965 nit_abort("Assert failed", NULL, LOCATE_parser, 7348);
21966 }
21967 /* parser/parser.nit:7350 */
21968 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*/;
21969 if (UNTAG_Bool(REGB0)) {
21970 } else {
21971 nit_abort("Assert failed", NULL, LOCATE_parser, 7350);
21972 }
21973 /* parser/parser.nit:7352 */
21974 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*/;
21975 if (UNTAG_Bool(REGB0)) {
21976 } else {
21977 nit_abort("Assert failed", NULL, LOCATE_parser, 7352);
21978 }
21979 /* parser/parser.nit:7353 */
21980 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]);
21981 /* parser/parser.nit:7365 */
21982 fra.me.REG[2] = fra.me.REG[3];
21983 /* parser/parser.nit:7366 */
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, 7366);
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 static const char LOCATE_parser___ReduceAction168___action[] = "parser::ReduceAction168::(parser::ReduceAction::action)";
21996 void parser___ReduceAction168___action(val_t p0, val_t p1){
21997 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
21998 val_t REGB0;
21999 val_t tmp;
22000 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22001 fra.me.file = LOCATE_parser;
22002 fra.me.line = 7371;
22003 fra.me.meth = LOCATE_parser___ReduceAction168___action;
22004 fra.me.has_broke = 0;
22005 fra.me.REG_size = 10;
22006 fra.me.nitni_local_ref_head = NULL;
22007 fra.me.REG[0] = NIT_NULL;
22008 fra.me.REG[1] = NIT_NULL;
22009 fra.me.REG[2] = NIT_NULL;
22010 fra.me.REG[3] = NIT_NULL;
22011 fra.me.REG[4] = NIT_NULL;
22012 fra.me.REG[5] = NIT_NULL;
22013 fra.me.REG[6] = NIT_NULL;
22014 fra.me.REG[7] = NIT_NULL;
22015 fra.me.REG[8] = NIT_NULL;
22016 fra.me.REG[9] = NIT_NULL;
22017 fra.me.REG[0] = p0;
22018 fra.me.REG[1] = p1;
22019 /* parser/parser.nit:7373 */
22020 fra.me.REG[2] = NIT_NULL;
22021 /* parser/parser.nit:7374 */
22022 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22023 /* parser/parser.nit:7375 */
22024 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22025 /* parser/parser.nit:7376 */
22026 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22027 /* parser/parser.nit:7377 */
22028 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22029 /* parser/parser.nit:7378 */
22030 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22031 /* parser/parser.nit:7379 */
22032 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22033 /* parser/parser.nit:7380 */
22034 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22035 /* parser/parser.nit:7381 */
22036 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22037 /* parser/parser.nit:7382 */
22038 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22039 /* parser/parser.nit:7384 */
22040 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*/;
22041 if (UNTAG_Bool(REGB0)) {
22042 } else {
22043 nit_abort("Assert failed", NULL, LOCATE_parser, 7384);
22044 }
22045 /* parser/parser.nit:7386 */
22046 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*/;
22047 if (UNTAG_Bool(REGB0)) {
22048 } else {
22049 nit_abort("Assert failed", NULL, LOCATE_parser, 7386);
22050 }
22051 /* parser/parser.nit:7388 */
22052 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*/;
22053 if (UNTAG_Bool(REGB0)) {
22054 } else {
22055 nit_abort("Assert failed", NULL, LOCATE_parser, 7388);
22056 }
22057 /* parser/parser.nit:7390 */
22058 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*/;
22059 if (UNTAG_Bool(REGB0)) {
22060 } else {
22061 nit_abort("Assert failed", NULL, LOCATE_parser, 7390);
22062 }
22063 /* parser/parser.nit:7392 */
22064 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*/;
22065 if (UNTAG_Bool(REGB0)) {
22066 } else {
22067 nit_abort("Assert failed", NULL, LOCATE_parser, 7392);
22068 }
22069 /* parser/parser.nit:7394 */
22070 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*/;
22071 if (UNTAG_Bool(REGB0)) {
22072 } else {
22073 nit_abort("Assert failed", NULL, LOCATE_parser, 7394);
22074 }
22075 /* parser/parser.nit:7396 */
22076 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*/;
22077 if (UNTAG_Bool(REGB0)) {
22078 } else {
22079 nit_abort("Assert failed", NULL, LOCATE_parser, 7396);
22080 }
22081 /* parser/parser.nit:7397 */
22082 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]);
22083 /* parser/parser.nit:7409 */
22084 fra.me.REG[2] = fra.me.REG[3];
22085 /* parser/parser.nit:7410 */
22086 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22087 if (UNTAG_Bool(REGB0)) {
22088 } else {
22089 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7410);
22090 }
22091 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22092 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22094 stack_frame_head = fra.me.prev;
22095 return;
22096 }
22097 static const char LOCATE_parser___ReduceAction169___action[] = "parser::ReduceAction169::(parser::ReduceAction::action)";
22098 void parser___ReduceAction169___action(val_t p0, val_t p1){
22099 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
22100 val_t REGB0;
22101 val_t tmp;
22102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22103 fra.me.file = LOCATE_parser;
22104 fra.me.line = 7415;
22105 fra.me.meth = LOCATE_parser___ReduceAction169___action;
22106 fra.me.has_broke = 0;
22107 fra.me.REG_size = 11;
22108 fra.me.nitni_local_ref_head = NULL;
22109 fra.me.REG[0] = NIT_NULL;
22110 fra.me.REG[1] = NIT_NULL;
22111 fra.me.REG[2] = NIT_NULL;
22112 fra.me.REG[3] = NIT_NULL;
22113 fra.me.REG[4] = NIT_NULL;
22114 fra.me.REG[5] = NIT_NULL;
22115 fra.me.REG[6] = NIT_NULL;
22116 fra.me.REG[7] = NIT_NULL;
22117 fra.me.REG[8] = NIT_NULL;
22118 fra.me.REG[9] = NIT_NULL;
22119 fra.me.REG[10] = NIT_NULL;
22120 fra.me.REG[0] = p0;
22121 fra.me.REG[1] = p1;
22122 /* parser/parser.nit:7417 */
22123 fra.me.REG[2] = NIT_NULL;
22124 /* parser/parser.nit:7418 */
22125 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22126 /* parser/parser.nit:7419 */
22127 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22128 /* parser/parser.nit:7420 */
22129 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22130 /* parser/parser.nit:7421 */
22131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22132 /* parser/parser.nit:7422 */
22133 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22134 /* parser/parser.nit:7423 */
22135 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22136 /* parser/parser.nit:7424 */
22137 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22138 /* parser/parser.nit:7425 */
22139 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22140 /* parser/parser.nit:7426 */
22141 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22142 /* parser/parser.nit:7427 */
22143 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22144 /* parser/parser.nit:7429 */
22145 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*/;
22146 if (UNTAG_Bool(REGB0)) {
22147 } else {
22148 nit_abort("Assert failed", NULL, LOCATE_parser, 7429);
22149 }
22150 /* parser/parser.nit:7431 */
22151 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*/;
22152 if (UNTAG_Bool(REGB0)) {
22153 } else {
22154 nit_abort("Assert failed", NULL, LOCATE_parser, 7431);
22155 }
22156 /* parser/parser.nit:7433 */
22157 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*/;
22158 if (UNTAG_Bool(REGB0)) {
22159 } else {
22160 nit_abort("Assert failed", NULL, LOCATE_parser, 7433);
22161 }
22162 /* parser/parser.nit:7435 */
22163 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*/;
22164 if (UNTAG_Bool(REGB0)) {
22165 } else {
22166 nit_abort("Assert failed", NULL, LOCATE_parser, 7435);
22167 }
22168 /* parser/parser.nit:7437 */
22169 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*/;
22170 if (UNTAG_Bool(REGB0)) {
22171 } else {
22172 nit_abort("Assert failed", NULL, LOCATE_parser, 7437);
22173 }
22174 /* parser/parser.nit:7439 */
22175 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*/;
22176 if (UNTAG_Bool(REGB0)) {
22177 } else {
22178 nit_abort("Assert failed", NULL, LOCATE_parser, 7439);
22179 }
22180 /* parser/parser.nit:7441 */
22181 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*/;
22182 if (UNTAG_Bool(REGB0)) {
22183 } else {
22184 nit_abort("Assert failed", NULL, LOCATE_parser, 7441);
22185 }
22186 /* parser/parser.nit:7443 */
22187 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*/;
22188 if (UNTAG_Bool(REGB0)) {
22189 } else {
22190 nit_abort("Assert failed", NULL, LOCATE_parser, 7443);
22191 }
22192 /* parser/parser.nit:7444 */
22193 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]);
22194 /* parser/parser.nit:7456 */
22195 fra.me.REG[2] = fra.me.REG[3];
22196 /* parser/parser.nit:7457 */
22197 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22198 if (UNTAG_Bool(REGB0)) {
22199 } else {
22200 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7457);
22201 }
22202 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22203 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22204 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22205 stack_frame_head = fra.me.prev;
22206 return;
22207 }
22208 static const char LOCATE_parser___ReduceAction170___action[] = "parser::ReduceAction170::(parser::ReduceAction::action)";
22209 void parser___ReduceAction170___action(val_t p0, val_t p1){
22210 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
22211 val_t REGB0;
22212 val_t tmp;
22213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22214 fra.me.file = LOCATE_parser;
22215 fra.me.line = 7462;
22216 fra.me.meth = LOCATE_parser___ReduceAction170___action;
22217 fra.me.has_broke = 0;
22218 fra.me.REG_size = 9;
22219 fra.me.nitni_local_ref_head = NULL;
22220 fra.me.REG[0] = NIT_NULL;
22221 fra.me.REG[1] = NIT_NULL;
22222 fra.me.REG[2] = NIT_NULL;
22223 fra.me.REG[3] = NIT_NULL;
22224 fra.me.REG[4] = NIT_NULL;
22225 fra.me.REG[5] = NIT_NULL;
22226 fra.me.REG[6] = NIT_NULL;
22227 fra.me.REG[7] = NIT_NULL;
22228 fra.me.REG[8] = NIT_NULL;
22229 fra.me.REG[0] = p0;
22230 fra.me.REG[1] = p1;
22231 /* parser/parser.nit:7464 */
22232 fra.me.REG[2] = NIT_NULL;
22233 /* parser/parser.nit:7465 */
22234 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22235 /* parser/parser.nit:7466 */
22236 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22237 /* parser/parser.nit:7467 */
22238 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22239 /* parser/parser.nit:7468 */
22240 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22241 /* parser/parser.nit:7469 */
22242 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22243 /* parser/parser.nit:7470 */
22244 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22245 /* parser/parser.nit:7471 */
22246 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22247 /* parser/parser.nit:7472 */
22248 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22249 /* parser/parser.nit:7474 */
22250 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*/;
22251 if (UNTAG_Bool(REGB0)) {
22252 } else {
22253 nit_abort("Assert failed", NULL, LOCATE_parser, 7474);
22254 }
22255 /* parser/parser.nit:7476 */
22256 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*/;
22257 if (UNTAG_Bool(REGB0)) {
22258 } else {
22259 nit_abort("Assert failed", NULL, LOCATE_parser, 7476);
22260 }
22261 /* parser/parser.nit:7478 */
22262 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*/;
22263 if (UNTAG_Bool(REGB0)) {
22264 } else {
22265 nit_abort("Assert failed", NULL, LOCATE_parser, 7478);
22266 }
22267 /* parser/parser.nit:7480 */
22268 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*/;
22269 if (UNTAG_Bool(REGB0)) {
22270 } else {
22271 nit_abort("Assert failed", NULL, LOCATE_parser, 7480);
22272 }
22273 /* parser/parser.nit:7482 */
22274 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*/;
22275 if (UNTAG_Bool(REGB0)) {
22276 } else {
22277 nit_abort("Assert failed", NULL, LOCATE_parser, 7482);
22278 }
22279 /* parser/parser.nit:7484 */
22280 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*/;
22281 if (UNTAG_Bool(REGB0)) {
22282 } else {
22283 nit_abort("Assert failed", NULL, LOCATE_parser, 7484);
22284 }
22285 /* parser/parser.nit:7485 */
22286 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]);
22287 /* parser/parser.nit:7497 */
22288 fra.me.REG[2] = fra.me.REG[3];
22289 /* parser/parser.nit:7498 */
22290 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22291 if (UNTAG_Bool(REGB0)) {
22292 } else {
22293 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7498);
22294 }
22295 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22296 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22297 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22298 stack_frame_head = fra.me.prev;
22299 return;
22300 }
22301 static const char LOCATE_parser___ReduceAction171___action[] = "parser::ReduceAction171::(parser::ReduceAction::action)";
22302 void parser___ReduceAction171___action(val_t p0, val_t p1){
22303 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
22304 val_t REGB0;
22305 val_t tmp;
22306 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22307 fra.me.file = LOCATE_parser;
22308 fra.me.line = 7503;
22309 fra.me.meth = LOCATE_parser___ReduceAction171___action;
22310 fra.me.has_broke = 0;
22311 fra.me.REG_size = 10;
22312 fra.me.nitni_local_ref_head = NULL;
22313 fra.me.REG[0] = NIT_NULL;
22314 fra.me.REG[1] = NIT_NULL;
22315 fra.me.REG[2] = NIT_NULL;
22316 fra.me.REG[3] = NIT_NULL;
22317 fra.me.REG[4] = NIT_NULL;
22318 fra.me.REG[5] = NIT_NULL;
22319 fra.me.REG[6] = NIT_NULL;
22320 fra.me.REG[7] = NIT_NULL;
22321 fra.me.REG[8] = NIT_NULL;
22322 fra.me.REG[9] = NIT_NULL;
22323 fra.me.REG[0] = p0;
22324 fra.me.REG[1] = p1;
22325 /* parser/parser.nit:7505 */
22326 fra.me.REG[2] = NIT_NULL;
22327 /* parser/parser.nit:7506 */
22328 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22329 /* parser/parser.nit:7507 */
22330 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22331 /* parser/parser.nit:7508 */
22332 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22333 /* parser/parser.nit:7509 */
22334 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22335 /* parser/parser.nit:7510 */
22336 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22337 /* parser/parser.nit:7511 */
22338 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22339 /* parser/parser.nit:7512 */
22340 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22341 /* parser/parser.nit:7513 */
22342 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22343 /* parser/parser.nit:7514 */
22344 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22345 /* parser/parser.nit:7516 */
22346 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*/;
22347 if (UNTAG_Bool(REGB0)) {
22348 } else {
22349 nit_abort("Assert failed", NULL, LOCATE_parser, 7516);
22350 }
22351 /* parser/parser.nit:7518 */
22352 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*/;
22353 if (UNTAG_Bool(REGB0)) {
22354 } else {
22355 nit_abort("Assert failed", NULL, LOCATE_parser, 7518);
22356 }
22357 /* parser/parser.nit:7520 */
22358 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*/;
22359 if (UNTAG_Bool(REGB0)) {
22360 } else {
22361 nit_abort("Assert failed", NULL, LOCATE_parser, 7520);
22362 }
22363 /* parser/parser.nit:7522 */
22364 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*/;
22365 if (UNTAG_Bool(REGB0)) {
22366 } else {
22367 nit_abort("Assert failed", NULL, LOCATE_parser, 7522);
22368 }
22369 /* parser/parser.nit:7524 */
22370 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*/;
22371 if (UNTAG_Bool(REGB0)) {
22372 } else {
22373 nit_abort("Assert failed", NULL, LOCATE_parser, 7524);
22374 }
22375 /* parser/parser.nit:7526 */
22376 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*/;
22377 if (UNTAG_Bool(REGB0)) {
22378 } else {
22379 nit_abort("Assert failed", NULL, LOCATE_parser, 7526);
22380 }
22381 /* parser/parser.nit:7528 */
22382 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*/;
22383 if (UNTAG_Bool(REGB0)) {
22384 } else {
22385 nit_abort("Assert failed", NULL, LOCATE_parser, 7528);
22386 }
22387 /* parser/parser.nit:7529 */
22388 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]);
22389 /* parser/parser.nit:7541 */
22390 fra.me.REG[2] = fra.me.REG[3];
22391 /* parser/parser.nit:7542 */
22392 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22393 if (UNTAG_Bool(REGB0)) {
22394 } else {
22395 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7542);
22396 }
22397 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22398 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22399 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22400 stack_frame_head = fra.me.prev;
22401 return;
22402 }
22403 static const char LOCATE_parser___ReduceAction172___action[] = "parser::ReduceAction172::(parser::ReduceAction::action)";
22404 void parser___ReduceAction172___action(val_t p0, val_t p1){
22405 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
22406 val_t REGB0;
22407 val_t tmp;
22408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22409 fra.me.file = LOCATE_parser;
22410 fra.me.line = 7547;
22411 fra.me.meth = LOCATE_parser___ReduceAction172___action;
22412 fra.me.has_broke = 0;
22413 fra.me.REG_size = 10;
22414 fra.me.nitni_local_ref_head = NULL;
22415 fra.me.REG[0] = NIT_NULL;
22416 fra.me.REG[1] = NIT_NULL;
22417 fra.me.REG[2] = NIT_NULL;
22418 fra.me.REG[3] = NIT_NULL;
22419 fra.me.REG[4] = NIT_NULL;
22420 fra.me.REG[5] = NIT_NULL;
22421 fra.me.REG[6] = NIT_NULL;
22422 fra.me.REG[7] = NIT_NULL;
22423 fra.me.REG[8] = NIT_NULL;
22424 fra.me.REG[9] = NIT_NULL;
22425 fra.me.REG[0] = p0;
22426 fra.me.REG[1] = p1;
22427 /* parser/parser.nit:7549 */
22428 fra.me.REG[2] = NIT_NULL;
22429 /* parser/parser.nit:7550 */
22430 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22431 /* parser/parser.nit:7551 */
22432 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22433 /* parser/parser.nit:7552 */
22434 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22435 /* parser/parser.nit:7553 */
22436 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22437 /* parser/parser.nit:7554 */
22438 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22439 /* parser/parser.nit:7555 */
22440 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22441 /* parser/parser.nit:7556 */
22442 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22443 /* parser/parser.nit:7557 */
22444 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22445 /* parser/parser.nit:7558 */
22446 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22447 /* parser/parser.nit:7560 */
22448 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*/;
22449 if (UNTAG_Bool(REGB0)) {
22450 } else {
22451 nit_abort("Assert failed", NULL, LOCATE_parser, 7560);
22452 }
22453 /* parser/parser.nit:7562 */
22454 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*/;
22455 if (UNTAG_Bool(REGB0)) {
22456 } else {
22457 nit_abort("Assert failed", NULL, LOCATE_parser, 7562);
22458 }
22459 /* parser/parser.nit:7564 */
22460 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*/;
22461 if (UNTAG_Bool(REGB0)) {
22462 } else {
22463 nit_abort("Assert failed", NULL, LOCATE_parser, 7564);
22464 }
22465 /* parser/parser.nit:7566 */
22466 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*/;
22467 if (UNTAG_Bool(REGB0)) {
22468 } else {
22469 nit_abort("Assert failed", NULL, LOCATE_parser, 7566);
22470 }
22471 /* parser/parser.nit:7568 */
22472 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*/;
22473 if (UNTAG_Bool(REGB0)) {
22474 } else {
22475 nit_abort("Assert failed", NULL, LOCATE_parser, 7568);
22476 }
22477 /* parser/parser.nit:7570 */
22478 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*/;
22479 if (UNTAG_Bool(REGB0)) {
22480 } else {
22481 nit_abort("Assert failed", NULL, LOCATE_parser, 7570);
22482 }
22483 /* parser/parser.nit:7572 */
22484 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*/;
22485 if (UNTAG_Bool(REGB0)) {
22486 } else {
22487 nit_abort("Assert failed", NULL, LOCATE_parser, 7572);
22488 }
22489 /* parser/parser.nit:7573 */
22490 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]);
22491 /* parser/parser.nit:7585 */
22492 fra.me.REG[2] = fra.me.REG[3];
22493 /* parser/parser.nit:7586 */
22494 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22495 if (UNTAG_Bool(REGB0)) {
22496 } else {
22497 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7586);
22498 }
22499 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22500 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22501 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22502 stack_frame_head = fra.me.prev;
22503 return;
22504 }
22505 static const char LOCATE_parser___ReduceAction173___action[] = "parser::ReduceAction173::(parser::ReduceAction::action)";
22506 void parser___ReduceAction173___action(val_t p0, val_t p1){
22507 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
22508 val_t REGB0;
22509 val_t tmp;
22510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22511 fra.me.file = LOCATE_parser;
22512 fra.me.line = 7591;
22513 fra.me.meth = LOCATE_parser___ReduceAction173___action;
22514 fra.me.has_broke = 0;
22515 fra.me.REG_size = 11;
22516 fra.me.nitni_local_ref_head = NULL;
22517 fra.me.REG[0] = NIT_NULL;
22518 fra.me.REG[1] = NIT_NULL;
22519 fra.me.REG[2] = NIT_NULL;
22520 fra.me.REG[3] = NIT_NULL;
22521 fra.me.REG[4] = NIT_NULL;
22522 fra.me.REG[5] = NIT_NULL;
22523 fra.me.REG[6] = NIT_NULL;
22524 fra.me.REG[7] = NIT_NULL;
22525 fra.me.REG[8] = NIT_NULL;
22526 fra.me.REG[9] = NIT_NULL;
22527 fra.me.REG[10] = NIT_NULL;
22528 fra.me.REG[0] = p0;
22529 fra.me.REG[1] = p1;
22530 /* parser/parser.nit:7593 */
22531 fra.me.REG[2] = NIT_NULL;
22532 /* parser/parser.nit:7594 */
22533 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22534 /* parser/parser.nit:7595 */
22535 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22536 /* parser/parser.nit:7596 */
22537 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22538 /* parser/parser.nit:7597 */
22539 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22540 /* parser/parser.nit:7598 */
22541 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22542 /* parser/parser.nit:7599 */
22543 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22544 /* parser/parser.nit:7600 */
22545 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22546 /* parser/parser.nit:7601 */
22547 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22548 /* parser/parser.nit:7602 */
22549 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22550 /* parser/parser.nit:7603 */
22551 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22552 /* parser/parser.nit:7605 */
22553 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*/;
22554 if (UNTAG_Bool(REGB0)) {
22555 } else {
22556 nit_abort("Assert failed", NULL, LOCATE_parser, 7605);
22557 }
22558 /* parser/parser.nit:7607 */
22559 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*/;
22560 if (UNTAG_Bool(REGB0)) {
22561 } else {
22562 nit_abort("Assert failed", NULL, LOCATE_parser, 7607);
22563 }
22564 /* parser/parser.nit:7609 */
22565 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*/;
22566 if (UNTAG_Bool(REGB0)) {
22567 } else {
22568 nit_abort("Assert failed", NULL, LOCATE_parser, 7609);
22569 }
22570 /* parser/parser.nit:7611 */
22571 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*/;
22572 if (UNTAG_Bool(REGB0)) {
22573 } else {
22574 nit_abort("Assert failed", NULL, LOCATE_parser, 7611);
22575 }
22576 /* parser/parser.nit:7613 */
22577 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*/;
22578 if (UNTAG_Bool(REGB0)) {
22579 } else {
22580 nit_abort("Assert failed", NULL, LOCATE_parser, 7613);
22581 }
22582 /* parser/parser.nit:7615 */
22583 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*/;
22584 if (UNTAG_Bool(REGB0)) {
22585 } else {
22586 nit_abort("Assert failed", NULL, LOCATE_parser, 7615);
22587 }
22588 /* parser/parser.nit:7617 */
22589 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*/;
22590 if (UNTAG_Bool(REGB0)) {
22591 } else {
22592 nit_abort("Assert failed", NULL, LOCATE_parser, 7617);
22593 }
22594 /* parser/parser.nit:7619 */
22595 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*/;
22596 if (UNTAG_Bool(REGB0)) {
22597 } else {
22598 nit_abort("Assert failed", NULL, LOCATE_parser, 7619);
22599 }
22600 /* parser/parser.nit:7620 */
22601 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]);
22602 /* parser/parser.nit:7632 */
22603 fra.me.REG[2] = fra.me.REG[3];
22604 /* parser/parser.nit:7633 */
22605 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22606 if (UNTAG_Bool(REGB0)) {
22607 } else {
22608 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7633);
22609 }
22610 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22611 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22612 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22613 stack_frame_head = fra.me.prev;
22614 return;
22615 }
22616 static const char LOCATE_parser___ReduceAction174___action[] = "parser::ReduceAction174::(parser::ReduceAction::action)";
22617 void parser___ReduceAction174___action(val_t p0, val_t p1){
22618 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
22619 val_t REGB0;
22620 val_t tmp;
22621 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22622 fra.me.file = LOCATE_parser;
22623 fra.me.line = 7638;
22624 fra.me.meth = LOCATE_parser___ReduceAction174___action;
22625 fra.me.has_broke = 0;
22626 fra.me.REG_size = 10;
22627 fra.me.nitni_local_ref_head = NULL;
22628 fra.me.REG[0] = NIT_NULL;
22629 fra.me.REG[1] = NIT_NULL;
22630 fra.me.REG[2] = NIT_NULL;
22631 fra.me.REG[3] = NIT_NULL;
22632 fra.me.REG[4] = NIT_NULL;
22633 fra.me.REG[5] = NIT_NULL;
22634 fra.me.REG[6] = NIT_NULL;
22635 fra.me.REG[7] = NIT_NULL;
22636 fra.me.REG[8] = NIT_NULL;
22637 fra.me.REG[9] = NIT_NULL;
22638 fra.me.REG[0] = p0;
22639 fra.me.REG[1] = p1;
22640 /* parser/parser.nit:7640 */
22641 fra.me.REG[2] = NIT_NULL;
22642 /* parser/parser.nit:7641 */
22643 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22644 /* parser/parser.nit:7642 */
22645 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22646 /* parser/parser.nit:7643 */
22647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22648 /* parser/parser.nit:7644 */
22649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22650 /* parser/parser.nit:7645 */
22651 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22652 /* parser/parser.nit:7646 */
22653 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22654 /* parser/parser.nit:7647 */
22655 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22656 /* parser/parser.nit:7648 */
22657 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22658 /* parser/parser.nit:7649 */
22659 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22660 /* parser/parser.nit:7651 */
22661 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*/;
22662 if (UNTAG_Bool(REGB0)) {
22663 } else {
22664 nit_abort("Assert failed", NULL, LOCATE_parser, 7651);
22665 }
22666 /* parser/parser.nit:7653 */
22667 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*/;
22668 if (UNTAG_Bool(REGB0)) {
22669 } else {
22670 nit_abort("Assert failed", NULL, LOCATE_parser, 7653);
22671 }
22672 /* parser/parser.nit:7655 */
22673 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*/;
22674 if (UNTAG_Bool(REGB0)) {
22675 } else {
22676 nit_abort("Assert failed", NULL, LOCATE_parser, 7655);
22677 }
22678 /* parser/parser.nit:7657 */
22679 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*/;
22680 if (UNTAG_Bool(REGB0)) {
22681 } else {
22682 nit_abort("Assert failed", NULL, LOCATE_parser, 7657);
22683 }
22684 /* parser/parser.nit:7659 */
22685 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*/;
22686 if (UNTAG_Bool(REGB0)) {
22687 } else {
22688 nit_abort("Assert failed", NULL, LOCATE_parser, 7659);
22689 }
22690 /* parser/parser.nit:7661 */
22691 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*/;
22692 if (UNTAG_Bool(REGB0)) {
22693 } else {
22694 nit_abort("Assert failed", NULL, LOCATE_parser, 7661);
22695 }
22696 /* parser/parser.nit:7663 */
22697 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*/;
22698 if (UNTAG_Bool(REGB0)) {
22699 } else {
22700 nit_abort("Assert failed", NULL, LOCATE_parser, 7663);
22701 }
22702 /* parser/parser.nit:7664 */
22703 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]);
22704 /* parser/parser.nit:7676 */
22705 fra.me.REG[2] = fra.me.REG[3];
22706 /* parser/parser.nit:7677 */
22707 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22708 if (UNTAG_Bool(REGB0)) {
22709 } else {
22710 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7677);
22711 }
22712 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22713 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22714 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22715 stack_frame_head = fra.me.prev;
22716 return;
22717 }
22718 static const char LOCATE_parser___ReduceAction175___action[] = "parser::ReduceAction175::(parser::ReduceAction::action)";
22719 void parser___ReduceAction175___action(val_t p0, val_t p1){
22720 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
22721 val_t REGB0;
22722 val_t tmp;
22723 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22724 fra.me.file = LOCATE_parser;
22725 fra.me.line = 7682;
22726 fra.me.meth = LOCATE_parser___ReduceAction175___action;
22727 fra.me.has_broke = 0;
22728 fra.me.REG_size = 11;
22729 fra.me.nitni_local_ref_head = NULL;
22730 fra.me.REG[0] = NIT_NULL;
22731 fra.me.REG[1] = NIT_NULL;
22732 fra.me.REG[2] = NIT_NULL;
22733 fra.me.REG[3] = NIT_NULL;
22734 fra.me.REG[4] = NIT_NULL;
22735 fra.me.REG[5] = NIT_NULL;
22736 fra.me.REG[6] = NIT_NULL;
22737 fra.me.REG[7] = NIT_NULL;
22738 fra.me.REG[8] = NIT_NULL;
22739 fra.me.REG[9] = NIT_NULL;
22740 fra.me.REG[10] = NIT_NULL;
22741 fra.me.REG[0] = p0;
22742 fra.me.REG[1] = p1;
22743 /* parser/parser.nit:7684 */
22744 fra.me.REG[2] = NIT_NULL;
22745 /* parser/parser.nit:7685 */
22746 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22747 /* parser/parser.nit:7686 */
22748 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22749 /* parser/parser.nit:7687 */
22750 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22751 /* parser/parser.nit:7688 */
22752 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22753 /* parser/parser.nit:7689 */
22754 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22755 /* parser/parser.nit:7690 */
22756 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22757 /* parser/parser.nit:7691 */
22758 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22759 /* parser/parser.nit:7692 */
22760 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22761 /* parser/parser.nit:7693 */
22762 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22763 /* parser/parser.nit:7694 */
22764 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22765 /* parser/parser.nit:7696 */
22766 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*/;
22767 if (UNTAG_Bool(REGB0)) {
22768 } else {
22769 nit_abort("Assert failed", NULL, LOCATE_parser, 7696);
22770 }
22771 /* parser/parser.nit:7698 */
22772 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*/;
22773 if (UNTAG_Bool(REGB0)) {
22774 } else {
22775 nit_abort("Assert failed", NULL, LOCATE_parser, 7698);
22776 }
22777 /* parser/parser.nit:7700 */
22778 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*/;
22779 if (UNTAG_Bool(REGB0)) {
22780 } else {
22781 nit_abort("Assert failed", NULL, LOCATE_parser, 7700);
22782 }
22783 /* parser/parser.nit:7702 */
22784 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*/;
22785 if (UNTAG_Bool(REGB0)) {
22786 } else {
22787 nit_abort("Assert failed", NULL, LOCATE_parser, 7702);
22788 }
22789 /* parser/parser.nit:7704 */
22790 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*/;
22791 if (UNTAG_Bool(REGB0)) {
22792 } else {
22793 nit_abort("Assert failed", NULL, LOCATE_parser, 7704);
22794 }
22795 /* parser/parser.nit:7706 */
22796 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*/;
22797 if (UNTAG_Bool(REGB0)) {
22798 } else {
22799 nit_abort("Assert failed", NULL, LOCATE_parser, 7706);
22800 }
22801 /* parser/parser.nit:7708 */
22802 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*/;
22803 if (UNTAG_Bool(REGB0)) {
22804 } else {
22805 nit_abort("Assert failed", NULL, LOCATE_parser, 7708);
22806 }
22807 /* parser/parser.nit:7710 */
22808 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*/;
22809 if (UNTAG_Bool(REGB0)) {
22810 } else {
22811 nit_abort("Assert failed", NULL, LOCATE_parser, 7710);
22812 }
22813 /* parser/parser.nit:7711 */
22814 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]);
22815 /* parser/parser.nit:7723 */
22816 fra.me.REG[2] = fra.me.REG[3];
22817 /* parser/parser.nit:7724 */
22818 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22819 if (UNTAG_Bool(REGB0)) {
22820 } else {
22821 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7724);
22822 }
22823 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22824 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22825 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22826 stack_frame_head = fra.me.prev;
22827 return;
22828 }
22829 static const char LOCATE_parser___ReduceAction176___action[] = "parser::ReduceAction176::(parser::ReduceAction::action)";
22830 void parser___ReduceAction176___action(val_t p0, val_t p1){
22831 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
22832 val_t REGB0;
22833 val_t tmp;
22834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22835 fra.me.file = LOCATE_parser;
22836 fra.me.line = 7729;
22837 fra.me.meth = LOCATE_parser___ReduceAction176___action;
22838 fra.me.has_broke = 0;
22839 fra.me.REG_size = 11;
22840 fra.me.nitni_local_ref_head = NULL;
22841 fra.me.REG[0] = NIT_NULL;
22842 fra.me.REG[1] = NIT_NULL;
22843 fra.me.REG[2] = NIT_NULL;
22844 fra.me.REG[3] = NIT_NULL;
22845 fra.me.REG[4] = NIT_NULL;
22846 fra.me.REG[5] = NIT_NULL;
22847 fra.me.REG[6] = NIT_NULL;
22848 fra.me.REG[7] = NIT_NULL;
22849 fra.me.REG[8] = NIT_NULL;
22850 fra.me.REG[9] = NIT_NULL;
22851 fra.me.REG[10] = NIT_NULL;
22852 fra.me.REG[0] = p0;
22853 fra.me.REG[1] = p1;
22854 /* parser/parser.nit:7731 */
22855 fra.me.REG[2] = NIT_NULL;
22856 /* parser/parser.nit:7732 */
22857 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22858 /* parser/parser.nit:7733 */
22859 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22860 /* parser/parser.nit:7734 */
22861 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22862 /* parser/parser.nit:7735 */
22863 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22864 /* parser/parser.nit:7736 */
22865 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22866 /* parser/parser.nit:7737 */
22867 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22868 /* parser/parser.nit:7738 */
22869 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22870 /* parser/parser.nit:7739 */
22871 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22872 /* parser/parser.nit:7740 */
22873 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22874 /* parser/parser.nit:7741 */
22875 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22876 /* parser/parser.nit:7743 */
22877 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*/;
22878 if (UNTAG_Bool(REGB0)) {
22879 } else {
22880 nit_abort("Assert failed", NULL, LOCATE_parser, 7743);
22881 }
22882 /* parser/parser.nit:7745 */
22883 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*/;
22884 if (UNTAG_Bool(REGB0)) {
22885 } else {
22886 nit_abort("Assert failed", NULL, LOCATE_parser, 7745);
22887 }
22888 /* parser/parser.nit:7747 */
22889 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*/;
22890 if (UNTAG_Bool(REGB0)) {
22891 } else {
22892 nit_abort("Assert failed", NULL, LOCATE_parser, 7747);
22893 }
22894 /* parser/parser.nit:7749 */
22895 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*/;
22896 if (UNTAG_Bool(REGB0)) {
22897 } else {
22898 nit_abort("Assert failed", NULL, LOCATE_parser, 7749);
22899 }
22900 /* parser/parser.nit:7751 */
22901 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*/;
22902 if (UNTAG_Bool(REGB0)) {
22903 } else {
22904 nit_abort("Assert failed", NULL, LOCATE_parser, 7751);
22905 }
22906 /* parser/parser.nit:7753 */
22907 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*/;
22908 if (UNTAG_Bool(REGB0)) {
22909 } else {
22910 nit_abort("Assert failed", NULL, LOCATE_parser, 7753);
22911 }
22912 /* parser/parser.nit:7755 */
22913 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*/;
22914 if (UNTAG_Bool(REGB0)) {
22915 } else {
22916 nit_abort("Assert failed", NULL, LOCATE_parser, 7755);
22917 }
22918 /* parser/parser.nit:7757 */
22919 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*/;
22920 if (UNTAG_Bool(REGB0)) {
22921 } else {
22922 nit_abort("Assert failed", NULL, LOCATE_parser, 7757);
22923 }
22924 /* parser/parser.nit:7758 */
22925 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]);
22926 /* parser/parser.nit:7770 */
22927 fra.me.REG[2] = fra.me.REG[3];
22928 /* parser/parser.nit:7771 */
22929 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
22930 if (UNTAG_Bool(REGB0)) {
22931 } else {
22932 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7771);
22933 }
22934 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
22935 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
22936 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
22937 stack_frame_head = fra.me.prev;
22938 return;
22939 }
22940 static const char LOCATE_parser___ReduceAction177___action[] = "parser::ReduceAction177::(parser::ReduceAction::action)";
22941 void parser___ReduceAction177___action(val_t p0, val_t p1){
22942 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
22943 val_t REGB0;
22944 val_t tmp;
22945 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22946 fra.me.file = LOCATE_parser;
22947 fra.me.line = 7776;
22948 fra.me.meth = LOCATE_parser___ReduceAction177___action;
22949 fra.me.has_broke = 0;
22950 fra.me.REG_size = 12;
22951 fra.me.nitni_local_ref_head = NULL;
22952 fra.me.REG[0] = NIT_NULL;
22953 fra.me.REG[1] = NIT_NULL;
22954 fra.me.REG[2] = NIT_NULL;
22955 fra.me.REG[3] = NIT_NULL;
22956 fra.me.REG[4] = NIT_NULL;
22957 fra.me.REG[5] = NIT_NULL;
22958 fra.me.REG[6] = NIT_NULL;
22959 fra.me.REG[7] = NIT_NULL;
22960 fra.me.REG[8] = NIT_NULL;
22961 fra.me.REG[9] = NIT_NULL;
22962 fra.me.REG[10] = NIT_NULL;
22963 fra.me.REG[11] = NIT_NULL;
22964 fra.me.REG[0] = p0;
22965 fra.me.REG[1] = p1;
22966 /* parser/parser.nit:7778 */
22967 fra.me.REG[2] = NIT_NULL;
22968 /* parser/parser.nit:7779 */
22969 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22970 /* parser/parser.nit:7780 */
22971 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22972 /* parser/parser.nit:7781 */
22973 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22974 /* parser/parser.nit:7782 */
22975 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22976 /* parser/parser.nit:7783 */
22977 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22978 /* parser/parser.nit:7784 */
22979 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22980 /* parser/parser.nit:7785 */
22981 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22982 /* parser/parser.nit:7786 */
22983 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22984 /* parser/parser.nit:7787 */
22985 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22986 /* parser/parser.nit:7788 */
22987 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22988 /* parser/parser.nit:7789 */
22989 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
22990 /* parser/parser.nit:7791 */
22991 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*/;
22992 if (UNTAG_Bool(REGB0)) {
22993 } else {
22994 nit_abort("Assert failed", NULL, LOCATE_parser, 7791);
22995 }
22996 /* parser/parser.nit:7793 */
22997 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*/;
22998 if (UNTAG_Bool(REGB0)) {
22999 } else {
23000 nit_abort("Assert failed", NULL, LOCATE_parser, 7793);
23001 }
23002 /* parser/parser.nit:7795 */
23003 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*/;
23004 if (UNTAG_Bool(REGB0)) {
23005 } else {
23006 nit_abort("Assert failed", NULL, LOCATE_parser, 7795);
23007 }
23008 /* parser/parser.nit:7797 */
23009 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*/;
23010 if (UNTAG_Bool(REGB0)) {
23011 } else {
23012 nit_abort("Assert failed", NULL, LOCATE_parser, 7797);
23013 }
23014 /* parser/parser.nit:7799 */
23015 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*/;
23016 if (UNTAG_Bool(REGB0)) {
23017 } else {
23018 nit_abort("Assert failed", NULL, LOCATE_parser, 7799);
23019 }
23020 /* parser/parser.nit:7801 */
23021 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*/;
23022 if (UNTAG_Bool(REGB0)) {
23023 } else {
23024 nit_abort("Assert failed", NULL, LOCATE_parser, 7801);
23025 }
23026 /* parser/parser.nit:7803 */
23027 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*/;
23028 if (UNTAG_Bool(REGB0)) {
23029 } else {
23030 nit_abort("Assert failed", NULL, LOCATE_parser, 7803);
23031 }
23032 /* parser/parser.nit:7805 */
23033 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*/;
23034 if (UNTAG_Bool(REGB0)) {
23035 } else {
23036 nit_abort("Assert failed", NULL, LOCATE_parser, 7805);
23037 }
23038 /* parser/parser.nit:7807 */
23039 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*/;
23040 if (UNTAG_Bool(REGB0)) {
23041 } else {
23042 nit_abort("Assert failed", NULL, LOCATE_parser, 7807);
23043 }
23044 /* parser/parser.nit:7808 */
23045 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]);
23046 /* parser/parser.nit:7820 */
23047 fra.me.REG[2] = fra.me.REG[3];
23048 /* parser/parser.nit:7821 */
23049 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23050 if (UNTAG_Bool(REGB0)) {
23051 } else {
23052 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7821);
23053 }
23054 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23055 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23056 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23057 stack_frame_head = fra.me.prev;
23058 return;
23059 }
23060 static const char LOCATE_parser___ReduceAction178___action[] = "parser::ReduceAction178::(parser::ReduceAction::action)";
23061 void parser___ReduceAction178___action(val_t p0, val_t p1){
23062 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
23063 val_t REGB0;
23064 val_t tmp;
23065 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23066 fra.me.file = LOCATE_parser;
23067 fra.me.line = 7826;
23068 fra.me.meth = LOCATE_parser___ReduceAction178___action;
23069 fra.me.has_broke = 0;
23070 fra.me.REG_size = 7;
23071 fra.me.nitni_local_ref_head = NULL;
23072 fra.me.REG[0] = NIT_NULL;
23073 fra.me.REG[1] = NIT_NULL;
23074 fra.me.REG[2] = NIT_NULL;
23075 fra.me.REG[3] = NIT_NULL;
23076 fra.me.REG[4] = NIT_NULL;
23077 fra.me.REG[5] = NIT_NULL;
23078 fra.me.REG[6] = NIT_NULL;
23079 fra.me.REG[0] = p0;
23080 fra.me.REG[1] = p1;
23081 /* parser/parser.nit:7828 */
23082 fra.me.REG[2] = NIT_NULL;
23083 /* parser/parser.nit:7829 */
23084 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23085 /* parser/parser.nit:7830 */
23086 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23087 /* parser/parser.nit:7831 */
23088 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23089 /* parser/parser.nit:7832 */
23090 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23091 /* parser/parser.nit:7834 */
23092 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*/;
23093 if (UNTAG_Bool(REGB0)) {
23094 } else {
23095 nit_abort("Assert failed", NULL, LOCATE_parser, 7834);
23096 }
23097 /* parser/parser.nit:7836 */
23098 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*/;
23099 if (UNTAG_Bool(REGB0)) {
23100 } else {
23101 nit_abort("Assert failed", NULL, LOCATE_parser, 7836);
23102 }
23103 /* parser/parser.nit:7838 */
23104 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*/;
23105 if (UNTAG_Bool(REGB0)) {
23106 } else {
23107 nit_abort("Assert failed", NULL, LOCATE_parser, 7838);
23108 }
23109 /* parser/parser.nit:7840 */
23110 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*/;
23111 if (UNTAG_Bool(REGB0)) {
23112 } else {
23113 nit_abort("Assert failed", NULL, LOCATE_parser, 7840);
23114 }
23115 /* parser/parser.nit:7841 */
23116 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);
23117 /* parser/parser.nit:7853 */
23118 fra.me.REG[2] = fra.me.REG[3];
23119 /* parser/parser.nit:7854 */
23120 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23121 if (UNTAG_Bool(REGB0)) {
23122 } else {
23123 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7854);
23124 }
23125 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23128 stack_frame_head = fra.me.prev;
23129 return;
23130 }
23131 static const char LOCATE_parser___ReduceAction179___action[] = "parser::ReduceAction179::(parser::ReduceAction::action)";
23132 void parser___ReduceAction179___action(val_t p0, val_t p1){
23133 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23134 val_t REGB0;
23135 val_t tmp;
23136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23137 fra.me.file = LOCATE_parser;
23138 fra.me.line = 7859;
23139 fra.me.meth = LOCATE_parser___ReduceAction179___action;
23140 fra.me.has_broke = 0;
23141 fra.me.REG_size = 8;
23142 fra.me.nitni_local_ref_head = NULL;
23143 fra.me.REG[0] = NIT_NULL;
23144 fra.me.REG[1] = NIT_NULL;
23145 fra.me.REG[2] = NIT_NULL;
23146 fra.me.REG[3] = NIT_NULL;
23147 fra.me.REG[4] = NIT_NULL;
23148 fra.me.REG[5] = NIT_NULL;
23149 fra.me.REG[6] = NIT_NULL;
23150 fra.me.REG[7] = NIT_NULL;
23151 fra.me.REG[0] = p0;
23152 fra.me.REG[1] = p1;
23153 /* parser/parser.nit:7861 */
23154 fra.me.REG[2] = NIT_NULL;
23155 /* parser/parser.nit:7862 */
23156 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23157 /* parser/parser.nit:7863 */
23158 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23159 /* parser/parser.nit:7864 */
23160 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23161 /* parser/parser.nit:7865 */
23162 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23163 /* parser/parser.nit:7866 */
23164 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23165 /* parser/parser.nit:7868 */
23166 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*/;
23167 if (UNTAG_Bool(REGB0)) {
23168 } else {
23169 nit_abort("Assert failed", NULL, LOCATE_parser, 7868);
23170 }
23171 /* parser/parser.nit:7870 */
23172 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*/;
23173 if (UNTAG_Bool(REGB0)) {
23174 } else {
23175 nit_abort("Assert failed", NULL, LOCATE_parser, 7870);
23176 }
23177 /* parser/parser.nit:7872 */
23178 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*/;
23179 if (UNTAG_Bool(REGB0)) {
23180 } else {
23181 nit_abort("Assert failed", NULL, LOCATE_parser, 7872);
23182 }
23183 /* parser/parser.nit:7874 */
23184 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*/;
23185 if (UNTAG_Bool(REGB0)) {
23186 } else {
23187 nit_abort("Assert failed", NULL, LOCATE_parser, 7874);
23188 }
23189 /* parser/parser.nit:7876 */
23190 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*/;
23191 if (UNTAG_Bool(REGB0)) {
23192 } else {
23193 nit_abort("Assert failed", NULL, LOCATE_parser, 7876);
23194 }
23195 /* parser/parser.nit:7877 */
23196 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);
23197 /* parser/parser.nit:7889 */
23198 fra.me.REG[2] = fra.me.REG[3];
23199 /* parser/parser.nit:7890 */
23200 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23201 if (UNTAG_Bool(REGB0)) {
23202 } else {
23203 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7890);
23204 }
23205 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23206 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23207 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23208 stack_frame_head = fra.me.prev;
23209 return;
23210 }
23211 static const char LOCATE_parser___ReduceAction180___action[] = "parser::ReduceAction180::(parser::ReduceAction::action)";
23212 void parser___ReduceAction180___action(val_t p0, val_t p1){
23213 struct {struct stack_frame_t me; val_t MORE_REG[7];} 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 = 7895;
23219 fra.me.meth = LOCATE_parser___ReduceAction180___action;
23220 fra.me.has_broke = 0;
23221 fra.me.REG_size = 8;
23222 fra.me.nitni_local_ref_head = NULL;
23223 fra.me.REG[0] = NIT_NULL;
23224 fra.me.REG[1] = NIT_NULL;
23225 fra.me.REG[2] = NIT_NULL;
23226 fra.me.REG[3] = NIT_NULL;
23227 fra.me.REG[4] = NIT_NULL;
23228 fra.me.REG[5] = NIT_NULL;
23229 fra.me.REG[6] = NIT_NULL;
23230 fra.me.REG[7] = NIT_NULL;
23231 fra.me.REG[0] = p0;
23232 fra.me.REG[1] = p1;
23233 /* parser/parser.nit:7897 */
23234 fra.me.REG[2] = NIT_NULL;
23235 /* parser/parser.nit:7898 */
23236 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23237 /* parser/parser.nit:7899 */
23238 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23239 /* parser/parser.nit:7900 */
23240 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23241 /* parser/parser.nit:7901 */
23242 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23243 /* parser/parser.nit:7902 */
23244 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23245 /* parser/parser.nit:7904 */
23246 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*/;
23247 if (UNTAG_Bool(REGB0)) {
23248 } else {
23249 nit_abort("Assert failed", NULL, LOCATE_parser, 7904);
23250 }
23251 /* parser/parser.nit:7906 */
23252 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*/;
23253 if (UNTAG_Bool(REGB0)) {
23254 } else {
23255 nit_abort("Assert failed", NULL, LOCATE_parser, 7906);
23256 }
23257 /* parser/parser.nit:7908 */
23258 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*/;
23259 if (UNTAG_Bool(REGB0)) {
23260 } else {
23261 nit_abort("Assert failed", NULL, LOCATE_parser, 7908);
23262 }
23263 /* parser/parser.nit:7910 */
23264 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*/;
23265 if (UNTAG_Bool(REGB0)) {
23266 } else {
23267 nit_abort("Assert failed", NULL, LOCATE_parser, 7910);
23268 }
23269 /* parser/parser.nit:7912 */
23270 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*/;
23271 if (UNTAG_Bool(REGB0)) {
23272 } else {
23273 nit_abort("Assert failed", NULL, LOCATE_parser, 7912);
23274 }
23275 /* parser/parser.nit:7913 */
23276 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);
23277 /* parser/parser.nit:7925 */
23278 fra.me.REG[2] = fra.me.REG[3];
23279 /* parser/parser.nit:7926 */
23280 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23281 if (UNTAG_Bool(REGB0)) {
23282 } else {
23283 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7926);
23284 }
23285 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23286 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23287 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23288 stack_frame_head = fra.me.prev;
23289 return;
23290 }
23291 static const char LOCATE_parser___ReduceAction181___action[] = "parser::ReduceAction181::(parser::ReduceAction::action)";
23292 void parser___ReduceAction181___action(val_t p0, val_t p1){
23293 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
23294 val_t REGB0;
23295 val_t tmp;
23296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23297 fra.me.file = LOCATE_parser;
23298 fra.me.line = 7931;
23299 fra.me.meth = LOCATE_parser___ReduceAction181___action;
23300 fra.me.has_broke = 0;
23301 fra.me.REG_size = 9;
23302 fra.me.nitni_local_ref_head = NULL;
23303 fra.me.REG[0] = NIT_NULL;
23304 fra.me.REG[1] = NIT_NULL;
23305 fra.me.REG[2] = NIT_NULL;
23306 fra.me.REG[3] = NIT_NULL;
23307 fra.me.REG[4] = NIT_NULL;
23308 fra.me.REG[5] = NIT_NULL;
23309 fra.me.REG[6] = NIT_NULL;
23310 fra.me.REG[7] = NIT_NULL;
23311 fra.me.REG[8] = NIT_NULL;
23312 fra.me.REG[0] = p0;
23313 fra.me.REG[1] = p1;
23314 /* parser/parser.nit:7933 */
23315 fra.me.REG[2] = NIT_NULL;
23316 /* parser/parser.nit:7934 */
23317 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23318 /* parser/parser.nit:7935 */
23319 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23320 /* parser/parser.nit:7936 */
23321 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23322 /* parser/parser.nit:7937 */
23323 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23324 /* parser/parser.nit:7938 */
23325 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23326 /* parser/parser.nit:7939 */
23327 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23328 /* parser/parser.nit:7941 */
23329 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*/;
23330 if (UNTAG_Bool(REGB0)) {
23331 } else {
23332 nit_abort("Assert failed", NULL, LOCATE_parser, 7941);
23333 }
23334 /* parser/parser.nit:7943 */
23335 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*/;
23336 if (UNTAG_Bool(REGB0)) {
23337 } else {
23338 nit_abort("Assert failed", NULL, LOCATE_parser, 7943);
23339 }
23340 /* parser/parser.nit:7945 */
23341 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*/;
23342 if (UNTAG_Bool(REGB0)) {
23343 } else {
23344 nit_abort("Assert failed", NULL, LOCATE_parser, 7945);
23345 }
23346 /* parser/parser.nit:7947 */
23347 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*/;
23348 if (UNTAG_Bool(REGB0)) {
23349 } else {
23350 nit_abort("Assert failed", NULL, LOCATE_parser, 7947);
23351 }
23352 /* parser/parser.nit:7949 */
23353 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*/;
23354 if (UNTAG_Bool(REGB0)) {
23355 } else {
23356 nit_abort("Assert failed", NULL, LOCATE_parser, 7949);
23357 }
23358 /* parser/parser.nit:7951 */
23359 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*/;
23360 if (UNTAG_Bool(REGB0)) {
23361 } else {
23362 nit_abort("Assert failed", NULL, LOCATE_parser, 7951);
23363 }
23364 /* parser/parser.nit:7952 */
23365 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);
23366 /* parser/parser.nit:7964 */
23367 fra.me.REG[2] = fra.me.REG[3];
23368 /* parser/parser.nit:7965 */
23369 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23370 if (UNTAG_Bool(REGB0)) {
23371 } else {
23372 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 7965);
23373 }
23374 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23375 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23376 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23377 stack_frame_head = fra.me.prev;
23378 return;
23379 }
23380 static const char LOCATE_parser___ReduceAction182___action[] = "parser::ReduceAction182::(parser::ReduceAction::action)";
23381 void parser___ReduceAction182___action(val_t p0, val_t p1){
23382 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23383 val_t REGB0;
23384 val_t tmp;
23385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23386 fra.me.file = LOCATE_parser;
23387 fra.me.line = 7970;
23388 fra.me.meth = LOCATE_parser___ReduceAction182___action;
23389 fra.me.has_broke = 0;
23390 fra.me.REG_size = 8;
23391 fra.me.nitni_local_ref_head = NULL;
23392 fra.me.REG[0] = NIT_NULL;
23393 fra.me.REG[1] = NIT_NULL;
23394 fra.me.REG[2] = NIT_NULL;
23395 fra.me.REG[3] = NIT_NULL;
23396 fra.me.REG[4] = NIT_NULL;
23397 fra.me.REG[5] = NIT_NULL;
23398 fra.me.REG[6] = NIT_NULL;
23399 fra.me.REG[7] = NIT_NULL;
23400 fra.me.REG[0] = p0;
23401 fra.me.REG[1] = p1;
23402 /* parser/parser.nit:7972 */
23403 fra.me.REG[2] = NIT_NULL;
23404 /* parser/parser.nit:7973 */
23405 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23406 /* parser/parser.nit:7974 */
23407 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23408 /* parser/parser.nit:7975 */
23409 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23410 /* parser/parser.nit:7976 */
23411 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23412 /* parser/parser.nit:7977 */
23413 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23414 /* parser/parser.nit:7979 */
23415 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*/;
23416 if (UNTAG_Bool(REGB0)) {
23417 } else {
23418 nit_abort("Assert failed", NULL, LOCATE_parser, 7979);
23419 }
23420 /* parser/parser.nit:7981 */
23421 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*/;
23422 if (UNTAG_Bool(REGB0)) {
23423 } else {
23424 nit_abort("Assert failed", NULL, LOCATE_parser, 7981);
23425 }
23426 /* parser/parser.nit:7983 */
23427 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*/;
23428 if (UNTAG_Bool(REGB0)) {
23429 } else {
23430 nit_abort("Assert failed", NULL, LOCATE_parser, 7983);
23431 }
23432 /* parser/parser.nit:7985 */
23433 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*/;
23434 if (UNTAG_Bool(REGB0)) {
23435 } else {
23436 nit_abort("Assert failed", NULL, LOCATE_parser, 7985);
23437 }
23438 /* parser/parser.nit:7987 */
23439 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*/;
23440 if (UNTAG_Bool(REGB0)) {
23441 } else {
23442 nit_abort("Assert failed", NULL, LOCATE_parser, 7987);
23443 }
23444 /* parser/parser.nit:7988 */
23445 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);
23446 /* parser/parser.nit:8000 */
23447 fra.me.REG[2] = fra.me.REG[4];
23448 /* parser/parser.nit:8001 */
23449 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23450 if (UNTAG_Bool(REGB0)) {
23451 } else {
23452 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8001);
23453 }
23454 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23455 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23456 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23457 stack_frame_head = fra.me.prev;
23458 return;
23459 }
23460 static const char LOCATE_parser___ReduceAction183___action[] = "parser::ReduceAction183::(parser::ReduceAction::action)";
23461 void parser___ReduceAction183___action(val_t p0, val_t p1){
23462 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
23463 val_t REGB0;
23464 val_t tmp;
23465 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23466 fra.me.file = LOCATE_parser;
23467 fra.me.line = 8006;
23468 fra.me.meth = LOCATE_parser___ReduceAction183___action;
23469 fra.me.has_broke = 0;
23470 fra.me.REG_size = 9;
23471 fra.me.nitni_local_ref_head = NULL;
23472 fra.me.REG[0] = NIT_NULL;
23473 fra.me.REG[1] = NIT_NULL;
23474 fra.me.REG[2] = NIT_NULL;
23475 fra.me.REG[3] = NIT_NULL;
23476 fra.me.REG[4] = NIT_NULL;
23477 fra.me.REG[5] = NIT_NULL;
23478 fra.me.REG[6] = NIT_NULL;
23479 fra.me.REG[7] = NIT_NULL;
23480 fra.me.REG[8] = NIT_NULL;
23481 fra.me.REG[0] = p0;
23482 fra.me.REG[1] = p1;
23483 /* parser/parser.nit:8008 */
23484 fra.me.REG[2] = NIT_NULL;
23485 /* parser/parser.nit:8009 */
23486 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23487 /* parser/parser.nit:8010 */
23488 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23489 /* parser/parser.nit:8011 */
23490 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23491 /* parser/parser.nit:8012 */
23492 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23493 /* parser/parser.nit:8013 */
23494 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23495 /* parser/parser.nit:8014 */
23496 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23497 /* parser/parser.nit:8016 */
23498 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*/;
23499 if (UNTAG_Bool(REGB0)) {
23500 } else {
23501 nit_abort("Assert failed", NULL, LOCATE_parser, 8016);
23502 }
23503 /* parser/parser.nit:8018 */
23504 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*/;
23505 if (UNTAG_Bool(REGB0)) {
23506 } else {
23507 nit_abort("Assert failed", NULL, LOCATE_parser, 8018);
23508 }
23509 /* parser/parser.nit:8020 */
23510 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*/;
23511 if (UNTAG_Bool(REGB0)) {
23512 } else {
23513 nit_abort("Assert failed", NULL, LOCATE_parser, 8020);
23514 }
23515 /* parser/parser.nit:8022 */
23516 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*/;
23517 if (UNTAG_Bool(REGB0)) {
23518 } else {
23519 nit_abort("Assert failed", NULL, LOCATE_parser, 8022);
23520 }
23521 /* parser/parser.nit:8024 */
23522 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*/;
23523 if (UNTAG_Bool(REGB0)) {
23524 } else {
23525 nit_abort("Assert failed", NULL, LOCATE_parser, 8024);
23526 }
23527 /* parser/parser.nit:8026 */
23528 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*/;
23529 if (UNTAG_Bool(REGB0)) {
23530 } else {
23531 nit_abort("Assert failed", NULL, LOCATE_parser, 8026);
23532 }
23533 /* parser/parser.nit:8027 */
23534 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);
23535 /* parser/parser.nit:8039 */
23536 fra.me.REG[2] = fra.me.REG[4];
23537 /* parser/parser.nit:8040 */
23538 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23539 if (UNTAG_Bool(REGB0)) {
23540 } else {
23541 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8040);
23542 }
23543 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23544 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23545 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23546 stack_frame_head = fra.me.prev;
23547 return;
23548 }
23549 static const char LOCATE_parser___ReduceAction184___action[] = "parser::ReduceAction184::(parser::ReduceAction::action)";
23550 void parser___ReduceAction184___action(val_t p0, val_t p1){
23551 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
23552 val_t REGB0;
23553 val_t tmp;
23554 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23555 fra.me.file = LOCATE_parser;
23556 fra.me.line = 8045;
23557 fra.me.meth = LOCATE_parser___ReduceAction184___action;
23558 fra.me.has_broke = 0;
23559 fra.me.REG_size = 9;
23560 fra.me.nitni_local_ref_head = NULL;
23561 fra.me.REG[0] = NIT_NULL;
23562 fra.me.REG[1] = NIT_NULL;
23563 fra.me.REG[2] = NIT_NULL;
23564 fra.me.REG[3] = NIT_NULL;
23565 fra.me.REG[4] = NIT_NULL;
23566 fra.me.REG[5] = NIT_NULL;
23567 fra.me.REG[6] = NIT_NULL;
23568 fra.me.REG[7] = NIT_NULL;
23569 fra.me.REG[8] = NIT_NULL;
23570 fra.me.REG[0] = p0;
23571 fra.me.REG[1] = p1;
23572 /* parser/parser.nit:8047 */
23573 fra.me.REG[2] = NIT_NULL;
23574 /* parser/parser.nit:8048 */
23575 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23576 /* parser/parser.nit:8049 */
23577 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23578 /* parser/parser.nit:8050 */
23579 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23580 /* parser/parser.nit:8051 */
23581 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23582 /* parser/parser.nit:8052 */
23583 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23584 /* parser/parser.nit:8053 */
23585 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23586 /* parser/parser.nit:8055 */
23587 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*/;
23588 if (UNTAG_Bool(REGB0)) {
23589 } else {
23590 nit_abort("Assert failed", NULL, LOCATE_parser, 8055);
23591 }
23592 /* parser/parser.nit:8057 */
23593 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*/;
23594 if (UNTAG_Bool(REGB0)) {
23595 } else {
23596 nit_abort("Assert failed", NULL, LOCATE_parser, 8057);
23597 }
23598 /* parser/parser.nit:8059 */
23599 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*/;
23600 if (UNTAG_Bool(REGB0)) {
23601 } else {
23602 nit_abort("Assert failed", NULL, LOCATE_parser, 8059);
23603 }
23604 /* parser/parser.nit:8061 */
23605 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*/;
23606 if (UNTAG_Bool(REGB0)) {
23607 } else {
23608 nit_abort("Assert failed", NULL, LOCATE_parser, 8061);
23609 }
23610 /* parser/parser.nit:8063 */
23611 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*/;
23612 if (UNTAG_Bool(REGB0)) {
23613 } else {
23614 nit_abort("Assert failed", NULL, LOCATE_parser, 8063);
23615 }
23616 /* parser/parser.nit:8065 */
23617 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*/;
23618 if (UNTAG_Bool(REGB0)) {
23619 } else {
23620 nit_abort("Assert failed", NULL, LOCATE_parser, 8065);
23621 }
23622 /* parser/parser.nit:8066 */
23623 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);
23624 /* parser/parser.nit:8078 */
23625 fra.me.REG[2] = fra.me.REG[4];
23626 /* parser/parser.nit:8079 */
23627 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23628 if (UNTAG_Bool(REGB0)) {
23629 } else {
23630 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8079);
23631 }
23632 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23633 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23634 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23635 stack_frame_head = fra.me.prev;
23636 return;
23637 }
23638 static const char LOCATE_parser___ReduceAction185___action[] = "parser::ReduceAction185::(parser::ReduceAction::action)";
23639 void parser___ReduceAction185___action(val_t p0, val_t p1){
23640 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
23641 val_t REGB0;
23642 val_t tmp;
23643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23644 fra.me.file = LOCATE_parser;
23645 fra.me.line = 8084;
23646 fra.me.meth = LOCATE_parser___ReduceAction185___action;
23647 fra.me.has_broke = 0;
23648 fra.me.REG_size = 10;
23649 fra.me.nitni_local_ref_head = NULL;
23650 fra.me.REG[0] = NIT_NULL;
23651 fra.me.REG[1] = NIT_NULL;
23652 fra.me.REG[2] = NIT_NULL;
23653 fra.me.REG[3] = NIT_NULL;
23654 fra.me.REG[4] = NIT_NULL;
23655 fra.me.REG[5] = NIT_NULL;
23656 fra.me.REG[6] = NIT_NULL;
23657 fra.me.REG[7] = NIT_NULL;
23658 fra.me.REG[8] = NIT_NULL;
23659 fra.me.REG[9] = NIT_NULL;
23660 fra.me.REG[0] = p0;
23661 fra.me.REG[1] = p1;
23662 /* parser/parser.nit:8086 */
23663 fra.me.REG[2] = NIT_NULL;
23664 /* parser/parser.nit:8087 */
23665 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23666 /* parser/parser.nit:8088 */
23667 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23668 /* parser/parser.nit:8089 */
23669 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23670 /* parser/parser.nit:8090 */
23671 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23672 /* parser/parser.nit:8091 */
23673 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23674 /* parser/parser.nit:8092 */
23675 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23676 /* parser/parser.nit:8093 */
23677 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23678 /* parser/parser.nit:8095 */
23679 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*/;
23680 if (UNTAG_Bool(REGB0)) {
23681 } else {
23682 nit_abort("Assert failed", NULL, LOCATE_parser, 8095);
23683 }
23684 /* parser/parser.nit:8097 */
23685 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*/;
23686 if (UNTAG_Bool(REGB0)) {
23687 } else {
23688 nit_abort("Assert failed", NULL, LOCATE_parser, 8097);
23689 }
23690 /* parser/parser.nit:8099 */
23691 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*/;
23692 if (UNTAG_Bool(REGB0)) {
23693 } else {
23694 nit_abort("Assert failed", NULL, LOCATE_parser, 8099);
23695 }
23696 /* parser/parser.nit:8101 */
23697 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*/;
23698 if (UNTAG_Bool(REGB0)) {
23699 } else {
23700 nit_abort("Assert failed", NULL, LOCATE_parser, 8101);
23701 }
23702 /* parser/parser.nit:8103 */
23703 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*/;
23704 if (UNTAG_Bool(REGB0)) {
23705 } else {
23706 nit_abort("Assert failed", NULL, LOCATE_parser, 8103);
23707 }
23708 /* parser/parser.nit:8105 */
23709 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*/;
23710 if (UNTAG_Bool(REGB0)) {
23711 } else {
23712 nit_abort("Assert failed", NULL, LOCATE_parser, 8105);
23713 }
23714 /* parser/parser.nit:8107 */
23715 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*/;
23716 if (UNTAG_Bool(REGB0)) {
23717 } else {
23718 nit_abort("Assert failed", NULL, LOCATE_parser, 8107);
23719 }
23720 /* parser/parser.nit:8108 */
23721 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);
23722 /* parser/parser.nit:8120 */
23723 fra.me.REG[2] = fra.me.REG[4];
23724 /* parser/parser.nit:8121 */
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, 8121);
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 static const char LOCATE_parser___ReduceAction186___action[] = "parser::ReduceAction186::(parser::ReduceAction::action)";
23737 void parser___ReduceAction186___action(val_t p0, val_t p1){
23738 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
23739 val_t REGB0;
23740 val_t tmp;
23741 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23742 fra.me.file = LOCATE_parser;
23743 fra.me.line = 8126;
23744 fra.me.meth = LOCATE_parser___ReduceAction186___action;
23745 fra.me.has_broke = 0;
23746 fra.me.REG_size = 8;
23747 fra.me.nitni_local_ref_head = NULL;
23748 fra.me.REG[0] = NIT_NULL;
23749 fra.me.REG[1] = NIT_NULL;
23750 fra.me.REG[2] = NIT_NULL;
23751 fra.me.REG[3] = NIT_NULL;
23752 fra.me.REG[4] = NIT_NULL;
23753 fra.me.REG[5] = NIT_NULL;
23754 fra.me.REG[6] = NIT_NULL;
23755 fra.me.REG[7] = NIT_NULL;
23756 fra.me.REG[0] = p0;
23757 fra.me.REG[1] = p1;
23758 /* parser/parser.nit:8128 */
23759 fra.me.REG[2] = NIT_NULL;
23760 /* parser/parser.nit:8129 */
23761 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23762 /* parser/parser.nit:8130 */
23763 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23764 /* parser/parser.nit:8131 */
23765 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23766 /* parser/parser.nit:8132 */
23767 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23768 /* parser/parser.nit:8133 */
23769 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23770 /* parser/parser.nit:8134 */
23771 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23772 /* parser/parser.nit:8135 */
23773 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23774 /* parser/parser.nit:8137 */
23775 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*/;
23776 if (UNTAG_Bool(REGB0)) {
23777 } else {
23778 nit_abort("Assert failed", NULL, LOCATE_parser, 8137);
23779 }
23780 /* parser/parser.nit:8139 */
23781 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*/;
23782 if (UNTAG_Bool(REGB0)) {
23783 } else {
23784 nit_abort("Assert failed", NULL, LOCATE_parser, 8139);
23785 }
23786 /* parser/parser.nit:8141 */
23787 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*/;
23788 if (UNTAG_Bool(REGB0)) {
23789 } else {
23790 nit_abort("Assert failed", NULL, LOCATE_parser, 8141);
23791 }
23792 /* parser/parser.nit:8143 */
23793 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*/;
23794 if (UNTAG_Bool(REGB0)) {
23795 } else {
23796 nit_abort("Assert failed", NULL, LOCATE_parser, 8143);
23797 }
23798 /* parser/parser.nit:8145 */
23799 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*/;
23800 if (UNTAG_Bool(REGB0)) {
23801 } else {
23802 nit_abort("Assert failed", NULL, LOCATE_parser, 8145);
23803 }
23804 /* parser/parser.nit:8146 */
23805 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]);
23806 /* parser/parser.nit:8158 */
23807 fra.me.REG[2] = fra.me.REG[3];
23808 /* parser/parser.nit:8159 */
23809 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23810 if (UNTAG_Bool(REGB0)) {
23811 } else {
23812 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8159);
23813 }
23814 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23815 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23816 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23817 stack_frame_head = fra.me.prev;
23818 return;
23819 }
23820 static const char LOCATE_parser___ReduceAction187___action[] = "parser::ReduceAction187::(parser::ReduceAction::action)";
23821 void parser___ReduceAction187___action(val_t p0, val_t p1){
23822 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
23823 val_t REGB0;
23824 val_t tmp;
23825 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23826 fra.me.file = LOCATE_parser;
23827 fra.me.line = 8164;
23828 fra.me.meth = LOCATE_parser___ReduceAction187___action;
23829 fra.me.has_broke = 0;
23830 fra.me.REG_size = 9;
23831 fra.me.nitni_local_ref_head = NULL;
23832 fra.me.REG[0] = NIT_NULL;
23833 fra.me.REG[1] = NIT_NULL;
23834 fra.me.REG[2] = NIT_NULL;
23835 fra.me.REG[3] = NIT_NULL;
23836 fra.me.REG[4] = NIT_NULL;
23837 fra.me.REG[5] = NIT_NULL;
23838 fra.me.REG[6] = NIT_NULL;
23839 fra.me.REG[7] = NIT_NULL;
23840 fra.me.REG[8] = NIT_NULL;
23841 fra.me.REG[0] = p0;
23842 fra.me.REG[1] = p1;
23843 /* parser/parser.nit:8166 */
23844 fra.me.REG[2] = NIT_NULL;
23845 /* parser/parser.nit:8167 */
23846 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23847 /* parser/parser.nit:8168 */
23848 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23849 /* parser/parser.nit:8169 */
23850 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23851 /* parser/parser.nit:8170 */
23852 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23853 /* parser/parser.nit:8171 */
23854 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23855 /* parser/parser.nit:8172 */
23856 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23857 /* parser/parser.nit:8173 */
23858 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23859 /* parser/parser.nit:8174 */
23860 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23861 /* parser/parser.nit:8176 */
23862 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*/;
23863 if (UNTAG_Bool(REGB0)) {
23864 } else {
23865 nit_abort("Assert failed", NULL, LOCATE_parser, 8176);
23866 }
23867 /* parser/parser.nit:8178 */
23868 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*/;
23869 if (UNTAG_Bool(REGB0)) {
23870 } else {
23871 nit_abort("Assert failed", NULL, LOCATE_parser, 8178);
23872 }
23873 /* parser/parser.nit:8180 */
23874 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*/;
23875 if (UNTAG_Bool(REGB0)) {
23876 } else {
23877 nit_abort("Assert failed", NULL, LOCATE_parser, 8180);
23878 }
23879 /* parser/parser.nit:8182 */
23880 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*/;
23881 if (UNTAG_Bool(REGB0)) {
23882 } else {
23883 nit_abort("Assert failed", NULL, LOCATE_parser, 8182);
23884 }
23885 /* parser/parser.nit:8184 */
23886 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*/;
23887 if (UNTAG_Bool(REGB0)) {
23888 } else {
23889 nit_abort("Assert failed", NULL, LOCATE_parser, 8184);
23890 }
23891 /* parser/parser.nit:8186 */
23892 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*/;
23893 if (UNTAG_Bool(REGB0)) {
23894 } else {
23895 nit_abort("Assert failed", NULL, LOCATE_parser, 8186);
23896 }
23897 /* parser/parser.nit:8187 */
23898 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]);
23899 /* parser/parser.nit:8199 */
23900 fra.me.REG[2] = fra.me.REG[3];
23901 /* parser/parser.nit:8200 */
23902 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23903 if (UNTAG_Bool(REGB0)) {
23904 } else {
23905 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8200);
23906 }
23907 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
23908 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
23909 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
23910 stack_frame_head = fra.me.prev;
23911 return;
23912 }
23913 static const char LOCATE_parser___ReduceAction188___action[] = "parser::ReduceAction188::(parser::ReduceAction::action)";
23914 void parser___ReduceAction188___action(val_t p0, val_t p1){
23915 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
23916 val_t REGB0;
23917 val_t tmp;
23918 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23919 fra.me.file = LOCATE_parser;
23920 fra.me.line = 8205;
23921 fra.me.meth = LOCATE_parser___ReduceAction188___action;
23922 fra.me.has_broke = 0;
23923 fra.me.REG_size = 9;
23924 fra.me.nitni_local_ref_head = NULL;
23925 fra.me.REG[0] = NIT_NULL;
23926 fra.me.REG[1] = NIT_NULL;
23927 fra.me.REG[2] = NIT_NULL;
23928 fra.me.REG[3] = NIT_NULL;
23929 fra.me.REG[4] = NIT_NULL;
23930 fra.me.REG[5] = NIT_NULL;
23931 fra.me.REG[6] = NIT_NULL;
23932 fra.me.REG[7] = NIT_NULL;
23933 fra.me.REG[8] = NIT_NULL;
23934 fra.me.REG[0] = p0;
23935 fra.me.REG[1] = p1;
23936 /* parser/parser.nit:8207 */
23937 fra.me.REG[2] = NIT_NULL;
23938 /* parser/parser.nit:8208 */
23939 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23940 /* parser/parser.nit:8209 */
23941 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23942 /* parser/parser.nit:8210 */
23943 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23944 /* parser/parser.nit:8211 */
23945 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23946 /* parser/parser.nit:8212 */
23947 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23948 /* parser/parser.nit:8213 */
23949 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23950 /* parser/parser.nit:8214 */
23951 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23952 /* parser/parser.nit:8215 */
23953 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
23954 /* parser/parser.nit:8217 */
23955 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*/;
23956 if (UNTAG_Bool(REGB0)) {
23957 } else {
23958 nit_abort("Assert failed", NULL, LOCATE_parser, 8217);
23959 }
23960 /* parser/parser.nit:8219 */
23961 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*/;
23962 if (UNTAG_Bool(REGB0)) {
23963 } else {
23964 nit_abort("Assert failed", NULL, LOCATE_parser, 8219);
23965 }
23966 /* parser/parser.nit:8221 */
23967 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*/;
23968 if (UNTAG_Bool(REGB0)) {
23969 } else {
23970 nit_abort("Assert failed", NULL, LOCATE_parser, 8221);
23971 }
23972 /* parser/parser.nit:8223 */
23973 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*/;
23974 if (UNTAG_Bool(REGB0)) {
23975 } else {
23976 nit_abort("Assert failed", NULL, LOCATE_parser, 8223);
23977 }
23978 /* parser/parser.nit:8225 */
23979 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*/;
23980 if (UNTAG_Bool(REGB0)) {
23981 } else {
23982 nit_abort("Assert failed", NULL, LOCATE_parser, 8225);
23983 }
23984 /* parser/parser.nit:8227 */
23985 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*/;
23986 if (UNTAG_Bool(REGB0)) {
23987 } else {
23988 nit_abort("Assert failed", NULL, LOCATE_parser, 8227);
23989 }
23990 /* parser/parser.nit:8228 */
23991 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]);
23992 /* parser/parser.nit:8240 */
23993 fra.me.REG[2] = fra.me.REG[3];
23994 /* parser/parser.nit:8241 */
23995 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
23996 if (UNTAG_Bool(REGB0)) {
23997 } else {
23998 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8241);
23999 }
24000 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24001 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24002 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24003 stack_frame_head = fra.me.prev;
24004 return;
24005 }
24006 static const char LOCATE_parser___ReduceAction189___action[] = "parser::ReduceAction189::(parser::ReduceAction::action)";
24007 void parser___ReduceAction189___action(val_t p0, val_t p1){
24008 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24009 val_t REGB0;
24010 val_t tmp;
24011 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24012 fra.me.file = LOCATE_parser;
24013 fra.me.line = 8246;
24014 fra.me.meth = LOCATE_parser___ReduceAction189___action;
24015 fra.me.has_broke = 0;
24016 fra.me.REG_size = 10;
24017 fra.me.nitni_local_ref_head = NULL;
24018 fra.me.REG[0] = NIT_NULL;
24019 fra.me.REG[1] = NIT_NULL;
24020 fra.me.REG[2] = NIT_NULL;
24021 fra.me.REG[3] = NIT_NULL;
24022 fra.me.REG[4] = NIT_NULL;
24023 fra.me.REG[5] = NIT_NULL;
24024 fra.me.REG[6] = NIT_NULL;
24025 fra.me.REG[7] = NIT_NULL;
24026 fra.me.REG[8] = NIT_NULL;
24027 fra.me.REG[9] = NIT_NULL;
24028 fra.me.REG[0] = p0;
24029 fra.me.REG[1] = p1;
24030 /* parser/parser.nit:8248 */
24031 fra.me.REG[2] = NIT_NULL;
24032 /* parser/parser.nit:8249 */
24033 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24034 /* parser/parser.nit:8250 */
24035 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24036 /* parser/parser.nit:8251 */
24037 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24038 /* parser/parser.nit:8252 */
24039 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24040 /* parser/parser.nit:8253 */
24041 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24042 /* parser/parser.nit:8254 */
24043 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24044 /* parser/parser.nit:8255 */
24045 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24046 /* parser/parser.nit:8256 */
24047 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24048 /* parser/parser.nit:8257 */
24049 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24050 /* parser/parser.nit:8259 */
24051 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*/;
24052 if (UNTAG_Bool(REGB0)) {
24053 } else {
24054 nit_abort("Assert failed", NULL, LOCATE_parser, 8259);
24055 }
24056 /* parser/parser.nit:8261 */
24057 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*/;
24058 if (UNTAG_Bool(REGB0)) {
24059 } else {
24060 nit_abort("Assert failed", NULL, LOCATE_parser, 8261);
24061 }
24062 /* parser/parser.nit:8263 */
24063 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*/;
24064 if (UNTAG_Bool(REGB0)) {
24065 } else {
24066 nit_abort("Assert failed", NULL, LOCATE_parser, 8263);
24067 }
24068 /* parser/parser.nit:8265 */
24069 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*/;
24070 if (UNTAG_Bool(REGB0)) {
24071 } else {
24072 nit_abort("Assert failed", NULL, LOCATE_parser, 8265);
24073 }
24074 /* parser/parser.nit:8267 */
24075 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*/;
24076 if (UNTAG_Bool(REGB0)) {
24077 } else {
24078 nit_abort("Assert failed", NULL, LOCATE_parser, 8267);
24079 }
24080 /* parser/parser.nit:8269 */
24081 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*/;
24082 if (UNTAG_Bool(REGB0)) {
24083 } else {
24084 nit_abort("Assert failed", NULL, LOCATE_parser, 8269);
24085 }
24086 /* parser/parser.nit:8271 */
24087 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
24088 if (UNTAG_Bool(REGB0)) {
24089 } else {
24090 nit_abort("Assert failed", NULL, LOCATE_parser, 8271);
24091 }
24092 /* parser/parser.nit:8272 */
24093 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]);
24094 /* parser/parser.nit:8284 */
24095 fra.me.REG[2] = fra.me.REG[3];
24096 /* parser/parser.nit:8285 */
24097 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24098 if (UNTAG_Bool(REGB0)) {
24099 } else {
24100 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8285);
24101 }
24102 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24103 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24104 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24105 stack_frame_head = fra.me.prev;
24106 return;
24107 }
24108 static const char LOCATE_parser___ReduceAction190___action[] = "parser::ReduceAction190::(parser::ReduceAction::action)";
24109 void parser___ReduceAction190___action(val_t p0, val_t p1){
24110 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24111 val_t REGB0;
24112 val_t tmp;
24113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24114 fra.me.file = LOCATE_parser;
24115 fra.me.line = 8290;
24116 fra.me.meth = LOCATE_parser___ReduceAction190___action;
24117 fra.me.has_broke = 0;
24118 fra.me.REG_size = 9;
24119 fra.me.nitni_local_ref_head = NULL;
24120 fra.me.REG[0] = NIT_NULL;
24121 fra.me.REG[1] = NIT_NULL;
24122 fra.me.REG[2] = NIT_NULL;
24123 fra.me.REG[3] = NIT_NULL;
24124 fra.me.REG[4] = NIT_NULL;
24125 fra.me.REG[5] = NIT_NULL;
24126 fra.me.REG[6] = NIT_NULL;
24127 fra.me.REG[7] = NIT_NULL;
24128 fra.me.REG[8] = NIT_NULL;
24129 fra.me.REG[0] = p0;
24130 fra.me.REG[1] = p1;
24131 /* parser/parser.nit:8292 */
24132 fra.me.REG[2] = NIT_NULL;
24133 /* parser/parser.nit:8293 */
24134 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24135 /* parser/parser.nit:8294 */
24136 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24137 /* parser/parser.nit:8295 */
24138 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24139 /* parser/parser.nit:8296 */
24140 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24141 /* parser/parser.nit:8297 */
24142 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24143 /* parser/parser.nit:8298 */
24144 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24145 /* parser/parser.nit:8299 */
24146 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24147 /* parser/parser.nit:8300 */
24148 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24149 /* parser/parser.nit:8302 */
24150 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*/;
24151 if (UNTAG_Bool(REGB0)) {
24152 } else {
24153 nit_abort("Assert failed", NULL, LOCATE_parser, 8302);
24154 }
24155 /* parser/parser.nit:8304 */
24156 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*/;
24157 if (UNTAG_Bool(REGB0)) {
24158 } else {
24159 nit_abort("Assert failed", NULL, LOCATE_parser, 8304);
24160 }
24161 /* parser/parser.nit:8306 */
24162 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*/;
24163 if (UNTAG_Bool(REGB0)) {
24164 } else {
24165 nit_abort("Assert failed", NULL, LOCATE_parser, 8306);
24166 }
24167 /* parser/parser.nit:8308 */
24168 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*/;
24169 if (UNTAG_Bool(REGB0)) {
24170 } else {
24171 nit_abort("Assert failed", NULL, LOCATE_parser, 8308);
24172 }
24173 /* parser/parser.nit:8310 */
24174 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*/;
24175 if (UNTAG_Bool(REGB0)) {
24176 } else {
24177 nit_abort("Assert failed", NULL, LOCATE_parser, 8310);
24178 }
24179 /* parser/parser.nit:8312 */
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, 8312);
24184 }
24185 /* parser/parser.nit:8313 */
24186 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]);
24187 /* parser/parser.nit:8325 */
24188 fra.me.REG[2] = fra.me.REG[3];
24189 /* parser/parser.nit:8326 */
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, 8326);
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 static const char LOCATE_parser___ReduceAction191___action[] = "parser::ReduceAction191::(parser::ReduceAction::action)";
24202 void parser___ReduceAction191___action(val_t p0, val_t p1){
24203 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24204 val_t REGB0;
24205 val_t tmp;
24206 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24207 fra.me.file = LOCATE_parser;
24208 fra.me.line = 8331;
24209 fra.me.meth = LOCATE_parser___ReduceAction191___action;
24210 fra.me.has_broke = 0;
24211 fra.me.REG_size = 10;
24212 fra.me.nitni_local_ref_head = NULL;
24213 fra.me.REG[0] = NIT_NULL;
24214 fra.me.REG[1] = NIT_NULL;
24215 fra.me.REG[2] = NIT_NULL;
24216 fra.me.REG[3] = NIT_NULL;
24217 fra.me.REG[4] = NIT_NULL;
24218 fra.me.REG[5] = NIT_NULL;
24219 fra.me.REG[6] = NIT_NULL;
24220 fra.me.REG[7] = NIT_NULL;
24221 fra.me.REG[8] = NIT_NULL;
24222 fra.me.REG[9] = NIT_NULL;
24223 fra.me.REG[0] = p0;
24224 fra.me.REG[1] = p1;
24225 /* parser/parser.nit:8333 */
24226 fra.me.REG[2] = NIT_NULL;
24227 /* parser/parser.nit:8334 */
24228 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24229 /* parser/parser.nit:8335 */
24230 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24231 /* parser/parser.nit:8336 */
24232 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24233 /* parser/parser.nit:8337 */
24234 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24235 /* parser/parser.nit:8338 */
24236 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24237 /* parser/parser.nit:8339 */
24238 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24239 /* parser/parser.nit:8340 */
24240 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24241 /* parser/parser.nit:8341 */
24242 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24243 /* parser/parser.nit:8342 */
24244 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24245 /* parser/parser.nit:8344 */
24246 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*/;
24247 if (UNTAG_Bool(REGB0)) {
24248 } else {
24249 nit_abort("Assert failed", NULL, LOCATE_parser, 8344);
24250 }
24251 /* parser/parser.nit:8346 */
24252 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*/;
24253 if (UNTAG_Bool(REGB0)) {
24254 } else {
24255 nit_abort("Assert failed", NULL, LOCATE_parser, 8346);
24256 }
24257 /* parser/parser.nit:8348 */
24258 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*/;
24259 if (UNTAG_Bool(REGB0)) {
24260 } else {
24261 nit_abort("Assert failed", NULL, LOCATE_parser, 8348);
24262 }
24263 /* parser/parser.nit:8350 */
24264 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*/;
24265 if (UNTAG_Bool(REGB0)) {
24266 } else {
24267 nit_abort("Assert failed", NULL, LOCATE_parser, 8350);
24268 }
24269 /* parser/parser.nit:8352 */
24270 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*/;
24271 if (UNTAG_Bool(REGB0)) {
24272 } else {
24273 nit_abort("Assert failed", NULL, LOCATE_parser, 8352);
24274 }
24275 /* parser/parser.nit:8354 */
24276 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*/;
24277 if (UNTAG_Bool(REGB0)) {
24278 } else {
24279 nit_abort("Assert failed", NULL, LOCATE_parser, 8354);
24280 }
24281 /* parser/parser.nit:8356 */
24282 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*/;
24283 if (UNTAG_Bool(REGB0)) {
24284 } else {
24285 nit_abort("Assert failed", NULL, LOCATE_parser, 8356);
24286 }
24287 /* parser/parser.nit:8357 */
24288 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]);
24289 /* parser/parser.nit:8369 */
24290 fra.me.REG[2] = fra.me.REG[3];
24291 /* parser/parser.nit:8370 */
24292 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24293 if (UNTAG_Bool(REGB0)) {
24294 } else {
24295 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8370);
24296 }
24297 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24298 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24299 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24300 stack_frame_head = fra.me.prev;
24301 return;
24302 }
24303 static const char LOCATE_parser___ReduceAction192___action[] = "parser::ReduceAction192::(parser::ReduceAction::action)";
24304 void parser___ReduceAction192___action(val_t p0, val_t p1){
24305 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24306 val_t REGB0;
24307 val_t tmp;
24308 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24309 fra.me.file = LOCATE_parser;
24310 fra.me.line = 8375;
24311 fra.me.meth = LOCATE_parser___ReduceAction192___action;
24312 fra.me.has_broke = 0;
24313 fra.me.REG_size = 10;
24314 fra.me.nitni_local_ref_head = NULL;
24315 fra.me.REG[0] = NIT_NULL;
24316 fra.me.REG[1] = NIT_NULL;
24317 fra.me.REG[2] = NIT_NULL;
24318 fra.me.REG[3] = NIT_NULL;
24319 fra.me.REG[4] = NIT_NULL;
24320 fra.me.REG[5] = NIT_NULL;
24321 fra.me.REG[6] = NIT_NULL;
24322 fra.me.REG[7] = NIT_NULL;
24323 fra.me.REG[8] = NIT_NULL;
24324 fra.me.REG[9] = NIT_NULL;
24325 fra.me.REG[0] = p0;
24326 fra.me.REG[1] = p1;
24327 /* parser/parser.nit:8377 */
24328 fra.me.REG[2] = NIT_NULL;
24329 /* parser/parser.nit:8378 */
24330 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24331 /* parser/parser.nit:8379 */
24332 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24333 /* parser/parser.nit:8380 */
24334 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24335 /* parser/parser.nit:8381 */
24336 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24337 /* parser/parser.nit:8382 */
24338 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24339 /* parser/parser.nit:8383 */
24340 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24341 /* parser/parser.nit:8384 */
24342 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24343 /* parser/parser.nit:8385 */
24344 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24345 /* parser/parser.nit:8386 */
24346 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24347 /* parser/parser.nit:8388 */
24348 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*/;
24349 if (UNTAG_Bool(REGB0)) {
24350 } else {
24351 nit_abort("Assert failed", NULL, LOCATE_parser, 8388);
24352 }
24353 /* parser/parser.nit:8390 */
24354 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*/;
24355 if (UNTAG_Bool(REGB0)) {
24356 } else {
24357 nit_abort("Assert failed", NULL, LOCATE_parser, 8390);
24358 }
24359 /* parser/parser.nit:8392 */
24360 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*/;
24361 if (UNTAG_Bool(REGB0)) {
24362 } else {
24363 nit_abort("Assert failed", NULL, LOCATE_parser, 8392);
24364 }
24365 /* parser/parser.nit:8394 */
24366 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*/;
24367 if (UNTAG_Bool(REGB0)) {
24368 } else {
24369 nit_abort("Assert failed", NULL, LOCATE_parser, 8394);
24370 }
24371 /* parser/parser.nit:8396 */
24372 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*/;
24373 if (UNTAG_Bool(REGB0)) {
24374 } else {
24375 nit_abort("Assert failed", NULL, LOCATE_parser, 8396);
24376 }
24377 /* parser/parser.nit:8398 */
24378 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*/;
24379 if (UNTAG_Bool(REGB0)) {
24380 } else {
24381 nit_abort("Assert failed", NULL, LOCATE_parser, 8398);
24382 }
24383 /* parser/parser.nit:8400 */
24384 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*/;
24385 if (UNTAG_Bool(REGB0)) {
24386 } else {
24387 nit_abort("Assert failed", NULL, LOCATE_parser, 8400);
24388 }
24389 /* parser/parser.nit:8401 */
24390 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]);
24391 /* parser/parser.nit:8413 */
24392 fra.me.REG[2] = fra.me.REG[3];
24393 /* parser/parser.nit:8414 */
24394 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24395 if (UNTAG_Bool(REGB0)) {
24396 } else {
24397 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8414);
24398 }
24399 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24400 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24401 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24402 stack_frame_head = fra.me.prev;
24403 return;
24404 }
24405 static const char LOCATE_parser___ReduceAction193___action[] = "parser::ReduceAction193::(parser::ReduceAction::action)";
24406 void parser___ReduceAction193___action(val_t p0, val_t p1){
24407 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
24408 val_t REGB0;
24409 val_t tmp;
24410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24411 fra.me.file = LOCATE_parser;
24412 fra.me.line = 8419;
24413 fra.me.meth = LOCATE_parser___ReduceAction193___action;
24414 fra.me.has_broke = 0;
24415 fra.me.REG_size = 11;
24416 fra.me.nitni_local_ref_head = NULL;
24417 fra.me.REG[0] = NIT_NULL;
24418 fra.me.REG[1] = NIT_NULL;
24419 fra.me.REG[2] = NIT_NULL;
24420 fra.me.REG[3] = NIT_NULL;
24421 fra.me.REG[4] = NIT_NULL;
24422 fra.me.REG[5] = NIT_NULL;
24423 fra.me.REG[6] = NIT_NULL;
24424 fra.me.REG[7] = NIT_NULL;
24425 fra.me.REG[8] = NIT_NULL;
24426 fra.me.REG[9] = NIT_NULL;
24427 fra.me.REG[10] = NIT_NULL;
24428 fra.me.REG[0] = p0;
24429 fra.me.REG[1] = p1;
24430 /* parser/parser.nit:8421 */
24431 fra.me.REG[2] = NIT_NULL;
24432 /* parser/parser.nit:8422 */
24433 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24434 /* parser/parser.nit:8423 */
24435 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24436 /* parser/parser.nit:8424 */
24437 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24438 /* parser/parser.nit:8425 */
24439 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24440 /* parser/parser.nit:8426 */
24441 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24442 /* parser/parser.nit:8427 */
24443 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24444 /* parser/parser.nit:8428 */
24445 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24446 /* parser/parser.nit:8429 */
24447 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24448 /* parser/parser.nit:8430 */
24449 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24450 /* parser/parser.nit:8431 */
24451 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24452 /* parser/parser.nit:8433 */
24453 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*/;
24454 if (UNTAG_Bool(REGB0)) {
24455 } else {
24456 nit_abort("Assert failed", NULL, LOCATE_parser, 8433);
24457 }
24458 /* parser/parser.nit:8435 */
24459 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*/;
24460 if (UNTAG_Bool(REGB0)) {
24461 } else {
24462 nit_abort("Assert failed", NULL, LOCATE_parser, 8435);
24463 }
24464 /* parser/parser.nit:8437 */
24465 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*/;
24466 if (UNTAG_Bool(REGB0)) {
24467 } else {
24468 nit_abort("Assert failed", NULL, LOCATE_parser, 8437);
24469 }
24470 /* parser/parser.nit:8439 */
24471 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*/;
24472 if (UNTAG_Bool(REGB0)) {
24473 } else {
24474 nit_abort("Assert failed", NULL, LOCATE_parser, 8439);
24475 }
24476 /* parser/parser.nit:8441 */
24477 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*/;
24478 if (UNTAG_Bool(REGB0)) {
24479 } else {
24480 nit_abort("Assert failed", NULL, LOCATE_parser, 8441);
24481 }
24482 /* parser/parser.nit:8443 */
24483 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*/;
24484 if (UNTAG_Bool(REGB0)) {
24485 } else {
24486 nit_abort("Assert failed", NULL, LOCATE_parser, 8443);
24487 }
24488 /* parser/parser.nit:8445 */
24489 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*/;
24490 if (UNTAG_Bool(REGB0)) {
24491 } else {
24492 nit_abort("Assert failed", NULL, LOCATE_parser, 8445);
24493 }
24494 /* parser/parser.nit:8447 */
24495 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*/;
24496 if (UNTAG_Bool(REGB0)) {
24497 } else {
24498 nit_abort("Assert failed", NULL, LOCATE_parser, 8447);
24499 }
24500 /* parser/parser.nit:8448 */
24501 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]);
24502 /* parser/parser.nit:8460 */
24503 fra.me.REG[2] = fra.me.REG[3];
24504 /* parser/parser.nit:8461 */
24505 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24506 if (UNTAG_Bool(REGB0)) {
24507 } else {
24508 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8461);
24509 }
24510 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24511 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24512 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24513 stack_frame_head = fra.me.prev;
24514 return;
24515 }
24516 static const char LOCATE_parser___ReduceAction194___action[] = "parser::ReduceAction194::(parser::ReduceAction::action)";
24517 void parser___ReduceAction194___action(val_t p0, val_t p1){
24518 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
24519 val_t REGB0;
24520 val_t tmp;
24521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24522 fra.me.file = LOCATE_parser;
24523 fra.me.line = 8466;
24524 fra.me.meth = LOCATE_parser___ReduceAction194___action;
24525 fra.me.has_broke = 0;
24526 fra.me.REG_size = 8;
24527 fra.me.nitni_local_ref_head = NULL;
24528 fra.me.REG[0] = NIT_NULL;
24529 fra.me.REG[1] = NIT_NULL;
24530 fra.me.REG[2] = NIT_NULL;
24531 fra.me.REG[3] = NIT_NULL;
24532 fra.me.REG[4] = NIT_NULL;
24533 fra.me.REG[5] = NIT_NULL;
24534 fra.me.REG[6] = NIT_NULL;
24535 fra.me.REG[7] = NIT_NULL;
24536 fra.me.REG[0] = p0;
24537 fra.me.REG[1] = p1;
24538 /* parser/parser.nit:8468 */
24539 fra.me.REG[2] = NIT_NULL;
24540 /* parser/parser.nit:8469 */
24541 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24542 /* parser/parser.nit:8470 */
24543 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24544 /* parser/parser.nit:8471 */
24545 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24546 /* parser/parser.nit:8472 */
24547 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24548 /* parser/parser.nit:8473 */
24549 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24550 /* parser/parser.nit:8474 */
24551 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24552 /* parser/parser.nit:8476 */
24553 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*/;
24554 if (UNTAG_Bool(REGB0)) {
24555 } else {
24556 nit_abort("Assert failed", NULL, LOCATE_parser, 8476);
24557 }
24558 /* parser/parser.nit:8478 */
24559 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*/;
24560 if (UNTAG_Bool(REGB0)) {
24561 } else {
24562 nit_abort("Assert failed", NULL, LOCATE_parser, 8478);
24563 }
24564 /* parser/parser.nit:8480 */
24565 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*/;
24566 if (UNTAG_Bool(REGB0)) {
24567 } else {
24568 nit_abort("Assert failed", NULL, LOCATE_parser, 8480);
24569 }
24570 /* parser/parser.nit:8482 */
24571 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*/;
24572 if (UNTAG_Bool(REGB0)) {
24573 } else {
24574 nit_abort("Assert failed", NULL, LOCATE_parser, 8482);
24575 }
24576 /* parser/parser.nit:8484 */
24577 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*/;
24578 if (UNTAG_Bool(REGB0)) {
24579 } else {
24580 nit_abort("Assert failed", NULL, LOCATE_parser, 8484);
24581 }
24582 /* parser/parser.nit:8485 */
24583 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]);
24584 /* parser/parser.nit:8494 */
24585 fra.me.REG[2] = fra.me.REG[3];
24586 /* parser/parser.nit:8495 */
24587 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24588 if (UNTAG_Bool(REGB0)) {
24589 } else {
24590 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8495);
24591 }
24592 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24593 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24594 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24595 stack_frame_head = fra.me.prev;
24596 return;
24597 }
24598 static const char LOCATE_parser___ReduceAction195___action[] = "parser::ReduceAction195::(parser::ReduceAction::action)";
24599 void parser___ReduceAction195___action(val_t p0, val_t p1){
24600 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24601 val_t REGB0;
24602 val_t tmp;
24603 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24604 fra.me.file = LOCATE_parser;
24605 fra.me.line = 8500;
24606 fra.me.meth = LOCATE_parser___ReduceAction195___action;
24607 fra.me.has_broke = 0;
24608 fra.me.REG_size = 9;
24609 fra.me.nitni_local_ref_head = NULL;
24610 fra.me.REG[0] = NIT_NULL;
24611 fra.me.REG[1] = NIT_NULL;
24612 fra.me.REG[2] = NIT_NULL;
24613 fra.me.REG[3] = NIT_NULL;
24614 fra.me.REG[4] = NIT_NULL;
24615 fra.me.REG[5] = NIT_NULL;
24616 fra.me.REG[6] = NIT_NULL;
24617 fra.me.REG[7] = NIT_NULL;
24618 fra.me.REG[8] = NIT_NULL;
24619 fra.me.REG[0] = p0;
24620 fra.me.REG[1] = p1;
24621 /* parser/parser.nit:8502 */
24622 fra.me.REG[2] = NIT_NULL;
24623 /* parser/parser.nit:8503 */
24624 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24625 /* parser/parser.nit:8504 */
24626 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24627 /* parser/parser.nit:8505 */
24628 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24629 /* parser/parser.nit:8506 */
24630 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24631 /* parser/parser.nit:8507 */
24632 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24633 /* parser/parser.nit:8508 */
24634 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24635 /* parser/parser.nit:8509 */
24636 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24637 /* parser/parser.nit:8511 */
24638 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*/;
24639 if (UNTAG_Bool(REGB0)) {
24640 } else {
24641 nit_abort("Assert failed", NULL, LOCATE_parser, 8511);
24642 }
24643 /* parser/parser.nit:8513 */
24644 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*/;
24645 if (UNTAG_Bool(REGB0)) {
24646 } else {
24647 nit_abort("Assert failed", NULL, LOCATE_parser, 8513);
24648 }
24649 /* parser/parser.nit:8515 */
24650 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*/;
24651 if (UNTAG_Bool(REGB0)) {
24652 } else {
24653 nit_abort("Assert failed", NULL, LOCATE_parser, 8515);
24654 }
24655 /* parser/parser.nit:8517 */
24656 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*/;
24657 if (UNTAG_Bool(REGB0)) {
24658 } else {
24659 nit_abort("Assert failed", NULL, LOCATE_parser, 8517);
24660 }
24661 /* parser/parser.nit:8519 */
24662 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*/;
24663 if (UNTAG_Bool(REGB0)) {
24664 } else {
24665 nit_abort("Assert failed", NULL, LOCATE_parser, 8519);
24666 }
24667 /* parser/parser.nit:8521 */
24668 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*/;
24669 if (UNTAG_Bool(REGB0)) {
24670 } else {
24671 nit_abort("Assert failed", NULL, LOCATE_parser, 8521);
24672 }
24673 /* parser/parser.nit:8522 */
24674 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]);
24675 /* parser/parser.nit:8531 */
24676 fra.me.REG[2] = fra.me.REG[3];
24677 /* parser/parser.nit:8532 */
24678 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24679 if (UNTAG_Bool(REGB0)) {
24680 } else {
24681 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8532);
24682 }
24683 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24684 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24685 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24686 stack_frame_head = fra.me.prev;
24687 return;
24688 }
24689 static const char LOCATE_parser___ReduceAction196___action[] = "parser::ReduceAction196::(parser::ReduceAction::action)";
24690 void parser___ReduceAction196___action(val_t p0, val_t p1){
24691 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24692 val_t REGB0;
24693 val_t tmp;
24694 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24695 fra.me.file = LOCATE_parser;
24696 fra.me.line = 8537;
24697 fra.me.meth = LOCATE_parser___ReduceAction196___action;
24698 fra.me.has_broke = 0;
24699 fra.me.REG_size = 9;
24700 fra.me.nitni_local_ref_head = NULL;
24701 fra.me.REG[0] = NIT_NULL;
24702 fra.me.REG[1] = NIT_NULL;
24703 fra.me.REG[2] = NIT_NULL;
24704 fra.me.REG[3] = NIT_NULL;
24705 fra.me.REG[4] = NIT_NULL;
24706 fra.me.REG[5] = NIT_NULL;
24707 fra.me.REG[6] = NIT_NULL;
24708 fra.me.REG[7] = NIT_NULL;
24709 fra.me.REG[8] = NIT_NULL;
24710 fra.me.REG[0] = p0;
24711 fra.me.REG[1] = p1;
24712 /* parser/parser.nit:8539 */
24713 fra.me.REG[2] = NIT_NULL;
24714 /* parser/parser.nit:8540 */
24715 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24716 /* parser/parser.nit:8541 */
24717 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24718 /* parser/parser.nit:8542 */
24719 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24720 /* parser/parser.nit:8543 */
24721 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24722 /* parser/parser.nit:8544 */
24723 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24724 /* parser/parser.nit:8545 */
24725 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24726 /* parser/parser.nit:8546 */
24727 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24728 /* parser/parser.nit:8548 */
24729 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*/;
24730 if (UNTAG_Bool(REGB0)) {
24731 } else {
24732 nit_abort("Assert failed", NULL, LOCATE_parser, 8548);
24733 }
24734 /* parser/parser.nit:8550 */
24735 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*/;
24736 if (UNTAG_Bool(REGB0)) {
24737 } else {
24738 nit_abort("Assert failed", NULL, LOCATE_parser, 8550);
24739 }
24740 /* parser/parser.nit:8552 */
24741 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*/;
24742 if (UNTAG_Bool(REGB0)) {
24743 } else {
24744 nit_abort("Assert failed", NULL, LOCATE_parser, 8552);
24745 }
24746 /* parser/parser.nit:8554 */
24747 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*/;
24748 if (UNTAG_Bool(REGB0)) {
24749 } else {
24750 nit_abort("Assert failed", NULL, LOCATE_parser, 8554);
24751 }
24752 /* parser/parser.nit:8556 */
24753 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*/;
24754 if (UNTAG_Bool(REGB0)) {
24755 } else {
24756 nit_abort("Assert failed", NULL, LOCATE_parser, 8556);
24757 }
24758 /* parser/parser.nit:8558 */
24759 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*/;
24760 if (UNTAG_Bool(REGB0)) {
24761 } else {
24762 nit_abort("Assert failed", NULL, LOCATE_parser, 8558);
24763 }
24764 /* parser/parser.nit:8559 */
24765 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]);
24766 /* parser/parser.nit:8568 */
24767 fra.me.REG[2] = fra.me.REG[3];
24768 /* parser/parser.nit:8569 */
24769 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24770 if (UNTAG_Bool(REGB0)) {
24771 } else {
24772 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8569);
24773 }
24774 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24775 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24776 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24777 stack_frame_head = fra.me.prev;
24778 return;
24779 }
24780 static const char LOCATE_parser___ReduceAction197___action[] = "parser::ReduceAction197::(parser::ReduceAction::action)";
24781 void parser___ReduceAction197___action(val_t p0, val_t p1){
24782 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
24783 val_t REGB0;
24784 val_t tmp;
24785 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24786 fra.me.file = LOCATE_parser;
24787 fra.me.line = 8574;
24788 fra.me.meth = LOCATE_parser___ReduceAction197___action;
24789 fra.me.has_broke = 0;
24790 fra.me.REG_size = 10;
24791 fra.me.nitni_local_ref_head = NULL;
24792 fra.me.REG[0] = NIT_NULL;
24793 fra.me.REG[1] = NIT_NULL;
24794 fra.me.REG[2] = NIT_NULL;
24795 fra.me.REG[3] = NIT_NULL;
24796 fra.me.REG[4] = NIT_NULL;
24797 fra.me.REG[5] = NIT_NULL;
24798 fra.me.REG[6] = NIT_NULL;
24799 fra.me.REG[7] = NIT_NULL;
24800 fra.me.REG[8] = NIT_NULL;
24801 fra.me.REG[9] = NIT_NULL;
24802 fra.me.REG[0] = p0;
24803 fra.me.REG[1] = p1;
24804 /* parser/parser.nit:8576 */
24805 fra.me.REG[2] = NIT_NULL;
24806 /* parser/parser.nit:8577 */
24807 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24808 /* parser/parser.nit:8578 */
24809 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24810 /* parser/parser.nit:8579 */
24811 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24812 /* parser/parser.nit:8580 */
24813 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24814 /* parser/parser.nit:8581 */
24815 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24816 /* parser/parser.nit:8582 */
24817 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24818 /* parser/parser.nit:8583 */
24819 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24820 /* parser/parser.nit:8584 */
24821 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24822 /* parser/parser.nit:8586 */
24823 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*/;
24824 if (UNTAG_Bool(REGB0)) {
24825 } else {
24826 nit_abort("Assert failed", NULL, LOCATE_parser, 8586);
24827 }
24828 /* parser/parser.nit:8588 */
24829 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*/;
24830 if (UNTAG_Bool(REGB0)) {
24831 } else {
24832 nit_abort("Assert failed", NULL, LOCATE_parser, 8588);
24833 }
24834 /* parser/parser.nit:8590 */
24835 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*/;
24836 if (UNTAG_Bool(REGB0)) {
24837 } else {
24838 nit_abort("Assert failed", NULL, LOCATE_parser, 8590);
24839 }
24840 /* parser/parser.nit:8592 */
24841 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*/;
24842 if (UNTAG_Bool(REGB0)) {
24843 } else {
24844 nit_abort("Assert failed", NULL, LOCATE_parser, 8592);
24845 }
24846 /* parser/parser.nit:8594 */
24847 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*/;
24848 if (UNTAG_Bool(REGB0)) {
24849 } else {
24850 nit_abort("Assert failed", NULL, LOCATE_parser, 8594);
24851 }
24852 /* parser/parser.nit:8596 */
24853 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*/;
24854 if (UNTAG_Bool(REGB0)) {
24855 } else {
24856 nit_abort("Assert failed", NULL, LOCATE_parser, 8596);
24857 }
24858 /* parser/parser.nit:8598 */
24859 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*/;
24860 if (UNTAG_Bool(REGB0)) {
24861 } else {
24862 nit_abort("Assert failed", NULL, LOCATE_parser, 8598);
24863 }
24864 /* parser/parser.nit:8599 */
24865 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]);
24866 /* parser/parser.nit:8608 */
24867 fra.me.REG[2] = fra.me.REG[3];
24868 /* parser/parser.nit:8609 */
24869 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24870 if (UNTAG_Bool(REGB0)) {
24871 } else {
24872 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8609);
24873 }
24874 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24875 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24876 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24877 stack_frame_head = fra.me.prev;
24878 return;
24879 }
24880 static const char LOCATE_parser___ReduceAction198___action[] = "parser::ReduceAction198::(parser::ReduceAction::action)";
24881 void parser___ReduceAction198___action(val_t p0, val_t p1){
24882 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
24883 val_t REGB0;
24884 val_t tmp;
24885 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24886 fra.me.file = LOCATE_parser;
24887 fra.me.line = 8614;
24888 fra.me.meth = LOCATE_parser___ReduceAction198___action;
24889 fra.me.has_broke = 0;
24890 fra.me.REG_size = 8;
24891 fra.me.nitni_local_ref_head = NULL;
24892 fra.me.REG[0] = NIT_NULL;
24893 fra.me.REG[1] = NIT_NULL;
24894 fra.me.REG[2] = NIT_NULL;
24895 fra.me.REG[3] = NIT_NULL;
24896 fra.me.REG[4] = NIT_NULL;
24897 fra.me.REG[5] = NIT_NULL;
24898 fra.me.REG[6] = NIT_NULL;
24899 fra.me.REG[7] = NIT_NULL;
24900 fra.me.REG[0] = p0;
24901 fra.me.REG[1] = p1;
24902 /* parser/parser.nit:8616 */
24903 fra.me.REG[2] = NIT_NULL;
24904 /* parser/parser.nit:8617 */
24905 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24906 /* parser/parser.nit:8618 */
24907 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24908 /* parser/parser.nit:8619 */
24909 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24910 /* parser/parser.nit:8620 */
24911 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24912 /* parser/parser.nit:8621 */
24913 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24914 /* parser/parser.nit:8622 */
24915 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24916 /* parser/parser.nit:8623 */
24917 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24918 /* parser/parser.nit:8625 */
24919 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*/;
24920 if (UNTAG_Bool(REGB0)) {
24921 } else {
24922 nit_abort("Assert failed", NULL, LOCATE_parser, 8625);
24923 }
24924 /* parser/parser.nit:8627 */
24925 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*/;
24926 if (UNTAG_Bool(REGB0)) {
24927 } else {
24928 nit_abort("Assert failed", NULL, LOCATE_parser, 8627);
24929 }
24930 /* parser/parser.nit:8629 */
24931 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*/;
24932 if (UNTAG_Bool(REGB0)) {
24933 } else {
24934 nit_abort("Assert failed", NULL, LOCATE_parser, 8629);
24935 }
24936 /* parser/parser.nit:8631 */
24937 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*/;
24938 if (UNTAG_Bool(REGB0)) {
24939 } else {
24940 nit_abort("Assert failed", NULL, LOCATE_parser, 8631);
24941 }
24942 /* parser/parser.nit:8633 */
24943 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*/;
24944 if (UNTAG_Bool(REGB0)) {
24945 } else {
24946 nit_abort("Assert failed", NULL, LOCATE_parser, 8633);
24947 }
24948 /* parser/parser.nit:8634 */
24949 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]);
24950 /* parser/parser.nit:8643 */
24951 fra.me.REG[2] = fra.me.REG[3];
24952 /* parser/parser.nit:8644 */
24953 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
24954 if (UNTAG_Bool(REGB0)) {
24955 } else {
24956 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8644);
24957 }
24958 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
24959 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
24960 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
24961 stack_frame_head = fra.me.prev;
24962 return;
24963 }
24964 static const char LOCATE_parser___ReduceAction199___action[] = "parser::ReduceAction199::(parser::ReduceAction::action)";
24965 void parser___ReduceAction199___action(val_t p0, val_t p1){
24966 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
24967 val_t REGB0;
24968 val_t tmp;
24969 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24970 fra.me.file = LOCATE_parser;
24971 fra.me.line = 8649;
24972 fra.me.meth = LOCATE_parser___ReduceAction199___action;
24973 fra.me.has_broke = 0;
24974 fra.me.REG_size = 9;
24975 fra.me.nitni_local_ref_head = NULL;
24976 fra.me.REG[0] = NIT_NULL;
24977 fra.me.REG[1] = NIT_NULL;
24978 fra.me.REG[2] = NIT_NULL;
24979 fra.me.REG[3] = NIT_NULL;
24980 fra.me.REG[4] = NIT_NULL;
24981 fra.me.REG[5] = NIT_NULL;
24982 fra.me.REG[6] = NIT_NULL;
24983 fra.me.REG[7] = NIT_NULL;
24984 fra.me.REG[8] = NIT_NULL;
24985 fra.me.REG[0] = p0;
24986 fra.me.REG[1] = p1;
24987 /* parser/parser.nit:8651 */
24988 fra.me.REG[2] = NIT_NULL;
24989 /* parser/parser.nit:8652 */
24990 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24991 /* parser/parser.nit:8653 */
24992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24993 /* parser/parser.nit:8654 */
24994 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24995 /* parser/parser.nit:8655 */
24996 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24997 /* parser/parser.nit:8656 */
24998 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
24999 /* parser/parser.nit:8657 */
25000 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25001 /* parser/parser.nit:8658 */
25002 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25003 /* parser/parser.nit:8659 */
25004 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25005 /* parser/parser.nit:8661 */
25006 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*/;
25007 if (UNTAG_Bool(REGB0)) {
25008 } else {
25009 nit_abort("Assert failed", NULL, LOCATE_parser, 8661);
25010 }
25011 /* parser/parser.nit:8663 */
25012 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*/;
25013 if (UNTAG_Bool(REGB0)) {
25014 } else {
25015 nit_abort("Assert failed", NULL, LOCATE_parser, 8663);
25016 }
25017 /* parser/parser.nit:8665 */
25018 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*/;
25019 if (UNTAG_Bool(REGB0)) {
25020 } else {
25021 nit_abort("Assert failed", NULL, LOCATE_parser, 8665);
25022 }
25023 /* parser/parser.nit:8667 */
25024 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*/;
25025 if (UNTAG_Bool(REGB0)) {
25026 } else {
25027 nit_abort("Assert failed", NULL, LOCATE_parser, 8667);
25028 }
25029 /* parser/parser.nit:8669 */
25030 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*/;
25031 if (UNTAG_Bool(REGB0)) {
25032 } else {
25033 nit_abort("Assert failed", NULL, LOCATE_parser, 8669);
25034 }
25035 /* parser/parser.nit:8671 */
25036 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*/;
25037 if (UNTAG_Bool(REGB0)) {
25038 } else {
25039 nit_abort("Assert failed", NULL, LOCATE_parser, 8671);
25040 }
25041 /* parser/parser.nit:8672 */
25042 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]);
25043 /* parser/parser.nit:8681 */
25044 fra.me.REG[2] = fra.me.REG[3];
25045 /* parser/parser.nit:8682 */
25046 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25047 if (UNTAG_Bool(REGB0)) {
25048 } else {
25049 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8682);
25050 }
25051 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25052 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25053 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25054 stack_frame_head = fra.me.prev;
25055 return;
25056 }
25057 static const char LOCATE_parser___ReduceAction200___action[] = "parser::ReduceAction200::(parser::ReduceAction::action)";
25058 void parser___ReduceAction200___action(val_t p0, val_t p1){
25059 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25060 val_t REGB0;
25061 val_t tmp;
25062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25063 fra.me.file = LOCATE_parser;
25064 fra.me.line = 8687;
25065 fra.me.meth = LOCATE_parser___ReduceAction200___action;
25066 fra.me.has_broke = 0;
25067 fra.me.REG_size = 9;
25068 fra.me.nitni_local_ref_head = NULL;
25069 fra.me.REG[0] = NIT_NULL;
25070 fra.me.REG[1] = NIT_NULL;
25071 fra.me.REG[2] = NIT_NULL;
25072 fra.me.REG[3] = NIT_NULL;
25073 fra.me.REG[4] = NIT_NULL;
25074 fra.me.REG[5] = NIT_NULL;
25075 fra.me.REG[6] = NIT_NULL;
25076 fra.me.REG[7] = NIT_NULL;
25077 fra.me.REG[8] = NIT_NULL;
25078 fra.me.REG[0] = p0;
25079 fra.me.REG[1] = p1;
25080 /* parser/parser.nit:8689 */
25081 fra.me.REG[2] = NIT_NULL;
25082 /* parser/parser.nit:8690 */
25083 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25084 /* parser/parser.nit:8691 */
25085 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25086 /* parser/parser.nit:8692 */
25087 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25088 /* parser/parser.nit:8693 */
25089 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25090 /* parser/parser.nit:8694 */
25091 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25092 /* parser/parser.nit:8695 */
25093 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25094 /* parser/parser.nit:8696 */
25095 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25096 /* parser/parser.nit:8697 */
25097 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25098 /* parser/parser.nit:8699 */
25099 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*/;
25100 if (UNTAG_Bool(REGB0)) {
25101 } else {
25102 nit_abort("Assert failed", NULL, LOCATE_parser, 8699);
25103 }
25104 /* parser/parser.nit:8701 */
25105 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*/;
25106 if (UNTAG_Bool(REGB0)) {
25107 } else {
25108 nit_abort("Assert failed", NULL, LOCATE_parser, 8701);
25109 }
25110 /* parser/parser.nit:8703 */
25111 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*/;
25112 if (UNTAG_Bool(REGB0)) {
25113 } else {
25114 nit_abort("Assert failed", NULL, LOCATE_parser, 8703);
25115 }
25116 /* parser/parser.nit:8705 */
25117 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*/;
25118 if (UNTAG_Bool(REGB0)) {
25119 } else {
25120 nit_abort("Assert failed", NULL, LOCATE_parser, 8705);
25121 }
25122 /* parser/parser.nit:8707 */
25123 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*/;
25124 if (UNTAG_Bool(REGB0)) {
25125 } else {
25126 nit_abort("Assert failed", NULL, LOCATE_parser, 8707);
25127 }
25128 /* parser/parser.nit:8709 */
25129 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*/;
25130 if (UNTAG_Bool(REGB0)) {
25131 } else {
25132 nit_abort("Assert failed", NULL, LOCATE_parser, 8709);
25133 }
25134 /* parser/parser.nit:8710 */
25135 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]);
25136 /* parser/parser.nit:8719 */
25137 fra.me.REG[2] = fra.me.REG[3];
25138 /* parser/parser.nit:8720 */
25139 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25140 if (UNTAG_Bool(REGB0)) {
25141 } else {
25142 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8720);
25143 }
25144 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25145 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25146 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25147 stack_frame_head = fra.me.prev;
25148 return;
25149 }
25150 static const char LOCATE_parser___ReduceAction201___action[] = "parser::ReduceAction201::(parser::ReduceAction::action)";
25151 void parser___ReduceAction201___action(val_t p0, val_t p1){
25152 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
25153 val_t REGB0;
25154 val_t tmp;
25155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25156 fra.me.file = LOCATE_parser;
25157 fra.me.line = 8725;
25158 fra.me.meth = LOCATE_parser___ReduceAction201___action;
25159 fra.me.has_broke = 0;
25160 fra.me.REG_size = 10;
25161 fra.me.nitni_local_ref_head = NULL;
25162 fra.me.REG[0] = NIT_NULL;
25163 fra.me.REG[1] = NIT_NULL;
25164 fra.me.REG[2] = NIT_NULL;
25165 fra.me.REG[3] = NIT_NULL;
25166 fra.me.REG[4] = NIT_NULL;
25167 fra.me.REG[5] = NIT_NULL;
25168 fra.me.REG[6] = NIT_NULL;
25169 fra.me.REG[7] = NIT_NULL;
25170 fra.me.REG[8] = NIT_NULL;
25171 fra.me.REG[9] = NIT_NULL;
25172 fra.me.REG[0] = p0;
25173 fra.me.REG[1] = p1;
25174 /* parser/parser.nit:8727 */
25175 fra.me.REG[2] = NIT_NULL;
25176 /* parser/parser.nit:8728 */
25177 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25178 /* parser/parser.nit:8729 */
25179 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25180 /* parser/parser.nit:8730 */
25181 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25182 /* parser/parser.nit:8731 */
25183 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25184 /* parser/parser.nit:8732 */
25185 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25186 /* parser/parser.nit:8733 */
25187 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25188 /* parser/parser.nit:8734 */
25189 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25190 /* parser/parser.nit:8735 */
25191 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25192 /* parser/parser.nit:8736 */
25193 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25194 /* parser/parser.nit:8738 */
25195 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*/;
25196 if (UNTAG_Bool(REGB0)) {
25197 } else {
25198 nit_abort("Assert failed", NULL, LOCATE_parser, 8738);
25199 }
25200 /* parser/parser.nit:8740 */
25201 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*/;
25202 if (UNTAG_Bool(REGB0)) {
25203 } else {
25204 nit_abort("Assert failed", NULL, LOCATE_parser, 8740);
25205 }
25206 /* parser/parser.nit:8742 */
25207 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*/;
25208 if (UNTAG_Bool(REGB0)) {
25209 } else {
25210 nit_abort("Assert failed", NULL, LOCATE_parser, 8742);
25211 }
25212 /* parser/parser.nit:8744 */
25213 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*/;
25214 if (UNTAG_Bool(REGB0)) {
25215 } else {
25216 nit_abort("Assert failed", NULL, LOCATE_parser, 8744);
25217 }
25218 /* parser/parser.nit:8746 */
25219 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*/;
25220 if (UNTAG_Bool(REGB0)) {
25221 } else {
25222 nit_abort("Assert failed", NULL, LOCATE_parser, 8746);
25223 }
25224 /* parser/parser.nit:8748 */
25225 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*/;
25226 if (UNTAG_Bool(REGB0)) {
25227 } else {
25228 nit_abort("Assert failed", NULL, LOCATE_parser, 8748);
25229 }
25230 /* parser/parser.nit:8750 */
25231 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*/;
25232 if (UNTAG_Bool(REGB0)) {
25233 } else {
25234 nit_abort("Assert failed", NULL, LOCATE_parser, 8750);
25235 }
25236 /* parser/parser.nit:8751 */
25237 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]);
25238 /* parser/parser.nit:8760 */
25239 fra.me.REG[2] = fra.me.REG[3];
25240 /* parser/parser.nit:8761 */
25241 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25242 if (UNTAG_Bool(REGB0)) {
25243 } else {
25244 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8761);
25245 }
25246 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25247 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25248 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25249 stack_frame_head = fra.me.prev;
25250 return;
25251 }
25252 static const char LOCATE_parser___ReduceAction202___action[] = "parser::ReduceAction202::(parser::ReduceAction::action)";
25253 void parser___ReduceAction202___action(val_t p0, val_t p1){
25254 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25255 val_t REGB0;
25256 val_t tmp;
25257 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25258 fra.me.file = LOCATE_parser;
25259 fra.me.line = 8766;
25260 fra.me.meth = LOCATE_parser___ReduceAction202___action;
25261 fra.me.has_broke = 0;
25262 fra.me.REG_size = 8;
25263 fra.me.nitni_local_ref_head = NULL;
25264 fra.me.REG[0] = NIT_NULL;
25265 fra.me.REG[1] = NIT_NULL;
25266 fra.me.REG[2] = NIT_NULL;
25267 fra.me.REG[3] = NIT_NULL;
25268 fra.me.REG[4] = NIT_NULL;
25269 fra.me.REG[5] = NIT_NULL;
25270 fra.me.REG[6] = NIT_NULL;
25271 fra.me.REG[7] = NIT_NULL;
25272 fra.me.REG[0] = p0;
25273 fra.me.REG[1] = p1;
25274 /* parser/parser.nit:8768 */
25275 fra.me.REG[2] = NIT_NULL;
25276 /* parser/parser.nit:8769 */
25277 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25278 /* parser/parser.nit:8770 */
25279 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25280 /* parser/parser.nit:8771 */
25281 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25282 /* parser/parser.nit:8772 */
25283 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25284 /* parser/parser.nit:8773 */
25285 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25286 /* parser/parser.nit:8775 */
25287 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*/;
25288 if (UNTAG_Bool(REGB0)) {
25289 } else {
25290 nit_abort("Assert failed", NULL, LOCATE_parser, 8775);
25291 }
25292 /* parser/parser.nit:8777 */
25293 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*/;
25294 if (UNTAG_Bool(REGB0)) {
25295 } else {
25296 nit_abort("Assert failed", NULL, LOCATE_parser, 8777);
25297 }
25298 /* parser/parser.nit:8779 */
25299 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*/;
25300 if (UNTAG_Bool(REGB0)) {
25301 } else {
25302 nit_abort("Assert failed", NULL, LOCATE_parser, 8779);
25303 }
25304 /* parser/parser.nit:8781 */
25305 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*/;
25306 if (UNTAG_Bool(REGB0)) {
25307 } else {
25308 nit_abort("Assert failed", NULL, LOCATE_parser, 8781);
25309 }
25310 /* parser/parser.nit:8783 */
25311 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*/;
25312 if (UNTAG_Bool(REGB0)) {
25313 } else {
25314 nit_abort("Assert failed", NULL, LOCATE_parser, 8783);
25315 }
25316 /* parser/parser.nit:8784 */
25317 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]);
25318 /* parser/parser.nit:8792 */
25319 fra.me.REG[2] = fra.me.REG[3];
25320 /* parser/parser.nit:8793 */
25321 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25322 if (UNTAG_Bool(REGB0)) {
25323 } else {
25324 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8793);
25325 }
25326 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25327 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25328 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25329 stack_frame_head = fra.me.prev;
25330 return;
25331 }
25332 static const char LOCATE_parser___ReduceAction203___action[] = "parser::ReduceAction203::(parser::ReduceAction::action)";
25333 void parser___ReduceAction203___action(val_t p0, val_t p1){
25334 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25335 val_t REGB0;
25336 val_t tmp;
25337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25338 fra.me.file = LOCATE_parser;
25339 fra.me.line = 8798;
25340 fra.me.meth = LOCATE_parser___ReduceAction203___action;
25341 fra.me.has_broke = 0;
25342 fra.me.REG_size = 9;
25343 fra.me.nitni_local_ref_head = NULL;
25344 fra.me.REG[0] = NIT_NULL;
25345 fra.me.REG[1] = NIT_NULL;
25346 fra.me.REG[2] = NIT_NULL;
25347 fra.me.REG[3] = NIT_NULL;
25348 fra.me.REG[4] = NIT_NULL;
25349 fra.me.REG[5] = NIT_NULL;
25350 fra.me.REG[6] = NIT_NULL;
25351 fra.me.REG[7] = NIT_NULL;
25352 fra.me.REG[8] = NIT_NULL;
25353 fra.me.REG[0] = p0;
25354 fra.me.REG[1] = p1;
25355 /* parser/parser.nit:8800 */
25356 fra.me.REG[2] = NIT_NULL;
25357 /* parser/parser.nit:8801 */
25358 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25359 /* parser/parser.nit:8802 */
25360 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25361 /* parser/parser.nit:8803 */
25362 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25363 /* parser/parser.nit:8804 */
25364 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25365 /* parser/parser.nit:8805 */
25366 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25367 /* parser/parser.nit:8806 */
25368 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25369 /* parser/parser.nit:8808 */
25370 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*/;
25371 if (UNTAG_Bool(REGB0)) {
25372 } else {
25373 nit_abort("Assert failed", NULL, LOCATE_parser, 8808);
25374 }
25375 /* parser/parser.nit:8810 */
25376 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*/;
25377 if (UNTAG_Bool(REGB0)) {
25378 } else {
25379 nit_abort("Assert failed", NULL, LOCATE_parser, 8810);
25380 }
25381 /* parser/parser.nit:8812 */
25382 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*/;
25383 if (UNTAG_Bool(REGB0)) {
25384 } else {
25385 nit_abort("Assert failed", NULL, LOCATE_parser, 8812);
25386 }
25387 /* parser/parser.nit:8814 */
25388 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*/;
25389 if (UNTAG_Bool(REGB0)) {
25390 } else {
25391 nit_abort("Assert failed", NULL, LOCATE_parser, 8814);
25392 }
25393 /* parser/parser.nit:8816 */
25394 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*/;
25395 if (UNTAG_Bool(REGB0)) {
25396 } else {
25397 nit_abort("Assert failed", NULL, LOCATE_parser, 8816);
25398 }
25399 /* parser/parser.nit:8818 */
25400 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*/;
25401 if (UNTAG_Bool(REGB0)) {
25402 } else {
25403 nit_abort("Assert failed", NULL, LOCATE_parser, 8818);
25404 }
25405 /* parser/parser.nit:8819 */
25406 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]);
25407 /* parser/parser.nit:8827 */
25408 fra.me.REG[2] = fra.me.REG[3];
25409 /* parser/parser.nit:8828 */
25410 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25411 if (UNTAG_Bool(REGB0)) {
25412 } else {
25413 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8828);
25414 }
25415 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25416 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25417 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25418 stack_frame_head = fra.me.prev;
25419 return;
25420 }
25421 static const char LOCATE_parser___ReduceAction204___action[] = "parser::ReduceAction204::(parser::ReduceAction::action)";
25422 void parser___ReduceAction204___action(val_t p0, val_t p1){
25423 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
25424 val_t REGB0;
25425 val_t tmp;
25426 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25427 fra.me.file = LOCATE_parser;
25428 fra.me.line = 8833;
25429 fra.me.meth = LOCATE_parser___ReduceAction204___action;
25430 fra.me.has_broke = 0;
25431 fra.me.REG_size = 7;
25432 fra.me.nitni_local_ref_head = NULL;
25433 fra.me.REG[0] = NIT_NULL;
25434 fra.me.REG[1] = NIT_NULL;
25435 fra.me.REG[2] = NIT_NULL;
25436 fra.me.REG[3] = NIT_NULL;
25437 fra.me.REG[4] = NIT_NULL;
25438 fra.me.REG[5] = NIT_NULL;
25439 fra.me.REG[6] = NIT_NULL;
25440 fra.me.REG[0] = p0;
25441 fra.me.REG[1] = p1;
25442 /* parser/parser.nit:8835 */
25443 fra.me.REG[2] = NIT_NULL;
25444 /* parser/parser.nit:8836 */
25445 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25446 /* parser/parser.nit:8837 */
25447 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25448 /* parser/parser.nit:8838 */
25449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25450 /* parser/parser.nit:8839 */
25451 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25452 /* parser/parser.nit:8840 */
25453 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25454 /* parser/parser.nit:8841 */
25455 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25456 /* parser/parser.nit:8843 */
25457 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*/;
25458 if (UNTAG_Bool(REGB0)) {
25459 } else {
25460 nit_abort("Assert failed", NULL, LOCATE_parser, 8843);
25461 }
25462 /* parser/parser.nit:8845 */
25463 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*/;
25464 if (UNTAG_Bool(REGB0)) {
25465 } else {
25466 nit_abort("Assert failed", NULL, LOCATE_parser, 8845);
25467 }
25468 /* parser/parser.nit:8847 */
25469 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
25470 if (UNTAG_Bool(REGB0)) {
25471 } else {
25472 nit_abort("Assert failed", NULL, LOCATE_parser, 8847);
25473 }
25474 /* parser/parser.nit:8849 */
25475 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*/;
25476 if (UNTAG_Bool(REGB0)) {
25477 } else {
25478 nit_abort("Assert failed", NULL, LOCATE_parser, 8849);
25479 }
25480 /* parser/parser.nit:8850 */
25481 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
25482 /* parser/parser.nit:8861 */
25483 fra.me.REG[2] = fra.me.REG[3];
25484 /* parser/parser.nit:8862 */
25485 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25486 if (UNTAG_Bool(REGB0)) {
25487 } else {
25488 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8862);
25489 }
25490 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25491 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25492 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25493 stack_frame_head = fra.me.prev;
25494 return;
25495 }
25496 static const char LOCATE_parser___ReduceAction205___action[] = "parser::ReduceAction205::(parser::ReduceAction::action)";
25497 void parser___ReduceAction205___action(val_t p0, val_t p1){
25498 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25499 val_t REGB0;
25500 val_t tmp;
25501 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25502 fra.me.file = LOCATE_parser;
25503 fra.me.line = 8867;
25504 fra.me.meth = LOCATE_parser___ReduceAction205___action;
25505 fra.me.has_broke = 0;
25506 fra.me.REG_size = 8;
25507 fra.me.nitni_local_ref_head = NULL;
25508 fra.me.REG[0] = NIT_NULL;
25509 fra.me.REG[1] = NIT_NULL;
25510 fra.me.REG[2] = NIT_NULL;
25511 fra.me.REG[3] = NIT_NULL;
25512 fra.me.REG[4] = NIT_NULL;
25513 fra.me.REG[5] = NIT_NULL;
25514 fra.me.REG[6] = NIT_NULL;
25515 fra.me.REG[7] = NIT_NULL;
25516 fra.me.REG[0] = p0;
25517 fra.me.REG[1] = p1;
25518 /* parser/parser.nit:8869 */
25519 fra.me.REG[2] = NIT_NULL;
25520 /* parser/parser.nit:8870 */
25521 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25522 /* parser/parser.nit:8871 */
25523 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25524 /* parser/parser.nit:8872 */
25525 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25526 /* parser/parser.nit:8873 */
25527 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25528 /* parser/parser.nit:8874 */
25529 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25530 /* parser/parser.nit:8875 */
25531 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25532 /* parser/parser.nit:8876 */
25533 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25534 /* parser/parser.nit:8878 */
25535 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*/;
25536 if (UNTAG_Bool(REGB0)) {
25537 } else {
25538 nit_abort("Assert failed", NULL, LOCATE_parser, 8878);
25539 }
25540 /* parser/parser.nit:8880 */
25541 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*/;
25542 if (UNTAG_Bool(REGB0)) {
25543 } else {
25544 nit_abort("Assert failed", NULL, LOCATE_parser, 8880);
25545 }
25546 /* parser/parser.nit:8882 */
25547 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*/;
25548 if (UNTAG_Bool(REGB0)) {
25549 } else {
25550 nit_abort("Assert failed", NULL, LOCATE_parser, 8882);
25551 }
25552 /* parser/parser.nit:8884 */
25553 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
25554 if (UNTAG_Bool(REGB0)) {
25555 } else {
25556 nit_abort("Assert failed", NULL, LOCATE_parser, 8884);
25557 }
25558 /* parser/parser.nit:8886 */
25559 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*/;
25560 if (UNTAG_Bool(REGB0)) {
25561 } else {
25562 nit_abort("Assert failed", NULL, LOCATE_parser, 8886);
25563 }
25564 /* parser/parser.nit:8887 */
25565 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
25566 /* parser/parser.nit:8898 */
25567 fra.me.REG[2] = fra.me.REG[3];
25568 /* parser/parser.nit:8899 */
25569 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25570 if (UNTAG_Bool(REGB0)) {
25571 } else {
25572 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8899);
25573 }
25574 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25575 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25576 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25577 stack_frame_head = fra.me.prev;
25578 return;
25579 }
25580 static const char LOCATE_parser___ReduceAction206___action[] = "parser::ReduceAction206::(parser::ReduceAction::action)";
25581 void parser___ReduceAction206___action(val_t p0, val_t p1){
25582 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25583 val_t REGB0;
25584 val_t tmp;
25585 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25586 fra.me.file = LOCATE_parser;
25587 fra.me.line = 8904;
25588 fra.me.meth = LOCATE_parser___ReduceAction206___action;
25589 fra.me.has_broke = 0;
25590 fra.me.REG_size = 8;
25591 fra.me.nitni_local_ref_head = NULL;
25592 fra.me.REG[0] = NIT_NULL;
25593 fra.me.REG[1] = NIT_NULL;
25594 fra.me.REG[2] = NIT_NULL;
25595 fra.me.REG[3] = NIT_NULL;
25596 fra.me.REG[4] = NIT_NULL;
25597 fra.me.REG[5] = NIT_NULL;
25598 fra.me.REG[6] = NIT_NULL;
25599 fra.me.REG[7] = NIT_NULL;
25600 fra.me.REG[0] = p0;
25601 fra.me.REG[1] = p1;
25602 /* parser/parser.nit:8906 */
25603 fra.me.REG[2] = NIT_NULL;
25604 /* parser/parser.nit:8907 */
25605 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25606 /* parser/parser.nit:8908 */
25607 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25608 /* parser/parser.nit:8909 */
25609 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25610 /* parser/parser.nit:8910 */
25611 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25612 /* parser/parser.nit:8911 */
25613 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25614 /* parser/parser.nit:8912 */
25615 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25616 /* parser/parser.nit:8913 */
25617 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25618 /* parser/parser.nit:8915 */
25619 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*/;
25620 if (UNTAG_Bool(REGB0)) {
25621 } else {
25622 nit_abort("Assert failed", NULL, LOCATE_parser, 8915);
25623 }
25624 /* parser/parser.nit:8917 */
25625 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*/;
25626 if (UNTAG_Bool(REGB0)) {
25627 } else {
25628 nit_abort("Assert failed", NULL, LOCATE_parser, 8917);
25629 }
25630 /* parser/parser.nit:8919 */
25631 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*/;
25632 if (UNTAG_Bool(REGB0)) {
25633 } else {
25634 nit_abort("Assert failed", NULL, LOCATE_parser, 8919);
25635 }
25636 /* parser/parser.nit:8921 */
25637 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*/;
25638 if (UNTAG_Bool(REGB0)) {
25639 } else {
25640 nit_abort("Assert failed", NULL, LOCATE_parser, 8921);
25641 }
25642 /* parser/parser.nit:8923 */
25643 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*/;
25644 if (UNTAG_Bool(REGB0)) {
25645 } else {
25646 nit_abort("Assert failed", NULL, LOCATE_parser, 8923);
25647 }
25648 /* parser/parser.nit:8924 */
25649 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
25650 /* parser/parser.nit:8935 */
25651 fra.me.REG[2] = fra.me.REG[3];
25652 /* parser/parser.nit:8936 */
25653 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25654 if (UNTAG_Bool(REGB0)) {
25655 } else {
25656 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8936);
25657 }
25658 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25659 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25660 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25661 stack_frame_head = fra.me.prev;
25662 return;
25663 }
25664 static const char LOCATE_parser___ReduceAction207___action[] = "parser::ReduceAction207::(parser::ReduceAction::action)";
25665 void parser___ReduceAction207___action(val_t p0, val_t p1){
25666 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25667 val_t REGB0;
25668 val_t tmp;
25669 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25670 fra.me.file = LOCATE_parser;
25671 fra.me.line = 8941;
25672 fra.me.meth = LOCATE_parser___ReduceAction207___action;
25673 fra.me.has_broke = 0;
25674 fra.me.REG_size = 9;
25675 fra.me.nitni_local_ref_head = NULL;
25676 fra.me.REG[0] = NIT_NULL;
25677 fra.me.REG[1] = NIT_NULL;
25678 fra.me.REG[2] = NIT_NULL;
25679 fra.me.REG[3] = NIT_NULL;
25680 fra.me.REG[4] = NIT_NULL;
25681 fra.me.REG[5] = NIT_NULL;
25682 fra.me.REG[6] = NIT_NULL;
25683 fra.me.REG[7] = NIT_NULL;
25684 fra.me.REG[8] = NIT_NULL;
25685 fra.me.REG[0] = p0;
25686 fra.me.REG[1] = p1;
25687 /* parser/parser.nit:8943 */
25688 fra.me.REG[2] = NIT_NULL;
25689 /* parser/parser.nit:8944 */
25690 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25691 /* parser/parser.nit:8945 */
25692 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25693 /* parser/parser.nit:8946 */
25694 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25695 /* parser/parser.nit:8947 */
25696 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25697 /* parser/parser.nit:8948 */
25698 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25699 /* parser/parser.nit:8949 */
25700 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25701 /* parser/parser.nit:8950 */
25702 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25703 /* parser/parser.nit:8951 */
25704 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25705 /* parser/parser.nit:8953 */
25706 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*/;
25707 if (UNTAG_Bool(REGB0)) {
25708 } else {
25709 nit_abort("Assert failed", NULL, LOCATE_parser, 8953);
25710 }
25711 /* parser/parser.nit:8955 */
25712 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*/;
25713 if (UNTAG_Bool(REGB0)) {
25714 } else {
25715 nit_abort("Assert failed", NULL, LOCATE_parser, 8955);
25716 }
25717 /* parser/parser.nit:8957 */
25718 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*/;
25719 if (UNTAG_Bool(REGB0)) {
25720 } else {
25721 nit_abort("Assert failed", NULL, LOCATE_parser, 8957);
25722 }
25723 /* parser/parser.nit:8959 */
25724 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*/;
25725 if (UNTAG_Bool(REGB0)) {
25726 } else {
25727 nit_abort("Assert failed", NULL, LOCATE_parser, 8959);
25728 }
25729 /* parser/parser.nit:8961 */
25730 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*/;
25731 if (UNTAG_Bool(REGB0)) {
25732 } else {
25733 nit_abort("Assert failed", NULL, LOCATE_parser, 8961);
25734 }
25735 /* parser/parser.nit:8963 */
25736 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*/;
25737 if (UNTAG_Bool(REGB0)) {
25738 } else {
25739 nit_abort("Assert failed", NULL, LOCATE_parser, 8963);
25740 }
25741 /* parser/parser.nit:8964 */
25742 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL, NIT_NULL);
25743 /* parser/parser.nit:8975 */
25744 fra.me.REG[2] = fra.me.REG[3];
25745 /* parser/parser.nit:8976 */
25746 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25747 if (UNTAG_Bool(REGB0)) {
25748 } else {
25749 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 8976);
25750 }
25751 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25752 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25753 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25754 stack_frame_head = fra.me.prev;
25755 return;
25756 }
25757 static const char LOCATE_parser___ReduceAction208___action[] = "parser::ReduceAction208::(parser::ReduceAction::action)";
25758 void parser___ReduceAction208___action(val_t p0, val_t p1){
25759 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
25760 val_t REGB0;
25761 val_t tmp;
25762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25763 fra.me.file = LOCATE_parser;
25764 fra.me.line = 8981;
25765 fra.me.meth = LOCATE_parser___ReduceAction208___action;
25766 fra.me.has_broke = 0;
25767 fra.me.REG_size = 8;
25768 fra.me.nitni_local_ref_head = NULL;
25769 fra.me.REG[0] = NIT_NULL;
25770 fra.me.REG[1] = NIT_NULL;
25771 fra.me.REG[2] = NIT_NULL;
25772 fra.me.REG[3] = NIT_NULL;
25773 fra.me.REG[4] = NIT_NULL;
25774 fra.me.REG[5] = NIT_NULL;
25775 fra.me.REG[6] = NIT_NULL;
25776 fra.me.REG[7] = NIT_NULL;
25777 fra.me.REG[0] = p0;
25778 fra.me.REG[1] = p1;
25779 /* parser/parser.nit:8983 */
25780 fra.me.REG[2] = NIT_NULL;
25781 /* parser/parser.nit:8984 */
25782 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25783 /* parser/parser.nit:8985 */
25784 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25785 /* parser/parser.nit:8986 */
25786 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25787 /* parser/parser.nit:8987 */
25788 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25789 /* parser/parser.nit:8988 */
25790 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25791 /* parser/parser.nit:8989 */
25792 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25793 /* parser/parser.nit:8990 */
25794 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25795 /* parser/parser.nit:8992 */
25796 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*/;
25797 if (UNTAG_Bool(REGB0)) {
25798 } else {
25799 nit_abort("Assert failed", NULL, LOCATE_parser, 8992);
25800 }
25801 /* parser/parser.nit:8994 */
25802 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*/;
25803 if (UNTAG_Bool(REGB0)) {
25804 } else {
25805 nit_abort("Assert failed", NULL, LOCATE_parser, 8994);
25806 }
25807 /* parser/parser.nit:8996 */
25808 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*/;
25809 if (UNTAG_Bool(REGB0)) {
25810 } else {
25811 nit_abort("Assert failed", NULL, LOCATE_parser, 8996);
25812 }
25813 /* parser/parser.nit:8998 */
25814 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*/;
25815 if (UNTAG_Bool(REGB0)) {
25816 } else {
25817 nit_abort("Assert failed", NULL, LOCATE_parser, 8998);
25818 }
25819 /* parser/parser.nit:9000 */
25820 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*/;
25821 if (UNTAG_Bool(REGB0)) {
25822 } else {
25823 nit_abort("Assert failed", NULL, LOCATE_parser, 9000);
25824 }
25825 /* parser/parser.nit:9001 */
25826 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
25827 /* parser/parser.nit:9012 */
25828 fra.me.REG[2] = fra.me.REG[3];
25829 /* parser/parser.nit:9013 */
25830 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25831 if (UNTAG_Bool(REGB0)) {
25832 } else {
25833 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9013);
25834 }
25835 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25836 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25837 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25838 stack_frame_head = fra.me.prev;
25839 return;
25840 }
25841 static const char LOCATE_parser___ReduceAction209___action[] = "parser::ReduceAction209::(parser::ReduceAction::action)";
25842 void parser___ReduceAction209___action(val_t p0, val_t p1){
25843 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25844 val_t REGB0;
25845 val_t tmp;
25846 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25847 fra.me.file = LOCATE_parser;
25848 fra.me.line = 9018;
25849 fra.me.meth = LOCATE_parser___ReduceAction209___action;
25850 fra.me.has_broke = 0;
25851 fra.me.REG_size = 9;
25852 fra.me.nitni_local_ref_head = NULL;
25853 fra.me.REG[0] = NIT_NULL;
25854 fra.me.REG[1] = NIT_NULL;
25855 fra.me.REG[2] = NIT_NULL;
25856 fra.me.REG[3] = NIT_NULL;
25857 fra.me.REG[4] = NIT_NULL;
25858 fra.me.REG[5] = NIT_NULL;
25859 fra.me.REG[6] = NIT_NULL;
25860 fra.me.REG[7] = NIT_NULL;
25861 fra.me.REG[8] = NIT_NULL;
25862 fra.me.REG[0] = p0;
25863 fra.me.REG[1] = p1;
25864 /* parser/parser.nit:9020 */
25865 fra.me.REG[2] = NIT_NULL;
25866 /* parser/parser.nit:9021 */
25867 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25868 /* parser/parser.nit:9022 */
25869 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25870 /* parser/parser.nit:9023 */
25871 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25872 /* parser/parser.nit:9024 */
25873 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25874 /* parser/parser.nit:9025 */
25875 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25876 /* parser/parser.nit:9026 */
25877 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25878 /* parser/parser.nit:9027 */
25879 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25880 /* parser/parser.nit:9028 */
25881 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25882 /* parser/parser.nit:9030 */
25883 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*/;
25884 if (UNTAG_Bool(REGB0)) {
25885 } else {
25886 nit_abort("Assert failed", NULL, LOCATE_parser, 9030);
25887 }
25888 /* parser/parser.nit:9032 */
25889 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*/;
25890 if (UNTAG_Bool(REGB0)) {
25891 } else {
25892 nit_abort("Assert failed", NULL, LOCATE_parser, 9032);
25893 }
25894 /* parser/parser.nit:9034 */
25895 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*/;
25896 if (UNTAG_Bool(REGB0)) {
25897 } else {
25898 nit_abort("Assert failed", NULL, LOCATE_parser, 9034);
25899 }
25900 /* parser/parser.nit:9036 */
25901 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*/;
25902 if (UNTAG_Bool(REGB0)) {
25903 } else {
25904 nit_abort("Assert failed", NULL, LOCATE_parser, 9036);
25905 }
25906 /* parser/parser.nit:9038 */
25907 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*/;
25908 if (UNTAG_Bool(REGB0)) {
25909 } else {
25910 nit_abort("Assert failed", NULL, LOCATE_parser, 9038);
25911 }
25912 /* parser/parser.nit:9040 */
25913 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*/;
25914 if (UNTAG_Bool(REGB0)) {
25915 } else {
25916 nit_abort("Assert failed", NULL, LOCATE_parser, 9040);
25917 }
25918 /* parser/parser.nit:9041 */
25919 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
25920 /* parser/parser.nit:9052 */
25921 fra.me.REG[2] = fra.me.REG[3];
25922 /* parser/parser.nit:9053 */
25923 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
25924 if (UNTAG_Bool(REGB0)) {
25925 } else {
25926 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9053);
25927 }
25928 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
25929 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
25930 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
25931 stack_frame_head = fra.me.prev;
25932 return;
25933 }
25934 static const char LOCATE_parser___ReduceAction210___action[] = "parser::ReduceAction210::(parser::ReduceAction::action)";
25935 void parser___ReduceAction210___action(val_t p0, val_t p1){
25936 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
25937 val_t REGB0;
25938 val_t tmp;
25939 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25940 fra.me.file = LOCATE_parser;
25941 fra.me.line = 9058;
25942 fra.me.meth = LOCATE_parser___ReduceAction210___action;
25943 fra.me.has_broke = 0;
25944 fra.me.REG_size = 9;
25945 fra.me.nitni_local_ref_head = NULL;
25946 fra.me.REG[0] = NIT_NULL;
25947 fra.me.REG[1] = NIT_NULL;
25948 fra.me.REG[2] = NIT_NULL;
25949 fra.me.REG[3] = NIT_NULL;
25950 fra.me.REG[4] = NIT_NULL;
25951 fra.me.REG[5] = NIT_NULL;
25952 fra.me.REG[6] = NIT_NULL;
25953 fra.me.REG[7] = NIT_NULL;
25954 fra.me.REG[8] = NIT_NULL;
25955 fra.me.REG[0] = p0;
25956 fra.me.REG[1] = p1;
25957 /* parser/parser.nit:9060 */
25958 fra.me.REG[2] = NIT_NULL;
25959 /* parser/parser.nit:9061 */
25960 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25961 /* parser/parser.nit:9062 */
25962 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25963 /* parser/parser.nit:9063 */
25964 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25965 /* parser/parser.nit:9064 */
25966 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25967 /* parser/parser.nit:9065 */
25968 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25969 /* parser/parser.nit:9066 */
25970 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25971 /* parser/parser.nit:9067 */
25972 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25973 /* parser/parser.nit:9068 */
25974 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
25975 /* parser/parser.nit:9070 */
25976 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*/;
25977 if (UNTAG_Bool(REGB0)) {
25978 } else {
25979 nit_abort("Assert failed", NULL, LOCATE_parser, 9070);
25980 }
25981 /* parser/parser.nit:9072 */
25982 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*/;
25983 if (UNTAG_Bool(REGB0)) {
25984 } else {
25985 nit_abort("Assert failed", NULL, LOCATE_parser, 9072);
25986 }
25987 /* parser/parser.nit:9074 */
25988 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*/;
25989 if (UNTAG_Bool(REGB0)) {
25990 } else {
25991 nit_abort("Assert failed", NULL, LOCATE_parser, 9074);
25992 }
25993 /* parser/parser.nit:9076 */
25994 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*/;
25995 if (UNTAG_Bool(REGB0)) {
25996 } else {
25997 nit_abort("Assert failed", NULL, LOCATE_parser, 9076);
25998 }
25999 /* parser/parser.nit:9078 */
26000 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*/;
26001 if (UNTAG_Bool(REGB0)) {
26002 } else {
26003 nit_abort("Assert failed", NULL, LOCATE_parser, 9078);
26004 }
26005 /* parser/parser.nit:9080 */
26006 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*/;
26007 if (UNTAG_Bool(REGB0)) {
26008 } else {
26009 nit_abort("Assert failed", NULL, LOCATE_parser, 9080);
26010 }
26011 /* parser/parser.nit:9081 */
26012 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
26013 /* parser/parser.nit:9092 */
26014 fra.me.REG[2] = fra.me.REG[3];
26015 /* parser/parser.nit:9093 */
26016 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26017 if (UNTAG_Bool(REGB0)) {
26018 } else {
26019 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9093);
26020 }
26021 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26022 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26023 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26024 stack_frame_head = fra.me.prev;
26025 return;
26026 }
26027 static const char LOCATE_parser___ReduceAction211___action[] = "parser::ReduceAction211::(parser::ReduceAction::action)";
26028 void parser___ReduceAction211___action(val_t p0, val_t p1){
26029 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26030 val_t REGB0;
26031 val_t tmp;
26032 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26033 fra.me.file = LOCATE_parser;
26034 fra.me.line = 9098;
26035 fra.me.meth = LOCATE_parser___ReduceAction211___action;
26036 fra.me.has_broke = 0;
26037 fra.me.REG_size = 10;
26038 fra.me.nitni_local_ref_head = NULL;
26039 fra.me.REG[0] = NIT_NULL;
26040 fra.me.REG[1] = NIT_NULL;
26041 fra.me.REG[2] = NIT_NULL;
26042 fra.me.REG[3] = NIT_NULL;
26043 fra.me.REG[4] = NIT_NULL;
26044 fra.me.REG[5] = NIT_NULL;
26045 fra.me.REG[6] = NIT_NULL;
26046 fra.me.REG[7] = NIT_NULL;
26047 fra.me.REG[8] = NIT_NULL;
26048 fra.me.REG[9] = NIT_NULL;
26049 fra.me.REG[0] = p0;
26050 fra.me.REG[1] = p1;
26051 /* parser/parser.nit:9100 */
26052 fra.me.REG[2] = NIT_NULL;
26053 /* parser/parser.nit:9101 */
26054 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26055 /* parser/parser.nit:9102 */
26056 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26057 /* parser/parser.nit:9103 */
26058 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26059 /* parser/parser.nit:9104 */
26060 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26061 /* parser/parser.nit:9105 */
26062 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26063 /* parser/parser.nit:9106 */
26064 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26065 /* parser/parser.nit:9107 */
26066 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26067 /* parser/parser.nit:9108 */
26068 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26069 /* parser/parser.nit:9109 */
26070 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26071 /* parser/parser.nit:9111 */
26072 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*/;
26073 if (UNTAG_Bool(REGB0)) {
26074 } else {
26075 nit_abort("Assert failed", NULL, LOCATE_parser, 9111);
26076 }
26077 /* parser/parser.nit:9113 */
26078 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*/;
26079 if (UNTAG_Bool(REGB0)) {
26080 } else {
26081 nit_abort("Assert failed", NULL, LOCATE_parser, 9113);
26082 }
26083 /* parser/parser.nit:9115 */
26084 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*/;
26085 if (UNTAG_Bool(REGB0)) {
26086 } else {
26087 nit_abort("Assert failed", NULL, LOCATE_parser, 9115);
26088 }
26089 /* parser/parser.nit:9117 */
26090 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*/;
26091 if (UNTAG_Bool(REGB0)) {
26092 } else {
26093 nit_abort("Assert failed", NULL, LOCATE_parser, 9117);
26094 }
26095 /* parser/parser.nit:9119 */
26096 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*/;
26097 if (UNTAG_Bool(REGB0)) {
26098 } else {
26099 nit_abort("Assert failed", NULL, LOCATE_parser, 9119);
26100 }
26101 /* parser/parser.nit:9121 */
26102 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*/;
26103 if (UNTAG_Bool(REGB0)) {
26104 } else {
26105 nit_abort("Assert failed", NULL, LOCATE_parser, 9121);
26106 }
26107 /* parser/parser.nit:9123 */
26108 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*/;
26109 if (UNTAG_Bool(REGB0)) {
26110 } else {
26111 nit_abort("Assert failed", NULL, LOCATE_parser, 9123);
26112 }
26113 /* parser/parser.nit:9124 */
26114 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL, NIT_NULL);
26115 /* parser/parser.nit:9135 */
26116 fra.me.REG[2] = fra.me.REG[3];
26117 /* parser/parser.nit:9136 */
26118 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26119 if (UNTAG_Bool(REGB0)) {
26120 } else {
26121 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9136);
26122 }
26123 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26124 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26125 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26126 stack_frame_head = fra.me.prev;
26127 return;
26128 }
26129 static const char LOCATE_parser___ReduceAction212___action[] = "parser::ReduceAction212::(parser::ReduceAction::action)";
26130 void parser___ReduceAction212___action(val_t p0, val_t p1){
26131 struct {struct stack_frame_t me; val_t MORE_REG[7];} 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 = 9141;
26137 fra.me.meth = LOCATE_parser___ReduceAction212___action;
26138 fra.me.has_broke = 0;
26139 fra.me.REG_size = 8;
26140 fra.me.nitni_local_ref_head = NULL;
26141 fra.me.REG[0] = NIT_NULL;
26142 fra.me.REG[1] = NIT_NULL;
26143 fra.me.REG[2] = NIT_NULL;
26144 fra.me.REG[3] = NIT_NULL;
26145 fra.me.REG[4] = NIT_NULL;
26146 fra.me.REG[5] = NIT_NULL;
26147 fra.me.REG[6] = NIT_NULL;
26148 fra.me.REG[7] = NIT_NULL;
26149 fra.me.REG[0] = p0;
26150 fra.me.REG[1] = p1;
26151 /* parser/parser.nit:9143 */
26152 fra.me.REG[2] = NIT_NULL;
26153 /* parser/parser.nit:9144 */
26154 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26155 /* parser/parser.nit:9145 */
26156 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26157 /* parser/parser.nit:9146 */
26158 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26159 /* parser/parser.nit:9147 */
26160 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26161 /* parser/parser.nit:9148 */
26162 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26163 /* parser/parser.nit:9149 */
26164 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26165 /* parser/parser.nit:9150 */
26166 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26167 /* parser/parser.nit:9152 */
26168 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*/;
26169 if (UNTAG_Bool(REGB0)) {
26170 } else {
26171 nit_abort("Assert failed", NULL, LOCATE_parser, 9152);
26172 }
26173 /* parser/parser.nit:9154 */
26174 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*/;
26175 if (UNTAG_Bool(REGB0)) {
26176 } else {
26177 nit_abort("Assert failed", NULL, LOCATE_parser, 9154);
26178 }
26179 /* parser/parser.nit:9156 */
26180 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*/;
26181 if (UNTAG_Bool(REGB0)) {
26182 } else {
26183 nit_abort("Assert failed", NULL, LOCATE_parser, 9156);
26184 }
26185 /* parser/parser.nit:9158 */
26186 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*/;
26187 if (UNTAG_Bool(REGB0)) {
26188 } else {
26189 nit_abort("Assert failed", NULL, LOCATE_parser, 9158);
26190 }
26191 /* parser/parser.nit:9160 */
26192 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
26193 if (UNTAG_Bool(REGB0)) {
26194 } else {
26195 nit_abort("Assert failed", NULL, LOCATE_parser, 9160);
26196 }
26197 /* parser/parser.nit:9161 */
26198 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
26199 /* parser/parser.nit:9172 */
26200 fra.me.REG[2] = fra.me.REG[3];
26201 /* parser/parser.nit:9173 */
26202 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26203 if (UNTAG_Bool(REGB0)) {
26204 } else {
26205 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9173);
26206 }
26207 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26208 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26209 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26210 stack_frame_head = fra.me.prev;
26211 return;
26212 }
26213 static const char LOCATE_parser___ReduceAction213___action[] = "parser::ReduceAction213::(parser::ReduceAction::action)";
26214 void parser___ReduceAction213___action(val_t p0, val_t p1){
26215 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26216 val_t REGB0;
26217 val_t tmp;
26218 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26219 fra.me.file = LOCATE_parser;
26220 fra.me.line = 9178;
26221 fra.me.meth = LOCATE_parser___ReduceAction213___action;
26222 fra.me.has_broke = 0;
26223 fra.me.REG_size = 9;
26224 fra.me.nitni_local_ref_head = NULL;
26225 fra.me.REG[0] = NIT_NULL;
26226 fra.me.REG[1] = NIT_NULL;
26227 fra.me.REG[2] = NIT_NULL;
26228 fra.me.REG[3] = NIT_NULL;
26229 fra.me.REG[4] = NIT_NULL;
26230 fra.me.REG[5] = NIT_NULL;
26231 fra.me.REG[6] = NIT_NULL;
26232 fra.me.REG[7] = NIT_NULL;
26233 fra.me.REG[8] = NIT_NULL;
26234 fra.me.REG[0] = p0;
26235 fra.me.REG[1] = p1;
26236 /* parser/parser.nit:9180 */
26237 fra.me.REG[2] = NIT_NULL;
26238 /* parser/parser.nit:9181 */
26239 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26240 /* parser/parser.nit:9182 */
26241 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26242 /* parser/parser.nit:9183 */
26243 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26244 /* parser/parser.nit:9184 */
26245 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26246 /* parser/parser.nit:9185 */
26247 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26248 /* parser/parser.nit:9186 */
26249 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26250 /* parser/parser.nit:9187 */
26251 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26252 /* parser/parser.nit:9188 */
26253 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26254 /* parser/parser.nit:9190 */
26255 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*/;
26256 if (UNTAG_Bool(REGB0)) {
26257 } else {
26258 nit_abort("Assert failed", NULL, LOCATE_parser, 9190);
26259 }
26260 /* parser/parser.nit:9192 */
26261 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*/;
26262 if (UNTAG_Bool(REGB0)) {
26263 } else {
26264 nit_abort("Assert failed", NULL, LOCATE_parser, 9192);
26265 }
26266 /* parser/parser.nit:9194 */
26267 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*/;
26268 if (UNTAG_Bool(REGB0)) {
26269 } else {
26270 nit_abort("Assert failed", NULL, LOCATE_parser, 9194);
26271 }
26272 /* parser/parser.nit:9196 */
26273 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*/;
26274 if (UNTAG_Bool(REGB0)) {
26275 } else {
26276 nit_abort("Assert failed", NULL, LOCATE_parser, 9196);
26277 }
26278 /* parser/parser.nit:9198 */
26279 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*/;
26280 if (UNTAG_Bool(REGB0)) {
26281 } else {
26282 nit_abort("Assert failed", NULL, LOCATE_parser, 9198);
26283 }
26284 /* parser/parser.nit:9200 */
26285 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
26286 if (UNTAG_Bool(REGB0)) {
26287 } else {
26288 nit_abort("Assert failed", NULL, LOCATE_parser, 9200);
26289 }
26290 /* parser/parser.nit:9201 */
26291 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
26292 /* parser/parser.nit:9212 */
26293 fra.me.REG[2] = fra.me.REG[3];
26294 /* parser/parser.nit:9213 */
26295 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26296 if (UNTAG_Bool(REGB0)) {
26297 } else {
26298 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9213);
26299 }
26300 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26301 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26302 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26303 stack_frame_head = fra.me.prev;
26304 return;
26305 }
26306 static const char LOCATE_parser___ReduceAction214___action[] = "parser::ReduceAction214::(parser::ReduceAction::action)";
26307 void parser___ReduceAction214___action(val_t p0, val_t p1){
26308 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26309 val_t REGB0;
26310 val_t tmp;
26311 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26312 fra.me.file = LOCATE_parser;
26313 fra.me.line = 9218;
26314 fra.me.meth = LOCATE_parser___ReduceAction214___action;
26315 fra.me.has_broke = 0;
26316 fra.me.REG_size = 9;
26317 fra.me.nitni_local_ref_head = NULL;
26318 fra.me.REG[0] = NIT_NULL;
26319 fra.me.REG[1] = NIT_NULL;
26320 fra.me.REG[2] = NIT_NULL;
26321 fra.me.REG[3] = NIT_NULL;
26322 fra.me.REG[4] = NIT_NULL;
26323 fra.me.REG[5] = NIT_NULL;
26324 fra.me.REG[6] = NIT_NULL;
26325 fra.me.REG[7] = NIT_NULL;
26326 fra.me.REG[8] = NIT_NULL;
26327 fra.me.REG[0] = p0;
26328 fra.me.REG[1] = p1;
26329 /* parser/parser.nit:9220 */
26330 fra.me.REG[2] = NIT_NULL;
26331 /* parser/parser.nit:9221 */
26332 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26333 /* parser/parser.nit:9222 */
26334 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26335 /* parser/parser.nit:9223 */
26336 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26337 /* parser/parser.nit:9224 */
26338 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26339 /* parser/parser.nit:9225 */
26340 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26341 /* parser/parser.nit:9226 */
26342 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26343 /* parser/parser.nit:9227 */
26344 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26345 /* parser/parser.nit:9228 */
26346 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26347 /* parser/parser.nit:9230 */
26348 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*/;
26349 if (UNTAG_Bool(REGB0)) {
26350 } else {
26351 nit_abort("Assert failed", NULL, LOCATE_parser, 9230);
26352 }
26353 /* parser/parser.nit:9232 */
26354 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*/;
26355 if (UNTAG_Bool(REGB0)) {
26356 } else {
26357 nit_abort("Assert failed", NULL, LOCATE_parser, 9232);
26358 }
26359 /* parser/parser.nit:9234 */
26360 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*/;
26361 if (UNTAG_Bool(REGB0)) {
26362 } else {
26363 nit_abort("Assert failed", NULL, LOCATE_parser, 9234);
26364 }
26365 /* parser/parser.nit:9236 */
26366 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*/;
26367 if (UNTAG_Bool(REGB0)) {
26368 } else {
26369 nit_abort("Assert failed", NULL, LOCATE_parser, 9236);
26370 }
26371 /* parser/parser.nit:9238 */
26372 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*/;
26373 if (UNTAG_Bool(REGB0)) {
26374 } else {
26375 nit_abort("Assert failed", NULL, LOCATE_parser, 9238);
26376 }
26377 /* parser/parser.nit:9240 */
26378 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
26379 if (UNTAG_Bool(REGB0)) {
26380 } else {
26381 nit_abort("Assert failed", NULL, LOCATE_parser, 9240);
26382 }
26383 /* parser/parser.nit:9241 */
26384 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
26385 /* parser/parser.nit:9252 */
26386 fra.me.REG[2] = fra.me.REG[3];
26387 /* parser/parser.nit:9253 */
26388 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26389 if (UNTAG_Bool(REGB0)) {
26390 } else {
26391 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9253);
26392 }
26393 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26394 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26395 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26396 stack_frame_head = fra.me.prev;
26397 return;
26398 }
26399 static const char LOCATE_parser___ReduceAction215___action[] = "parser::ReduceAction215::(parser::ReduceAction::action)";
26400 void parser___ReduceAction215___action(val_t p0, val_t p1){
26401 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26402 val_t REGB0;
26403 val_t tmp;
26404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26405 fra.me.file = LOCATE_parser;
26406 fra.me.line = 9258;
26407 fra.me.meth = LOCATE_parser___ReduceAction215___action;
26408 fra.me.has_broke = 0;
26409 fra.me.REG_size = 10;
26410 fra.me.nitni_local_ref_head = NULL;
26411 fra.me.REG[0] = NIT_NULL;
26412 fra.me.REG[1] = NIT_NULL;
26413 fra.me.REG[2] = NIT_NULL;
26414 fra.me.REG[3] = NIT_NULL;
26415 fra.me.REG[4] = NIT_NULL;
26416 fra.me.REG[5] = NIT_NULL;
26417 fra.me.REG[6] = NIT_NULL;
26418 fra.me.REG[7] = NIT_NULL;
26419 fra.me.REG[8] = NIT_NULL;
26420 fra.me.REG[9] = NIT_NULL;
26421 fra.me.REG[0] = p0;
26422 fra.me.REG[1] = p1;
26423 /* parser/parser.nit:9260 */
26424 fra.me.REG[2] = NIT_NULL;
26425 /* parser/parser.nit:9261 */
26426 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26427 /* parser/parser.nit:9262 */
26428 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26429 /* parser/parser.nit:9263 */
26430 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26431 /* parser/parser.nit:9264 */
26432 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26433 /* parser/parser.nit:9265 */
26434 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26435 /* parser/parser.nit:9266 */
26436 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26437 /* parser/parser.nit:9267 */
26438 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26439 /* parser/parser.nit:9268 */
26440 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26441 /* parser/parser.nit:9269 */
26442 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26443 /* parser/parser.nit:9271 */
26444 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*/;
26445 if (UNTAG_Bool(REGB0)) {
26446 } else {
26447 nit_abort("Assert failed", NULL, LOCATE_parser, 9271);
26448 }
26449 /* parser/parser.nit:9273 */
26450 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*/;
26451 if (UNTAG_Bool(REGB0)) {
26452 } else {
26453 nit_abort("Assert failed", NULL, LOCATE_parser, 9273);
26454 }
26455 /* parser/parser.nit:9275 */
26456 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*/;
26457 if (UNTAG_Bool(REGB0)) {
26458 } else {
26459 nit_abort("Assert failed", NULL, LOCATE_parser, 9275);
26460 }
26461 /* parser/parser.nit:9277 */
26462 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*/;
26463 if (UNTAG_Bool(REGB0)) {
26464 } else {
26465 nit_abort("Assert failed", NULL, LOCATE_parser, 9277);
26466 }
26467 /* parser/parser.nit:9279 */
26468 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*/;
26469 if (UNTAG_Bool(REGB0)) {
26470 } else {
26471 nit_abort("Assert failed", NULL, LOCATE_parser, 9279);
26472 }
26473 /* parser/parser.nit:9281 */
26474 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*/;
26475 if (UNTAG_Bool(REGB0)) {
26476 } else {
26477 nit_abort("Assert failed", NULL, LOCATE_parser, 9281);
26478 }
26479 /* parser/parser.nit:9283 */
26480 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
26481 if (UNTAG_Bool(REGB0)) {
26482 } else {
26483 nit_abort("Assert failed", NULL, LOCATE_parser, 9283);
26484 }
26485 /* parser/parser.nit:9284 */
26486 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
26487 /* parser/parser.nit:9295 */
26488 fra.me.REG[2] = fra.me.REG[3];
26489 /* parser/parser.nit:9296 */
26490 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26491 if (UNTAG_Bool(REGB0)) {
26492 } else {
26493 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9296);
26494 }
26495 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26496 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26497 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26498 stack_frame_head = fra.me.prev;
26499 return;
26500 }
26501 static const char LOCATE_parser___ReduceAction216___action[] = "parser::ReduceAction216::(parser::ReduceAction::action)";
26502 void parser___ReduceAction216___action(val_t p0, val_t p1){
26503 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26504 val_t REGB0;
26505 val_t tmp;
26506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26507 fra.me.file = LOCATE_parser;
26508 fra.me.line = 9301;
26509 fra.me.meth = LOCATE_parser___ReduceAction216___action;
26510 fra.me.has_broke = 0;
26511 fra.me.REG_size = 9;
26512 fra.me.nitni_local_ref_head = NULL;
26513 fra.me.REG[0] = NIT_NULL;
26514 fra.me.REG[1] = NIT_NULL;
26515 fra.me.REG[2] = NIT_NULL;
26516 fra.me.REG[3] = NIT_NULL;
26517 fra.me.REG[4] = NIT_NULL;
26518 fra.me.REG[5] = NIT_NULL;
26519 fra.me.REG[6] = NIT_NULL;
26520 fra.me.REG[7] = NIT_NULL;
26521 fra.me.REG[8] = NIT_NULL;
26522 fra.me.REG[0] = p0;
26523 fra.me.REG[1] = p1;
26524 /* parser/parser.nit:9303 */
26525 fra.me.REG[2] = NIT_NULL;
26526 /* parser/parser.nit:9304 */
26527 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26528 /* parser/parser.nit:9305 */
26529 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26530 /* parser/parser.nit:9306 */
26531 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26532 /* parser/parser.nit:9307 */
26533 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26534 /* parser/parser.nit:9308 */
26535 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26536 /* parser/parser.nit:9309 */
26537 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26538 /* parser/parser.nit:9310 */
26539 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26540 /* parser/parser.nit:9311 */
26541 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26542 /* parser/parser.nit:9313 */
26543 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*/;
26544 if (UNTAG_Bool(REGB0)) {
26545 } else {
26546 nit_abort("Assert failed", NULL, LOCATE_parser, 9313);
26547 }
26548 /* parser/parser.nit:9315 */
26549 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*/;
26550 if (UNTAG_Bool(REGB0)) {
26551 } else {
26552 nit_abort("Assert failed", NULL, LOCATE_parser, 9315);
26553 }
26554 /* parser/parser.nit:9317 */
26555 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*/;
26556 if (UNTAG_Bool(REGB0)) {
26557 } else {
26558 nit_abort("Assert failed", NULL, LOCATE_parser, 9317);
26559 }
26560 /* parser/parser.nit:9319 */
26561 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
26562 if (UNTAG_Bool(REGB0)) {
26563 } else {
26564 nit_abort("Assert failed", NULL, LOCATE_parser, 9319);
26565 }
26566 /* parser/parser.nit:9321 */
26567 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
26568 if (UNTAG_Bool(REGB0)) {
26569 } else {
26570 nit_abort("Assert failed", NULL, LOCATE_parser, 9321);
26571 }
26572 /* parser/parser.nit:9323 */
26573 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
26574 if (UNTAG_Bool(REGB0)) {
26575 } else {
26576 nit_abort("Assert failed", NULL, LOCATE_parser, 9323);
26577 }
26578 /* parser/parser.nit:9324 */
26579 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26580 /* parser/parser.nit:9335 */
26581 fra.me.REG[2] = fra.me.REG[3];
26582 /* parser/parser.nit:9336 */
26583 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26584 if (UNTAG_Bool(REGB0)) {
26585 } else {
26586 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9336);
26587 }
26588 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26589 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26590 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26591 stack_frame_head = fra.me.prev;
26592 return;
26593 }
26594 static const char LOCATE_parser___ReduceAction217___action[] = "parser::ReduceAction217::(parser::ReduceAction::action)";
26595 void parser___ReduceAction217___action(val_t p0, val_t p1){
26596 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26597 val_t REGB0;
26598 val_t tmp;
26599 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26600 fra.me.file = LOCATE_parser;
26601 fra.me.line = 9341;
26602 fra.me.meth = LOCATE_parser___ReduceAction217___action;
26603 fra.me.has_broke = 0;
26604 fra.me.REG_size = 10;
26605 fra.me.nitni_local_ref_head = NULL;
26606 fra.me.REG[0] = NIT_NULL;
26607 fra.me.REG[1] = NIT_NULL;
26608 fra.me.REG[2] = NIT_NULL;
26609 fra.me.REG[3] = NIT_NULL;
26610 fra.me.REG[4] = NIT_NULL;
26611 fra.me.REG[5] = NIT_NULL;
26612 fra.me.REG[6] = NIT_NULL;
26613 fra.me.REG[7] = NIT_NULL;
26614 fra.me.REG[8] = NIT_NULL;
26615 fra.me.REG[9] = NIT_NULL;
26616 fra.me.REG[0] = p0;
26617 fra.me.REG[1] = p1;
26618 /* parser/parser.nit:9343 */
26619 fra.me.REG[2] = NIT_NULL;
26620 /* parser/parser.nit:9344 */
26621 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26622 /* parser/parser.nit:9345 */
26623 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26624 /* parser/parser.nit:9346 */
26625 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26626 /* parser/parser.nit:9347 */
26627 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26628 /* parser/parser.nit:9348 */
26629 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26630 /* parser/parser.nit:9349 */
26631 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26632 /* parser/parser.nit:9350 */
26633 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26634 /* parser/parser.nit:9351 */
26635 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26636 /* parser/parser.nit:9352 */
26637 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26638 /* parser/parser.nit:9354 */
26639 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*/;
26640 if (UNTAG_Bool(REGB0)) {
26641 } else {
26642 nit_abort("Assert failed", NULL, LOCATE_parser, 9354);
26643 }
26644 /* parser/parser.nit:9356 */
26645 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*/;
26646 if (UNTAG_Bool(REGB0)) {
26647 } else {
26648 nit_abort("Assert failed", NULL, LOCATE_parser, 9356);
26649 }
26650 /* parser/parser.nit:9358 */
26651 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*/;
26652 if (UNTAG_Bool(REGB0)) {
26653 } else {
26654 nit_abort("Assert failed", NULL, LOCATE_parser, 9358);
26655 }
26656 /* parser/parser.nit:9360 */
26657 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*/;
26658 if (UNTAG_Bool(REGB0)) {
26659 } else {
26660 nit_abort("Assert failed", NULL, LOCATE_parser, 9360);
26661 }
26662 /* parser/parser.nit:9362 */
26663 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
26664 if (UNTAG_Bool(REGB0)) {
26665 } else {
26666 nit_abort("Assert failed", NULL, LOCATE_parser, 9362);
26667 }
26668 /* parser/parser.nit:9364 */
26669 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
26670 if (UNTAG_Bool(REGB0)) {
26671 } else {
26672 nit_abort("Assert failed", NULL, LOCATE_parser, 9364);
26673 }
26674 /* parser/parser.nit:9366 */
26675 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
26676 if (UNTAG_Bool(REGB0)) {
26677 } else {
26678 nit_abort("Assert failed", NULL, LOCATE_parser, 9366);
26679 }
26680 /* parser/parser.nit:9367 */
26681 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26682 /* parser/parser.nit:9378 */
26683 fra.me.REG[2] = fra.me.REG[3];
26684 /* parser/parser.nit:9379 */
26685 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26686 if (UNTAG_Bool(REGB0)) {
26687 } else {
26688 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9379);
26689 }
26690 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26691 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26692 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26693 stack_frame_head = fra.me.prev;
26694 return;
26695 }
26696 static const char LOCATE_parser___ReduceAction218___action[] = "parser::ReduceAction218::(parser::ReduceAction::action)";
26697 void parser___ReduceAction218___action(val_t p0, val_t p1){
26698 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
26699 val_t REGB0;
26700 val_t tmp;
26701 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26702 fra.me.file = LOCATE_parser;
26703 fra.me.line = 9384;
26704 fra.me.meth = LOCATE_parser___ReduceAction218___action;
26705 fra.me.has_broke = 0;
26706 fra.me.REG_size = 10;
26707 fra.me.nitni_local_ref_head = NULL;
26708 fra.me.REG[0] = NIT_NULL;
26709 fra.me.REG[1] = NIT_NULL;
26710 fra.me.REG[2] = NIT_NULL;
26711 fra.me.REG[3] = NIT_NULL;
26712 fra.me.REG[4] = NIT_NULL;
26713 fra.me.REG[5] = NIT_NULL;
26714 fra.me.REG[6] = NIT_NULL;
26715 fra.me.REG[7] = NIT_NULL;
26716 fra.me.REG[8] = NIT_NULL;
26717 fra.me.REG[9] = NIT_NULL;
26718 fra.me.REG[0] = p0;
26719 fra.me.REG[1] = p1;
26720 /* parser/parser.nit:9386 */
26721 fra.me.REG[2] = NIT_NULL;
26722 /* parser/parser.nit:9387 */
26723 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26724 /* parser/parser.nit:9388 */
26725 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26726 /* parser/parser.nit:9389 */
26727 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26728 /* parser/parser.nit:9390 */
26729 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26730 /* parser/parser.nit:9391 */
26731 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26732 /* parser/parser.nit:9392 */
26733 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26734 /* parser/parser.nit:9393 */
26735 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26736 /* parser/parser.nit:9394 */
26737 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26738 /* parser/parser.nit:9395 */
26739 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26740 /* parser/parser.nit:9397 */
26741 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*/;
26742 if (UNTAG_Bool(REGB0)) {
26743 } else {
26744 nit_abort("Assert failed", NULL, LOCATE_parser, 9397);
26745 }
26746 /* parser/parser.nit:9399 */
26747 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*/;
26748 if (UNTAG_Bool(REGB0)) {
26749 } else {
26750 nit_abort("Assert failed", NULL, LOCATE_parser, 9399);
26751 }
26752 /* parser/parser.nit:9401 */
26753 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
26754 if (UNTAG_Bool(REGB0)) {
26755 } else {
26756 nit_abort("Assert failed", NULL, LOCATE_parser, 9401);
26757 }
26758 /* parser/parser.nit:9403 */
26759 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
26760 if (UNTAG_Bool(REGB0)) {
26761 } else {
26762 nit_abort("Assert failed", NULL, LOCATE_parser, 9403);
26763 }
26764 /* parser/parser.nit:9405 */
26765 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
26766 if (UNTAG_Bool(REGB0)) {
26767 } else {
26768 nit_abort("Assert failed", NULL, LOCATE_parser, 9405);
26769 }
26770 /* parser/parser.nit:9407 */
26771 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
26772 if (UNTAG_Bool(REGB0)) {
26773 } else {
26774 nit_abort("Assert failed", NULL, LOCATE_parser, 9407);
26775 }
26776 /* parser/parser.nit:9409 */
26777 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
26778 if (UNTAG_Bool(REGB0)) {
26779 } else {
26780 nit_abort("Assert failed", NULL, LOCATE_parser, 9409);
26781 }
26782 /* parser/parser.nit:9410 */
26783 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26784 /* parser/parser.nit:9421 */
26785 fra.me.REG[2] = fra.me.REG[3];
26786 /* parser/parser.nit:9422 */
26787 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26788 if (UNTAG_Bool(REGB0)) {
26789 } else {
26790 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9422);
26791 }
26792 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26793 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26794 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26795 stack_frame_head = fra.me.prev;
26796 return;
26797 }
26798 static const char LOCATE_parser___ReduceAction219___action[] = "parser::ReduceAction219::(parser::ReduceAction::action)";
26799 void parser___ReduceAction219___action(val_t p0, val_t p1){
26800 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
26801 val_t REGB0;
26802 val_t tmp;
26803 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26804 fra.me.file = LOCATE_parser;
26805 fra.me.line = 9427;
26806 fra.me.meth = LOCATE_parser___ReduceAction219___action;
26807 fra.me.has_broke = 0;
26808 fra.me.REG_size = 11;
26809 fra.me.nitni_local_ref_head = NULL;
26810 fra.me.REG[0] = NIT_NULL;
26811 fra.me.REG[1] = NIT_NULL;
26812 fra.me.REG[2] = NIT_NULL;
26813 fra.me.REG[3] = NIT_NULL;
26814 fra.me.REG[4] = NIT_NULL;
26815 fra.me.REG[5] = NIT_NULL;
26816 fra.me.REG[6] = NIT_NULL;
26817 fra.me.REG[7] = NIT_NULL;
26818 fra.me.REG[8] = NIT_NULL;
26819 fra.me.REG[9] = NIT_NULL;
26820 fra.me.REG[10] = NIT_NULL;
26821 fra.me.REG[0] = p0;
26822 fra.me.REG[1] = p1;
26823 /* parser/parser.nit:9429 */
26824 fra.me.REG[2] = NIT_NULL;
26825 /* parser/parser.nit:9430 */
26826 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26827 /* parser/parser.nit:9431 */
26828 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26829 /* parser/parser.nit:9432 */
26830 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26831 /* parser/parser.nit:9433 */
26832 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26833 /* parser/parser.nit:9434 */
26834 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26835 /* parser/parser.nit:9435 */
26836 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26837 /* parser/parser.nit:9436 */
26838 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26839 /* parser/parser.nit:9437 */
26840 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26841 /* parser/parser.nit:9438 */
26842 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26843 /* parser/parser.nit:9439 */
26844 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26845 /* parser/parser.nit:9441 */
26846 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*/;
26847 if (UNTAG_Bool(REGB0)) {
26848 } else {
26849 nit_abort("Assert failed", NULL, LOCATE_parser, 9441);
26850 }
26851 /* parser/parser.nit:9443 */
26852 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*/;
26853 if (UNTAG_Bool(REGB0)) {
26854 } else {
26855 nit_abort("Assert failed", NULL, LOCATE_parser, 9443);
26856 }
26857 /* parser/parser.nit:9445 */
26858 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*/;
26859 if (UNTAG_Bool(REGB0)) {
26860 } else {
26861 nit_abort("Assert failed", NULL, LOCATE_parser, 9445);
26862 }
26863 /* parser/parser.nit:9447 */
26864 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
26865 if (UNTAG_Bool(REGB0)) {
26866 } else {
26867 nit_abort("Assert failed", NULL, LOCATE_parser, 9447);
26868 }
26869 /* parser/parser.nit:9449 */
26870 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
26871 if (UNTAG_Bool(REGB0)) {
26872 } else {
26873 nit_abort("Assert failed", NULL, LOCATE_parser, 9449);
26874 }
26875 /* parser/parser.nit:9451 */
26876 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
26877 if (UNTAG_Bool(REGB0)) {
26878 } else {
26879 nit_abort("Assert failed", NULL, LOCATE_parser, 9451);
26880 }
26881 /* parser/parser.nit:9453 */
26882 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
26883 if (UNTAG_Bool(REGB0)) {
26884 } else {
26885 nit_abort("Assert failed", NULL, LOCATE_parser, 9453);
26886 }
26887 /* parser/parser.nit:9455 */
26888 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
26889 if (UNTAG_Bool(REGB0)) {
26890 } else {
26891 nit_abort("Assert failed", NULL, LOCATE_parser, 9455);
26892 }
26893 /* parser/parser.nit:9456 */
26894 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], NIT_NULL);
26895 /* parser/parser.nit:9467 */
26896 fra.me.REG[2] = fra.me.REG[3];
26897 /* parser/parser.nit:9468 */
26898 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26899 if (UNTAG_Bool(REGB0)) {
26900 } else {
26901 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9468);
26902 }
26903 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26904 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26905 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26906 stack_frame_head = fra.me.prev;
26907 return;
26908 }
26909 static const char LOCATE_parser___ReduceAction220___action[] = "parser::ReduceAction220::(parser::ReduceAction::action)";
26910 void parser___ReduceAction220___action(val_t p0, val_t p1){
26911 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
26912 val_t REGB0;
26913 val_t tmp;
26914 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26915 fra.me.file = LOCATE_parser;
26916 fra.me.line = 9473;
26917 fra.me.meth = LOCATE_parser___ReduceAction220___action;
26918 fra.me.has_broke = 0;
26919 fra.me.REG_size = 8;
26920 fra.me.nitni_local_ref_head = NULL;
26921 fra.me.REG[0] = NIT_NULL;
26922 fra.me.REG[1] = NIT_NULL;
26923 fra.me.REG[2] = NIT_NULL;
26924 fra.me.REG[3] = NIT_NULL;
26925 fra.me.REG[4] = NIT_NULL;
26926 fra.me.REG[5] = NIT_NULL;
26927 fra.me.REG[6] = NIT_NULL;
26928 fra.me.REG[7] = NIT_NULL;
26929 fra.me.REG[0] = p0;
26930 fra.me.REG[1] = p1;
26931 /* parser/parser.nit:9475 */
26932 fra.me.REG[2] = NIT_NULL;
26933 /* parser/parser.nit:9476 */
26934 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26935 /* parser/parser.nit:9477 */
26936 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26937 /* parser/parser.nit:9478 */
26938 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26939 /* parser/parser.nit:9479 */
26940 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26941 /* parser/parser.nit:9480 */
26942 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26943 /* parser/parser.nit:9481 */
26944 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26945 /* parser/parser.nit:9482 */
26946 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
26947 /* parser/parser.nit:9484 */
26948 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*/;
26949 if (UNTAG_Bool(REGB0)) {
26950 } else {
26951 nit_abort("Assert failed", NULL, LOCATE_parser, 9484);
26952 }
26953 /* parser/parser.nit:9486 */
26954 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*/;
26955 if (UNTAG_Bool(REGB0)) {
26956 } else {
26957 nit_abort("Assert failed", NULL, LOCATE_parser, 9486);
26958 }
26959 /* parser/parser.nit:9488 */
26960 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*/;
26961 if (UNTAG_Bool(REGB0)) {
26962 } else {
26963 nit_abort("Assert failed", NULL, LOCATE_parser, 9488);
26964 }
26965 /* parser/parser.nit:9490 */
26966 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*/;
26967 if (UNTAG_Bool(REGB0)) {
26968 } else {
26969 nit_abort("Assert failed", NULL, LOCATE_parser, 9490);
26970 }
26971 /* parser/parser.nit:9492 */
26972 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
26973 if (UNTAG_Bool(REGB0)) {
26974 } else {
26975 nit_abort("Assert failed", NULL, LOCATE_parser, 9492);
26976 }
26977 /* parser/parser.nit:9493 */
26978 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
26979 /* parser/parser.nit:9504 */
26980 fra.me.REG[2] = fra.me.REG[3];
26981 /* parser/parser.nit:9505 */
26982 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
26983 if (UNTAG_Bool(REGB0)) {
26984 } else {
26985 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9505);
26986 }
26987 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
26988 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
26989 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
26990 stack_frame_head = fra.me.prev;
26991 return;
26992 }
26993 static const char LOCATE_parser___ReduceAction221___action[] = "parser::ReduceAction221::(parser::ReduceAction::action)";
26994 void parser___ReduceAction221___action(val_t p0, val_t p1){
26995 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
26996 val_t REGB0;
26997 val_t tmp;
26998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26999 fra.me.file = LOCATE_parser;
27000 fra.me.line = 9510;
27001 fra.me.meth = LOCATE_parser___ReduceAction221___action;
27002 fra.me.has_broke = 0;
27003 fra.me.REG_size = 9;
27004 fra.me.nitni_local_ref_head = NULL;
27005 fra.me.REG[0] = NIT_NULL;
27006 fra.me.REG[1] = NIT_NULL;
27007 fra.me.REG[2] = NIT_NULL;
27008 fra.me.REG[3] = NIT_NULL;
27009 fra.me.REG[4] = NIT_NULL;
27010 fra.me.REG[5] = NIT_NULL;
27011 fra.me.REG[6] = NIT_NULL;
27012 fra.me.REG[7] = NIT_NULL;
27013 fra.me.REG[8] = NIT_NULL;
27014 fra.me.REG[0] = p0;
27015 fra.me.REG[1] = p1;
27016 /* parser/parser.nit:9512 */
27017 fra.me.REG[2] = NIT_NULL;
27018 /* parser/parser.nit:9513 */
27019 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27020 /* parser/parser.nit:9514 */
27021 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27022 /* parser/parser.nit:9515 */
27023 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27024 /* parser/parser.nit:9516 */
27025 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27026 /* parser/parser.nit:9517 */
27027 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27028 /* parser/parser.nit:9518 */
27029 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27030 /* parser/parser.nit:9519 */
27031 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27032 /* parser/parser.nit:9520 */
27033 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27034 /* parser/parser.nit:9522 */
27035 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*/;
27036 if (UNTAG_Bool(REGB0)) {
27037 } else {
27038 nit_abort("Assert failed", NULL, LOCATE_parser, 9522);
27039 }
27040 /* parser/parser.nit:9524 */
27041 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*/;
27042 if (UNTAG_Bool(REGB0)) {
27043 } else {
27044 nit_abort("Assert failed", NULL, LOCATE_parser, 9524);
27045 }
27046 /* parser/parser.nit:9526 */
27047 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*/;
27048 if (UNTAG_Bool(REGB0)) {
27049 } else {
27050 nit_abort("Assert failed", NULL, LOCATE_parser, 9526);
27051 }
27052 /* parser/parser.nit:9528 */
27053 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*/;
27054 if (UNTAG_Bool(REGB0)) {
27055 } else {
27056 nit_abort("Assert failed", NULL, LOCATE_parser, 9528);
27057 }
27058 /* parser/parser.nit:9530 */
27059 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*/;
27060 if (UNTAG_Bool(REGB0)) {
27061 } else {
27062 nit_abort("Assert failed", NULL, LOCATE_parser, 9530);
27063 }
27064 /* parser/parser.nit:9532 */
27065 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27066 if (UNTAG_Bool(REGB0)) {
27067 } else {
27068 nit_abort("Assert failed", NULL, LOCATE_parser, 9532);
27069 }
27070 /* parser/parser.nit:9533 */
27071 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
27072 /* parser/parser.nit:9544 */
27073 fra.me.REG[2] = fra.me.REG[3];
27074 /* parser/parser.nit:9545 */
27075 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27076 if (UNTAG_Bool(REGB0)) {
27077 } else {
27078 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9545);
27079 }
27080 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27081 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27082 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27083 stack_frame_head = fra.me.prev;
27084 return;
27085 }
27086 static const char LOCATE_parser___ReduceAction222___action[] = "parser::ReduceAction222::(parser::ReduceAction::action)";
27087 void parser___ReduceAction222___action(val_t p0, val_t p1){
27088 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
27089 val_t REGB0;
27090 val_t tmp;
27091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27092 fra.me.file = LOCATE_parser;
27093 fra.me.line = 9550;
27094 fra.me.meth = LOCATE_parser___ReduceAction222___action;
27095 fra.me.has_broke = 0;
27096 fra.me.REG_size = 9;
27097 fra.me.nitni_local_ref_head = NULL;
27098 fra.me.REG[0] = NIT_NULL;
27099 fra.me.REG[1] = NIT_NULL;
27100 fra.me.REG[2] = NIT_NULL;
27101 fra.me.REG[3] = NIT_NULL;
27102 fra.me.REG[4] = NIT_NULL;
27103 fra.me.REG[5] = NIT_NULL;
27104 fra.me.REG[6] = NIT_NULL;
27105 fra.me.REG[7] = NIT_NULL;
27106 fra.me.REG[8] = NIT_NULL;
27107 fra.me.REG[0] = p0;
27108 fra.me.REG[1] = p1;
27109 /* parser/parser.nit:9552 */
27110 fra.me.REG[2] = NIT_NULL;
27111 /* parser/parser.nit:9553 */
27112 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27113 /* parser/parser.nit:9554 */
27114 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27115 /* parser/parser.nit:9555 */
27116 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27117 /* parser/parser.nit:9556 */
27118 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27119 /* parser/parser.nit:9557 */
27120 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27121 /* parser/parser.nit:9558 */
27122 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27123 /* parser/parser.nit:9559 */
27124 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27125 /* parser/parser.nit:9560 */
27126 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27127 /* parser/parser.nit:9562 */
27128 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*/;
27129 if (UNTAG_Bool(REGB0)) {
27130 } else {
27131 nit_abort("Assert failed", NULL, LOCATE_parser, 9562);
27132 }
27133 /* parser/parser.nit:9564 */
27134 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*/;
27135 if (UNTAG_Bool(REGB0)) {
27136 } else {
27137 nit_abort("Assert failed", NULL, LOCATE_parser, 9564);
27138 }
27139 /* parser/parser.nit:9566 */
27140 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*/;
27141 if (UNTAG_Bool(REGB0)) {
27142 } else {
27143 nit_abort("Assert failed", NULL, LOCATE_parser, 9566);
27144 }
27145 /* parser/parser.nit:9568 */
27146 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*/;
27147 if (UNTAG_Bool(REGB0)) {
27148 } else {
27149 nit_abort("Assert failed", NULL, LOCATE_parser, 9568);
27150 }
27151 /* parser/parser.nit:9570 */
27152 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*/;
27153 if (UNTAG_Bool(REGB0)) {
27154 } else {
27155 nit_abort("Assert failed", NULL, LOCATE_parser, 9570);
27156 }
27157 /* parser/parser.nit:9572 */
27158 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27159 if (UNTAG_Bool(REGB0)) {
27160 } else {
27161 nit_abort("Assert failed", NULL, LOCATE_parser, 9572);
27162 }
27163 /* parser/parser.nit:9573 */
27164 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
27165 /* parser/parser.nit:9584 */
27166 fra.me.REG[2] = fra.me.REG[3];
27167 /* parser/parser.nit:9585 */
27168 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27169 if (UNTAG_Bool(REGB0)) {
27170 } else {
27171 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9585);
27172 }
27173 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27174 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27175 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27176 stack_frame_head = fra.me.prev;
27177 return;
27178 }
27179 static const char LOCATE_parser___ReduceAction223___action[] = "parser::ReduceAction223::(parser::ReduceAction::action)";
27180 void parser___ReduceAction223___action(val_t p0, val_t p1){
27181 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
27182 val_t REGB0;
27183 val_t tmp;
27184 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27185 fra.me.file = LOCATE_parser;
27186 fra.me.line = 9590;
27187 fra.me.meth = LOCATE_parser___ReduceAction223___action;
27188 fra.me.has_broke = 0;
27189 fra.me.REG_size = 10;
27190 fra.me.nitni_local_ref_head = NULL;
27191 fra.me.REG[0] = NIT_NULL;
27192 fra.me.REG[1] = NIT_NULL;
27193 fra.me.REG[2] = NIT_NULL;
27194 fra.me.REG[3] = NIT_NULL;
27195 fra.me.REG[4] = NIT_NULL;
27196 fra.me.REG[5] = NIT_NULL;
27197 fra.me.REG[6] = NIT_NULL;
27198 fra.me.REG[7] = NIT_NULL;
27199 fra.me.REG[8] = NIT_NULL;
27200 fra.me.REG[9] = NIT_NULL;
27201 fra.me.REG[0] = p0;
27202 fra.me.REG[1] = p1;
27203 /* parser/parser.nit:9592 */
27204 fra.me.REG[2] = NIT_NULL;
27205 /* parser/parser.nit:9593 */
27206 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27207 /* parser/parser.nit:9594 */
27208 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27209 /* parser/parser.nit:9595 */
27210 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27211 /* parser/parser.nit:9596 */
27212 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27213 /* parser/parser.nit:9597 */
27214 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27215 /* parser/parser.nit:9598 */
27216 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27217 /* parser/parser.nit:9599 */
27218 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27219 /* parser/parser.nit:9600 */
27220 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27221 /* parser/parser.nit:9601 */
27222 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27223 /* parser/parser.nit:9603 */
27224 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*/;
27225 if (UNTAG_Bool(REGB0)) {
27226 } else {
27227 nit_abort("Assert failed", NULL, LOCATE_parser, 9603);
27228 }
27229 /* parser/parser.nit:9605 */
27230 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*/;
27231 if (UNTAG_Bool(REGB0)) {
27232 } else {
27233 nit_abort("Assert failed", NULL, LOCATE_parser, 9605);
27234 }
27235 /* parser/parser.nit:9607 */
27236 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*/;
27237 if (UNTAG_Bool(REGB0)) {
27238 } else {
27239 nit_abort("Assert failed", NULL, LOCATE_parser, 9607);
27240 }
27241 /* parser/parser.nit:9609 */
27242 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*/;
27243 if (UNTAG_Bool(REGB0)) {
27244 } else {
27245 nit_abort("Assert failed", NULL, LOCATE_parser, 9609);
27246 }
27247 /* parser/parser.nit:9611 */
27248 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*/;
27249 if (UNTAG_Bool(REGB0)) {
27250 } else {
27251 nit_abort("Assert failed", NULL, LOCATE_parser, 9611);
27252 }
27253 /* parser/parser.nit:9613 */
27254 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*/;
27255 if (UNTAG_Bool(REGB0)) {
27256 } else {
27257 nit_abort("Assert failed", NULL, LOCATE_parser, 9613);
27258 }
27259 /* parser/parser.nit:9615 */
27260 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27261 if (UNTAG_Bool(REGB0)) {
27262 } else {
27263 nit_abort("Assert failed", NULL, LOCATE_parser, 9615);
27264 }
27265 /* parser/parser.nit:9616 */
27266 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
27267 /* parser/parser.nit:9627 */
27268 fra.me.REG[2] = fra.me.REG[3];
27269 /* parser/parser.nit:9628 */
27270 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27271 if (UNTAG_Bool(REGB0)) {
27272 } else {
27273 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9628);
27274 }
27275 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27276 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27277 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27278 stack_frame_head = fra.me.prev;
27279 return;
27280 }
27281 static const char LOCATE_parser___ReduceAction224___action[] = "parser::ReduceAction224::(parser::ReduceAction::action)";
27282 void parser___ReduceAction224___action(val_t p0, val_t p1){
27283 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
27284 val_t REGB0;
27285 val_t tmp;
27286 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27287 fra.me.file = LOCATE_parser;
27288 fra.me.line = 9633;
27289 fra.me.meth = LOCATE_parser___ReduceAction224___action;
27290 fra.me.has_broke = 0;
27291 fra.me.REG_size = 9;
27292 fra.me.nitni_local_ref_head = NULL;
27293 fra.me.REG[0] = NIT_NULL;
27294 fra.me.REG[1] = NIT_NULL;
27295 fra.me.REG[2] = NIT_NULL;
27296 fra.me.REG[3] = NIT_NULL;
27297 fra.me.REG[4] = NIT_NULL;
27298 fra.me.REG[5] = NIT_NULL;
27299 fra.me.REG[6] = NIT_NULL;
27300 fra.me.REG[7] = NIT_NULL;
27301 fra.me.REG[8] = NIT_NULL;
27302 fra.me.REG[0] = p0;
27303 fra.me.REG[1] = p1;
27304 /* parser/parser.nit:9635 */
27305 fra.me.REG[2] = NIT_NULL;
27306 /* parser/parser.nit:9636 */
27307 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27308 /* parser/parser.nit:9637 */
27309 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27310 /* parser/parser.nit:9638 */
27311 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27312 /* parser/parser.nit:9639 */
27313 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27314 /* parser/parser.nit:9640 */
27315 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27316 /* parser/parser.nit:9641 */
27317 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27318 /* parser/parser.nit:9642 */
27319 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27320 /* parser/parser.nit:9643 */
27321 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27322 /* parser/parser.nit:9645 */
27323 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*/;
27324 if (UNTAG_Bool(REGB0)) {
27325 } else {
27326 nit_abort("Assert failed", NULL, LOCATE_parser, 9645);
27327 }
27328 /* parser/parser.nit:9647 */
27329 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*/;
27330 if (UNTAG_Bool(REGB0)) {
27331 } else {
27332 nit_abort("Assert failed", NULL, LOCATE_parser, 9647);
27333 }
27334 /* parser/parser.nit:9649 */
27335 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*/;
27336 if (UNTAG_Bool(REGB0)) {
27337 } else {
27338 nit_abort("Assert failed", NULL, LOCATE_parser, 9649);
27339 }
27340 /* parser/parser.nit:9651 */
27341 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
27342 if (UNTAG_Bool(REGB0)) {
27343 } else {
27344 nit_abort("Assert failed", NULL, LOCATE_parser, 9651);
27345 }
27346 /* parser/parser.nit:9653 */
27347 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
27348 if (UNTAG_Bool(REGB0)) {
27349 } else {
27350 nit_abort("Assert failed", NULL, LOCATE_parser, 9653);
27351 }
27352 /* parser/parser.nit:9655 */
27353 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27354 if (UNTAG_Bool(REGB0)) {
27355 } else {
27356 nit_abort("Assert failed", NULL, LOCATE_parser, 9655);
27357 }
27358 /* parser/parser.nit:9656 */
27359 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
27360 /* parser/parser.nit:9667 */
27361 fra.me.REG[2] = fra.me.REG[3];
27362 /* parser/parser.nit:9668 */
27363 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27364 if (UNTAG_Bool(REGB0)) {
27365 } else {
27366 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9668);
27367 }
27368 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27369 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27370 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27371 stack_frame_head = fra.me.prev;
27372 return;
27373 }
27374 static const char LOCATE_parser___ReduceAction225___action[] = "parser::ReduceAction225::(parser::ReduceAction::action)";
27375 void parser___ReduceAction225___action(val_t p0, val_t p1){
27376 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
27377 val_t REGB0;
27378 val_t tmp;
27379 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27380 fra.me.file = LOCATE_parser;
27381 fra.me.line = 9673;
27382 fra.me.meth = LOCATE_parser___ReduceAction225___action;
27383 fra.me.has_broke = 0;
27384 fra.me.REG_size = 10;
27385 fra.me.nitni_local_ref_head = NULL;
27386 fra.me.REG[0] = NIT_NULL;
27387 fra.me.REG[1] = NIT_NULL;
27388 fra.me.REG[2] = NIT_NULL;
27389 fra.me.REG[3] = NIT_NULL;
27390 fra.me.REG[4] = NIT_NULL;
27391 fra.me.REG[5] = NIT_NULL;
27392 fra.me.REG[6] = NIT_NULL;
27393 fra.me.REG[7] = NIT_NULL;
27394 fra.me.REG[8] = NIT_NULL;
27395 fra.me.REG[9] = NIT_NULL;
27396 fra.me.REG[0] = p0;
27397 fra.me.REG[1] = p1;
27398 /* parser/parser.nit:9675 */
27399 fra.me.REG[2] = NIT_NULL;
27400 /* parser/parser.nit:9676 */
27401 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27402 /* parser/parser.nit:9677 */
27403 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27404 /* parser/parser.nit:9678 */
27405 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27406 /* parser/parser.nit:9679 */
27407 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27408 /* parser/parser.nit:9680 */
27409 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27410 /* parser/parser.nit:9681 */
27411 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27412 /* parser/parser.nit:9682 */
27413 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27414 /* parser/parser.nit:9683 */
27415 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27416 /* parser/parser.nit:9684 */
27417 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27418 /* parser/parser.nit:9686 */
27419 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*/;
27420 if (UNTAG_Bool(REGB0)) {
27421 } else {
27422 nit_abort("Assert failed", NULL, LOCATE_parser, 9686);
27423 }
27424 /* parser/parser.nit:9688 */
27425 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*/;
27426 if (UNTAG_Bool(REGB0)) {
27427 } else {
27428 nit_abort("Assert failed", NULL, LOCATE_parser, 9688);
27429 }
27430 /* parser/parser.nit:9690 */
27431 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*/;
27432 if (UNTAG_Bool(REGB0)) {
27433 } else {
27434 nit_abort("Assert failed", NULL, LOCATE_parser, 9690);
27435 }
27436 /* parser/parser.nit:9692 */
27437 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*/;
27438 if (UNTAG_Bool(REGB0)) {
27439 } else {
27440 nit_abort("Assert failed", NULL, LOCATE_parser, 9692);
27441 }
27442 /* parser/parser.nit:9694 */
27443 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
27444 if (UNTAG_Bool(REGB0)) {
27445 } else {
27446 nit_abort("Assert failed", NULL, LOCATE_parser, 9694);
27447 }
27448 /* parser/parser.nit:9696 */
27449 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
27450 if (UNTAG_Bool(REGB0)) {
27451 } else {
27452 nit_abort("Assert failed", NULL, LOCATE_parser, 9696);
27453 }
27454 /* parser/parser.nit:9698 */
27455 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27456 if (UNTAG_Bool(REGB0)) {
27457 } else {
27458 nit_abort("Assert failed", NULL, LOCATE_parser, 9698);
27459 }
27460 /* parser/parser.nit:9699 */
27461 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
27462 /* parser/parser.nit:9710 */
27463 fra.me.REG[2] = fra.me.REG[3];
27464 /* parser/parser.nit:9711 */
27465 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27466 if (UNTAG_Bool(REGB0)) {
27467 } else {
27468 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9711);
27469 }
27470 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27471 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27472 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27473 stack_frame_head = fra.me.prev;
27474 return;
27475 }
27476 static const char LOCATE_parser___ReduceAction226___action[] = "parser::ReduceAction226::(parser::ReduceAction::action)";
27477 void parser___ReduceAction226___action(val_t p0, val_t p1){
27478 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
27479 val_t REGB0;
27480 val_t tmp;
27481 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27482 fra.me.file = LOCATE_parser;
27483 fra.me.line = 9716;
27484 fra.me.meth = LOCATE_parser___ReduceAction226___action;
27485 fra.me.has_broke = 0;
27486 fra.me.REG_size = 10;
27487 fra.me.nitni_local_ref_head = NULL;
27488 fra.me.REG[0] = NIT_NULL;
27489 fra.me.REG[1] = NIT_NULL;
27490 fra.me.REG[2] = NIT_NULL;
27491 fra.me.REG[3] = NIT_NULL;
27492 fra.me.REG[4] = NIT_NULL;
27493 fra.me.REG[5] = NIT_NULL;
27494 fra.me.REG[6] = NIT_NULL;
27495 fra.me.REG[7] = NIT_NULL;
27496 fra.me.REG[8] = NIT_NULL;
27497 fra.me.REG[9] = NIT_NULL;
27498 fra.me.REG[0] = p0;
27499 fra.me.REG[1] = p1;
27500 /* parser/parser.nit:9718 */
27501 fra.me.REG[2] = NIT_NULL;
27502 /* parser/parser.nit:9719 */
27503 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27504 /* parser/parser.nit:9720 */
27505 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27506 /* parser/parser.nit:9721 */
27507 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27508 /* parser/parser.nit:9722 */
27509 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27510 /* parser/parser.nit:9723 */
27511 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27512 /* parser/parser.nit:9724 */
27513 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27514 /* parser/parser.nit:9725 */
27515 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27516 /* parser/parser.nit:9726 */
27517 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27518 /* parser/parser.nit:9727 */
27519 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27520 /* parser/parser.nit:9729 */
27521 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*/;
27522 if (UNTAG_Bool(REGB0)) {
27523 } else {
27524 nit_abort("Assert failed", NULL, LOCATE_parser, 9729);
27525 }
27526 /* parser/parser.nit:9731 */
27527 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*/;
27528 if (UNTAG_Bool(REGB0)) {
27529 } else {
27530 nit_abort("Assert failed", NULL, LOCATE_parser, 9731);
27531 }
27532 /* parser/parser.nit:9733 */
27533 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
27534 if (UNTAG_Bool(REGB0)) {
27535 } else {
27536 nit_abort("Assert failed", NULL, LOCATE_parser, 9733);
27537 }
27538 /* parser/parser.nit:9735 */
27539 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
27540 if (UNTAG_Bool(REGB0)) {
27541 } else {
27542 nit_abort("Assert failed", NULL, LOCATE_parser, 9735);
27543 }
27544 /* parser/parser.nit:9737 */
27545 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
27546 if (UNTAG_Bool(REGB0)) {
27547 } else {
27548 nit_abort("Assert failed", NULL, LOCATE_parser, 9737);
27549 }
27550 /* parser/parser.nit:9739 */
27551 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
27552 if (UNTAG_Bool(REGB0)) {
27553 } else {
27554 nit_abort("Assert failed", NULL, LOCATE_parser, 9739);
27555 }
27556 /* parser/parser.nit:9741 */
27557 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27558 if (UNTAG_Bool(REGB0)) {
27559 } else {
27560 nit_abort("Assert failed", NULL, LOCATE_parser, 9741);
27561 }
27562 /* parser/parser.nit:9742 */
27563 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
27564 /* parser/parser.nit:9753 */
27565 fra.me.REG[2] = fra.me.REG[3];
27566 /* parser/parser.nit:9754 */
27567 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27568 if (UNTAG_Bool(REGB0)) {
27569 } else {
27570 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9754);
27571 }
27572 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27573 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27574 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27575 stack_frame_head = fra.me.prev;
27576 return;
27577 }
27578 static const char LOCATE_parser___ReduceAction227___action[] = "parser::ReduceAction227::(parser::ReduceAction::action)";
27579 void parser___ReduceAction227___action(val_t p0, val_t p1){
27580 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
27581 val_t REGB0;
27582 val_t tmp;
27583 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27584 fra.me.file = LOCATE_parser;
27585 fra.me.line = 9759;
27586 fra.me.meth = LOCATE_parser___ReduceAction227___action;
27587 fra.me.has_broke = 0;
27588 fra.me.REG_size = 11;
27589 fra.me.nitni_local_ref_head = NULL;
27590 fra.me.REG[0] = NIT_NULL;
27591 fra.me.REG[1] = NIT_NULL;
27592 fra.me.REG[2] = NIT_NULL;
27593 fra.me.REG[3] = NIT_NULL;
27594 fra.me.REG[4] = NIT_NULL;
27595 fra.me.REG[5] = NIT_NULL;
27596 fra.me.REG[6] = NIT_NULL;
27597 fra.me.REG[7] = NIT_NULL;
27598 fra.me.REG[8] = NIT_NULL;
27599 fra.me.REG[9] = NIT_NULL;
27600 fra.me.REG[10] = NIT_NULL;
27601 fra.me.REG[0] = p0;
27602 fra.me.REG[1] = p1;
27603 /* parser/parser.nit:9761 */
27604 fra.me.REG[2] = NIT_NULL;
27605 /* parser/parser.nit:9762 */
27606 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27607 /* parser/parser.nit:9763 */
27608 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27609 /* parser/parser.nit:9764 */
27610 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27611 /* parser/parser.nit:9765 */
27612 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27613 /* parser/parser.nit:9766 */
27614 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27615 /* parser/parser.nit:9767 */
27616 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27617 /* parser/parser.nit:9768 */
27618 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27619 /* parser/parser.nit:9769 */
27620 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27621 /* parser/parser.nit:9770 */
27622 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27623 /* parser/parser.nit:9771 */
27624 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27625 /* parser/parser.nit:9773 */
27626 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*/;
27627 if (UNTAG_Bool(REGB0)) {
27628 } else {
27629 nit_abort("Assert failed", NULL, LOCATE_parser, 9773);
27630 }
27631 /* parser/parser.nit:9775 */
27632 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*/;
27633 if (UNTAG_Bool(REGB0)) {
27634 } else {
27635 nit_abort("Assert failed", NULL, LOCATE_parser, 9775);
27636 }
27637 /* parser/parser.nit:9777 */
27638 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*/;
27639 if (UNTAG_Bool(REGB0)) {
27640 } else {
27641 nit_abort("Assert failed", NULL, LOCATE_parser, 9777);
27642 }
27643 /* parser/parser.nit:9779 */
27644 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
27645 if (UNTAG_Bool(REGB0)) {
27646 } else {
27647 nit_abort("Assert failed", NULL, LOCATE_parser, 9779);
27648 }
27649 /* parser/parser.nit:9781 */
27650 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
27651 if (UNTAG_Bool(REGB0)) {
27652 } else {
27653 nit_abort("Assert failed", NULL, LOCATE_parser, 9781);
27654 }
27655 /* parser/parser.nit:9783 */
27656 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
27657 if (UNTAG_Bool(REGB0)) {
27658 } else {
27659 nit_abort("Assert failed", NULL, LOCATE_parser, 9783);
27660 }
27661 /* parser/parser.nit:9785 */
27662 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
27663 if (UNTAG_Bool(REGB0)) {
27664 } else {
27665 nit_abort("Assert failed", NULL, LOCATE_parser, 9785);
27666 }
27667 /* parser/parser.nit:9787 */
27668 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27669 if (UNTAG_Bool(REGB0)) {
27670 } else {
27671 nit_abort("Assert failed", NULL, LOCATE_parser, 9787);
27672 }
27673 /* parser/parser.nit:9788 */
27674 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
27675 /* parser/parser.nit:9799 */
27676 fra.me.REG[2] = fra.me.REG[3];
27677 /* parser/parser.nit:9800 */
27678 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27679 if (UNTAG_Bool(REGB0)) {
27680 } else {
27681 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9800);
27682 }
27683 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27684 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27685 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27686 stack_frame_head = fra.me.prev;
27687 return;
27688 }
27689 static const char LOCATE_parser___ReduceAction228___action[] = "parser::ReduceAction228::(parser::ReduceAction::action)";
27690 void parser___ReduceAction228___action(val_t p0, val_t p1){
27691 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
27692 val_t REGB0;
27693 val_t tmp;
27694 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27695 fra.me.file = LOCATE_parser;
27696 fra.me.line = 9805;
27697 fra.me.meth = LOCATE_parser___ReduceAction228___action;
27698 fra.me.has_broke = 0;
27699 fra.me.REG_size = 9;
27700 fra.me.nitni_local_ref_head = NULL;
27701 fra.me.REG[0] = NIT_NULL;
27702 fra.me.REG[1] = NIT_NULL;
27703 fra.me.REG[2] = NIT_NULL;
27704 fra.me.REG[3] = NIT_NULL;
27705 fra.me.REG[4] = NIT_NULL;
27706 fra.me.REG[5] = NIT_NULL;
27707 fra.me.REG[6] = NIT_NULL;
27708 fra.me.REG[7] = NIT_NULL;
27709 fra.me.REG[8] = NIT_NULL;
27710 fra.me.REG[0] = p0;
27711 fra.me.REG[1] = p1;
27712 /* parser/parser.nit:9807 */
27713 fra.me.REG[2] = NIT_NULL;
27714 /* parser/parser.nit:9808 */
27715 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27716 /* parser/parser.nit:9809 */
27717 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27718 /* parser/parser.nit:9810 */
27719 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27720 /* parser/parser.nit:9811 */
27721 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27722 /* parser/parser.nit:9812 */
27723 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27724 /* parser/parser.nit:9813 */
27725 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27726 /* parser/parser.nit:9814 */
27727 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27728 /* parser/parser.nit:9815 */
27729 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27730 /* parser/parser.nit:9817 */
27731 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*/;
27732 if (UNTAG_Bool(REGB0)) {
27733 } else {
27734 nit_abort("Assert failed", NULL, LOCATE_parser, 9817);
27735 }
27736 /* parser/parser.nit:9819 */
27737 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*/;
27738 if (UNTAG_Bool(REGB0)) {
27739 } else {
27740 nit_abort("Assert failed", NULL, LOCATE_parser, 9819);
27741 }
27742 /* parser/parser.nit:9821 */
27743 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*/;
27744 if (UNTAG_Bool(REGB0)) {
27745 } else {
27746 nit_abort("Assert failed", NULL, LOCATE_parser, 9821);
27747 }
27748 /* parser/parser.nit:9823 */
27749 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
27750 if (UNTAG_Bool(REGB0)) {
27751 } else {
27752 nit_abort("Assert failed", NULL, LOCATE_parser, 9823);
27753 }
27754 /* parser/parser.nit:9825 */
27755 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
27756 if (UNTAG_Bool(REGB0)) {
27757 } else {
27758 nit_abort("Assert failed", NULL, LOCATE_parser, 9825);
27759 }
27760 /* parser/parser.nit:9827 */
27761 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27762 if (UNTAG_Bool(REGB0)) {
27763 } else {
27764 nit_abort("Assert failed", NULL, LOCATE_parser, 9827);
27765 }
27766 /* parser/parser.nit:9828 */
27767 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
27768 /* parser/parser.nit:9839 */
27769 fra.me.REG[2] = fra.me.REG[3];
27770 /* parser/parser.nit:9840 */
27771 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27772 if (UNTAG_Bool(REGB0)) {
27773 } else {
27774 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9840);
27775 }
27776 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27777 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27778 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27779 stack_frame_head = fra.me.prev;
27780 return;
27781 }
27782 static const char LOCATE_parser___ReduceAction229___action[] = "parser::ReduceAction229::(parser::ReduceAction::action)";
27783 void parser___ReduceAction229___action(val_t p0, val_t p1){
27784 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
27785 val_t REGB0;
27786 val_t tmp;
27787 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27788 fra.me.file = LOCATE_parser;
27789 fra.me.line = 9845;
27790 fra.me.meth = LOCATE_parser___ReduceAction229___action;
27791 fra.me.has_broke = 0;
27792 fra.me.REG_size = 10;
27793 fra.me.nitni_local_ref_head = NULL;
27794 fra.me.REG[0] = NIT_NULL;
27795 fra.me.REG[1] = NIT_NULL;
27796 fra.me.REG[2] = NIT_NULL;
27797 fra.me.REG[3] = NIT_NULL;
27798 fra.me.REG[4] = NIT_NULL;
27799 fra.me.REG[5] = NIT_NULL;
27800 fra.me.REG[6] = NIT_NULL;
27801 fra.me.REG[7] = NIT_NULL;
27802 fra.me.REG[8] = NIT_NULL;
27803 fra.me.REG[9] = NIT_NULL;
27804 fra.me.REG[0] = p0;
27805 fra.me.REG[1] = p1;
27806 /* parser/parser.nit:9847 */
27807 fra.me.REG[2] = NIT_NULL;
27808 /* parser/parser.nit:9848 */
27809 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27810 /* parser/parser.nit:9849 */
27811 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27812 /* parser/parser.nit:9850 */
27813 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27814 /* parser/parser.nit:9851 */
27815 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27816 /* parser/parser.nit:9852 */
27817 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27818 /* parser/parser.nit:9853 */
27819 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27820 /* parser/parser.nit:9854 */
27821 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27822 /* parser/parser.nit:9855 */
27823 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27824 /* parser/parser.nit:9856 */
27825 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27826 /* parser/parser.nit:9858 */
27827 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*/;
27828 if (UNTAG_Bool(REGB0)) {
27829 } else {
27830 nit_abort("Assert failed", NULL, LOCATE_parser, 9858);
27831 }
27832 /* parser/parser.nit:9860 */
27833 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*/;
27834 if (UNTAG_Bool(REGB0)) {
27835 } else {
27836 nit_abort("Assert failed", NULL, LOCATE_parser, 9860);
27837 }
27838 /* parser/parser.nit:9862 */
27839 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*/;
27840 if (UNTAG_Bool(REGB0)) {
27841 } else {
27842 nit_abort("Assert failed", NULL, LOCATE_parser, 9862);
27843 }
27844 /* parser/parser.nit:9864 */
27845 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*/;
27846 if (UNTAG_Bool(REGB0)) {
27847 } else {
27848 nit_abort("Assert failed", NULL, LOCATE_parser, 9864);
27849 }
27850 /* parser/parser.nit:9866 */
27851 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
27852 if (UNTAG_Bool(REGB0)) {
27853 } else {
27854 nit_abort("Assert failed", NULL, LOCATE_parser, 9866);
27855 }
27856 /* parser/parser.nit:9868 */
27857 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
27858 if (UNTAG_Bool(REGB0)) {
27859 } else {
27860 nit_abort("Assert failed", NULL, LOCATE_parser, 9868);
27861 }
27862 /* parser/parser.nit:9870 */
27863 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27864 if (UNTAG_Bool(REGB0)) {
27865 } else {
27866 nit_abort("Assert failed", NULL, LOCATE_parser, 9870);
27867 }
27868 /* parser/parser.nit:9871 */
27869 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
27870 /* parser/parser.nit:9882 */
27871 fra.me.REG[2] = fra.me.REG[3];
27872 /* parser/parser.nit:9883 */
27873 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27874 if (UNTAG_Bool(REGB0)) {
27875 } else {
27876 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9883);
27877 }
27878 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27879 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27880 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27881 stack_frame_head = fra.me.prev;
27882 return;
27883 }
27884 static const char LOCATE_parser___ReduceAction230___action[] = "parser::ReduceAction230::(parser::ReduceAction::action)";
27885 void parser___ReduceAction230___action(val_t p0, val_t p1){
27886 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
27887 val_t REGB0;
27888 val_t tmp;
27889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27890 fra.me.file = LOCATE_parser;
27891 fra.me.line = 9888;
27892 fra.me.meth = LOCATE_parser___ReduceAction230___action;
27893 fra.me.has_broke = 0;
27894 fra.me.REG_size = 10;
27895 fra.me.nitni_local_ref_head = NULL;
27896 fra.me.REG[0] = NIT_NULL;
27897 fra.me.REG[1] = NIT_NULL;
27898 fra.me.REG[2] = NIT_NULL;
27899 fra.me.REG[3] = NIT_NULL;
27900 fra.me.REG[4] = NIT_NULL;
27901 fra.me.REG[5] = NIT_NULL;
27902 fra.me.REG[6] = NIT_NULL;
27903 fra.me.REG[7] = NIT_NULL;
27904 fra.me.REG[8] = NIT_NULL;
27905 fra.me.REG[9] = NIT_NULL;
27906 fra.me.REG[0] = p0;
27907 fra.me.REG[1] = p1;
27908 /* parser/parser.nit:9890 */
27909 fra.me.REG[2] = NIT_NULL;
27910 /* parser/parser.nit:9891 */
27911 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27912 /* parser/parser.nit:9892 */
27913 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27914 /* parser/parser.nit:9893 */
27915 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27916 /* parser/parser.nit:9894 */
27917 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27918 /* parser/parser.nit:9895 */
27919 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27920 /* parser/parser.nit:9896 */
27921 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27922 /* parser/parser.nit:9897 */
27923 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27924 /* parser/parser.nit:9898 */
27925 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27926 /* parser/parser.nit:9899 */
27927 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
27928 /* parser/parser.nit:9901 */
27929 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*/;
27930 if (UNTAG_Bool(REGB0)) {
27931 } else {
27932 nit_abort("Assert failed", NULL, LOCATE_parser, 9901);
27933 }
27934 /* parser/parser.nit:9903 */
27935 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*/;
27936 if (UNTAG_Bool(REGB0)) {
27937 } else {
27938 nit_abort("Assert failed", NULL, LOCATE_parser, 9903);
27939 }
27940 /* parser/parser.nit:9905 */
27941 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
27942 if (UNTAG_Bool(REGB0)) {
27943 } else {
27944 nit_abort("Assert failed", NULL, LOCATE_parser, 9905);
27945 }
27946 /* parser/parser.nit:9907 */
27947 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
27948 if (UNTAG_Bool(REGB0)) {
27949 } else {
27950 nit_abort("Assert failed", NULL, LOCATE_parser, 9907);
27951 }
27952 /* parser/parser.nit:9909 */
27953 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
27954 if (UNTAG_Bool(REGB0)) {
27955 } else {
27956 nit_abort("Assert failed", NULL, LOCATE_parser, 9909);
27957 }
27958 /* parser/parser.nit:9911 */
27959 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
27960 if (UNTAG_Bool(REGB0)) {
27961 } else {
27962 nit_abort("Assert failed", NULL, LOCATE_parser, 9911);
27963 }
27964 /* parser/parser.nit:9913 */
27965 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
27966 if (UNTAG_Bool(REGB0)) {
27967 } else {
27968 nit_abort("Assert failed", NULL, LOCATE_parser, 9913);
27969 }
27970 /* parser/parser.nit:9914 */
27971 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
27972 /* parser/parser.nit:9925 */
27973 fra.me.REG[2] = fra.me.REG[3];
27974 /* parser/parser.nit:9926 */
27975 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
27976 if (UNTAG_Bool(REGB0)) {
27977 } else {
27978 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9926);
27979 }
27980 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
27981 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
27982 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
27983 stack_frame_head = fra.me.prev;
27984 return;
27985 }
27986 static const char LOCATE_parser___ReduceAction231___action[] = "parser::ReduceAction231::(parser::ReduceAction::action)";
27987 void parser___ReduceAction231___action(val_t p0, val_t p1){
27988 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
27989 val_t REGB0;
27990 val_t tmp;
27991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27992 fra.me.file = LOCATE_parser;
27993 fra.me.line = 9931;
27994 fra.me.meth = LOCATE_parser___ReduceAction231___action;
27995 fra.me.has_broke = 0;
27996 fra.me.REG_size = 11;
27997 fra.me.nitni_local_ref_head = NULL;
27998 fra.me.REG[0] = NIT_NULL;
27999 fra.me.REG[1] = NIT_NULL;
28000 fra.me.REG[2] = NIT_NULL;
28001 fra.me.REG[3] = NIT_NULL;
28002 fra.me.REG[4] = NIT_NULL;
28003 fra.me.REG[5] = NIT_NULL;
28004 fra.me.REG[6] = NIT_NULL;
28005 fra.me.REG[7] = NIT_NULL;
28006 fra.me.REG[8] = NIT_NULL;
28007 fra.me.REG[9] = NIT_NULL;
28008 fra.me.REG[10] = NIT_NULL;
28009 fra.me.REG[0] = p0;
28010 fra.me.REG[1] = p1;
28011 /* parser/parser.nit:9933 */
28012 fra.me.REG[2] = NIT_NULL;
28013 /* parser/parser.nit:9934 */
28014 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28015 /* parser/parser.nit:9935 */
28016 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28017 /* parser/parser.nit:9936 */
28018 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28019 /* parser/parser.nit:9937 */
28020 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28021 /* parser/parser.nit:9938 */
28022 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28023 /* parser/parser.nit:9939 */
28024 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28025 /* parser/parser.nit:9940 */
28026 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28027 /* parser/parser.nit:9941 */
28028 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28029 /* parser/parser.nit:9942 */
28030 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28031 /* parser/parser.nit:9943 */
28032 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28033 /* parser/parser.nit:9945 */
28034 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*/;
28035 if (UNTAG_Bool(REGB0)) {
28036 } else {
28037 nit_abort("Assert failed", NULL, LOCATE_parser, 9945);
28038 }
28039 /* parser/parser.nit:9947 */
28040 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*/;
28041 if (UNTAG_Bool(REGB0)) {
28042 } else {
28043 nit_abort("Assert failed", NULL, LOCATE_parser, 9947);
28044 }
28045 /* parser/parser.nit:9949 */
28046 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*/;
28047 if (UNTAG_Bool(REGB0)) {
28048 } else {
28049 nit_abort("Assert failed", NULL, LOCATE_parser, 9949);
28050 }
28051 /* parser/parser.nit:9951 */
28052 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
28053 if (UNTAG_Bool(REGB0)) {
28054 } else {
28055 nit_abort("Assert failed", NULL, LOCATE_parser, 9951);
28056 }
28057 /* parser/parser.nit:9953 */
28058 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
28059 if (UNTAG_Bool(REGB0)) {
28060 } else {
28061 nit_abort("Assert failed", NULL, LOCATE_parser, 9953);
28062 }
28063 /* parser/parser.nit:9955 */
28064 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
28065 if (UNTAG_Bool(REGB0)) {
28066 } else {
28067 nit_abort("Assert failed", NULL, LOCATE_parser, 9955);
28068 }
28069 /* parser/parser.nit:9957 */
28070 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
28071 if (UNTAG_Bool(REGB0)) {
28072 } else {
28073 nit_abort("Assert failed", NULL, LOCATE_parser, 9957);
28074 }
28075 /* parser/parser.nit:9959 */
28076 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28077 if (UNTAG_Bool(REGB0)) {
28078 } else {
28079 nit_abort("Assert failed", NULL, LOCATE_parser, 9959);
28080 }
28081 /* parser/parser.nit:9960 */
28082 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
28083 /* parser/parser.nit:9971 */
28084 fra.me.REG[2] = fra.me.REG[3];
28085 /* parser/parser.nit:9972 */
28086 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28087 if (UNTAG_Bool(REGB0)) {
28088 } else {
28089 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 9972);
28090 }
28091 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28092 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28094 stack_frame_head = fra.me.prev;
28095 return;
28096 }
28097 static const char LOCATE_parser___ReduceAction232___action[] = "parser::ReduceAction232::(parser::ReduceAction::action)";
28098 void parser___ReduceAction232___action(val_t p0, val_t p1){
28099 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
28100 val_t REGB0;
28101 val_t tmp;
28102 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28103 fra.me.file = LOCATE_parser;
28104 fra.me.line = 9977;
28105 fra.me.meth = LOCATE_parser___ReduceAction232___action;
28106 fra.me.has_broke = 0;
28107 fra.me.REG_size = 10;
28108 fra.me.nitni_local_ref_head = NULL;
28109 fra.me.REG[0] = NIT_NULL;
28110 fra.me.REG[1] = NIT_NULL;
28111 fra.me.REG[2] = NIT_NULL;
28112 fra.me.REG[3] = NIT_NULL;
28113 fra.me.REG[4] = NIT_NULL;
28114 fra.me.REG[5] = NIT_NULL;
28115 fra.me.REG[6] = NIT_NULL;
28116 fra.me.REG[7] = NIT_NULL;
28117 fra.me.REG[8] = NIT_NULL;
28118 fra.me.REG[9] = NIT_NULL;
28119 fra.me.REG[0] = p0;
28120 fra.me.REG[1] = p1;
28121 /* parser/parser.nit:9979 */
28122 fra.me.REG[2] = NIT_NULL;
28123 /* parser/parser.nit:9980 */
28124 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28125 /* parser/parser.nit:9981 */
28126 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28127 /* parser/parser.nit:9982 */
28128 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28129 /* parser/parser.nit:9983 */
28130 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28131 /* parser/parser.nit:9984 */
28132 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28133 /* parser/parser.nit:9985 */
28134 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28135 /* parser/parser.nit:9986 */
28136 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28137 /* parser/parser.nit:9987 */
28138 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28139 /* parser/parser.nit:9988 */
28140 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28141 /* parser/parser.nit:9990 */
28142 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*/;
28143 if (UNTAG_Bool(REGB0)) {
28144 } else {
28145 nit_abort("Assert failed", NULL, LOCATE_parser, 9990);
28146 }
28147 /* parser/parser.nit:9992 */
28148 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*/;
28149 if (UNTAG_Bool(REGB0)) {
28150 } else {
28151 nit_abort("Assert failed", NULL, LOCATE_parser, 9992);
28152 }
28153 /* parser/parser.nit:9994 */
28154 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
28155 if (UNTAG_Bool(REGB0)) {
28156 } else {
28157 nit_abort("Assert failed", NULL, LOCATE_parser, 9994);
28158 }
28159 /* parser/parser.nit:9996 */
28160 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
28161 if (UNTAG_Bool(REGB0)) {
28162 } else {
28163 nit_abort("Assert failed", NULL, LOCATE_parser, 9996);
28164 }
28165 /* parser/parser.nit:9998 */
28166 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
28167 if (UNTAG_Bool(REGB0)) {
28168 } else {
28169 nit_abort("Assert failed", NULL, LOCATE_parser, 9998);
28170 }
28171 /* parser/parser.nit:10000 */
28172 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
28173 if (UNTAG_Bool(REGB0)) {
28174 } else {
28175 nit_abort("Assert failed", NULL, LOCATE_parser, 10000);
28176 }
28177 /* parser/parser.nit:10002 */
28178 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28179 if (UNTAG_Bool(REGB0)) {
28180 } else {
28181 nit_abort("Assert failed", NULL, LOCATE_parser, 10002);
28182 }
28183 /* parser/parser.nit:10003 */
28184 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28185 /* parser/parser.nit:10014 */
28186 fra.me.REG[2] = fra.me.REG[3];
28187 /* parser/parser.nit:10015 */
28188 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28189 if (UNTAG_Bool(REGB0)) {
28190 } else {
28191 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10015);
28192 }
28193 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28194 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28195 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28196 stack_frame_head = fra.me.prev;
28197 return;
28198 }
28199 static const char LOCATE_parser___ReduceAction233___action[] = "parser::ReduceAction233::(parser::ReduceAction::action)";
28200 void parser___ReduceAction233___action(val_t p0, val_t p1){
28201 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
28202 val_t REGB0;
28203 val_t tmp;
28204 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28205 fra.me.file = LOCATE_parser;
28206 fra.me.line = 10020;
28207 fra.me.meth = LOCATE_parser___ReduceAction233___action;
28208 fra.me.has_broke = 0;
28209 fra.me.REG_size = 11;
28210 fra.me.nitni_local_ref_head = NULL;
28211 fra.me.REG[0] = NIT_NULL;
28212 fra.me.REG[1] = NIT_NULL;
28213 fra.me.REG[2] = NIT_NULL;
28214 fra.me.REG[3] = NIT_NULL;
28215 fra.me.REG[4] = NIT_NULL;
28216 fra.me.REG[5] = NIT_NULL;
28217 fra.me.REG[6] = NIT_NULL;
28218 fra.me.REG[7] = NIT_NULL;
28219 fra.me.REG[8] = NIT_NULL;
28220 fra.me.REG[9] = NIT_NULL;
28221 fra.me.REG[10] = NIT_NULL;
28222 fra.me.REG[0] = p0;
28223 fra.me.REG[1] = p1;
28224 /* parser/parser.nit:10022 */
28225 fra.me.REG[2] = NIT_NULL;
28226 /* parser/parser.nit:10023 */
28227 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28228 /* parser/parser.nit:10024 */
28229 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28230 /* parser/parser.nit:10025 */
28231 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28232 /* parser/parser.nit:10026 */
28233 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28234 /* parser/parser.nit:10027 */
28235 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28236 /* parser/parser.nit:10028 */
28237 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28238 /* parser/parser.nit:10029 */
28239 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28240 /* parser/parser.nit:10030 */
28241 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28242 /* parser/parser.nit:10031 */
28243 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28244 /* parser/parser.nit:10032 */
28245 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28246 /* parser/parser.nit:10034 */
28247 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*/;
28248 if (UNTAG_Bool(REGB0)) {
28249 } else {
28250 nit_abort("Assert failed", NULL, LOCATE_parser, 10034);
28251 }
28252 /* parser/parser.nit:10036 */
28253 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*/;
28254 if (UNTAG_Bool(REGB0)) {
28255 } else {
28256 nit_abort("Assert failed", NULL, LOCATE_parser, 10036);
28257 }
28258 /* parser/parser.nit:10038 */
28259 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*/;
28260 if (UNTAG_Bool(REGB0)) {
28261 } else {
28262 nit_abort("Assert failed", NULL, LOCATE_parser, 10038);
28263 }
28264 /* parser/parser.nit:10040 */
28265 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
28266 if (UNTAG_Bool(REGB0)) {
28267 } else {
28268 nit_abort("Assert failed", NULL, LOCATE_parser, 10040);
28269 }
28270 /* parser/parser.nit:10042 */
28271 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
28272 if (UNTAG_Bool(REGB0)) {
28273 } else {
28274 nit_abort("Assert failed", NULL, LOCATE_parser, 10042);
28275 }
28276 /* parser/parser.nit:10044 */
28277 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
28278 if (UNTAG_Bool(REGB0)) {
28279 } else {
28280 nit_abort("Assert failed", NULL, LOCATE_parser, 10044);
28281 }
28282 /* parser/parser.nit:10046 */
28283 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
28284 if (UNTAG_Bool(REGB0)) {
28285 } else {
28286 nit_abort("Assert failed", NULL, LOCATE_parser, 10046);
28287 }
28288 /* parser/parser.nit:10048 */
28289 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28290 if (UNTAG_Bool(REGB0)) {
28291 } else {
28292 nit_abort("Assert failed", NULL, LOCATE_parser, 10048);
28293 }
28294 /* parser/parser.nit:10049 */
28295 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
28296 /* parser/parser.nit:10060 */
28297 fra.me.REG[2] = fra.me.REG[3];
28298 /* parser/parser.nit:10061 */
28299 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28300 if (UNTAG_Bool(REGB0)) {
28301 } else {
28302 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10061);
28303 }
28304 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28305 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28306 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28307 stack_frame_head = fra.me.prev;
28308 return;
28309 }
28310 static const char LOCATE_parser___ReduceAction234___action[] = "parser::ReduceAction234::(parser::ReduceAction::action)";
28311 void parser___ReduceAction234___action(val_t p0, val_t p1){
28312 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
28313 val_t REGB0;
28314 val_t tmp;
28315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28316 fra.me.file = LOCATE_parser;
28317 fra.me.line = 10066;
28318 fra.me.meth = LOCATE_parser___ReduceAction234___action;
28319 fra.me.has_broke = 0;
28320 fra.me.REG_size = 11;
28321 fra.me.nitni_local_ref_head = NULL;
28322 fra.me.REG[0] = NIT_NULL;
28323 fra.me.REG[1] = NIT_NULL;
28324 fra.me.REG[2] = NIT_NULL;
28325 fra.me.REG[3] = NIT_NULL;
28326 fra.me.REG[4] = NIT_NULL;
28327 fra.me.REG[5] = NIT_NULL;
28328 fra.me.REG[6] = NIT_NULL;
28329 fra.me.REG[7] = NIT_NULL;
28330 fra.me.REG[8] = NIT_NULL;
28331 fra.me.REG[9] = NIT_NULL;
28332 fra.me.REG[10] = NIT_NULL;
28333 fra.me.REG[0] = p0;
28334 fra.me.REG[1] = p1;
28335 /* parser/parser.nit:10068 */
28336 fra.me.REG[2] = NIT_NULL;
28337 /* parser/parser.nit:10069 */
28338 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28339 /* parser/parser.nit:10070 */
28340 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28341 /* parser/parser.nit:10071 */
28342 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28343 /* parser/parser.nit:10072 */
28344 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28345 /* parser/parser.nit:10073 */
28346 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28347 /* parser/parser.nit:10074 */
28348 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28349 /* parser/parser.nit:10075 */
28350 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28351 /* parser/parser.nit:10076 */
28352 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28353 /* parser/parser.nit:10077 */
28354 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28355 /* parser/parser.nit:10078 */
28356 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28357 /* parser/parser.nit:10080 */
28358 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*/;
28359 if (UNTAG_Bool(REGB0)) {
28360 } else {
28361 nit_abort("Assert failed", NULL, LOCATE_parser, 10080);
28362 }
28363 /* parser/parser.nit:10082 */
28364 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
28365 if (UNTAG_Bool(REGB0)) {
28366 } else {
28367 nit_abort("Assert failed", NULL, LOCATE_parser, 10082);
28368 }
28369 /* parser/parser.nit:10084 */
28370 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
28371 if (UNTAG_Bool(REGB0)) {
28372 } else {
28373 nit_abort("Assert failed", NULL, LOCATE_parser, 10084);
28374 }
28375 /* parser/parser.nit:10086 */
28376 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
28377 if (UNTAG_Bool(REGB0)) {
28378 } else {
28379 nit_abort("Assert failed", NULL, LOCATE_parser, 10086);
28380 }
28381 /* parser/parser.nit:10088 */
28382 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
28383 if (UNTAG_Bool(REGB0)) {
28384 } else {
28385 nit_abort("Assert failed", NULL, LOCATE_parser, 10088);
28386 }
28387 /* parser/parser.nit:10090 */
28388 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
28389 if (UNTAG_Bool(REGB0)) {
28390 } else {
28391 nit_abort("Assert failed", NULL, LOCATE_parser, 10090);
28392 }
28393 /* parser/parser.nit:10092 */
28394 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
28395 if (UNTAG_Bool(REGB0)) {
28396 } else {
28397 nit_abort("Assert failed", NULL, LOCATE_parser, 10092);
28398 }
28399 /* parser/parser.nit:10094 */
28400 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28401 if (UNTAG_Bool(REGB0)) {
28402 } else {
28403 nit_abort("Assert failed", NULL, LOCATE_parser, 10094);
28404 }
28405 /* parser/parser.nit:10095 */
28406 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], fra.me.REG[4], fra.me.REG[3]);
28407 /* parser/parser.nit:10106 */
28408 fra.me.REG[2] = fra.me.REG[3];
28409 /* parser/parser.nit:10107 */
28410 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28411 if (UNTAG_Bool(REGB0)) {
28412 } else {
28413 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10107);
28414 }
28415 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28416 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28417 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28418 stack_frame_head = fra.me.prev;
28419 return;
28420 }
28421 static const char LOCATE_parser___ReduceAction235___action[] = "parser::ReduceAction235::(parser::ReduceAction::action)";
28422 void parser___ReduceAction235___action(val_t p0, val_t p1){
28423 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
28424 val_t REGB0;
28425 val_t tmp;
28426 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28427 fra.me.file = LOCATE_parser;
28428 fra.me.line = 10112;
28429 fra.me.meth = LOCATE_parser___ReduceAction235___action;
28430 fra.me.has_broke = 0;
28431 fra.me.REG_size = 12;
28432 fra.me.nitni_local_ref_head = NULL;
28433 fra.me.REG[0] = NIT_NULL;
28434 fra.me.REG[1] = NIT_NULL;
28435 fra.me.REG[2] = NIT_NULL;
28436 fra.me.REG[3] = NIT_NULL;
28437 fra.me.REG[4] = NIT_NULL;
28438 fra.me.REG[5] = NIT_NULL;
28439 fra.me.REG[6] = NIT_NULL;
28440 fra.me.REG[7] = NIT_NULL;
28441 fra.me.REG[8] = NIT_NULL;
28442 fra.me.REG[9] = NIT_NULL;
28443 fra.me.REG[10] = NIT_NULL;
28444 fra.me.REG[11] = NIT_NULL;
28445 fra.me.REG[0] = p0;
28446 fra.me.REG[1] = p1;
28447 /* parser/parser.nit:10114 */
28448 fra.me.REG[2] = NIT_NULL;
28449 /* parser/parser.nit:10115 */
28450 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28451 /* parser/parser.nit:10116 */
28452 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28453 /* parser/parser.nit:10117 */
28454 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28455 /* parser/parser.nit:10118 */
28456 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28457 /* parser/parser.nit:10119 */
28458 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28459 /* parser/parser.nit:10120 */
28460 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28461 /* parser/parser.nit:10121 */
28462 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28463 /* parser/parser.nit:10122 */
28464 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28465 /* parser/parser.nit:10123 */
28466 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28467 /* parser/parser.nit:10124 */
28468 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28469 /* parser/parser.nit:10125 */
28470 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28471 /* parser/parser.nit:10127 */
28472 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*/;
28473 if (UNTAG_Bool(REGB0)) {
28474 } else {
28475 nit_abort("Assert failed", NULL, LOCATE_parser, 10127);
28476 }
28477 /* parser/parser.nit:10129 */
28478 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
28479 if (UNTAG_Bool(REGB0)) {
28480 } else {
28481 nit_abort("Assert failed", NULL, LOCATE_parser, 10129);
28482 }
28483 /* parser/parser.nit:10131 */
28484 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
28485 if (UNTAG_Bool(REGB0)) {
28486 } else {
28487 nit_abort("Assert failed", NULL, LOCATE_parser, 10131);
28488 }
28489 /* parser/parser.nit:10133 */
28490 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
28491 if (UNTAG_Bool(REGB0)) {
28492 } else {
28493 nit_abort("Assert failed", NULL, LOCATE_parser, 10133);
28494 }
28495 /* parser/parser.nit:10135 */
28496 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
28497 if (UNTAG_Bool(REGB0)) {
28498 } else {
28499 nit_abort("Assert failed", NULL, LOCATE_parser, 10135);
28500 }
28501 /* parser/parser.nit:10137 */
28502 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
28503 if (UNTAG_Bool(REGB0)) {
28504 } else {
28505 nit_abort("Assert failed", NULL, LOCATE_parser, 10137);
28506 }
28507 /* parser/parser.nit:10139 */
28508 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
28509 if (UNTAG_Bool(REGB0)) {
28510 } else {
28511 nit_abort("Assert failed", NULL, LOCATE_parser, 10139);
28512 }
28513 /* parser/parser.nit:10141 */
28514 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
28515 if (UNTAG_Bool(REGB0)) {
28516 } else {
28517 nit_abort("Assert failed", NULL, LOCATE_parser, 10141);
28518 }
28519 /* parser/parser.nit:10143 */
28520 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28521 if (UNTAG_Bool(REGB0)) {
28522 } else {
28523 nit_abort("Assert failed", NULL, LOCATE_parser, 10143);
28524 }
28525 /* parser/parser.nit:10144 */
28526 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], fra.me.REG[4], fra.me.REG[3]);
28527 /* parser/parser.nit:10155 */
28528 fra.me.REG[2] = fra.me.REG[3];
28529 /* parser/parser.nit:10156 */
28530 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28531 if (UNTAG_Bool(REGB0)) {
28532 } else {
28533 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10156);
28534 }
28535 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28536 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28537 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28538 stack_frame_head = fra.me.prev;
28539 return;
28540 }
28541 static const char LOCATE_parser___ReduceAction236___action[] = "parser::ReduceAction236::(parser::ReduceAction::action)";
28542 void parser___ReduceAction236___action(val_t p0, val_t p1){
28543 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
28544 val_t REGB0;
28545 val_t tmp;
28546 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28547 fra.me.file = LOCATE_parser;
28548 fra.me.line = 10161;
28549 fra.me.meth = LOCATE_parser___ReduceAction236___action;
28550 fra.me.has_broke = 0;
28551 fra.me.REG_size = 8;
28552 fra.me.nitni_local_ref_head = NULL;
28553 fra.me.REG[0] = NIT_NULL;
28554 fra.me.REG[1] = NIT_NULL;
28555 fra.me.REG[2] = NIT_NULL;
28556 fra.me.REG[3] = NIT_NULL;
28557 fra.me.REG[4] = NIT_NULL;
28558 fra.me.REG[5] = NIT_NULL;
28559 fra.me.REG[6] = NIT_NULL;
28560 fra.me.REG[7] = NIT_NULL;
28561 fra.me.REG[0] = p0;
28562 fra.me.REG[1] = p1;
28563 /* parser/parser.nit:10163 */
28564 fra.me.REG[2] = NIT_NULL;
28565 /* parser/parser.nit:10164 */
28566 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28567 /* parser/parser.nit:10165 */
28568 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28569 /* parser/parser.nit:10166 */
28570 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28571 /* parser/parser.nit:10167 */
28572 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28573 /* parser/parser.nit:10168 */
28574 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28575 /* parser/parser.nit:10170 */
28576 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*/;
28577 if (UNTAG_Bool(REGB0)) {
28578 } else {
28579 nit_abort("Assert failed", NULL, LOCATE_parser, 10170);
28580 }
28581 /* parser/parser.nit:10172 */
28582 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*/;
28583 if (UNTAG_Bool(REGB0)) {
28584 } else {
28585 nit_abort("Assert failed", NULL, LOCATE_parser, 10172);
28586 }
28587 /* parser/parser.nit:10174 */
28588 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*/;
28589 if (UNTAG_Bool(REGB0)) {
28590 } else {
28591 nit_abort("Assert failed", NULL, LOCATE_parser, 10174);
28592 }
28593 /* parser/parser.nit:10176 */
28594 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*/;
28595 if (UNTAG_Bool(REGB0)) {
28596 } else {
28597 nit_abort("Assert failed", NULL, LOCATE_parser, 10176);
28598 }
28599 /* parser/parser.nit:10178 */
28600 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28601 if (UNTAG_Bool(REGB0)) {
28602 } else {
28603 nit_abort("Assert failed", NULL, LOCATE_parser, 10178);
28604 }
28605 /* parser/parser.nit:10179 */
28606 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
28607 /* parser/parser.nit:10190 */
28608 fra.me.REG[2] = fra.me.REG[3];
28609 /* parser/parser.nit:10191 */
28610 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28611 if (UNTAG_Bool(REGB0)) {
28612 } else {
28613 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10191);
28614 }
28615 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28616 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28617 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28618 stack_frame_head = fra.me.prev;
28619 return;
28620 }
28621 static const char LOCATE_parser___ReduceAction237___action[] = "parser::ReduceAction237::(parser::ReduceAction::action)";
28622 void parser___ReduceAction237___action(val_t p0, val_t p1){
28623 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
28624 val_t REGB0;
28625 val_t tmp;
28626 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28627 fra.me.file = LOCATE_parser;
28628 fra.me.line = 10196;
28629 fra.me.meth = LOCATE_parser___ReduceAction237___action;
28630 fra.me.has_broke = 0;
28631 fra.me.REG_size = 9;
28632 fra.me.nitni_local_ref_head = NULL;
28633 fra.me.REG[0] = NIT_NULL;
28634 fra.me.REG[1] = NIT_NULL;
28635 fra.me.REG[2] = NIT_NULL;
28636 fra.me.REG[3] = NIT_NULL;
28637 fra.me.REG[4] = NIT_NULL;
28638 fra.me.REG[5] = NIT_NULL;
28639 fra.me.REG[6] = NIT_NULL;
28640 fra.me.REG[7] = NIT_NULL;
28641 fra.me.REG[8] = NIT_NULL;
28642 fra.me.REG[0] = p0;
28643 fra.me.REG[1] = p1;
28644 /* parser/parser.nit:10198 */
28645 fra.me.REG[2] = NIT_NULL;
28646 /* parser/parser.nit:10199 */
28647 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28648 /* parser/parser.nit:10200 */
28649 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28650 /* parser/parser.nit:10201 */
28651 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28652 /* parser/parser.nit:10202 */
28653 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28654 /* parser/parser.nit:10203 */
28655 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28656 /* parser/parser.nit:10204 */
28657 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28658 /* parser/parser.nit:10206 */
28659 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*/;
28660 if (UNTAG_Bool(REGB0)) {
28661 } else {
28662 nit_abort("Assert failed", NULL, LOCATE_parser, 10206);
28663 }
28664 /* parser/parser.nit:10208 */
28665 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*/;
28666 if (UNTAG_Bool(REGB0)) {
28667 } else {
28668 nit_abort("Assert failed", NULL, LOCATE_parser, 10208);
28669 }
28670 /* parser/parser.nit:10210 */
28671 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*/;
28672 if (UNTAG_Bool(REGB0)) {
28673 } else {
28674 nit_abort("Assert failed", NULL, LOCATE_parser, 10210);
28675 }
28676 /* parser/parser.nit:10212 */
28677 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*/;
28678 if (UNTAG_Bool(REGB0)) {
28679 } else {
28680 nit_abort("Assert failed", NULL, LOCATE_parser, 10212);
28681 }
28682 /* parser/parser.nit:10214 */
28683 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*/;
28684 if (UNTAG_Bool(REGB0)) {
28685 } else {
28686 nit_abort("Assert failed", NULL, LOCATE_parser, 10214);
28687 }
28688 /* parser/parser.nit:10216 */
28689 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28690 if (UNTAG_Bool(REGB0)) {
28691 } else {
28692 nit_abort("Assert failed", NULL, LOCATE_parser, 10216);
28693 }
28694 /* parser/parser.nit:10217 */
28695 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
28696 /* parser/parser.nit:10228 */
28697 fra.me.REG[2] = fra.me.REG[3];
28698 /* parser/parser.nit:10229 */
28699 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28700 if (UNTAG_Bool(REGB0)) {
28701 } else {
28702 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10229);
28703 }
28704 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28705 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28706 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28707 stack_frame_head = fra.me.prev;
28708 return;
28709 }
28710 static const char LOCATE_parser___ReduceAction238___action[] = "parser::ReduceAction238::(parser::ReduceAction::action)";
28711 void parser___ReduceAction238___action(val_t p0, val_t p1){
28712 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
28713 val_t REGB0;
28714 val_t tmp;
28715 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28716 fra.me.file = LOCATE_parser;
28717 fra.me.line = 10234;
28718 fra.me.meth = LOCATE_parser___ReduceAction238___action;
28719 fra.me.has_broke = 0;
28720 fra.me.REG_size = 9;
28721 fra.me.nitni_local_ref_head = NULL;
28722 fra.me.REG[0] = NIT_NULL;
28723 fra.me.REG[1] = NIT_NULL;
28724 fra.me.REG[2] = NIT_NULL;
28725 fra.me.REG[3] = NIT_NULL;
28726 fra.me.REG[4] = NIT_NULL;
28727 fra.me.REG[5] = NIT_NULL;
28728 fra.me.REG[6] = NIT_NULL;
28729 fra.me.REG[7] = NIT_NULL;
28730 fra.me.REG[8] = NIT_NULL;
28731 fra.me.REG[0] = p0;
28732 fra.me.REG[1] = p1;
28733 /* parser/parser.nit:10236 */
28734 fra.me.REG[2] = NIT_NULL;
28735 /* parser/parser.nit:10237 */
28736 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28737 /* parser/parser.nit:10238 */
28738 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28739 /* parser/parser.nit:10239 */
28740 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28741 /* parser/parser.nit:10240 */
28742 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28743 /* parser/parser.nit:10241 */
28744 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28745 /* parser/parser.nit:10242 */
28746 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28747 /* parser/parser.nit:10244 */
28748 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*/;
28749 if (UNTAG_Bool(REGB0)) {
28750 } else {
28751 nit_abort("Assert failed", NULL, LOCATE_parser, 10244);
28752 }
28753 /* parser/parser.nit:10246 */
28754 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*/;
28755 if (UNTAG_Bool(REGB0)) {
28756 } else {
28757 nit_abort("Assert failed", NULL, LOCATE_parser, 10246);
28758 }
28759 /* parser/parser.nit:10248 */
28760 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*/;
28761 if (UNTAG_Bool(REGB0)) {
28762 } else {
28763 nit_abort("Assert failed", NULL, LOCATE_parser, 10248);
28764 }
28765 /* parser/parser.nit:10250 */
28766 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*/;
28767 if (UNTAG_Bool(REGB0)) {
28768 } else {
28769 nit_abort("Assert failed", NULL, LOCATE_parser, 10250);
28770 }
28771 /* parser/parser.nit:10252 */
28772 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*/;
28773 if (UNTAG_Bool(REGB0)) {
28774 } else {
28775 nit_abort("Assert failed", NULL, LOCATE_parser, 10252);
28776 }
28777 /* parser/parser.nit:10254 */
28778 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28779 if (UNTAG_Bool(REGB0)) {
28780 } else {
28781 nit_abort("Assert failed", NULL, LOCATE_parser, 10254);
28782 }
28783 /* parser/parser.nit:10255 */
28784 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
28785 /* parser/parser.nit:10266 */
28786 fra.me.REG[2] = fra.me.REG[3];
28787 /* parser/parser.nit:10267 */
28788 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28789 if (UNTAG_Bool(REGB0)) {
28790 } else {
28791 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10267);
28792 }
28793 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28794 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28795 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28796 stack_frame_head = fra.me.prev;
28797 return;
28798 }
28799 static const char LOCATE_parser___ReduceAction239___action[] = "parser::ReduceAction239::(parser::ReduceAction::action)";
28800 void parser___ReduceAction239___action(val_t p0, val_t p1){
28801 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
28802 val_t REGB0;
28803 val_t tmp;
28804 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28805 fra.me.file = LOCATE_parser;
28806 fra.me.line = 10272;
28807 fra.me.meth = LOCATE_parser___ReduceAction239___action;
28808 fra.me.has_broke = 0;
28809 fra.me.REG_size = 10;
28810 fra.me.nitni_local_ref_head = NULL;
28811 fra.me.REG[0] = NIT_NULL;
28812 fra.me.REG[1] = NIT_NULL;
28813 fra.me.REG[2] = NIT_NULL;
28814 fra.me.REG[3] = NIT_NULL;
28815 fra.me.REG[4] = NIT_NULL;
28816 fra.me.REG[5] = NIT_NULL;
28817 fra.me.REG[6] = NIT_NULL;
28818 fra.me.REG[7] = NIT_NULL;
28819 fra.me.REG[8] = NIT_NULL;
28820 fra.me.REG[9] = NIT_NULL;
28821 fra.me.REG[0] = p0;
28822 fra.me.REG[1] = p1;
28823 /* parser/parser.nit:10274 */
28824 fra.me.REG[2] = NIT_NULL;
28825 /* parser/parser.nit:10275 */
28826 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28827 /* parser/parser.nit:10276 */
28828 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28829 /* parser/parser.nit:10277 */
28830 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28831 /* parser/parser.nit:10278 */
28832 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28833 /* parser/parser.nit:10279 */
28834 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28835 /* parser/parser.nit:10280 */
28836 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28837 /* parser/parser.nit:10281 */
28838 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28839 /* parser/parser.nit:10283 */
28840 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*/;
28841 if (UNTAG_Bool(REGB0)) {
28842 } else {
28843 nit_abort("Assert failed", NULL, LOCATE_parser, 10283);
28844 }
28845 /* parser/parser.nit:10285 */
28846 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*/;
28847 if (UNTAG_Bool(REGB0)) {
28848 } else {
28849 nit_abort("Assert failed", NULL, LOCATE_parser, 10285);
28850 }
28851 /* parser/parser.nit:10287 */
28852 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*/;
28853 if (UNTAG_Bool(REGB0)) {
28854 } else {
28855 nit_abort("Assert failed", NULL, LOCATE_parser, 10287);
28856 }
28857 /* parser/parser.nit:10289 */
28858 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*/;
28859 if (UNTAG_Bool(REGB0)) {
28860 } else {
28861 nit_abort("Assert failed", NULL, LOCATE_parser, 10289);
28862 }
28863 /* parser/parser.nit:10291 */
28864 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*/;
28865 if (UNTAG_Bool(REGB0)) {
28866 } else {
28867 nit_abort("Assert failed", NULL, LOCATE_parser, 10291);
28868 }
28869 /* parser/parser.nit:10293 */
28870 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*/;
28871 if (UNTAG_Bool(REGB0)) {
28872 } else {
28873 nit_abort("Assert failed", NULL, LOCATE_parser, 10293);
28874 }
28875 /* parser/parser.nit:10295 */
28876 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28877 if (UNTAG_Bool(REGB0)) {
28878 } else {
28879 nit_abort("Assert failed", NULL, LOCATE_parser, 10295);
28880 }
28881 /* parser/parser.nit:10296 */
28882 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[3]);
28883 /* parser/parser.nit:10307 */
28884 fra.me.REG[2] = fra.me.REG[3];
28885 /* parser/parser.nit:10308 */
28886 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28887 if (UNTAG_Bool(REGB0)) {
28888 } else {
28889 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10308);
28890 }
28891 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28892 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28893 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28894 stack_frame_head = fra.me.prev;
28895 return;
28896 }
28897 static const char LOCATE_parser___ReduceAction240___action[] = "parser::ReduceAction240::(parser::ReduceAction::action)";
28898 void parser___ReduceAction240___action(val_t p0, val_t p1){
28899 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
28900 val_t REGB0;
28901 val_t tmp;
28902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28903 fra.me.file = LOCATE_parser;
28904 fra.me.line = 10313;
28905 fra.me.meth = LOCATE_parser___ReduceAction240___action;
28906 fra.me.has_broke = 0;
28907 fra.me.REG_size = 9;
28908 fra.me.nitni_local_ref_head = NULL;
28909 fra.me.REG[0] = NIT_NULL;
28910 fra.me.REG[1] = NIT_NULL;
28911 fra.me.REG[2] = NIT_NULL;
28912 fra.me.REG[3] = NIT_NULL;
28913 fra.me.REG[4] = NIT_NULL;
28914 fra.me.REG[5] = NIT_NULL;
28915 fra.me.REG[6] = NIT_NULL;
28916 fra.me.REG[7] = NIT_NULL;
28917 fra.me.REG[8] = NIT_NULL;
28918 fra.me.REG[0] = p0;
28919 fra.me.REG[1] = p1;
28920 /* parser/parser.nit:10315 */
28921 fra.me.REG[2] = NIT_NULL;
28922 /* parser/parser.nit:10316 */
28923 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28924 /* parser/parser.nit:10317 */
28925 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28926 /* parser/parser.nit:10318 */
28927 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28928 /* parser/parser.nit:10319 */
28929 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28930 /* parser/parser.nit:10320 */
28931 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28932 /* parser/parser.nit:10321 */
28933 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
28934 /* parser/parser.nit:10323 */
28935 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*/;
28936 if (UNTAG_Bool(REGB0)) {
28937 } else {
28938 nit_abort("Assert failed", NULL, LOCATE_parser, 10323);
28939 }
28940 /* parser/parser.nit:10325 */
28941 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*/;
28942 if (UNTAG_Bool(REGB0)) {
28943 } else {
28944 nit_abort("Assert failed", NULL, LOCATE_parser, 10325);
28945 }
28946 /* parser/parser.nit:10327 */
28947 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*/;
28948 if (UNTAG_Bool(REGB0)) {
28949 } else {
28950 nit_abort("Assert failed", NULL, LOCATE_parser, 10327);
28951 }
28952 /* parser/parser.nit:10329 */
28953 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
28954 if (UNTAG_Bool(REGB0)) {
28955 } else {
28956 nit_abort("Assert failed", NULL, LOCATE_parser, 10329);
28957 }
28958 /* parser/parser.nit:10331 */
28959 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
28960 if (UNTAG_Bool(REGB0)) {
28961 } else {
28962 nit_abort("Assert failed", NULL, LOCATE_parser, 10331);
28963 }
28964 /* parser/parser.nit:10333 */
28965 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
28966 if (UNTAG_Bool(REGB0)) {
28967 } else {
28968 nit_abort("Assert failed", NULL, LOCATE_parser, 10333);
28969 }
28970 /* parser/parser.nit:10334 */
28971 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
28972 /* parser/parser.nit:10345 */
28973 fra.me.REG[2] = fra.me.REG[3];
28974 /* parser/parser.nit:10346 */
28975 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
28976 if (UNTAG_Bool(REGB0)) {
28977 } else {
28978 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10346);
28979 }
28980 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
28981 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
28982 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
28983 stack_frame_head = fra.me.prev;
28984 return;
28985 }
28986 static const char LOCATE_parser___ReduceAction241___action[] = "parser::ReduceAction241::(parser::ReduceAction::action)";
28987 void parser___ReduceAction241___action(val_t p0, val_t p1){
28988 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
28989 val_t REGB0;
28990 val_t tmp;
28991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28992 fra.me.file = LOCATE_parser;
28993 fra.me.line = 10351;
28994 fra.me.meth = LOCATE_parser___ReduceAction241___action;
28995 fra.me.has_broke = 0;
28996 fra.me.REG_size = 10;
28997 fra.me.nitni_local_ref_head = NULL;
28998 fra.me.REG[0] = NIT_NULL;
28999 fra.me.REG[1] = NIT_NULL;
29000 fra.me.REG[2] = NIT_NULL;
29001 fra.me.REG[3] = NIT_NULL;
29002 fra.me.REG[4] = NIT_NULL;
29003 fra.me.REG[5] = NIT_NULL;
29004 fra.me.REG[6] = NIT_NULL;
29005 fra.me.REG[7] = NIT_NULL;
29006 fra.me.REG[8] = NIT_NULL;
29007 fra.me.REG[9] = NIT_NULL;
29008 fra.me.REG[0] = p0;
29009 fra.me.REG[1] = p1;
29010 /* parser/parser.nit:10353 */
29011 fra.me.REG[2] = NIT_NULL;
29012 /* parser/parser.nit:10354 */
29013 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29014 /* parser/parser.nit:10355 */
29015 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29016 /* parser/parser.nit:10356 */
29017 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29018 /* parser/parser.nit:10357 */
29019 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29020 /* parser/parser.nit:10358 */
29021 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29022 /* parser/parser.nit:10359 */
29023 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29024 /* parser/parser.nit:10360 */
29025 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29026 /* parser/parser.nit:10362 */
29027 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*/;
29028 if (UNTAG_Bool(REGB0)) {
29029 } else {
29030 nit_abort("Assert failed", NULL, LOCATE_parser, 10362);
29031 }
29032 /* parser/parser.nit:10364 */
29033 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*/;
29034 if (UNTAG_Bool(REGB0)) {
29035 } else {
29036 nit_abort("Assert failed", NULL, LOCATE_parser, 10364);
29037 }
29038 /* parser/parser.nit:10366 */
29039 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*/;
29040 if (UNTAG_Bool(REGB0)) {
29041 } else {
29042 nit_abort("Assert failed", NULL, LOCATE_parser, 10366);
29043 }
29044 /* parser/parser.nit:10368 */
29045 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*/;
29046 if (UNTAG_Bool(REGB0)) {
29047 } else {
29048 nit_abort("Assert failed", NULL, LOCATE_parser, 10368);
29049 }
29050 /* parser/parser.nit:10370 */
29051 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29052 if (UNTAG_Bool(REGB0)) {
29053 } else {
29054 nit_abort("Assert failed", NULL, LOCATE_parser, 10370);
29055 }
29056 /* parser/parser.nit:10372 */
29057 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
29058 if (UNTAG_Bool(REGB0)) {
29059 } else {
29060 nit_abort("Assert failed", NULL, LOCATE_parser, 10372);
29061 }
29062 /* parser/parser.nit:10374 */
29063 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29064 if (UNTAG_Bool(REGB0)) {
29065 } else {
29066 nit_abort("Assert failed", NULL, LOCATE_parser, 10374);
29067 }
29068 /* parser/parser.nit:10375 */
29069 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
29070 /* parser/parser.nit:10386 */
29071 fra.me.REG[2] = fra.me.REG[3];
29072 /* parser/parser.nit:10387 */
29073 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29074 if (UNTAG_Bool(REGB0)) {
29075 } else {
29076 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10387);
29077 }
29078 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29079 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29080 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29081 stack_frame_head = fra.me.prev;
29082 return;
29083 }
29084 static const char LOCATE_parser___ReduceAction242___action[] = "parser::ReduceAction242::(parser::ReduceAction::action)";
29085 void parser___ReduceAction242___action(val_t p0, val_t p1){
29086 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29087 val_t REGB0;
29088 val_t tmp;
29089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29090 fra.me.file = LOCATE_parser;
29091 fra.me.line = 10392;
29092 fra.me.meth = LOCATE_parser___ReduceAction242___action;
29093 fra.me.has_broke = 0;
29094 fra.me.REG_size = 10;
29095 fra.me.nitni_local_ref_head = NULL;
29096 fra.me.REG[0] = NIT_NULL;
29097 fra.me.REG[1] = NIT_NULL;
29098 fra.me.REG[2] = NIT_NULL;
29099 fra.me.REG[3] = NIT_NULL;
29100 fra.me.REG[4] = NIT_NULL;
29101 fra.me.REG[5] = NIT_NULL;
29102 fra.me.REG[6] = NIT_NULL;
29103 fra.me.REG[7] = NIT_NULL;
29104 fra.me.REG[8] = NIT_NULL;
29105 fra.me.REG[9] = NIT_NULL;
29106 fra.me.REG[0] = p0;
29107 fra.me.REG[1] = p1;
29108 /* parser/parser.nit:10394 */
29109 fra.me.REG[2] = NIT_NULL;
29110 /* parser/parser.nit:10395 */
29111 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29112 /* parser/parser.nit:10396 */
29113 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29114 /* parser/parser.nit:10397 */
29115 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29116 /* parser/parser.nit:10398 */
29117 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29118 /* parser/parser.nit:10399 */
29119 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29120 /* parser/parser.nit:10400 */
29121 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29122 /* parser/parser.nit:10401 */
29123 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29124 /* parser/parser.nit:10403 */
29125 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*/;
29126 if (UNTAG_Bool(REGB0)) {
29127 } else {
29128 nit_abort("Assert failed", NULL, LOCATE_parser, 10403);
29129 }
29130 /* parser/parser.nit:10405 */
29131 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*/;
29132 if (UNTAG_Bool(REGB0)) {
29133 } else {
29134 nit_abort("Assert failed", NULL, LOCATE_parser, 10405);
29135 }
29136 /* parser/parser.nit:10407 */
29137 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
29138 if (UNTAG_Bool(REGB0)) {
29139 } else {
29140 nit_abort("Assert failed", NULL, LOCATE_parser, 10407);
29141 }
29142 /* parser/parser.nit:10409 */
29143 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
29144 if (UNTAG_Bool(REGB0)) {
29145 } else {
29146 nit_abort("Assert failed", NULL, LOCATE_parser, 10409);
29147 }
29148 /* parser/parser.nit:10411 */
29149 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29150 if (UNTAG_Bool(REGB0)) {
29151 } else {
29152 nit_abort("Assert failed", NULL, LOCATE_parser, 10411);
29153 }
29154 /* parser/parser.nit:10413 */
29155 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
29156 if (UNTAG_Bool(REGB0)) {
29157 } else {
29158 nit_abort("Assert failed", NULL, LOCATE_parser, 10413);
29159 }
29160 /* parser/parser.nit:10415 */
29161 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29162 if (UNTAG_Bool(REGB0)) {
29163 } else {
29164 nit_abort("Assert failed", NULL, LOCATE_parser, 10415);
29165 }
29166 /* parser/parser.nit:10416 */
29167 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
29168 /* parser/parser.nit:10427 */
29169 fra.me.REG[2] = fra.me.REG[3];
29170 /* parser/parser.nit:10428 */
29171 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29172 if (UNTAG_Bool(REGB0)) {
29173 } else {
29174 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10428);
29175 }
29176 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29177 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29178 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29179 stack_frame_head = fra.me.prev;
29180 return;
29181 }
29182 static const char LOCATE_parser___ReduceAction243___action[] = "parser::ReduceAction243::(parser::ReduceAction::action)";
29183 void parser___ReduceAction243___action(val_t p0, val_t p1){
29184 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
29185 val_t REGB0;
29186 val_t tmp;
29187 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29188 fra.me.file = LOCATE_parser;
29189 fra.me.line = 10433;
29190 fra.me.meth = LOCATE_parser___ReduceAction243___action;
29191 fra.me.has_broke = 0;
29192 fra.me.REG_size = 11;
29193 fra.me.nitni_local_ref_head = NULL;
29194 fra.me.REG[0] = NIT_NULL;
29195 fra.me.REG[1] = NIT_NULL;
29196 fra.me.REG[2] = NIT_NULL;
29197 fra.me.REG[3] = NIT_NULL;
29198 fra.me.REG[4] = NIT_NULL;
29199 fra.me.REG[5] = NIT_NULL;
29200 fra.me.REG[6] = NIT_NULL;
29201 fra.me.REG[7] = NIT_NULL;
29202 fra.me.REG[8] = NIT_NULL;
29203 fra.me.REG[9] = NIT_NULL;
29204 fra.me.REG[10] = NIT_NULL;
29205 fra.me.REG[0] = p0;
29206 fra.me.REG[1] = p1;
29207 /* parser/parser.nit:10435 */
29208 fra.me.REG[2] = NIT_NULL;
29209 /* parser/parser.nit:10436 */
29210 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29211 /* parser/parser.nit:10437 */
29212 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29213 /* parser/parser.nit:10438 */
29214 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29215 /* parser/parser.nit:10439 */
29216 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29217 /* parser/parser.nit:10440 */
29218 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29219 /* parser/parser.nit:10441 */
29220 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29221 /* parser/parser.nit:10442 */
29222 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29223 /* parser/parser.nit:10443 */
29224 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29225 /* parser/parser.nit:10445 */
29226 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*/;
29227 if (UNTAG_Bool(REGB0)) {
29228 } else {
29229 nit_abort("Assert failed", NULL, LOCATE_parser, 10445);
29230 }
29231 /* parser/parser.nit:10447 */
29232 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*/;
29233 if (UNTAG_Bool(REGB0)) {
29234 } else {
29235 nit_abort("Assert failed", NULL, LOCATE_parser, 10447);
29236 }
29237 /* parser/parser.nit:10449 */
29238 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*/;
29239 if (UNTAG_Bool(REGB0)) {
29240 } else {
29241 nit_abort("Assert failed", NULL, LOCATE_parser, 10449);
29242 }
29243 /* parser/parser.nit:10451 */
29244 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
29245 if (UNTAG_Bool(REGB0)) {
29246 } else {
29247 nit_abort("Assert failed", NULL, LOCATE_parser, 10451);
29248 }
29249 /* parser/parser.nit:10453 */
29250 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
29251 if (UNTAG_Bool(REGB0)) {
29252 } else {
29253 nit_abort("Assert failed", NULL, LOCATE_parser, 10453);
29254 }
29255 /* parser/parser.nit:10455 */
29256 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29257 if (UNTAG_Bool(REGB0)) {
29258 } else {
29259 nit_abort("Assert failed", NULL, LOCATE_parser, 10455);
29260 }
29261 /* parser/parser.nit:10457 */
29262 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
29263 if (UNTAG_Bool(REGB0)) {
29264 } else {
29265 nit_abort("Assert failed", NULL, LOCATE_parser, 10457);
29266 }
29267 /* parser/parser.nit:10459 */
29268 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29269 if (UNTAG_Bool(REGB0)) {
29270 } else {
29271 nit_abort("Assert failed", NULL, LOCATE_parser, 10459);
29272 }
29273 /* parser/parser.nit:10460 */
29274 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
29275 /* parser/parser.nit:10471 */
29276 fra.me.REG[2] = fra.me.REG[3];
29277 /* parser/parser.nit:10472 */
29278 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29279 if (UNTAG_Bool(REGB0)) {
29280 } else {
29281 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10472);
29282 }
29283 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29284 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29285 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29286 stack_frame_head = fra.me.prev;
29287 return;
29288 }
29289 static const char LOCATE_parser___ReduceAction244___action[] = "parser::ReduceAction244::(parser::ReduceAction::action)";
29290 void parser___ReduceAction244___action(val_t p0, val_t p1){
29291 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
29292 val_t REGB0;
29293 val_t tmp;
29294 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29295 fra.me.file = LOCATE_parser;
29296 fra.me.line = 10477;
29297 fra.me.meth = LOCATE_parser___ReduceAction244___action;
29298 fra.me.has_broke = 0;
29299 fra.me.REG_size = 9;
29300 fra.me.nitni_local_ref_head = NULL;
29301 fra.me.REG[0] = NIT_NULL;
29302 fra.me.REG[1] = NIT_NULL;
29303 fra.me.REG[2] = NIT_NULL;
29304 fra.me.REG[3] = NIT_NULL;
29305 fra.me.REG[4] = NIT_NULL;
29306 fra.me.REG[5] = NIT_NULL;
29307 fra.me.REG[6] = NIT_NULL;
29308 fra.me.REG[7] = NIT_NULL;
29309 fra.me.REG[8] = NIT_NULL;
29310 fra.me.REG[0] = p0;
29311 fra.me.REG[1] = p1;
29312 /* parser/parser.nit:10479 */
29313 fra.me.REG[2] = NIT_NULL;
29314 /* parser/parser.nit:10480 */
29315 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29316 /* parser/parser.nit:10481 */
29317 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29318 /* parser/parser.nit:10482 */
29319 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29320 /* parser/parser.nit:10483 */
29321 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29322 /* parser/parser.nit:10484 */
29323 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29324 /* parser/parser.nit:10485 */
29325 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29326 /* parser/parser.nit:10487 */
29327 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*/;
29328 if (UNTAG_Bool(REGB0)) {
29329 } else {
29330 nit_abort("Assert failed", NULL, LOCATE_parser, 10487);
29331 }
29332 /* parser/parser.nit:10489 */
29333 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*/;
29334 if (UNTAG_Bool(REGB0)) {
29335 } else {
29336 nit_abort("Assert failed", NULL, LOCATE_parser, 10489);
29337 }
29338 /* parser/parser.nit:10491 */
29339 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*/;
29340 if (UNTAG_Bool(REGB0)) {
29341 } else {
29342 nit_abort("Assert failed", NULL, LOCATE_parser, 10491);
29343 }
29344 /* parser/parser.nit:10493 */
29345 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29346 if (UNTAG_Bool(REGB0)) {
29347 } else {
29348 nit_abort("Assert failed", NULL, LOCATE_parser, 10493);
29349 }
29350 /* parser/parser.nit:10495 */
29351 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
29352 if (UNTAG_Bool(REGB0)) {
29353 } else {
29354 nit_abort("Assert failed", NULL, LOCATE_parser, 10495);
29355 }
29356 /* parser/parser.nit:10497 */
29357 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29358 if (UNTAG_Bool(REGB0)) {
29359 } else {
29360 nit_abort("Assert failed", NULL, LOCATE_parser, 10497);
29361 }
29362 /* parser/parser.nit:10498 */
29363 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[8], NIT_NULL, fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
29364 /* parser/parser.nit:10509 */
29365 fra.me.REG[2] = fra.me.REG[3];
29366 /* parser/parser.nit:10510 */
29367 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29368 if (UNTAG_Bool(REGB0)) {
29369 } else {
29370 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10510);
29371 }
29372 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29373 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29374 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29375 stack_frame_head = fra.me.prev;
29376 return;
29377 }
29378 static const char LOCATE_parser___ReduceAction245___action[] = "parser::ReduceAction245::(parser::ReduceAction::action)";
29379 void parser___ReduceAction245___action(val_t p0, val_t p1){
29380 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29381 val_t REGB0;
29382 val_t tmp;
29383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29384 fra.me.file = LOCATE_parser;
29385 fra.me.line = 10515;
29386 fra.me.meth = LOCATE_parser___ReduceAction245___action;
29387 fra.me.has_broke = 0;
29388 fra.me.REG_size = 10;
29389 fra.me.nitni_local_ref_head = NULL;
29390 fra.me.REG[0] = NIT_NULL;
29391 fra.me.REG[1] = NIT_NULL;
29392 fra.me.REG[2] = NIT_NULL;
29393 fra.me.REG[3] = NIT_NULL;
29394 fra.me.REG[4] = NIT_NULL;
29395 fra.me.REG[5] = NIT_NULL;
29396 fra.me.REG[6] = NIT_NULL;
29397 fra.me.REG[7] = NIT_NULL;
29398 fra.me.REG[8] = NIT_NULL;
29399 fra.me.REG[9] = NIT_NULL;
29400 fra.me.REG[0] = p0;
29401 fra.me.REG[1] = p1;
29402 /* parser/parser.nit:10517 */
29403 fra.me.REG[2] = NIT_NULL;
29404 /* parser/parser.nit:10518 */
29405 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29406 /* parser/parser.nit:10519 */
29407 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29408 /* parser/parser.nit:10520 */
29409 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29410 /* parser/parser.nit:10521 */
29411 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29412 /* parser/parser.nit:10522 */
29413 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29414 /* parser/parser.nit:10523 */
29415 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29416 /* parser/parser.nit:10524 */
29417 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29418 /* parser/parser.nit:10526 */
29419 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*/;
29420 if (UNTAG_Bool(REGB0)) {
29421 } else {
29422 nit_abort("Assert failed", NULL, LOCATE_parser, 10526);
29423 }
29424 /* parser/parser.nit:10528 */
29425 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*/;
29426 if (UNTAG_Bool(REGB0)) {
29427 } else {
29428 nit_abort("Assert failed", NULL, LOCATE_parser, 10528);
29429 }
29430 /* parser/parser.nit:10530 */
29431 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*/;
29432 if (UNTAG_Bool(REGB0)) {
29433 } else {
29434 nit_abort("Assert failed", NULL, LOCATE_parser, 10530);
29435 }
29436 /* parser/parser.nit:10532 */
29437 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*/;
29438 if (UNTAG_Bool(REGB0)) {
29439 } else {
29440 nit_abort("Assert failed", NULL, LOCATE_parser, 10532);
29441 }
29442 /* parser/parser.nit:10534 */
29443 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29444 if (UNTAG_Bool(REGB0)) {
29445 } else {
29446 nit_abort("Assert failed", NULL, LOCATE_parser, 10534);
29447 }
29448 /* parser/parser.nit:10536 */
29449 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
29450 if (UNTAG_Bool(REGB0)) {
29451 } else {
29452 nit_abort("Assert failed", NULL, LOCATE_parser, 10536);
29453 }
29454 /* parser/parser.nit:10538 */
29455 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29456 if (UNTAG_Bool(REGB0)) {
29457 } else {
29458 nit_abort("Assert failed", NULL, LOCATE_parser, 10538);
29459 }
29460 /* parser/parser.nit:10539 */
29461 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
29462 /* parser/parser.nit:10550 */
29463 fra.me.REG[2] = fra.me.REG[3];
29464 /* parser/parser.nit:10551 */
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, 10551);
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 static const char LOCATE_parser___ReduceAction246___action[] = "parser::ReduceAction246::(parser::ReduceAction::action)";
29477 void parser___ReduceAction246___action(val_t p0, val_t p1){
29478 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
29479 val_t REGB0;
29480 val_t tmp;
29481 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29482 fra.me.file = LOCATE_parser;
29483 fra.me.line = 10556;
29484 fra.me.meth = LOCATE_parser___ReduceAction246___action;
29485 fra.me.has_broke = 0;
29486 fra.me.REG_size = 10;
29487 fra.me.nitni_local_ref_head = NULL;
29488 fra.me.REG[0] = NIT_NULL;
29489 fra.me.REG[1] = NIT_NULL;
29490 fra.me.REG[2] = NIT_NULL;
29491 fra.me.REG[3] = NIT_NULL;
29492 fra.me.REG[4] = NIT_NULL;
29493 fra.me.REG[5] = NIT_NULL;
29494 fra.me.REG[6] = NIT_NULL;
29495 fra.me.REG[7] = NIT_NULL;
29496 fra.me.REG[8] = NIT_NULL;
29497 fra.me.REG[9] = NIT_NULL;
29498 fra.me.REG[0] = p0;
29499 fra.me.REG[1] = p1;
29500 /* parser/parser.nit:10558 */
29501 fra.me.REG[2] = NIT_NULL;
29502 /* parser/parser.nit:10559 */
29503 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29504 /* parser/parser.nit:10560 */
29505 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29506 /* parser/parser.nit:10561 */
29507 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29508 /* parser/parser.nit:10562 */
29509 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29510 /* parser/parser.nit:10563 */
29511 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29512 /* parser/parser.nit:10564 */
29513 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29514 /* parser/parser.nit:10565 */
29515 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29516 /* parser/parser.nit:10567 */
29517 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*/;
29518 if (UNTAG_Bool(REGB0)) {
29519 } else {
29520 nit_abort("Assert failed", NULL, LOCATE_parser, 10567);
29521 }
29522 /* parser/parser.nit:10569 */
29523 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*/;
29524 if (UNTAG_Bool(REGB0)) {
29525 } else {
29526 nit_abort("Assert failed", NULL, LOCATE_parser, 10569);
29527 }
29528 /* parser/parser.nit:10571 */
29529 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
29530 if (UNTAG_Bool(REGB0)) {
29531 } else {
29532 nit_abort("Assert failed", NULL, LOCATE_parser, 10571);
29533 }
29534 /* parser/parser.nit:10573 */
29535 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
29536 if (UNTAG_Bool(REGB0)) {
29537 } else {
29538 nit_abort("Assert failed", NULL, LOCATE_parser, 10573);
29539 }
29540 /* parser/parser.nit:10575 */
29541 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29542 if (UNTAG_Bool(REGB0)) {
29543 } else {
29544 nit_abort("Assert failed", NULL, LOCATE_parser, 10575);
29545 }
29546 /* parser/parser.nit:10577 */
29547 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
29548 if (UNTAG_Bool(REGB0)) {
29549 } else {
29550 nit_abort("Assert failed", NULL, LOCATE_parser, 10577);
29551 }
29552 /* parser/parser.nit:10579 */
29553 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29554 if (UNTAG_Bool(REGB0)) {
29555 } else {
29556 nit_abort("Assert failed", NULL, LOCATE_parser, 10579);
29557 }
29558 /* parser/parser.nit:10580 */
29559 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
29560 /* parser/parser.nit:10591 */
29561 fra.me.REG[2] = fra.me.REG[3];
29562 /* parser/parser.nit:10592 */
29563 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29564 if (UNTAG_Bool(REGB0)) {
29565 } else {
29566 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10592);
29567 }
29568 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29569 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29570 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29571 stack_frame_head = fra.me.prev;
29572 return;
29573 }
29574 static const char LOCATE_parser___ReduceAction247___action[] = "parser::ReduceAction247::(parser::ReduceAction::action)";
29575 void parser___ReduceAction247___action(val_t p0, val_t p1){
29576 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
29577 val_t REGB0;
29578 val_t tmp;
29579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29580 fra.me.file = LOCATE_parser;
29581 fra.me.line = 10597;
29582 fra.me.meth = LOCATE_parser___ReduceAction247___action;
29583 fra.me.has_broke = 0;
29584 fra.me.REG_size = 11;
29585 fra.me.nitni_local_ref_head = NULL;
29586 fra.me.REG[0] = NIT_NULL;
29587 fra.me.REG[1] = NIT_NULL;
29588 fra.me.REG[2] = NIT_NULL;
29589 fra.me.REG[3] = NIT_NULL;
29590 fra.me.REG[4] = NIT_NULL;
29591 fra.me.REG[5] = NIT_NULL;
29592 fra.me.REG[6] = NIT_NULL;
29593 fra.me.REG[7] = NIT_NULL;
29594 fra.me.REG[8] = NIT_NULL;
29595 fra.me.REG[9] = NIT_NULL;
29596 fra.me.REG[10] = NIT_NULL;
29597 fra.me.REG[0] = p0;
29598 fra.me.REG[1] = p1;
29599 /* parser/parser.nit:10599 */
29600 fra.me.REG[2] = NIT_NULL;
29601 /* parser/parser.nit:10600 */
29602 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29603 /* parser/parser.nit:10601 */
29604 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29605 /* parser/parser.nit:10602 */
29606 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29607 /* parser/parser.nit:10603 */
29608 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29609 /* parser/parser.nit:10604 */
29610 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29611 /* parser/parser.nit:10605 */
29612 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29613 /* parser/parser.nit:10606 */
29614 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29615 /* parser/parser.nit:10607 */
29616 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29617 /* parser/parser.nit:10609 */
29618 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*/;
29619 if (UNTAG_Bool(REGB0)) {
29620 } else {
29621 nit_abort("Assert failed", NULL, LOCATE_parser, 10609);
29622 }
29623 /* parser/parser.nit:10611 */
29624 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*/;
29625 if (UNTAG_Bool(REGB0)) {
29626 } else {
29627 nit_abort("Assert failed", NULL, LOCATE_parser, 10611);
29628 }
29629 /* parser/parser.nit:10613 */
29630 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*/;
29631 if (UNTAG_Bool(REGB0)) {
29632 } else {
29633 nit_abort("Assert failed", NULL, LOCATE_parser, 10613);
29634 }
29635 /* parser/parser.nit:10615 */
29636 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
29637 if (UNTAG_Bool(REGB0)) {
29638 } else {
29639 nit_abort("Assert failed", NULL, LOCATE_parser, 10615);
29640 }
29641 /* parser/parser.nit:10617 */
29642 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
29643 if (UNTAG_Bool(REGB0)) {
29644 } else {
29645 nit_abort("Assert failed", NULL, LOCATE_parser, 10617);
29646 }
29647 /* parser/parser.nit:10619 */
29648 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29649 if (UNTAG_Bool(REGB0)) {
29650 } else {
29651 nit_abort("Assert failed", NULL, LOCATE_parser, 10619);
29652 }
29653 /* parser/parser.nit:10621 */
29654 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
29655 if (UNTAG_Bool(REGB0)) {
29656 } else {
29657 nit_abort("Assert failed", NULL, LOCATE_parser, 10621);
29658 }
29659 /* parser/parser.nit:10623 */
29660 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29661 if (UNTAG_Bool(REGB0)) {
29662 } else {
29663 nit_abort("Assert failed", NULL, LOCATE_parser, 10623);
29664 }
29665 /* parser/parser.nit:10624 */
29666 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
29667 /* parser/parser.nit:10635 */
29668 fra.me.REG[2] = fra.me.REG[3];
29669 /* parser/parser.nit:10636 */
29670 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29671 if (UNTAG_Bool(REGB0)) {
29672 } else {
29673 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10636);
29674 }
29675 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29676 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29677 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29678 stack_frame_head = fra.me.prev;
29679 return;
29680 }
29681 static const char LOCATE_parser___ReduceAction248___action[] = "parser::ReduceAction248::(parser::ReduceAction::action)";
29682 void parser___ReduceAction248___action(val_t p0, val_t p1){
29683 struct {struct stack_frame_t me; val_t MORE_REG[9];} 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 = 10641;
29689 fra.me.meth = LOCATE_parser___ReduceAction248___action;
29690 fra.me.has_broke = 0;
29691 fra.me.REG_size = 10;
29692 fra.me.nitni_local_ref_head = NULL;
29693 fra.me.REG[0] = NIT_NULL;
29694 fra.me.REG[1] = NIT_NULL;
29695 fra.me.REG[2] = NIT_NULL;
29696 fra.me.REG[3] = NIT_NULL;
29697 fra.me.REG[4] = NIT_NULL;
29698 fra.me.REG[5] = NIT_NULL;
29699 fra.me.REG[6] = NIT_NULL;
29700 fra.me.REG[7] = NIT_NULL;
29701 fra.me.REG[8] = NIT_NULL;
29702 fra.me.REG[9] = NIT_NULL;
29703 fra.me.REG[0] = p0;
29704 fra.me.REG[1] = p1;
29705 /* parser/parser.nit:10643 */
29706 fra.me.REG[2] = NIT_NULL;
29707 /* parser/parser.nit:10644 */
29708 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29709 /* parser/parser.nit:10645 */
29710 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29711 /* parser/parser.nit:10646 */
29712 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29713 /* parser/parser.nit:10647 */
29714 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29715 /* parser/parser.nit:10648 */
29716 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29717 /* parser/parser.nit:10649 */
29718 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29719 /* parser/parser.nit:10650 */
29720 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29721 /* parser/parser.nit:10652 */
29722 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*/;
29723 if (UNTAG_Bool(REGB0)) {
29724 } else {
29725 nit_abort("Assert failed", NULL, LOCATE_parser, 10652);
29726 }
29727 /* parser/parser.nit:10654 */
29728 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*/;
29729 if (UNTAG_Bool(REGB0)) {
29730 } else {
29731 nit_abort("Assert failed", NULL, LOCATE_parser, 10654);
29732 }
29733 /* parser/parser.nit:10656 */
29734 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
29735 if (UNTAG_Bool(REGB0)) {
29736 } else {
29737 nit_abort("Assert failed", NULL, LOCATE_parser, 10656);
29738 }
29739 /* parser/parser.nit:10658 */
29740 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29741 if (UNTAG_Bool(REGB0)) {
29742 } else {
29743 nit_abort("Assert failed", NULL, LOCATE_parser, 10658);
29744 }
29745 /* parser/parser.nit:10660 */
29746 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
29747 if (UNTAG_Bool(REGB0)) {
29748 } else {
29749 nit_abort("Assert failed", NULL, LOCATE_parser, 10660);
29750 }
29751 /* parser/parser.nit:10662 */
29752 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
29753 if (UNTAG_Bool(REGB0)) {
29754 } else {
29755 nit_abort("Assert failed", NULL, LOCATE_parser, 10662);
29756 }
29757 /* parser/parser.nit:10664 */
29758 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29759 if (UNTAG_Bool(REGB0)) {
29760 } else {
29761 nit_abort("Assert failed", NULL, LOCATE_parser, 10664);
29762 }
29763 /* parser/parser.nit:10665 */
29764 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[9], NIT_NULL, fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
29765 /* parser/parser.nit:10676 */
29766 fra.me.REG[2] = fra.me.REG[3];
29767 /* parser/parser.nit:10677 */
29768 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29769 if (UNTAG_Bool(REGB0)) {
29770 } else {
29771 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10677);
29772 }
29773 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29774 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29775 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29776 stack_frame_head = fra.me.prev;
29777 return;
29778 }
29779 static const char LOCATE_parser___ReduceAction249___action[] = "parser::ReduceAction249::(parser::ReduceAction::action)";
29780 void parser___ReduceAction249___action(val_t p0, val_t p1){
29781 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
29782 val_t REGB0;
29783 val_t tmp;
29784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29785 fra.me.file = LOCATE_parser;
29786 fra.me.line = 10682;
29787 fra.me.meth = LOCATE_parser___ReduceAction249___action;
29788 fra.me.has_broke = 0;
29789 fra.me.REG_size = 11;
29790 fra.me.nitni_local_ref_head = NULL;
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[4] = NIT_NULL;
29796 fra.me.REG[5] = NIT_NULL;
29797 fra.me.REG[6] = NIT_NULL;
29798 fra.me.REG[7] = NIT_NULL;
29799 fra.me.REG[8] = NIT_NULL;
29800 fra.me.REG[9] = NIT_NULL;
29801 fra.me.REG[10] = NIT_NULL;
29802 fra.me.REG[0] = p0;
29803 fra.me.REG[1] = p1;
29804 /* parser/parser.nit:10684 */
29805 fra.me.REG[2] = NIT_NULL;
29806 /* parser/parser.nit:10685 */
29807 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29808 /* parser/parser.nit:10686 */
29809 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29810 /* parser/parser.nit:10687 */
29811 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29812 /* parser/parser.nit:10688 */
29813 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29814 /* parser/parser.nit:10689 */
29815 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29816 /* parser/parser.nit:10690 */
29817 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29818 /* parser/parser.nit:10691 */
29819 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29820 /* parser/parser.nit:10692 */
29821 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29822 /* parser/parser.nit:10694 */
29823 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*/;
29824 if (UNTAG_Bool(REGB0)) {
29825 } else {
29826 nit_abort("Assert failed", NULL, LOCATE_parser, 10694);
29827 }
29828 /* parser/parser.nit:10696 */
29829 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*/;
29830 if (UNTAG_Bool(REGB0)) {
29831 } else {
29832 nit_abort("Assert failed", NULL, LOCATE_parser, 10696);
29833 }
29834 /* parser/parser.nit:10698 */
29835 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*/;
29836 if (UNTAG_Bool(REGB0)) {
29837 } else {
29838 nit_abort("Assert failed", NULL, LOCATE_parser, 10698);
29839 }
29840 /* parser/parser.nit:10700 */
29841 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
29842 if (UNTAG_Bool(REGB0)) {
29843 } else {
29844 nit_abort("Assert failed", NULL, LOCATE_parser, 10700);
29845 }
29846 /* parser/parser.nit:10702 */
29847 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29848 if (UNTAG_Bool(REGB0)) {
29849 } else {
29850 nit_abort("Assert failed", NULL, LOCATE_parser, 10702);
29851 }
29852 /* parser/parser.nit:10704 */
29853 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
29854 if (UNTAG_Bool(REGB0)) {
29855 } else {
29856 nit_abort("Assert failed", NULL, LOCATE_parser, 10704);
29857 }
29858 /* parser/parser.nit:10706 */
29859 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
29860 if (UNTAG_Bool(REGB0)) {
29861 } else {
29862 nit_abort("Assert failed", NULL, LOCATE_parser, 10706);
29863 }
29864 /* parser/parser.nit:10708 */
29865 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29866 if (UNTAG_Bool(REGB0)) {
29867 } else {
29868 nit_abort("Assert failed", NULL, LOCATE_parser, 10708);
29869 }
29870 /* parser/parser.nit:10709 */
29871 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(fra.me.REG[10], fra.me.REG[9], fra.me.REG[8], fra.me.REG[7], NIT_NULL, fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
29872 /* parser/parser.nit:10720 */
29873 fra.me.REG[2] = fra.me.REG[3];
29874 /* parser/parser.nit:10721 */
29875 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29876 if (UNTAG_Bool(REGB0)) {
29877 } else {
29878 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10721);
29879 }
29880 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29881 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29882 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29883 stack_frame_head = fra.me.prev;
29884 return;
29885 }
29886 static const char LOCATE_parser___ReduceAction250___action[] = "parser::ReduceAction250::(parser::ReduceAction::action)";
29887 void parser___ReduceAction250___action(val_t p0, val_t p1){
29888 struct {struct stack_frame_t me; val_t MORE_REG[10];} fra;
29889 val_t REGB0;
29890 val_t tmp;
29891 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29892 fra.me.file = LOCATE_parser;
29893 fra.me.line = 10726;
29894 fra.me.meth = LOCATE_parser___ReduceAction250___action;
29895 fra.me.has_broke = 0;
29896 fra.me.REG_size = 11;
29897 fra.me.nitni_local_ref_head = NULL;
29898 fra.me.REG[0] = NIT_NULL;
29899 fra.me.REG[1] = NIT_NULL;
29900 fra.me.REG[2] = NIT_NULL;
29901 fra.me.REG[3] = NIT_NULL;
29902 fra.me.REG[4] = NIT_NULL;
29903 fra.me.REG[5] = NIT_NULL;
29904 fra.me.REG[6] = NIT_NULL;
29905 fra.me.REG[7] = NIT_NULL;
29906 fra.me.REG[8] = NIT_NULL;
29907 fra.me.REG[9] = NIT_NULL;
29908 fra.me.REG[10] = NIT_NULL;
29909 fra.me.REG[0] = p0;
29910 fra.me.REG[1] = p1;
29911 /* parser/parser.nit:10728 */
29912 fra.me.REG[2] = NIT_NULL;
29913 /* parser/parser.nit:10729 */
29914 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29915 /* parser/parser.nit:10730 */
29916 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29917 /* parser/parser.nit:10731 */
29918 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29919 /* parser/parser.nit:10732 */
29920 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29921 /* parser/parser.nit:10733 */
29922 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29923 /* parser/parser.nit:10734 */
29924 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29925 /* parser/parser.nit:10735 */
29926 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29927 /* parser/parser.nit:10736 */
29928 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
29929 /* parser/parser.nit:10738 */
29930 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*/;
29931 if (UNTAG_Bool(REGB0)) {
29932 } else {
29933 nit_abort("Assert failed", NULL, LOCATE_parser, 10738);
29934 }
29935 /* parser/parser.nit:10740 */
29936 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
29937 if (UNTAG_Bool(REGB0)) {
29938 } else {
29939 nit_abort("Assert failed", NULL, LOCATE_parser, 10740);
29940 }
29941 /* parser/parser.nit:10742 */
29942 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
29943 if (UNTAG_Bool(REGB0)) {
29944 } else {
29945 nit_abort("Assert failed", NULL, LOCATE_parser, 10742);
29946 }
29947 /* parser/parser.nit:10744 */
29948 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
29949 if (UNTAG_Bool(REGB0)) {
29950 } else {
29951 nit_abort("Assert failed", NULL, LOCATE_parser, 10744);
29952 }
29953 /* parser/parser.nit:10746 */
29954 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
29955 if (UNTAG_Bool(REGB0)) {
29956 } else {
29957 nit_abort("Assert failed", NULL, LOCATE_parser, 10746);
29958 }
29959 /* parser/parser.nit:10748 */
29960 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
29961 if (UNTAG_Bool(REGB0)) {
29962 } else {
29963 nit_abort("Assert failed", NULL, LOCATE_parser, 10748);
29964 }
29965 /* parser/parser.nit:10750 */
29966 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
29967 if (UNTAG_Bool(REGB0)) {
29968 } else {
29969 nit_abort("Assert failed", NULL, LOCATE_parser, 10750);
29970 }
29971 /* parser/parser.nit:10752 */
29972 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
29973 if (UNTAG_Bool(REGB0)) {
29974 } else {
29975 nit_abort("Assert failed", NULL, LOCATE_parser, 10752);
29976 }
29977 /* parser/parser.nit:10753 */
29978 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], fra.me.REG[4], fra.me.REG[3]);
29979 /* parser/parser.nit:10764 */
29980 fra.me.REG[2] = fra.me.REG[3];
29981 /* parser/parser.nit:10765 */
29982 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
29983 if (UNTAG_Bool(REGB0)) {
29984 } else {
29985 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10765);
29986 }
29987 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
29988 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
29989 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
29990 stack_frame_head = fra.me.prev;
29991 return;
29992 }
29993 static const char LOCATE_parser___ReduceAction251___action[] = "parser::ReduceAction251::(parser::ReduceAction::action)";
29994 void parser___ReduceAction251___action(val_t p0, val_t p1){
29995 struct {struct stack_frame_t me; val_t MORE_REG[11];} fra;
29996 val_t REGB0;
29997 val_t tmp;
29998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29999 fra.me.file = LOCATE_parser;
30000 fra.me.line = 10770;
30001 fra.me.meth = LOCATE_parser___ReduceAction251___action;
30002 fra.me.has_broke = 0;
30003 fra.me.REG_size = 12;
30004 fra.me.nitni_local_ref_head = NULL;
30005 fra.me.REG[0] = NIT_NULL;
30006 fra.me.REG[1] = NIT_NULL;
30007 fra.me.REG[2] = NIT_NULL;
30008 fra.me.REG[3] = NIT_NULL;
30009 fra.me.REG[4] = NIT_NULL;
30010 fra.me.REG[5] = NIT_NULL;
30011 fra.me.REG[6] = NIT_NULL;
30012 fra.me.REG[7] = NIT_NULL;
30013 fra.me.REG[8] = NIT_NULL;
30014 fra.me.REG[9] = NIT_NULL;
30015 fra.me.REG[10] = NIT_NULL;
30016 fra.me.REG[11] = NIT_NULL;
30017 fra.me.REG[0] = p0;
30018 fra.me.REG[1] = p1;
30019 /* parser/parser.nit:10772 */
30020 fra.me.REG[2] = NIT_NULL;
30021 /* parser/parser.nit:10773 */
30022 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30023 /* parser/parser.nit:10774 */
30024 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30025 /* parser/parser.nit:10775 */
30026 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30027 /* parser/parser.nit:10776 */
30028 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30029 /* parser/parser.nit:10777 */
30030 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30031 /* parser/parser.nit:10778 */
30032 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30033 /* parser/parser.nit:10779 */
30034 fra.me.REG[9] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30035 /* parser/parser.nit:10780 */
30036 fra.me.REG[10] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30037 /* parser/parser.nit:10781 */
30038 fra.me.REG[11] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30039 /* parser/parser.nit:10783 */
30040 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*/;
30041 if (UNTAG_Bool(REGB0)) {
30042 } else {
30043 nit_abort("Assert failed", NULL, LOCATE_parser, 10783);
30044 }
30045 /* parser/parser.nit:10785 */
30046 REGB0 = TAG_Bool((fra.me.REG[10]==NIT_NULL) || VAL_ISA(fra.me.REG[10], COLOR_parser___parser_nodes___TKwredef, ID_parser___parser_nodes___TKwredef)) /*cast nullable TKwredef*/;
30047 if (UNTAG_Bool(REGB0)) {
30048 } else {
30049 nit_abort("Assert failed", NULL, LOCATE_parser, 10785);
30050 }
30051 /* parser/parser.nit:10787 */
30052 REGB0 = TAG_Bool((fra.me.REG[9]==NIT_NULL) || VAL_ISA(fra.me.REG[9], COLOR_parser___parser_nodes___AVisibility, ID_parser___parser_nodes___AVisibility)) /*cast nullable AVisibility*/;
30053 if (UNTAG_Bool(REGB0)) {
30054 } else {
30055 nit_abort("Assert failed", NULL, LOCATE_parser, 10787);
30056 }
30057 /* parser/parser.nit:10789 */
30058 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___TKwnew, ID_parser___parser_nodes___TKwnew)) /*cast nullable TKwnew*/;
30059 if (UNTAG_Bool(REGB0)) {
30060 } else {
30061 nit_abort("Assert failed", NULL, LOCATE_parser, 10789);
30062 }
30063 /* parser/parser.nit:10791 */
30064 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
30065 if (UNTAG_Bool(REGB0)) {
30066 } else {
30067 nit_abort("Assert failed", NULL, LOCATE_parser, 10791);
30068 }
30069 /* parser/parser.nit:10793 */
30070 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___ASignature, ID_parser___parser_nodes___ASignature)) /*cast nullable ASignature*/;
30071 if (UNTAG_Bool(REGB0)) {
30072 } else {
30073 nit_abort("Assert failed", NULL, LOCATE_parser, 10793);
30074 }
30075 /* parser/parser.nit:10795 */
30076 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TString, ID_parser___parser_nodes___TString)) /*cast nullable TString*/;
30077 if (UNTAG_Bool(REGB0)) {
30078 } else {
30079 nit_abort("Assert failed", NULL, LOCATE_parser, 10795);
30080 }
30081 /* parser/parser.nit:10797 */
30082 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCalls, ID_parser___parser_nodes___AExternCalls)) /*cast nullable AExternCalls*/;
30083 if (UNTAG_Bool(REGB0)) {
30084 } else {
30085 nit_abort("Assert failed", NULL, LOCATE_parser, 10797);
30086 }
30087 /* parser/parser.nit:10799 */
30088 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCodeBlock, ID_parser___parser_nodes___AExternCodeBlock)) /*cast nullable AExternCodeBlock*/;
30089 if (UNTAG_Bool(REGB0)) {
30090 } else {
30091 nit_abort("Assert failed", NULL, LOCATE_parser, 10799);
30092 }
30093 /* parser/parser.nit:10800 */
30094 fra.me.REG[3] = NEW_AExternInitPropdef_parser___parser_prod___AExternInitPropdef___init_aexterninitpropdef(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], fra.me.REG[4], fra.me.REG[3]);
30095 /* parser/parser.nit:10811 */
30096 fra.me.REG[2] = fra.me.REG[3];
30097 /* parser/parser.nit:10812 */
30098 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30099 if (UNTAG_Bool(REGB0)) {
30100 } else {
30101 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10812);
30102 }
30103 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30104 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30105 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30106 stack_frame_head = fra.me.prev;
30107 return;
30108 }
30109 static const char LOCATE_parser___ReduceAction252___action[] = "parser::ReduceAction252::(parser::ReduceAction::action)";
30110 void parser___ReduceAction252___action(val_t p0, val_t p1){
30111 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30112 val_t REGB0;
30113 val_t tmp;
30114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30115 fra.me.file = LOCATE_parser;
30116 fra.me.line = 10817;
30117 fra.me.meth = LOCATE_parser___ReduceAction252___action;
30118 fra.me.has_broke = 0;
30119 fra.me.REG_size = 4;
30120 fra.me.nitni_local_ref_head = NULL;
30121 fra.me.REG[0] = NIT_NULL;
30122 fra.me.REG[1] = NIT_NULL;
30123 fra.me.REG[2] = NIT_NULL;
30124 fra.me.REG[3] = NIT_NULL;
30125 fra.me.REG[0] = p0;
30126 fra.me.REG[1] = p1;
30127 /* parser/parser.nit:10819 */
30128 fra.me.REG[2] = NIT_NULL;
30129 /* parser/parser.nit:10820 */
30130 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30131 /* parser/parser.nit:10822 */
30132 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*/;
30133 if (UNTAG_Bool(REGB0)) {
30134 } else {
30135 nit_abort("Assert failed", NULL, LOCATE_parser, 10822);
30136 }
30137 /* parser/parser.nit:10823 */
30138 fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(NIT_NULL, fra.me.REG[3]);
30139 /* parser/parser.nit:10827 */
30140 fra.me.REG[2] = fra.me.REG[3];
30141 /* parser/parser.nit:10828 */
30142 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30143 if (UNTAG_Bool(REGB0)) {
30144 } else {
30145 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10828);
30146 }
30147 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30148 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30149 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30150 stack_frame_head = fra.me.prev;
30151 return;
30152 }
30153 static const char LOCATE_parser___ReduceAction253___action[] = "parser::ReduceAction253::(parser::ReduceAction::action)";
30154 void parser___ReduceAction253___action(val_t p0, val_t p1){
30155 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30156 val_t REGB0;
30157 val_t tmp;
30158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30159 fra.me.file = LOCATE_parser;
30160 fra.me.line = 10833;
30161 fra.me.meth = LOCATE_parser___ReduceAction253___action;
30162 fra.me.has_broke = 0;
30163 fra.me.REG_size = 5;
30164 fra.me.nitni_local_ref_head = NULL;
30165 fra.me.REG[0] = NIT_NULL;
30166 fra.me.REG[1] = NIT_NULL;
30167 fra.me.REG[2] = NIT_NULL;
30168 fra.me.REG[3] = NIT_NULL;
30169 fra.me.REG[4] = NIT_NULL;
30170 fra.me.REG[0] = p0;
30171 fra.me.REG[1] = p1;
30172 /* parser/parser.nit:10835 */
30173 fra.me.REG[2] = NIT_NULL;
30174 /* parser/parser.nit:10836 */
30175 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30176 /* parser/parser.nit:10837 */
30177 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30178 /* parser/parser.nit:10839 */
30179 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*/;
30180 if (UNTAG_Bool(REGB0)) {
30181 } else {
30182 nit_abort("Assert failed", NULL, LOCATE_parser, 10839);
30183 }
30184 /* parser/parser.nit:10841 */
30185 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*/;
30186 if (UNTAG_Bool(REGB0)) {
30187 } else {
30188 nit_abort("Assert failed", NULL, LOCATE_parser, 10841);
30189 }
30190 /* parser/parser.nit:10842 */
30191 fra.me.REG[3] = NEW_AReadAble_parser___parser_prod___AReadAble___init_areadable(fra.me.REG[4], fra.me.REG[3]);
30192 /* parser/parser.nit:10846 */
30193 fra.me.REG[2] = fra.me.REG[3];
30194 /* parser/parser.nit:10847 */
30195 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30196 if (UNTAG_Bool(REGB0)) {
30197 } else {
30198 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10847);
30199 }
30200 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30201 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30202 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30203 stack_frame_head = fra.me.prev;
30204 return;
30205 }
30206 static const char LOCATE_parser___ReduceAction254___action[] = "parser::ReduceAction254::(parser::ReduceAction::action)";
30207 void parser___ReduceAction254___action(val_t p0, val_t p1){
30208 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30209 val_t REGB0;
30210 val_t tmp;
30211 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30212 fra.me.file = LOCATE_parser;
30213 fra.me.line = 10852;
30214 fra.me.meth = LOCATE_parser___ReduceAction254___action;
30215 fra.me.has_broke = 0;
30216 fra.me.REG_size = 4;
30217 fra.me.nitni_local_ref_head = NULL;
30218 fra.me.REG[0] = NIT_NULL;
30219 fra.me.REG[1] = NIT_NULL;
30220 fra.me.REG[2] = NIT_NULL;
30221 fra.me.REG[3] = NIT_NULL;
30222 fra.me.REG[0] = p0;
30223 fra.me.REG[1] = p1;
30224 /* parser/parser.nit:10854 */
30225 fra.me.REG[2] = NIT_NULL;
30226 /* parser/parser.nit:10855 */
30227 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30228 /* parser/parser.nit:10857 */
30229 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*/;
30230 if (UNTAG_Bool(REGB0)) {
30231 } else {
30232 nit_abort("Assert failed", NULL, LOCATE_parser, 10857);
30233 }
30234 /* parser/parser.nit:10858 */
30235 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, NIT_NULL, fra.me.REG[3]);
30236 /* parser/parser.nit:10863 */
30237 fra.me.REG[2] = fra.me.REG[3];
30238 /* parser/parser.nit:10864 */
30239 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30240 if (UNTAG_Bool(REGB0)) {
30241 } else {
30242 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10864);
30243 }
30244 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30245 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30246 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30247 stack_frame_head = fra.me.prev;
30248 return;
30249 }
30250 static const char LOCATE_parser___ReduceAction255___action[] = "parser::ReduceAction255::(parser::ReduceAction::action)";
30251 void parser___ReduceAction255___action(val_t p0, val_t p1){
30252 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30253 val_t REGB0;
30254 val_t tmp;
30255 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30256 fra.me.file = LOCATE_parser;
30257 fra.me.line = 10869;
30258 fra.me.meth = LOCATE_parser___ReduceAction255___action;
30259 fra.me.has_broke = 0;
30260 fra.me.REG_size = 5;
30261 fra.me.nitni_local_ref_head = NULL;
30262 fra.me.REG[0] = NIT_NULL;
30263 fra.me.REG[1] = NIT_NULL;
30264 fra.me.REG[2] = NIT_NULL;
30265 fra.me.REG[3] = NIT_NULL;
30266 fra.me.REG[4] = NIT_NULL;
30267 fra.me.REG[0] = p0;
30268 fra.me.REG[1] = p1;
30269 /* parser/parser.nit:10871 */
30270 fra.me.REG[2] = NIT_NULL;
30271 /* parser/parser.nit:10872 */
30272 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30273 /* parser/parser.nit:10873 */
30274 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30275 /* parser/parser.nit:10875 */
30276 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*/;
30277 if (UNTAG_Bool(REGB0)) {
30278 } else {
30279 nit_abort("Assert failed", NULL, LOCATE_parser, 10875);
30280 }
30281 /* parser/parser.nit:10877 */
30282 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*/;
30283 if (UNTAG_Bool(REGB0)) {
30284 } else {
30285 nit_abort("Assert failed", NULL, LOCATE_parser, 10877);
30286 }
30287 /* parser/parser.nit:10878 */
30288 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
30289 /* parser/parser.nit:10883 */
30290 fra.me.REG[2] = fra.me.REG[3];
30291 /* parser/parser.nit:10884 */
30292 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30293 if (UNTAG_Bool(REGB0)) {
30294 } else {
30295 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10884);
30296 }
30297 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30298 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30299 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30300 stack_frame_head = fra.me.prev;
30301 return;
30302 }
30303 static const char LOCATE_parser___ReduceAction256___action[] = "parser::ReduceAction256::(parser::ReduceAction::action)";
30304 void parser___ReduceAction256___action(val_t p0, val_t p1){
30305 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
30306 val_t REGB0;
30307 val_t tmp;
30308 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30309 fra.me.file = LOCATE_parser;
30310 fra.me.line = 10889;
30311 fra.me.meth = LOCATE_parser___ReduceAction256___action;
30312 fra.me.has_broke = 0;
30313 fra.me.REG_size = 5;
30314 fra.me.nitni_local_ref_head = NULL;
30315 fra.me.REG[0] = NIT_NULL;
30316 fra.me.REG[1] = NIT_NULL;
30317 fra.me.REG[2] = NIT_NULL;
30318 fra.me.REG[3] = NIT_NULL;
30319 fra.me.REG[4] = NIT_NULL;
30320 fra.me.REG[0] = p0;
30321 fra.me.REG[1] = p1;
30322 /* parser/parser.nit:10891 */
30323 fra.me.REG[2] = NIT_NULL;
30324 /* parser/parser.nit:10892 */
30325 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30326 /* parser/parser.nit:10893 */
30327 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30328 /* parser/parser.nit:10895 */
30329 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*/;
30330 if (UNTAG_Bool(REGB0)) {
30331 } else {
30332 nit_abort("Assert failed", NULL, LOCATE_parser, 10895);
30333 }
30334 /* parser/parser.nit:10897 */
30335 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*/;
30336 if (UNTAG_Bool(REGB0)) {
30337 } else {
30338 nit_abort("Assert failed", NULL, LOCATE_parser, 10897);
30339 }
30340 /* parser/parser.nit:10898 */
30341 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
30342 /* parser/parser.nit:10903 */
30343 fra.me.REG[2] = fra.me.REG[3];
30344 /* parser/parser.nit:10904 */
30345 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30346 if (UNTAG_Bool(REGB0)) {
30347 } else {
30348 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10904);
30349 }
30350 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30351 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30352 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30353 stack_frame_head = fra.me.prev;
30354 return;
30355 }
30356 static const char LOCATE_parser___ReduceAction257___action[] = "parser::ReduceAction257::(parser::ReduceAction::action)";
30357 void parser___ReduceAction257___action(val_t p0, val_t p1){
30358 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
30359 val_t REGB0;
30360 val_t tmp;
30361 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30362 fra.me.file = LOCATE_parser;
30363 fra.me.line = 10909;
30364 fra.me.meth = LOCATE_parser___ReduceAction257___action;
30365 fra.me.has_broke = 0;
30366 fra.me.REG_size = 6;
30367 fra.me.nitni_local_ref_head = NULL;
30368 fra.me.REG[0] = NIT_NULL;
30369 fra.me.REG[1] = NIT_NULL;
30370 fra.me.REG[2] = NIT_NULL;
30371 fra.me.REG[3] = NIT_NULL;
30372 fra.me.REG[4] = NIT_NULL;
30373 fra.me.REG[5] = NIT_NULL;
30374 fra.me.REG[0] = p0;
30375 fra.me.REG[1] = p1;
30376 /* parser/parser.nit:10911 */
30377 fra.me.REG[2] = NIT_NULL;
30378 /* parser/parser.nit:10912 */
30379 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30380 /* parser/parser.nit:10913 */
30381 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30382 /* parser/parser.nit:10914 */
30383 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30384 /* parser/parser.nit:10916 */
30385 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*/;
30386 if (UNTAG_Bool(REGB0)) {
30387 } else {
30388 nit_abort("Assert failed", NULL, LOCATE_parser, 10916);
30389 }
30390 /* parser/parser.nit:10918 */
30391 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*/;
30392 if (UNTAG_Bool(REGB0)) {
30393 } else {
30394 nit_abort("Assert failed", NULL, LOCATE_parser, 10918);
30395 }
30396 /* parser/parser.nit:10920 */
30397 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*/;
30398 if (UNTAG_Bool(REGB0)) {
30399 } else {
30400 nit_abort("Assert failed", NULL, LOCATE_parser, 10920);
30401 }
30402 /* parser/parser.nit:10921 */
30403 fra.me.REG[3] = NEW_AWriteAble_parser___parser_prod___AWriteAble___init_awriteable(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
30404 /* parser/parser.nit:10926 */
30405 fra.me.REG[2] = fra.me.REG[3];
30406 /* parser/parser.nit:10927 */
30407 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30408 if (UNTAG_Bool(REGB0)) {
30409 } else {
30410 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10927);
30411 }
30412 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30413 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30414 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30415 stack_frame_head = fra.me.prev;
30416 return;
30417 }
30418 static const char LOCATE_parser___ReduceAction258___action[] = "parser::ReduceAction258::(parser::ReduceAction::action)";
30419 void parser___ReduceAction258___action(val_t p0, val_t p1){
30420 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30421 val_t REGB0;
30422 val_t tmp;
30423 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30424 fra.me.file = LOCATE_parser;
30425 fra.me.line = 10932;
30426 fra.me.meth = LOCATE_parser___ReduceAction258___action;
30427 fra.me.has_broke = 0;
30428 fra.me.REG_size = 4;
30429 fra.me.nitni_local_ref_head = NULL;
30430 fra.me.REG[0] = NIT_NULL;
30431 fra.me.REG[1] = NIT_NULL;
30432 fra.me.REG[2] = NIT_NULL;
30433 fra.me.REG[3] = NIT_NULL;
30434 fra.me.REG[0] = p0;
30435 fra.me.REG[1] = p1;
30436 /* parser/parser.nit:10934 */
30437 fra.me.REG[2] = NIT_NULL;
30438 /* parser/parser.nit:10935 */
30439 fra.me.REG[3] = NEW_APublicVisibility_parser___parser_prod___APublicVisibility___init_apublicvisibility();
30440 /* parser/parser.nit:10936 */
30441 fra.me.REG[2] = fra.me.REG[3];
30442 /* parser/parser.nit:10937 */
30443 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30444 if (UNTAG_Bool(REGB0)) {
30445 } else {
30446 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10937);
30447 }
30448 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30449 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30450 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30451 stack_frame_head = fra.me.prev;
30452 return;
30453 }
30454 static const char LOCATE_parser___ReduceAction259___action[] = "parser::ReduceAction259::(parser::ReduceAction::action)";
30455 void parser___ReduceAction259___action(val_t p0, val_t p1){
30456 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30457 val_t REGB0;
30458 val_t tmp;
30459 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30460 fra.me.file = LOCATE_parser;
30461 fra.me.line = 10942;
30462 fra.me.meth = LOCATE_parser___ReduceAction259___action;
30463 fra.me.has_broke = 0;
30464 fra.me.REG_size = 4;
30465 fra.me.nitni_local_ref_head = NULL;
30466 fra.me.REG[0] = NIT_NULL;
30467 fra.me.REG[1] = NIT_NULL;
30468 fra.me.REG[2] = NIT_NULL;
30469 fra.me.REG[3] = NIT_NULL;
30470 fra.me.REG[0] = p0;
30471 fra.me.REG[1] = p1;
30472 /* parser/parser.nit:10944 */
30473 fra.me.REG[2] = NIT_NULL;
30474 /* parser/parser.nit:10945 */
30475 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30476 /* parser/parser.nit:10946 */
30477 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30478 /* parser/parser.nit:10948 */
30479 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*/;
30480 if (UNTAG_Bool(REGB0)) {
30481 } else {
30482 nit_abort("Assert failed", NULL, LOCATE_parser, 10948);
30483 }
30484 /* parser/parser.nit:10949 */
30485 fra.me.REG[3] = NEW_APrivateVisibility_parser___parser_prod___APrivateVisibility___init_aprivatevisibility(fra.me.REG[3]);
30486 /* parser/parser.nit:10952 */
30487 fra.me.REG[2] = fra.me.REG[3];
30488 /* parser/parser.nit:10953 */
30489 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30490 if (UNTAG_Bool(REGB0)) {
30491 } else {
30492 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10953);
30493 }
30494 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30495 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30496 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30497 stack_frame_head = fra.me.prev;
30498 return;
30499 }
30500 static const char LOCATE_parser___ReduceAction260___action[] = "parser::ReduceAction260::(parser::ReduceAction::action)";
30501 void parser___ReduceAction260___action(val_t p0, val_t p1){
30502 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30503 val_t REGB0;
30504 val_t tmp;
30505 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30506 fra.me.file = LOCATE_parser;
30507 fra.me.line = 10958;
30508 fra.me.meth = LOCATE_parser___ReduceAction260___action;
30509 fra.me.has_broke = 0;
30510 fra.me.REG_size = 4;
30511 fra.me.nitni_local_ref_head = NULL;
30512 fra.me.REG[0] = NIT_NULL;
30513 fra.me.REG[1] = NIT_NULL;
30514 fra.me.REG[2] = NIT_NULL;
30515 fra.me.REG[3] = NIT_NULL;
30516 fra.me.REG[0] = p0;
30517 fra.me.REG[1] = p1;
30518 /* parser/parser.nit:10960 */
30519 fra.me.REG[2] = NIT_NULL;
30520 /* parser/parser.nit:10961 */
30521 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30522 /* parser/parser.nit:10962 */
30523 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30524 /* parser/parser.nit:10964 */
30525 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*/;
30526 if (UNTAG_Bool(REGB0)) {
30527 } else {
30528 nit_abort("Assert failed", NULL, LOCATE_parser, 10964);
30529 }
30530 /* parser/parser.nit:10965 */
30531 fra.me.REG[3] = NEW_AProtectedVisibility_parser___parser_prod___AProtectedVisibility___init_aprotectedvisibility(fra.me.REG[3]);
30532 /* parser/parser.nit:10968 */
30533 fra.me.REG[2] = fra.me.REG[3];
30534 /* parser/parser.nit:10969 */
30535 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30536 if (UNTAG_Bool(REGB0)) {
30537 } else {
30538 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10969);
30539 }
30540 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30541 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30542 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30543 stack_frame_head = fra.me.prev;
30544 return;
30545 }
30546 static const char LOCATE_parser___ReduceAction261___action[] = "parser::ReduceAction261::(parser::ReduceAction::action)";
30547 void parser___ReduceAction261___action(val_t p0, val_t p1){
30548 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30549 val_t REGB0;
30550 val_t tmp;
30551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30552 fra.me.file = LOCATE_parser;
30553 fra.me.line = 10974;
30554 fra.me.meth = LOCATE_parser___ReduceAction261___action;
30555 fra.me.has_broke = 0;
30556 fra.me.REG_size = 4;
30557 fra.me.nitni_local_ref_head = NULL;
30558 fra.me.REG[0] = NIT_NULL;
30559 fra.me.REG[1] = NIT_NULL;
30560 fra.me.REG[2] = NIT_NULL;
30561 fra.me.REG[3] = NIT_NULL;
30562 fra.me.REG[0] = p0;
30563 fra.me.REG[1] = p1;
30564 /* parser/parser.nit:10976 */
30565 fra.me.REG[2] = NIT_NULL;
30566 /* parser/parser.nit:10977 */
30567 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30568 /* parser/parser.nit:10978 */
30569 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30570 /* parser/parser.nit:10980 */
30571 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*/;
30572 if (UNTAG_Bool(REGB0)) {
30573 } else {
30574 nit_abort("Assert failed", NULL, LOCATE_parser, 10980);
30575 }
30576 /* parser/parser.nit:10981 */
30577 fra.me.REG[3] = NEW_AIntrudeVisibility_parser___parser_prod___AIntrudeVisibility___init_aintrudevisibility(fra.me.REG[3]);
30578 /* parser/parser.nit:10984 */
30579 fra.me.REG[2] = fra.me.REG[3];
30580 /* parser/parser.nit:10985 */
30581 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30582 if (UNTAG_Bool(REGB0)) {
30583 } else {
30584 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 10985);
30585 }
30586 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30587 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30588 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30589 stack_frame_head = fra.me.prev;
30590 return;
30591 }
30592 static const char LOCATE_parser___ReduceAction262___action[] = "parser::ReduceAction262::(parser::ReduceAction::action)";
30593 void parser___ReduceAction262___action(val_t p0, val_t p1){
30594 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30595 val_t REGB0;
30596 val_t tmp;
30597 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30598 fra.me.file = LOCATE_parser;
30599 fra.me.line = 10990;
30600 fra.me.meth = LOCATE_parser___ReduceAction262___action;
30601 fra.me.has_broke = 0;
30602 fra.me.REG_size = 4;
30603 fra.me.nitni_local_ref_head = NULL;
30604 fra.me.REG[0] = NIT_NULL;
30605 fra.me.REG[1] = NIT_NULL;
30606 fra.me.REG[2] = NIT_NULL;
30607 fra.me.REG[3] = NIT_NULL;
30608 fra.me.REG[0] = p0;
30609 fra.me.REG[1] = p1;
30610 /* parser/parser.nit:10992 */
30611 fra.me.REG[2] = NIT_NULL;
30612 /* parser/parser.nit:10993 */
30613 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30614 /* parser/parser.nit:10995 */
30615 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*/;
30616 if (UNTAG_Bool(REGB0)) {
30617 } else {
30618 nit_abort("Assert failed", NULL, LOCATE_parser, 10995);
30619 }
30620 /* parser/parser.nit:10996 */
30621 fra.me.REG[3] = NEW_AIdMethid_parser___parser_prod___AIdMethid___init_aidmethid(fra.me.REG[3]);
30622 /* parser/parser.nit:10999 */
30623 fra.me.REG[2] = fra.me.REG[3];
30624 /* parser/parser.nit:11000 */
30625 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30626 if (UNTAG_Bool(REGB0)) {
30627 } else {
30628 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11000);
30629 }
30630 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30631 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30632 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30633 stack_frame_head = fra.me.prev;
30634 return;
30635 }
30636 static const char LOCATE_parser___ReduceAction263___action[] = "parser::ReduceAction263::(parser::ReduceAction::action)";
30637 void parser___ReduceAction263___action(val_t p0, val_t p1){
30638 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30639 val_t REGB0;
30640 val_t tmp;
30641 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30642 fra.me.file = LOCATE_parser;
30643 fra.me.line = 11005;
30644 fra.me.meth = LOCATE_parser___ReduceAction263___action;
30645 fra.me.has_broke = 0;
30646 fra.me.REG_size = 4;
30647 fra.me.nitni_local_ref_head = NULL;
30648 fra.me.REG[0] = NIT_NULL;
30649 fra.me.REG[1] = NIT_NULL;
30650 fra.me.REG[2] = NIT_NULL;
30651 fra.me.REG[3] = NIT_NULL;
30652 fra.me.REG[0] = p0;
30653 fra.me.REG[1] = p1;
30654 /* parser/parser.nit:11007 */
30655 fra.me.REG[2] = NIT_NULL;
30656 /* parser/parser.nit:11008 */
30657 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30658 /* parser/parser.nit:11010 */
30659 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*/;
30660 if (UNTAG_Bool(REGB0)) {
30661 } else {
30662 nit_abort("Assert failed", NULL, LOCATE_parser, 11010);
30663 }
30664 /* parser/parser.nit:11011 */
30665 fra.me.REG[3] = NEW_APlusMethid_parser___parser_prod___APlusMethid___init_aplusmethid(fra.me.REG[3]);
30666 /* parser/parser.nit:11014 */
30667 fra.me.REG[2] = fra.me.REG[3];
30668 /* parser/parser.nit:11015 */
30669 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30670 if (UNTAG_Bool(REGB0)) {
30671 } else {
30672 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11015);
30673 }
30674 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30675 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30676 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30677 stack_frame_head = fra.me.prev;
30678 return;
30679 }
30680 static const char LOCATE_parser___ReduceAction264___action[] = "parser::ReduceAction264::(parser::ReduceAction::action)";
30681 void parser___ReduceAction264___action(val_t p0, val_t p1){
30682 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30683 val_t REGB0;
30684 val_t tmp;
30685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30686 fra.me.file = LOCATE_parser;
30687 fra.me.line = 11020;
30688 fra.me.meth = LOCATE_parser___ReduceAction264___action;
30689 fra.me.has_broke = 0;
30690 fra.me.REG_size = 4;
30691 fra.me.nitni_local_ref_head = NULL;
30692 fra.me.REG[0] = NIT_NULL;
30693 fra.me.REG[1] = NIT_NULL;
30694 fra.me.REG[2] = NIT_NULL;
30695 fra.me.REG[3] = NIT_NULL;
30696 fra.me.REG[0] = p0;
30697 fra.me.REG[1] = p1;
30698 /* parser/parser.nit:11022 */
30699 fra.me.REG[2] = NIT_NULL;
30700 /* parser/parser.nit:11023 */
30701 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30702 /* parser/parser.nit:11025 */
30703 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*/;
30704 if (UNTAG_Bool(REGB0)) {
30705 } else {
30706 nit_abort("Assert failed", NULL, LOCATE_parser, 11025);
30707 }
30708 /* parser/parser.nit:11026 */
30709 fra.me.REG[3] = NEW_AMinusMethid_parser___parser_prod___AMinusMethid___init_aminusmethid(fra.me.REG[3]);
30710 /* parser/parser.nit:11029 */
30711 fra.me.REG[2] = fra.me.REG[3];
30712 /* parser/parser.nit:11030 */
30713 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30714 if (UNTAG_Bool(REGB0)) {
30715 } else {
30716 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11030);
30717 }
30718 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30719 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30720 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30721 stack_frame_head = fra.me.prev;
30722 return;
30723 }
30724 static const char LOCATE_parser___ReduceAction265___action[] = "parser::ReduceAction265::(parser::ReduceAction::action)";
30725 void parser___ReduceAction265___action(val_t p0, val_t p1){
30726 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30727 val_t REGB0;
30728 val_t tmp;
30729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30730 fra.me.file = LOCATE_parser;
30731 fra.me.line = 11035;
30732 fra.me.meth = LOCATE_parser___ReduceAction265___action;
30733 fra.me.has_broke = 0;
30734 fra.me.REG_size = 4;
30735 fra.me.nitni_local_ref_head = NULL;
30736 fra.me.REG[0] = NIT_NULL;
30737 fra.me.REG[1] = NIT_NULL;
30738 fra.me.REG[2] = NIT_NULL;
30739 fra.me.REG[3] = NIT_NULL;
30740 fra.me.REG[0] = p0;
30741 fra.me.REG[1] = p1;
30742 /* parser/parser.nit:11037 */
30743 fra.me.REG[2] = NIT_NULL;
30744 /* parser/parser.nit:11038 */
30745 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30746 /* parser/parser.nit:11040 */
30747 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*/;
30748 if (UNTAG_Bool(REGB0)) {
30749 } else {
30750 nit_abort("Assert failed", NULL, LOCATE_parser, 11040);
30751 }
30752 /* parser/parser.nit:11041 */
30753 fra.me.REG[3] = NEW_AStarMethid_parser___parser_prod___AStarMethid___init_astarmethid(fra.me.REG[3]);
30754 /* parser/parser.nit:11044 */
30755 fra.me.REG[2] = fra.me.REG[3];
30756 /* parser/parser.nit:11045 */
30757 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30758 if (UNTAG_Bool(REGB0)) {
30759 } else {
30760 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11045);
30761 }
30762 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30763 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30764 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30765 stack_frame_head = fra.me.prev;
30766 return;
30767 }
30768 static const char LOCATE_parser___ReduceAction266___action[] = "parser::ReduceAction266::(parser::ReduceAction::action)";
30769 void parser___ReduceAction266___action(val_t p0, val_t p1){
30770 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30771 val_t REGB0;
30772 val_t tmp;
30773 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30774 fra.me.file = LOCATE_parser;
30775 fra.me.line = 11050;
30776 fra.me.meth = LOCATE_parser___ReduceAction266___action;
30777 fra.me.has_broke = 0;
30778 fra.me.REG_size = 4;
30779 fra.me.nitni_local_ref_head = NULL;
30780 fra.me.REG[0] = NIT_NULL;
30781 fra.me.REG[1] = NIT_NULL;
30782 fra.me.REG[2] = NIT_NULL;
30783 fra.me.REG[3] = NIT_NULL;
30784 fra.me.REG[0] = p0;
30785 fra.me.REG[1] = p1;
30786 /* parser/parser.nit:11052 */
30787 fra.me.REG[2] = NIT_NULL;
30788 /* parser/parser.nit:11053 */
30789 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30790 /* parser/parser.nit:11055 */
30791 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*/;
30792 if (UNTAG_Bool(REGB0)) {
30793 } else {
30794 nit_abort("Assert failed", NULL, LOCATE_parser, 11055);
30795 }
30796 /* parser/parser.nit:11056 */
30797 fra.me.REG[3] = NEW_ASlashMethid_parser___parser_prod___ASlashMethid___init_aslashmethid(fra.me.REG[3]);
30798 /* parser/parser.nit:11059 */
30799 fra.me.REG[2] = fra.me.REG[3];
30800 /* parser/parser.nit:11060 */
30801 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30802 if (UNTAG_Bool(REGB0)) {
30803 } else {
30804 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11060);
30805 }
30806 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30807 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30808 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30809 stack_frame_head = fra.me.prev;
30810 return;
30811 }
30812 static const char LOCATE_parser___ReduceAction267___action[] = "parser::ReduceAction267::(parser::ReduceAction::action)";
30813 void parser___ReduceAction267___action(val_t p0, val_t p1){
30814 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30815 val_t REGB0;
30816 val_t tmp;
30817 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30818 fra.me.file = LOCATE_parser;
30819 fra.me.line = 11065;
30820 fra.me.meth = LOCATE_parser___ReduceAction267___action;
30821 fra.me.has_broke = 0;
30822 fra.me.REG_size = 4;
30823 fra.me.nitni_local_ref_head = NULL;
30824 fra.me.REG[0] = NIT_NULL;
30825 fra.me.REG[1] = NIT_NULL;
30826 fra.me.REG[2] = NIT_NULL;
30827 fra.me.REG[3] = NIT_NULL;
30828 fra.me.REG[0] = p0;
30829 fra.me.REG[1] = p1;
30830 /* parser/parser.nit:11067 */
30831 fra.me.REG[2] = NIT_NULL;
30832 /* parser/parser.nit:11068 */
30833 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30834 /* parser/parser.nit:11070 */
30835 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*/;
30836 if (UNTAG_Bool(REGB0)) {
30837 } else {
30838 nit_abort("Assert failed", NULL, LOCATE_parser, 11070);
30839 }
30840 /* parser/parser.nit:11071 */
30841 fra.me.REG[3] = NEW_APercentMethid_parser___parser_prod___APercentMethid___init_apercentmethid(fra.me.REG[3]);
30842 /* parser/parser.nit:11074 */
30843 fra.me.REG[2] = fra.me.REG[3];
30844 /* parser/parser.nit:11075 */
30845 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30846 if (UNTAG_Bool(REGB0)) {
30847 } else {
30848 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11075);
30849 }
30850 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30851 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30852 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30853 stack_frame_head = fra.me.prev;
30854 return;
30855 }
30856 static const char LOCATE_parser___ReduceAction268___action[] = "parser::ReduceAction268::(parser::ReduceAction::action)";
30857 void parser___ReduceAction268___action(val_t p0, val_t p1){
30858 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30859 val_t REGB0;
30860 val_t tmp;
30861 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30862 fra.me.file = LOCATE_parser;
30863 fra.me.line = 11080;
30864 fra.me.meth = LOCATE_parser___ReduceAction268___action;
30865 fra.me.has_broke = 0;
30866 fra.me.REG_size = 4;
30867 fra.me.nitni_local_ref_head = NULL;
30868 fra.me.REG[0] = NIT_NULL;
30869 fra.me.REG[1] = NIT_NULL;
30870 fra.me.REG[2] = NIT_NULL;
30871 fra.me.REG[3] = NIT_NULL;
30872 fra.me.REG[0] = p0;
30873 fra.me.REG[1] = p1;
30874 /* parser/parser.nit:11082 */
30875 fra.me.REG[2] = NIT_NULL;
30876 /* parser/parser.nit:11083 */
30877 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30878 /* parser/parser.nit:11085 */
30879 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*/;
30880 if (UNTAG_Bool(REGB0)) {
30881 } else {
30882 nit_abort("Assert failed", NULL, LOCATE_parser, 11085);
30883 }
30884 /* parser/parser.nit:11086 */
30885 fra.me.REG[3] = NEW_AEqMethid_parser___parser_prod___AEqMethid___init_aeqmethid(fra.me.REG[3]);
30886 /* parser/parser.nit:11089 */
30887 fra.me.REG[2] = fra.me.REG[3];
30888 /* parser/parser.nit:11090 */
30889 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30890 if (UNTAG_Bool(REGB0)) {
30891 } else {
30892 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11090);
30893 }
30894 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30895 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30896 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30897 stack_frame_head = fra.me.prev;
30898 return;
30899 }
30900 static const char LOCATE_parser___ReduceAction269___action[] = "parser::ReduceAction269::(parser::ReduceAction::action)";
30901 void parser___ReduceAction269___action(val_t p0, val_t p1){
30902 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30903 val_t REGB0;
30904 val_t tmp;
30905 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30906 fra.me.file = LOCATE_parser;
30907 fra.me.line = 11095;
30908 fra.me.meth = LOCATE_parser___ReduceAction269___action;
30909 fra.me.has_broke = 0;
30910 fra.me.REG_size = 4;
30911 fra.me.nitni_local_ref_head = NULL;
30912 fra.me.REG[0] = NIT_NULL;
30913 fra.me.REG[1] = NIT_NULL;
30914 fra.me.REG[2] = NIT_NULL;
30915 fra.me.REG[3] = NIT_NULL;
30916 fra.me.REG[0] = p0;
30917 fra.me.REG[1] = p1;
30918 /* parser/parser.nit:11097 */
30919 fra.me.REG[2] = NIT_NULL;
30920 /* parser/parser.nit:11098 */
30921 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30922 /* parser/parser.nit:11100 */
30923 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*/;
30924 if (UNTAG_Bool(REGB0)) {
30925 } else {
30926 nit_abort("Assert failed", NULL, LOCATE_parser, 11100);
30927 }
30928 /* parser/parser.nit:11101 */
30929 fra.me.REG[3] = NEW_ANeMethid_parser___parser_prod___ANeMethid___init_anemethid(fra.me.REG[3]);
30930 /* parser/parser.nit:11104 */
30931 fra.me.REG[2] = fra.me.REG[3];
30932 /* parser/parser.nit:11105 */
30933 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30934 if (UNTAG_Bool(REGB0)) {
30935 } else {
30936 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11105);
30937 }
30938 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30939 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30940 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30941 stack_frame_head = fra.me.prev;
30942 return;
30943 }
30944 static const char LOCATE_parser___ReduceAction270___action[] = "parser::ReduceAction270::(parser::ReduceAction::action)";
30945 void parser___ReduceAction270___action(val_t p0, val_t p1){
30946 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30947 val_t REGB0;
30948 val_t tmp;
30949 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30950 fra.me.file = LOCATE_parser;
30951 fra.me.line = 11110;
30952 fra.me.meth = LOCATE_parser___ReduceAction270___action;
30953 fra.me.has_broke = 0;
30954 fra.me.REG_size = 4;
30955 fra.me.nitni_local_ref_head = NULL;
30956 fra.me.REG[0] = NIT_NULL;
30957 fra.me.REG[1] = NIT_NULL;
30958 fra.me.REG[2] = NIT_NULL;
30959 fra.me.REG[3] = NIT_NULL;
30960 fra.me.REG[0] = p0;
30961 fra.me.REG[1] = p1;
30962 /* parser/parser.nit:11112 */
30963 fra.me.REG[2] = NIT_NULL;
30964 /* parser/parser.nit:11113 */
30965 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
30966 /* parser/parser.nit:11115 */
30967 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*/;
30968 if (UNTAG_Bool(REGB0)) {
30969 } else {
30970 nit_abort("Assert failed", NULL, LOCATE_parser, 11115);
30971 }
30972 /* parser/parser.nit:11116 */
30973 fra.me.REG[3] = NEW_ALeMethid_parser___parser_prod___ALeMethid___init_alemethid(fra.me.REG[3]);
30974 /* parser/parser.nit:11119 */
30975 fra.me.REG[2] = fra.me.REG[3];
30976 /* parser/parser.nit:11120 */
30977 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
30978 if (UNTAG_Bool(REGB0)) {
30979 } else {
30980 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11120);
30981 }
30982 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
30983 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
30984 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
30985 stack_frame_head = fra.me.prev;
30986 return;
30987 }
30988 static const char LOCATE_parser___ReduceAction271___action[] = "parser::ReduceAction271::(parser::ReduceAction::action)";
30989 void parser___ReduceAction271___action(val_t p0, val_t p1){
30990 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30991 val_t REGB0;
30992 val_t tmp;
30993 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30994 fra.me.file = LOCATE_parser;
30995 fra.me.line = 11125;
30996 fra.me.meth = LOCATE_parser___ReduceAction271___action;
30997 fra.me.has_broke = 0;
30998 fra.me.REG_size = 4;
30999 fra.me.nitni_local_ref_head = NULL;
31000 fra.me.REG[0] = NIT_NULL;
31001 fra.me.REG[1] = NIT_NULL;
31002 fra.me.REG[2] = NIT_NULL;
31003 fra.me.REG[3] = NIT_NULL;
31004 fra.me.REG[0] = p0;
31005 fra.me.REG[1] = p1;
31006 /* parser/parser.nit:11127 */
31007 fra.me.REG[2] = NIT_NULL;
31008 /* parser/parser.nit:11128 */
31009 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31010 /* parser/parser.nit:11130 */
31011 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*/;
31012 if (UNTAG_Bool(REGB0)) {
31013 } else {
31014 nit_abort("Assert failed", NULL, LOCATE_parser, 11130);
31015 }
31016 /* parser/parser.nit:11131 */
31017 fra.me.REG[3] = NEW_AGeMethid_parser___parser_prod___AGeMethid___init_agemethid(fra.me.REG[3]);
31018 /* parser/parser.nit:11134 */
31019 fra.me.REG[2] = fra.me.REG[3];
31020 /* parser/parser.nit:11135 */
31021 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31022 if (UNTAG_Bool(REGB0)) {
31023 } else {
31024 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11135);
31025 }
31026 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31027 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31028 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31029 stack_frame_head = fra.me.prev;
31030 return;
31031 }
31032 static const char LOCATE_parser___ReduceAction272___action[] = "parser::ReduceAction272::(parser::ReduceAction::action)";
31033 void parser___ReduceAction272___action(val_t p0, val_t p1){
31034 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31035 val_t REGB0;
31036 val_t tmp;
31037 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31038 fra.me.file = LOCATE_parser;
31039 fra.me.line = 11140;
31040 fra.me.meth = LOCATE_parser___ReduceAction272___action;
31041 fra.me.has_broke = 0;
31042 fra.me.REG_size = 4;
31043 fra.me.nitni_local_ref_head = NULL;
31044 fra.me.REG[0] = NIT_NULL;
31045 fra.me.REG[1] = NIT_NULL;
31046 fra.me.REG[2] = NIT_NULL;
31047 fra.me.REG[3] = NIT_NULL;
31048 fra.me.REG[0] = p0;
31049 fra.me.REG[1] = p1;
31050 /* parser/parser.nit:11142 */
31051 fra.me.REG[2] = NIT_NULL;
31052 /* parser/parser.nit:11143 */
31053 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31054 /* parser/parser.nit:11145 */
31055 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*/;
31056 if (UNTAG_Bool(REGB0)) {
31057 } else {
31058 nit_abort("Assert failed", NULL, LOCATE_parser, 11145);
31059 }
31060 /* parser/parser.nit:11146 */
31061 fra.me.REG[3] = NEW_ALtMethid_parser___parser_prod___ALtMethid___init_altmethid(fra.me.REG[3]);
31062 /* parser/parser.nit:11149 */
31063 fra.me.REG[2] = fra.me.REG[3];
31064 /* parser/parser.nit:11150 */
31065 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31066 if (UNTAG_Bool(REGB0)) {
31067 } else {
31068 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11150);
31069 }
31070 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31071 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31072 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31073 stack_frame_head = fra.me.prev;
31074 return;
31075 }
31076 static const char LOCATE_parser___ReduceAction273___action[] = "parser::ReduceAction273::(parser::ReduceAction::action)";
31077 void parser___ReduceAction273___action(val_t p0, val_t p1){
31078 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31079 val_t REGB0;
31080 val_t tmp;
31081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31082 fra.me.file = LOCATE_parser;
31083 fra.me.line = 11155;
31084 fra.me.meth = LOCATE_parser___ReduceAction273___action;
31085 fra.me.has_broke = 0;
31086 fra.me.REG_size = 4;
31087 fra.me.nitni_local_ref_head = NULL;
31088 fra.me.REG[0] = NIT_NULL;
31089 fra.me.REG[1] = NIT_NULL;
31090 fra.me.REG[2] = NIT_NULL;
31091 fra.me.REG[3] = NIT_NULL;
31092 fra.me.REG[0] = p0;
31093 fra.me.REG[1] = p1;
31094 /* parser/parser.nit:11157 */
31095 fra.me.REG[2] = NIT_NULL;
31096 /* parser/parser.nit:11158 */
31097 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31098 /* parser/parser.nit:11160 */
31099 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*/;
31100 if (UNTAG_Bool(REGB0)) {
31101 } else {
31102 nit_abort("Assert failed", NULL, LOCATE_parser, 11160);
31103 }
31104 /* parser/parser.nit:11161 */
31105 fra.me.REG[3] = NEW_AGtMethid_parser___parser_prod___AGtMethid___init_agtmethid(fra.me.REG[3]);
31106 /* parser/parser.nit:11164 */
31107 fra.me.REG[2] = fra.me.REG[3];
31108 /* parser/parser.nit:11165 */
31109 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31110 if (UNTAG_Bool(REGB0)) {
31111 } else {
31112 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11165);
31113 }
31114 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31115 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31116 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31117 stack_frame_head = fra.me.prev;
31118 return;
31119 }
31120 static const char LOCATE_parser___ReduceAction274___action[] = "parser::ReduceAction274::(parser::ReduceAction::action)";
31121 void parser___ReduceAction274___action(val_t p0, val_t p1){
31122 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31123 val_t REGB0;
31124 val_t tmp;
31125 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31126 fra.me.file = LOCATE_parser;
31127 fra.me.line = 11170;
31128 fra.me.meth = LOCATE_parser___ReduceAction274___action;
31129 fra.me.has_broke = 0;
31130 fra.me.REG_size = 4;
31131 fra.me.nitni_local_ref_head = NULL;
31132 fra.me.REG[0] = NIT_NULL;
31133 fra.me.REG[1] = NIT_NULL;
31134 fra.me.REG[2] = NIT_NULL;
31135 fra.me.REG[3] = NIT_NULL;
31136 fra.me.REG[0] = p0;
31137 fra.me.REG[1] = p1;
31138 /* parser/parser.nit:11172 */
31139 fra.me.REG[2] = NIT_NULL;
31140 /* parser/parser.nit:11173 */
31141 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31142 /* parser/parser.nit:11175 */
31143 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*/;
31144 if (UNTAG_Bool(REGB0)) {
31145 } else {
31146 nit_abort("Assert failed", NULL, LOCATE_parser, 11175);
31147 }
31148 /* parser/parser.nit:11176 */
31149 fra.me.REG[3] = NEW_ALlMethid_parser___parser_prod___ALlMethid___init_allmethid(fra.me.REG[3]);
31150 /* parser/parser.nit:11179 */
31151 fra.me.REG[2] = fra.me.REG[3];
31152 /* parser/parser.nit:11180 */
31153 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31154 if (UNTAG_Bool(REGB0)) {
31155 } else {
31156 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11180);
31157 }
31158 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31159 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31160 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31161 stack_frame_head = fra.me.prev;
31162 return;
31163 }
31164 static const char LOCATE_parser___ReduceAction275___action[] = "parser::ReduceAction275::(parser::ReduceAction::action)";
31165 void parser___ReduceAction275___action(val_t p0, val_t p1){
31166 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31167 val_t REGB0;
31168 val_t tmp;
31169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31170 fra.me.file = LOCATE_parser;
31171 fra.me.line = 11185;
31172 fra.me.meth = LOCATE_parser___ReduceAction275___action;
31173 fra.me.has_broke = 0;
31174 fra.me.REG_size = 4;
31175 fra.me.nitni_local_ref_head = NULL;
31176 fra.me.REG[0] = NIT_NULL;
31177 fra.me.REG[1] = NIT_NULL;
31178 fra.me.REG[2] = NIT_NULL;
31179 fra.me.REG[3] = NIT_NULL;
31180 fra.me.REG[0] = p0;
31181 fra.me.REG[1] = p1;
31182 /* parser/parser.nit:11187 */
31183 fra.me.REG[2] = NIT_NULL;
31184 /* parser/parser.nit:11188 */
31185 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31186 /* parser/parser.nit:11190 */
31187 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*/;
31188 if (UNTAG_Bool(REGB0)) {
31189 } else {
31190 nit_abort("Assert failed", NULL, LOCATE_parser, 11190);
31191 }
31192 /* parser/parser.nit:11191 */
31193 fra.me.REG[3] = NEW_AGgMethid_parser___parser_prod___AGgMethid___init_aggmethid(fra.me.REG[3]);
31194 /* parser/parser.nit:11194 */
31195 fra.me.REG[2] = fra.me.REG[3];
31196 /* parser/parser.nit:11195 */
31197 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31198 if (UNTAG_Bool(REGB0)) {
31199 } else {
31200 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11195);
31201 }
31202 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31203 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31204 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31205 stack_frame_head = fra.me.prev;
31206 return;
31207 }
31208 static const char LOCATE_parser___ReduceAction276___action[] = "parser::ReduceAction276::(parser::ReduceAction::action)";
31209 void parser___ReduceAction276___action(val_t p0, val_t p1){
31210 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31211 val_t REGB0;
31212 val_t tmp;
31213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31214 fra.me.file = LOCATE_parser;
31215 fra.me.line = 11200;
31216 fra.me.meth = LOCATE_parser___ReduceAction276___action;
31217 fra.me.has_broke = 0;
31218 fra.me.REG_size = 5;
31219 fra.me.nitni_local_ref_head = NULL;
31220 fra.me.REG[0] = NIT_NULL;
31221 fra.me.REG[1] = NIT_NULL;
31222 fra.me.REG[2] = NIT_NULL;
31223 fra.me.REG[3] = NIT_NULL;
31224 fra.me.REG[4] = NIT_NULL;
31225 fra.me.REG[0] = p0;
31226 fra.me.REG[1] = p1;
31227 /* parser/parser.nit:11202 */
31228 fra.me.REG[2] = NIT_NULL;
31229 /* parser/parser.nit:11203 */
31230 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31231 /* parser/parser.nit:11204 */
31232 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31233 /* parser/parser.nit:11206 */
31234 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*/;
31235 if (UNTAG_Bool(REGB0)) {
31236 } else {
31237 nit_abort("Assert failed", NULL, LOCATE_parser, 11206);
31238 }
31239 /* parser/parser.nit:11208 */
31240 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*/;
31241 if (UNTAG_Bool(REGB0)) {
31242 } else {
31243 nit_abort("Assert failed", NULL, LOCATE_parser, 11208);
31244 }
31245 /* parser/parser.nit:11209 */
31246 fra.me.REG[3] = NEW_ABraMethid_parser___parser_prod___ABraMethid___init_abramethid(fra.me.REG[4], fra.me.REG[3]);
31247 /* parser/parser.nit:11213 */
31248 fra.me.REG[2] = fra.me.REG[3];
31249 /* parser/parser.nit:11214 */
31250 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31251 if (UNTAG_Bool(REGB0)) {
31252 } else {
31253 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11214);
31254 }
31255 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31256 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31257 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31258 stack_frame_head = fra.me.prev;
31259 return;
31260 }
31261 static const char LOCATE_parser___ReduceAction277___action[] = "parser::ReduceAction277::(parser::ReduceAction::action)";
31262 void parser___ReduceAction277___action(val_t p0, val_t p1){
31263 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31264 val_t REGB0;
31265 val_t tmp;
31266 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31267 fra.me.file = LOCATE_parser;
31268 fra.me.line = 11219;
31269 fra.me.meth = LOCATE_parser___ReduceAction277___action;
31270 fra.me.has_broke = 0;
31271 fra.me.REG_size = 4;
31272 fra.me.nitni_local_ref_head = NULL;
31273 fra.me.REG[0] = NIT_NULL;
31274 fra.me.REG[1] = NIT_NULL;
31275 fra.me.REG[2] = NIT_NULL;
31276 fra.me.REG[3] = NIT_NULL;
31277 fra.me.REG[0] = p0;
31278 fra.me.REG[1] = p1;
31279 /* parser/parser.nit:11221 */
31280 fra.me.REG[2] = NIT_NULL;
31281 /* parser/parser.nit:11222 */
31282 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31283 /* parser/parser.nit:11224 */
31284 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*/;
31285 if (UNTAG_Bool(REGB0)) {
31286 } else {
31287 nit_abort("Assert failed", NULL, LOCATE_parser, 11224);
31288 }
31289 /* parser/parser.nit:11225 */
31290 fra.me.REG[3] = NEW_AStarshipMethid_parser___parser_prod___AStarshipMethid___init_astarshipmethid(fra.me.REG[3]);
31291 /* parser/parser.nit:11228 */
31292 fra.me.REG[2] = fra.me.REG[3];
31293 /* parser/parser.nit:11229 */
31294 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31295 if (UNTAG_Bool(REGB0)) {
31296 } else {
31297 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11229);
31298 }
31299 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31300 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31301 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31302 stack_frame_head = fra.me.prev;
31303 return;
31304 }
31305 static const char LOCATE_parser___ReduceAction278___action[] = "parser::ReduceAction278::(parser::ReduceAction::action)";
31306 void parser___ReduceAction278___action(val_t p0, val_t p1){
31307 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31308 val_t REGB0;
31309 val_t tmp;
31310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31311 fra.me.file = LOCATE_parser;
31312 fra.me.line = 11234;
31313 fra.me.meth = LOCATE_parser___ReduceAction278___action;
31314 fra.me.has_broke = 0;
31315 fra.me.REG_size = 5;
31316 fra.me.nitni_local_ref_head = NULL;
31317 fra.me.REG[0] = NIT_NULL;
31318 fra.me.REG[1] = NIT_NULL;
31319 fra.me.REG[2] = NIT_NULL;
31320 fra.me.REG[3] = NIT_NULL;
31321 fra.me.REG[4] = NIT_NULL;
31322 fra.me.REG[0] = p0;
31323 fra.me.REG[1] = p1;
31324 /* parser/parser.nit:11236 */
31325 fra.me.REG[2] = NIT_NULL;
31326 /* parser/parser.nit:11237 */
31327 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31328 /* parser/parser.nit:11238 */
31329 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31330 /* parser/parser.nit:11240 */
31331 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*/;
31332 if (UNTAG_Bool(REGB0)) {
31333 } else {
31334 nit_abort("Assert failed", NULL, LOCATE_parser, 11240);
31335 }
31336 /* parser/parser.nit:11242 */
31337 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*/;
31338 if (UNTAG_Bool(REGB0)) {
31339 } else {
31340 nit_abort("Assert failed", NULL, LOCATE_parser, 11242);
31341 }
31342 /* parser/parser.nit:11243 */
31343 fra.me.REG[3] = NEW_AAssignMethid_parser___parser_prod___AAssignMethid___init_aassignmethid(fra.me.REG[4], fra.me.REG[3]);
31344 /* parser/parser.nit:11247 */
31345 fra.me.REG[2] = fra.me.REG[3];
31346 /* parser/parser.nit:11248 */
31347 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31348 if (UNTAG_Bool(REGB0)) {
31349 } else {
31350 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11248);
31351 }
31352 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31353 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31354 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31355 stack_frame_head = fra.me.prev;
31356 return;
31357 }
31358 static const char LOCATE_parser___ReduceAction279___action[] = "parser::ReduceAction279::(parser::ReduceAction::action)";
31359 void parser___ReduceAction279___action(val_t p0, val_t p1){
31360 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
31361 val_t REGB0;
31362 val_t tmp;
31363 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31364 fra.me.file = LOCATE_parser;
31365 fra.me.line = 11253;
31366 fra.me.meth = LOCATE_parser___ReduceAction279___action;
31367 fra.me.has_broke = 0;
31368 fra.me.REG_size = 6;
31369 fra.me.nitni_local_ref_head = NULL;
31370 fra.me.REG[0] = NIT_NULL;
31371 fra.me.REG[1] = NIT_NULL;
31372 fra.me.REG[2] = NIT_NULL;
31373 fra.me.REG[3] = NIT_NULL;
31374 fra.me.REG[4] = NIT_NULL;
31375 fra.me.REG[5] = NIT_NULL;
31376 fra.me.REG[0] = p0;
31377 fra.me.REG[1] = p1;
31378 /* parser/parser.nit:11255 */
31379 fra.me.REG[2] = NIT_NULL;
31380 /* parser/parser.nit:11256 */
31381 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31382 /* parser/parser.nit:11257 */
31383 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31384 /* parser/parser.nit:11258 */
31385 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31386 /* parser/parser.nit:11260 */
31387 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*/;
31388 if (UNTAG_Bool(REGB0)) {
31389 } else {
31390 nit_abort("Assert failed", NULL, LOCATE_parser, 11260);
31391 }
31392 /* parser/parser.nit:11262 */
31393 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*/;
31394 if (UNTAG_Bool(REGB0)) {
31395 } else {
31396 nit_abort("Assert failed", NULL, LOCATE_parser, 11262);
31397 }
31398 /* parser/parser.nit:11264 */
31399 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*/;
31400 if (UNTAG_Bool(REGB0)) {
31401 } else {
31402 nit_abort("Assert failed", NULL, LOCATE_parser, 11264);
31403 }
31404 /* parser/parser.nit:11265 */
31405 fra.me.REG[3] = NEW_ABraassignMethid_parser___parser_prod___ABraassignMethid___init_abraassignmethid(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
31406 /* parser/parser.nit:11270 */
31407 fra.me.REG[2] = fra.me.REG[3];
31408 /* parser/parser.nit:11271 */
31409 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31410 if (UNTAG_Bool(REGB0)) {
31411 } else {
31412 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11271);
31413 }
31414 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31415 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31416 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31417 stack_frame_head = fra.me.prev;
31418 return;
31419 }
31420 static const char LOCATE_parser___ReduceAction280___action[] = "parser::ReduceAction280::(parser::ReduceAction::action)";
31421 void parser___ReduceAction280___action(val_t p0, val_t p1){
31422 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31423 val_t REGB0;
31424 val_t tmp;
31425 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31426 fra.me.file = LOCATE_parser;
31427 fra.me.line = 11276;
31428 fra.me.meth = LOCATE_parser___ReduceAction280___action;
31429 fra.me.has_broke = 0;
31430 fra.me.REG_size = 8;
31431 fra.me.nitni_local_ref_head = NULL;
31432 fra.me.REG[0] = NIT_NULL;
31433 fra.me.REG[1] = NIT_NULL;
31434 fra.me.REG[2] = NIT_NULL;
31435 fra.me.REG[3] = NIT_NULL;
31436 fra.me.REG[4] = NIT_NULL;
31437 fra.me.REG[5] = NIT_NULL;
31438 fra.me.REG[6] = NIT_NULL;
31439 fra.me.REG[7] = NIT_NULL;
31440 fra.me.REG[0] = p0;
31441 fra.me.REG[1] = p1;
31442 /* parser/parser.nit:11278 */
31443 fra.me.REG[2] = NIT_NULL;
31444 /* parser/parser.nit:11279 */
31445 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31446 /* parser/parser.nit:11280 */
31447 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31448 /* parser/parser.nit:11281 */
31449 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31450 /* parser/parser.nit:11282 */
31451 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31452 /* parser/parser.nit:11283 */
31453 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31454 /* parser/parser.nit:11284 */
31455 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
31456 /* parser/parser.nit:11285 */
31457 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
31458 /* parser/parser.nit:11287 */
31459 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
31460 if (UNTAG_Bool(REGB0)) {
31461 } else {
31462 nit_abort("Assert failed", NULL, LOCATE_parser, 11287);
31463 }
31464 /* parser/parser.nit:11289 */
31465 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
31466 if (UNTAG_Bool(REGB0)) {
31467 } else {
31468 nit_abort("Assert failed", NULL, LOCATE_parser, 11289);
31469 }
31470 /* parser/parser.nit:11291 */
31471 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*/;
31472 if (UNTAG_Bool(REGB0)) {
31473 } else {
31474 nit_abort("Assert failed", NULL, LOCATE_parser, 11291);
31475 }
31476 /* parser/parser.nit:11292 */
31477 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7]);
31478 /* parser/parser.nit:11299 */
31479 fra.me.REG[2] = fra.me.REG[7];
31480 /* parser/parser.nit:11300 */
31481 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31482 if (UNTAG_Bool(REGB0)) {
31483 } else {
31484 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11300);
31485 }
31486 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31487 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31488 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31489 stack_frame_head = fra.me.prev;
31490 return;
31491 }
31492 static const char LOCATE_parser___ReduceAction281___action[] = "parser::ReduceAction281::(parser::ReduceAction::action)";
31493 void parser___ReduceAction281___action(val_t p0, val_t p1){
31494 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
31495 val_t REGB0;
31496 val_t tmp;
31497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31498 fra.me.file = LOCATE_parser;
31499 fra.me.line = 11305;
31500 fra.me.meth = LOCATE_parser___ReduceAction281___action;
31501 fra.me.has_broke = 0;
31502 fra.me.REG_size = 9;
31503 fra.me.nitni_local_ref_head = NULL;
31504 fra.me.REG[0] = NIT_NULL;
31505 fra.me.REG[1] = NIT_NULL;
31506 fra.me.REG[2] = NIT_NULL;
31507 fra.me.REG[3] = NIT_NULL;
31508 fra.me.REG[4] = NIT_NULL;
31509 fra.me.REG[5] = NIT_NULL;
31510 fra.me.REG[6] = NIT_NULL;
31511 fra.me.REG[7] = NIT_NULL;
31512 fra.me.REG[8] = NIT_NULL;
31513 fra.me.REG[0] = p0;
31514 fra.me.REG[1] = p1;
31515 /* parser/parser.nit:11307 */
31516 fra.me.REG[2] = NIT_NULL;
31517 /* parser/parser.nit:11308 */
31518 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31519 /* parser/parser.nit:11309 */
31520 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31521 /* parser/parser.nit:11310 */
31522 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31523 /* parser/parser.nit:11311 */
31524 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31525 /* parser/parser.nit:11312 */
31526 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31527 /* parser/parser.nit:11313 */
31528 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31529 /* parser/parser.nit:11314 */
31530 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
31531 /* parser/parser.nit:11315 */
31532 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
31533 /* parser/parser.nit:11317 */
31534 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
31535 if (UNTAG_Bool(REGB0)) {
31536 } else {
31537 nit_abort("Assert failed", NULL, LOCATE_parser, 11317);
31538 }
31539 /* parser/parser.nit:11319 */
31540 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]*/;
31541 if (UNTAG_Bool(REGB0)) {
31542 } else {
31543 nit_abort("Assert failed", NULL, LOCATE_parser, 11319);
31544 }
31545 /* parser/parser.nit:11320 */
31546 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
31547 fra.me.REG[7] = fra.me.REG[5];
31548 /* parser/parser.nit:11322 */
31549 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
31550 if (UNTAG_Bool(REGB0)) {
31551 } else {
31552 nit_abort("Assert failed", NULL, LOCATE_parser, 11322);
31553 }
31554 /* parser/parser.nit:11324 */
31555 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*/;
31556 if (UNTAG_Bool(REGB0)) {
31557 } else {
31558 nit_abort("Assert failed", NULL, LOCATE_parser, 11324);
31559 }
31560 /* parser/parser.nit:11325 */
31561 fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8]);
31562 /* parser/parser.nit:11332 */
31563 fra.me.REG[2] = fra.me.REG[8];
31564 /* parser/parser.nit:11333 */
31565 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31566 if (UNTAG_Bool(REGB0)) {
31567 } else {
31568 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11333);
31569 }
31570 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31571 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31572 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31573 stack_frame_head = fra.me.prev;
31574 return;
31575 }
31576 static const char LOCATE_parser___ReduceAction282___action[] = "parser::ReduceAction282::(parser::ReduceAction::action)";
31577 void parser___ReduceAction282___action(val_t p0, val_t p1){
31578 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
31579 val_t REGB0;
31580 val_t tmp;
31581 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31582 fra.me.file = LOCATE_parser;
31583 fra.me.line = 11338;
31584 fra.me.meth = LOCATE_parser___ReduceAction282___action;
31585 fra.me.has_broke = 0;
31586 fra.me.REG_size = 9;
31587 fra.me.nitni_local_ref_head = NULL;
31588 fra.me.REG[0] = NIT_NULL;
31589 fra.me.REG[1] = NIT_NULL;
31590 fra.me.REG[2] = NIT_NULL;
31591 fra.me.REG[3] = NIT_NULL;
31592 fra.me.REG[4] = NIT_NULL;
31593 fra.me.REG[5] = NIT_NULL;
31594 fra.me.REG[6] = NIT_NULL;
31595 fra.me.REG[7] = NIT_NULL;
31596 fra.me.REG[8] = NIT_NULL;
31597 fra.me.REG[0] = p0;
31598 fra.me.REG[1] = p1;
31599 /* parser/parser.nit:11340 */
31600 fra.me.REG[2] = NIT_NULL;
31601 /* parser/parser.nit:11341 */
31602 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31603 /* parser/parser.nit:11342 */
31604 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31605 /* parser/parser.nit:11343 */
31606 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31607 /* parser/parser.nit:11344 */
31608 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31609 /* parser/parser.nit:11345 */
31610 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31611 /* parser/parser.nit:11346 */
31612 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31613 /* parser/parser.nit:11347 */
31614 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
31615 /* parser/parser.nit:11348 */
31616 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
31617 /* parser/parser.nit:11350 */
31618 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
31619 if (UNTAG_Bool(REGB0)) {
31620 } else {
31621 nit_abort("Assert failed", NULL, LOCATE_parser, 11350);
31622 }
31623 /* parser/parser.nit:11352 */
31624 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
31625 if (UNTAG_Bool(REGB0)) {
31626 } else {
31627 nit_abort("Assert failed", NULL, LOCATE_parser, 11352);
31628 }
31629 /* parser/parser.nit:11354 */
31630 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*/;
31631 if (UNTAG_Bool(REGB0)) {
31632 } else {
31633 nit_abort("Assert failed", NULL, LOCATE_parser, 11354);
31634 }
31635 /* parser/parser.nit:11356 */
31636 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]*/;
31637 if (UNTAG_Bool(REGB0)) {
31638 } else {
31639 nit_abort("Assert failed", NULL, LOCATE_parser, 11356);
31640 }
31641 /* parser/parser.nit:11357 */
31642 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
31643 fra.me.REG[8] = fra.me.REG[3];
31644 /* parser/parser.nit:11358 */
31645 fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[5], fra.me.REG[4], fra.me.REG[8]);
31646 /* parser/parser.nit:11365 */
31647 fra.me.REG[2] = fra.me.REG[8];
31648 /* parser/parser.nit:11366 */
31649 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31650 if (UNTAG_Bool(REGB0)) {
31651 } else {
31652 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11366);
31653 }
31654 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31655 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31656 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31657 stack_frame_head = fra.me.prev;
31658 return;
31659 }
31660 static const char LOCATE_parser___ReduceAction283___action[] = "parser::ReduceAction283::(parser::ReduceAction::action)";
31661 void parser___ReduceAction283___action(val_t p0, val_t p1){
31662 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
31663 val_t REGB0;
31664 val_t tmp;
31665 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31666 fra.me.file = LOCATE_parser;
31667 fra.me.line = 11371;
31668 fra.me.meth = LOCATE_parser___ReduceAction283___action;
31669 fra.me.has_broke = 0;
31670 fra.me.REG_size = 10;
31671 fra.me.nitni_local_ref_head = NULL;
31672 fra.me.REG[0] = NIT_NULL;
31673 fra.me.REG[1] = NIT_NULL;
31674 fra.me.REG[2] = NIT_NULL;
31675 fra.me.REG[3] = NIT_NULL;
31676 fra.me.REG[4] = NIT_NULL;
31677 fra.me.REG[5] = NIT_NULL;
31678 fra.me.REG[6] = NIT_NULL;
31679 fra.me.REG[7] = NIT_NULL;
31680 fra.me.REG[8] = NIT_NULL;
31681 fra.me.REG[9] = NIT_NULL;
31682 fra.me.REG[0] = p0;
31683 fra.me.REG[1] = p1;
31684 /* parser/parser.nit:11373 */
31685 fra.me.REG[2] = NIT_NULL;
31686 /* parser/parser.nit:11374 */
31687 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31688 /* parser/parser.nit:11375 */
31689 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31690 /* parser/parser.nit:11376 */
31691 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31692 /* parser/parser.nit:11377 */
31693 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31694 /* parser/parser.nit:11378 */
31695 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31696 /* parser/parser.nit:11379 */
31697 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31698 /* parser/parser.nit:11380 */
31699 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31700 /* parser/parser.nit:11381 */
31701 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
31702 /* parser/parser.nit:11382 */
31703 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
31704 /* parser/parser.nit:11384 */
31705 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
31706 if (UNTAG_Bool(REGB0)) {
31707 } else {
31708 nit_abort("Assert failed", NULL, LOCATE_parser, 11384);
31709 }
31710 /* parser/parser.nit:11386 */
31711 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]*/;
31712 if (UNTAG_Bool(REGB0)) {
31713 } else {
31714 nit_abort("Assert failed", NULL, LOCATE_parser, 11386);
31715 }
31716 /* parser/parser.nit:11387 */
31717 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
31718 fra.me.REG[8] = fra.me.REG[6];
31719 /* parser/parser.nit:11389 */
31720 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
31721 if (UNTAG_Bool(REGB0)) {
31722 } else {
31723 nit_abort("Assert failed", NULL, LOCATE_parser, 11389);
31724 }
31725 /* parser/parser.nit:11391 */
31726 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*/;
31727 if (UNTAG_Bool(REGB0)) {
31728 } else {
31729 nit_abort("Assert failed", NULL, LOCATE_parser, 11391);
31730 }
31731 /* parser/parser.nit:11393 */
31732 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]*/;
31733 if (UNTAG_Bool(REGB0)) {
31734 } else {
31735 nit_abort("Assert failed", NULL, LOCATE_parser, 11393);
31736 }
31737 /* parser/parser.nit:11394 */
31738 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[3]);
31739 fra.me.REG[9] = fra.me.REG[3];
31740 /* parser/parser.nit:11395 */
31741 fra.me.REG[9] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[7], fra.me.REG[8], fra.me.REG[5], fra.me.REG[4], fra.me.REG[9]);
31742 /* parser/parser.nit:11402 */
31743 fra.me.REG[2] = fra.me.REG[9];
31744 /* parser/parser.nit:11403 */
31745 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31746 if (UNTAG_Bool(REGB0)) {
31747 } else {
31748 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11403);
31749 }
31750 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31751 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31752 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31753 stack_frame_head = fra.me.prev;
31754 return;
31755 }
31756 static const char LOCATE_parser___ReduceAction284___action[] = "parser::ReduceAction284::(parser::ReduceAction::action)";
31757 void parser___ReduceAction284___action(val_t p0, val_t p1){
31758 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
31759 val_t REGB0;
31760 val_t tmp;
31761 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31762 fra.me.file = LOCATE_parser;
31763 fra.me.line = 11408;
31764 fra.me.meth = LOCATE_parser___ReduceAction284___action;
31765 fra.me.has_broke = 0;
31766 fra.me.REG_size = 7;
31767 fra.me.nitni_local_ref_head = NULL;
31768 fra.me.REG[0] = NIT_NULL;
31769 fra.me.REG[1] = NIT_NULL;
31770 fra.me.REG[2] = NIT_NULL;
31771 fra.me.REG[3] = NIT_NULL;
31772 fra.me.REG[4] = NIT_NULL;
31773 fra.me.REG[5] = NIT_NULL;
31774 fra.me.REG[6] = NIT_NULL;
31775 fra.me.REG[0] = p0;
31776 fra.me.REG[1] = p1;
31777 /* parser/parser.nit:11410 */
31778 fra.me.REG[2] = NIT_NULL;
31779 /* parser/parser.nit:11411 */
31780 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31781 /* parser/parser.nit:11412 */
31782 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31783 /* parser/parser.nit:11413 */
31784 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31785 /* parser/parser.nit:11414 */
31786 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31787 /* parser/parser.nit:11415 */
31788 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
31789 /* parser/parser.nit:11416 */
31790 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
31791 /* parser/parser.nit:11418 */
31792 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
31793 if (UNTAG_Bool(REGB0)) {
31794 } else {
31795 nit_abort("Assert failed", NULL, LOCATE_parser, 11418);
31796 }
31797 /* parser/parser.nit:11420 */
31798 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
31799 if (UNTAG_Bool(REGB0)) {
31800 } else {
31801 nit_abort("Assert failed", NULL, LOCATE_parser, 11420);
31802 }
31803 /* parser/parser.nit:11421 */
31804 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3], NIT_NULL, fra.me.REG[6]);
31805 /* parser/parser.nit:11428 */
31806 fra.me.REG[2] = fra.me.REG[6];
31807 /* parser/parser.nit:11429 */
31808 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31809 if (UNTAG_Bool(REGB0)) {
31810 } else {
31811 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11429);
31812 }
31813 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31814 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31815 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31816 stack_frame_head = fra.me.prev;
31817 return;
31818 }
31819 static const char LOCATE_parser___ReduceAction285___action[] = "parser::ReduceAction285::(parser::ReduceAction::action)";
31820 void parser___ReduceAction285___action(val_t p0, val_t p1){
31821 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31822 val_t REGB0;
31823 val_t tmp;
31824 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31825 fra.me.file = LOCATE_parser;
31826 fra.me.line = 11434;
31827 fra.me.meth = LOCATE_parser___ReduceAction285___action;
31828 fra.me.has_broke = 0;
31829 fra.me.REG_size = 8;
31830 fra.me.nitni_local_ref_head = NULL;
31831 fra.me.REG[0] = NIT_NULL;
31832 fra.me.REG[1] = NIT_NULL;
31833 fra.me.REG[2] = NIT_NULL;
31834 fra.me.REG[3] = NIT_NULL;
31835 fra.me.REG[4] = NIT_NULL;
31836 fra.me.REG[5] = NIT_NULL;
31837 fra.me.REG[6] = NIT_NULL;
31838 fra.me.REG[7] = NIT_NULL;
31839 fra.me.REG[0] = p0;
31840 fra.me.REG[1] = p1;
31841 /* parser/parser.nit:11436 */
31842 fra.me.REG[2] = NIT_NULL;
31843 /* parser/parser.nit:11437 */
31844 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31845 /* parser/parser.nit:11438 */
31846 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31847 /* parser/parser.nit:11439 */
31848 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31849 /* parser/parser.nit:11440 */
31850 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31851 /* parser/parser.nit:11441 */
31852 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31853 /* parser/parser.nit:11442 */
31854 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
31855 /* parser/parser.nit:11443 */
31856 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
31857 /* parser/parser.nit:11445 */
31858 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
31859 if (UNTAG_Bool(REGB0)) {
31860 } else {
31861 nit_abort("Assert failed", NULL, LOCATE_parser, 11445);
31862 }
31863 /* parser/parser.nit:11447 */
31864 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]*/;
31865 if (UNTAG_Bool(REGB0)) {
31866 } else {
31867 nit_abort("Assert failed", NULL, LOCATE_parser, 11447);
31868 }
31869 /* parser/parser.nit:11448 */
31870 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
31871 fra.me.REG[6] = fra.me.REG[4];
31872 /* parser/parser.nit:11450 */
31873 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
31874 if (UNTAG_Bool(REGB0)) {
31875 } else {
31876 nit_abort("Assert failed", NULL, LOCATE_parser, 11450);
31877 }
31878 /* parser/parser.nit:11451 */
31879 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], NIT_NULL, fra.me.REG[7]);
31880 /* parser/parser.nit:11458 */
31881 fra.me.REG[2] = fra.me.REG[7];
31882 /* parser/parser.nit:11459 */
31883 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31884 if (UNTAG_Bool(REGB0)) {
31885 } else {
31886 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11459);
31887 }
31888 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31889 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31890 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31891 stack_frame_head = fra.me.prev;
31892 return;
31893 }
31894 static const char LOCATE_parser___ReduceAction286___action[] = "parser::ReduceAction286::(parser::ReduceAction::action)";
31895 void parser___ReduceAction286___action(val_t p0, val_t p1){
31896 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
31897 val_t REGB0;
31898 val_t tmp;
31899 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31900 fra.me.file = LOCATE_parser;
31901 fra.me.line = 11464;
31902 fra.me.meth = LOCATE_parser___ReduceAction286___action;
31903 fra.me.has_broke = 0;
31904 fra.me.REG_size = 8;
31905 fra.me.nitni_local_ref_head = NULL;
31906 fra.me.REG[0] = NIT_NULL;
31907 fra.me.REG[1] = NIT_NULL;
31908 fra.me.REG[2] = NIT_NULL;
31909 fra.me.REG[3] = NIT_NULL;
31910 fra.me.REG[4] = NIT_NULL;
31911 fra.me.REG[5] = NIT_NULL;
31912 fra.me.REG[6] = NIT_NULL;
31913 fra.me.REG[7] = NIT_NULL;
31914 fra.me.REG[0] = p0;
31915 fra.me.REG[1] = p1;
31916 /* parser/parser.nit:11466 */
31917 fra.me.REG[2] = NIT_NULL;
31918 /* parser/parser.nit:11467 */
31919 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31920 /* parser/parser.nit:11468 */
31921 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31922 /* parser/parser.nit:11469 */
31923 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31924 /* parser/parser.nit:11470 */
31925 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31926 /* parser/parser.nit:11471 */
31927 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31928 /* parser/parser.nit:11472 */
31929 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
31930 /* parser/parser.nit:11473 */
31931 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
31932 /* parser/parser.nit:11475 */
31933 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
31934 if (UNTAG_Bool(REGB0)) {
31935 } else {
31936 nit_abort("Assert failed", NULL, LOCATE_parser, 11475);
31937 }
31938 /* parser/parser.nit:11477 */
31939 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
31940 if (UNTAG_Bool(REGB0)) {
31941 } else {
31942 nit_abort("Assert failed", NULL, LOCATE_parser, 11477);
31943 }
31944 /* parser/parser.nit:11479 */
31945 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]*/;
31946 if (UNTAG_Bool(REGB0)) {
31947 } else {
31948 nit_abort("Assert failed", NULL, LOCATE_parser, 11479);
31949 }
31950 /* parser/parser.nit:11480 */
31951 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
31952 fra.me.REG[7] = fra.me.REG[3];
31953 /* parser/parser.nit:11481 */
31954 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], NIT_NULL, fra.me.REG[7]);
31955 /* parser/parser.nit:11488 */
31956 fra.me.REG[2] = fra.me.REG[7];
31957 /* parser/parser.nit:11489 */
31958 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
31959 if (UNTAG_Bool(REGB0)) {
31960 } else {
31961 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11489);
31962 }
31963 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
31964 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
31965 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
31966 stack_frame_head = fra.me.prev;
31967 return;
31968 }
31969 static const char LOCATE_parser___ReduceAction287___action[] = "parser::ReduceAction287::(parser::ReduceAction::action)";
31970 void parser___ReduceAction287___action(val_t p0, val_t p1){
31971 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
31972 val_t REGB0;
31973 val_t tmp;
31974 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31975 fra.me.file = LOCATE_parser;
31976 fra.me.line = 11494;
31977 fra.me.meth = LOCATE_parser___ReduceAction287___action;
31978 fra.me.has_broke = 0;
31979 fra.me.REG_size = 9;
31980 fra.me.nitni_local_ref_head = NULL;
31981 fra.me.REG[0] = NIT_NULL;
31982 fra.me.REG[1] = NIT_NULL;
31983 fra.me.REG[2] = NIT_NULL;
31984 fra.me.REG[3] = NIT_NULL;
31985 fra.me.REG[4] = NIT_NULL;
31986 fra.me.REG[5] = NIT_NULL;
31987 fra.me.REG[6] = NIT_NULL;
31988 fra.me.REG[7] = NIT_NULL;
31989 fra.me.REG[8] = NIT_NULL;
31990 fra.me.REG[0] = p0;
31991 fra.me.REG[1] = p1;
31992 /* parser/parser.nit:11496 */
31993 fra.me.REG[2] = NIT_NULL;
31994 /* parser/parser.nit:11497 */
31995 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31996 /* parser/parser.nit:11498 */
31997 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
31998 /* parser/parser.nit:11499 */
31999 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32000 /* parser/parser.nit:11500 */
32001 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32002 /* parser/parser.nit:11501 */
32003 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32004 /* parser/parser.nit:11502 */
32005 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32006 /* parser/parser.nit:11503 */
32007 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
32008 /* parser/parser.nit:11504 */
32009 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
32010 /* parser/parser.nit:11506 */
32011 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32012 if (UNTAG_Bool(REGB0)) {
32013 } else {
32014 nit_abort("Assert failed", NULL, LOCATE_parser, 11506);
32015 }
32016 /* parser/parser.nit:11508 */
32017 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]*/;
32018 if (UNTAG_Bool(REGB0)) {
32019 } else {
32020 nit_abort("Assert failed", NULL, LOCATE_parser, 11508);
32021 }
32022 /* parser/parser.nit:11509 */
32023 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
32024 fra.me.REG[7] = fra.me.REG[5];
32025 /* parser/parser.nit:11511 */
32026 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32027 if (UNTAG_Bool(REGB0)) {
32028 } else {
32029 nit_abort("Assert failed", NULL, LOCATE_parser, 11511);
32030 }
32031 /* parser/parser.nit:11513 */
32032 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]*/;
32033 if (UNTAG_Bool(REGB0)) {
32034 } else {
32035 nit_abort("Assert failed", NULL, LOCATE_parser, 11513);
32036 }
32037 /* parser/parser.nit:11514 */
32038 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[3]);
32039 fra.me.REG[8] = fra.me.REG[3];
32040 /* parser/parser.nit:11515 */
32041 fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], NIT_NULL, fra.me.REG[8]);
32042 /* parser/parser.nit:11522 */
32043 fra.me.REG[2] = fra.me.REG[8];
32044 /* parser/parser.nit:11523 */
32045 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32046 if (UNTAG_Bool(REGB0)) {
32047 } else {
32048 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11523);
32049 }
32050 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32051 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32052 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32053 stack_frame_head = fra.me.prev;
32054 return;
32055 }
32056 static const char LOCATE_parser___ReduceAction288___action[] = "parser::ReduceAction288::(parser::ReduceAction::action)";
32057 void parser___ReduceAction288___action(val_t p0, val_t p1){
32058 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32059 val_t REGB0;
32060 val_t tmp;
32061 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32062 fra.me.file = LOCATE_parser;
32063 fra.me.line = 11528;
32064 fra.me.meth = LOCATE_parser___ReduceAction288___action;
32065 fra.me.has_broke = 0;
32066 fra.me.REG_size = 6;
32067 fra.me.nitni_local_ref_head = NULL;
32068 fra.me.REG[0] = NIT_NULL;
32069 fra.me.REG[1] = NIT_NULL;
32070 fra.me.REG[2] = NIT_NULL;
32071 fra.me.REG[3] = NIT_NULL;
32072 fra.me.REG[4] = NIT_NULL;
32073 fra.me.REG[5] = NIT_NULL;
32074 fra.me.REG[0] = p0;
32075 fra.me.REG[1] = p1;
32076 /* parser/parser.nit:11530 */
32077 fra.me.REG[2] = NIT_NULL;
32078 /* parser/parser.nit:11531 */
32079 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32080 /* parser/parser.nit:11532 */
32081 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32082 /* parser/parser.nit:11533 */
32083 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
32084 /* parser/parser.nit:11534 */
32085 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32086 /* parser/parser.nit:11536 */
32087 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*/;
32088 if (UNTAG_Bool(REGB0)) {
32089 } else {
32090 nit_abort("Assert failed", NULL, LOCATE_parser, 11536);
32091 }
32092 /* parser/parser.nit:11537 */
32093 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[5]);
32094 /* parser/parser.nit:11544 */
32095 fra.me.REG[2] = fra.me.REG[5];
32096 /* parser/parser.nit:11545 */
32097 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32098 if (UNTAG_Bool(REGB0)) {
32099 } else {
32100 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11545);
32101 }
32102 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32103 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32104 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32105 stack_frame_head = fra.me.prev;
32106 return;
32107 }
32108 static const char LOCATE_parser___ReduceAction289___action[] = "parser::ReduceAction289::(parser::ReduceAction::action)";
32109 void parser___ReduceAction289___action(val_t p0, val_t p1){
32110 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
32111 val_t REGB0;
32112 val_t tmp;
32113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32114 fra.me.file = LOCATE_parser;
32115 fra.me.line = 11550;
32116 fra.me.meth = LOCATE_parser___ReduceAction289___action;
32117 fra.me.has_broke = 0;
32118 fra.me.REG_size = 7;
32119 fra.me.nitni_local_ref_head = NULL;
32120 fra.me.REG[0] = NIT_NULL;
32121 fra.me.REG[1] = NIT_NULL;
32122 fra.me.REG[2] = NIT_NULL;
32123 fra.me.REG[3] = NIT_NULL;
32124 fra.me.REG[4] = NIT_NULL;
32125 fra.me.REG[5] = NIT_NULL;
32126 fra.me.REG[6] = NIT_NULL;
32127 fra.me.REG[0] = p0;
32128 fra.me.REG[1] = p1;
32129 /* parser/parser.nit:11552 */
32130 fra.me.REG[2] = NIT_NULL;
32131 /* parser/parser.nit:11553 */
32132 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32133 /* parser/parser.nit:11554 */
32134 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32135 /* parser/parser.nit:11555 */
32136 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32137 /* parser/parser.nit:11556 */
32138 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32139 /* parser/parser.nit:11557 */
32140 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
32141 /* parser/parser.nit:11559 */
32142 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*/;
32143 if (UNTAG_Bool(REGB0)) {
32144 } else {
32145 nit_abort("Assert failed", NULL, LOCATE_parser, 11559);
32146 }
32147 /* parser/parser.nit:11561 */
32148 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]*/;
32149 if (UNTAG_Bool(REGB0)) {
32150 } else {
32151 nit_abort("Assert failed", NULL, LOCATE_parser, 11561);
32152 }
32153 /* parser/parser.nit:11562 */
32154 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
32155 fra.me.REG[6] = fra.me.REG[3];
32156 /* parser/parser.nit:11563 */
32157 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[5], NIT_NULL, fra.me.REG[4], fra.me.REG[6]);
32158 /* parser/parser.nit:11570 */
32159 fra.me.REG[2] = fra.me.REG[6];
32160 /* parser/parser.nit:11571 */
32161 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32162 if (UNTAG_Bool(REGB0)) {
32163 } else {
32164 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11571);
32165 }
32166 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32167 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32168 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32169 stack_frame_head = fra.me.prev;
32170 return;
32171 }
32172 static const char LOCATE_parser___ReduceAction290___action[] = "parser::ReduceAction290::(parser::ReduceAction::action)";
32173 void parser___ReduceAction290___action(val_t p0, val_t p1){
32174 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
32175 val_t REGB0;
32176 val_t tmp;
32177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32178 fra.me.file = LOCATE_parser;
32179 fra.me.line = 11576;
32180 fra.me.meth = LOCATE_parser___ReduceAction290___action;
32181 fra.me.has_broke = 0;
32182 fra.me.REG_size = 5;
32183 fra.me.nitni_local_ref_head = NULL;
32184 fra.me.REG[0] = NIT_NULL;
32185 fra.me.REG[1] = NIT_NULL;
32186 fra.me.REG[2] = NIT_NULL;
32187 fra.me.REG[3] = NIT_NULL;
32188 fra.me.REG[4] = NIT_NULL;
32189 fra.me.REG[0] = p0;
32190 fra.me.REG[1] = p1;
32191 /* parser/parser.nit:11578 */
32192 fra.me.REG[2] = NIT_NULL;
32193 /* parser/parser.nit:11579 */
32194 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32195 /* parser/parser.nit:11580 */
32196 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
32197 /* parser/parser.nit:11581 */
32198 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
32199 /* parser/parser.nit:11582 */
32200 fra.me.REG[4] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, fra.me.REG[4]);
32201 /* parser/parser.nit:11589 */
32202 fra.me.REG[2] = fra.me.REG[4];
32203 /* parser/parser.nit:11590 */
32204 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32205 if (UNTAG_Bool(REGB0)) {
32206 } else {
32207 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11590);
32208 }
32209 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32210 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32211 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32212 stack_frame_head = fra.me.prev;
32213 return;
32214 }
32215 static const char LOCATE_parser___ReduceAction291___action[] = "parser::ReduceAction291::(parser::ReduceAction::action)";
32216 void parser___ReduceAction291___action(val_t p0, val_t p1){
32217 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32218 val_t REGB0;
32219 val_t tmp;
32220 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32221 fra.me.file = LOCATE_parser;
32222 fra.me.line = 11595;
32223 fra.me.meth = LOCATE_parser___ReduceAction291___action;
32224 fra.me.has_broke = 0;
32225 fra.me.REG_size = 6;
32226 fra.me.nitni_local_ref_head = NULL;
32227 fra.me.REG[0] = NIT_NULL;
32228 fra.me.REG[1] = NIT_NULL;
32229 fra.me.REG[2] = NIT_NULL;
32230 fra.me.REG[3] = NIT_NULL;
32231 fra.me.REG[4] = NIT_NULL;
32232 fra.me.REG[5] = NIT_NULL;
32233 fra.me.REG[0] = p0;
32234 fra.me.REG[1] = p1;
32235 /* parser/parser.nit:11597 */
32236 fra.me.REG[2] = NIT_NULL;
32237 /* parser/parser.nit:11598 */
32238 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32239 /* parser/parser.nit:11599 */
32240 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32241 /* parser/parser.nit:11600 */
32242 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
32243 /* parser/parser.nit:11601 */
32244 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32245 /* parser/parser.nit:11603 */
32246 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]*/;
32247 if (UNTAG_Bool(REGB0)) {
32248 } else {
32249 nit_abort("Assert failed", NULL, LOCATE_parser, 11603);
32250 }
32251 /* parser/parser.nit:11604 */
32252 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
32253 fra.me.REG[5] = fra.me.REG[3];
32254 /* parser/parser.nit:11605 */
32255 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, NIT_NULL, fra.me.REG[5]);
32256 /* parser/parser.nit:11612 */
32257 fra.me.REG[2] = fra.me.REG[5];
32258 /* parser/parser.nit:11613 */
32259 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32260 if (UNTAG_Bool(REGB0)) {
32261 } else {
32262 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11613);
32263 }
32264 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32265 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32266 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32267 stack_frame_head = fra.me.prev;
32268 return;
32269 }
32270 static const char LOCATE_parser___ReduceAction292___action[] = "parser::ReduceAction292::(parser::ReduceAction::action)";
32271 void parser___ReduceAction292___action(val_t p0, val_t p1){
32272 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
32273 val_t REGB0;
32274 val_t tmp;
32275 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32276 fra.me.file = LOCATE_parser;
32277 fra.me.line = 11618;
32278 fra.me.meth = LOCATE_parser___ReduceAction292___action;
32279 fra.me.has_broke = 0;
32280 fra.me.REG_size = 7;
32281 fra.me.nitni_local_ref_head = NULL;
32282 fra.me.REG[0] = NIT_NULL;
32283 fra.me.REG[1] = NIT_NULL;
32284 fra.me.REG[2] = NIT_NULL;
32285 fra.me.REG[3] = NIT_NULL;
32286 fra.me.REG[4] = NIT_NULL;
32287 fra.me.REG[5] = NIT_NULL;
32288 fra.me.REG[6] = NIT_NULL;
32289 fra.me.REG[0] = p0;
32290 fra.me.REG[1] = p1;
32291 /* parser/parser.nit:11620 */
32292 fra.me.REG[2] = NIT_NULL;
32293 /* parser/parser.nit:11621 */
32294 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32295 /* parser/parser.nit:11622 */
32296 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32297 /* parser/parser.nit:11623 */
32298 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32299 /* parser/parser.nit:11624 */
32300 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32301 /* parser/parser.nit:11625 */
32302 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
32303 /* parser/parser.nit:11627 */
32304 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32305 if (UNTAG_Bool(REGB0)) {
32306 } else {
32307 nit_abort("Assert failed", NULL, LOCATE_parser, 11627);
32308 }
32309 /* parser/parser.nit:11629 */
32310 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32311 if (UNTAG_Bool(REGB0)) {
32312 } else {
32313 nit_abort("Assert failed", NULL, LOCATE_parser, 11629);
32314 }
32315 /* parser/parser.nit:11630 */
32316 fra.me.REG[6] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3], NIT_NULL, fra.me.REG[6]);
32317 /* parser/parser.nit:11637 */
32318 fra.me.REG[2] = fra.me.REG[6];
32319 /* parser/parser.nit:11638 */
32320 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32321 if (UNTAG_Bool(REGB0)) {
32322 } else {
32323 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11638);
32324 }
32325 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32326 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32327 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32328 stack_frame_head = fra.me.prev;
32329 return;
32330 }
32331 static const char LOCATE_parser___ReduceAction293___action[] = "parser::ReduceAction293::(parser::ReduceAction::action)";
32332 void parser___ReduceAction293___action(val_t p0, val_t p1){
32333 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
32334 val_t REGB0;
32335 val_t tmp;
32336 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32337 fra.me.file = LOCATE_parser;
32338 fra.me.line = 11643;
32339 fra.me.meth = LOCATE_parser___ReduceAction293___action;
32340 fra.me.has_broke = 0;
32341 fra.me.REG_size = 8;
32342 fra.me.nitni_local_ref_head = NULL;
32343 fra.me.REG[0] = NIT_NULL;
32344 fra.me.REG[1] = NIT_NULL;
32345 fra.me.REG[2] = NIT_NULL;
32346 fra.me.REG[3] = NIT_NULL;
32347 fra.me.REG[4] = NIT_NULL;
32348 fra.me.REG[5] = NIT_NULL;
32349 fra.me.REG[6] = NIT_NULL;
32350 fra.me.REG[7] = NIT_NULL;
32351 fra.me.REG[0] = p0;
32352 fra.me.REG[1] = p1;
32353 /* parser/parser.nit:11645 */
32354 fra.me.REG[2] = NIT_NULL;
32355 /* parser/parser.nit:11646 */
32356 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32357 /* parser/parser.nit:11647 */
32358 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32359 /* parser/parser.nit:11648 */
32360 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32361 /* parser/parser.nit:11649 */
32362 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32363 /* parser/parser.nit:11650 */
32364 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
32365 /* parser/parser.nit:11651 */
32366 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
32367 /* parser/parser.nit:11653 */
32368 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32369 if (UNTAG_Bool(REGB0)) {
32370 } else {
32371 nit_abort("Assert failed", NULL, LOCATE_parser, 11653);
32372 }
32373 /* parser/parser.nit:11655 */
32374 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]*/;
32375 if (UNTAG_Bool(REGB0)) {
32376 } else {
32377 nit_abort("Assert failed", NULL, LOCATE_parser, 11655);
32378 }
32379 /* parser/parser.nit:11656 */
32380 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
32381 fra.me.REG[6] = fra.me.REG[4];
32382 /* parser/parser.nit:11658 */
32383 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32384 if (UNTAG_Bool(REGB0)) {
32385 } else {
32386 nit_abort("Assert failed", NULL, LOCATE_parser, 11658);
32387 }
32388 /* parser/parser.nit:11659 */
32389 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3], NIT_NULL, fra.me.REG[7]);
32390 /* parser/parser.nit:11666 */
32391 fra.me.REG[2] = fra.me.REG[7];
32392 /* parser/parser.nit:11667 */
32393 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32394 if (UNTAG_Bool(REGB0)) {
32395 } else {
32396 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11667);
32397 }
32398 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32400 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32401 stack_frame_head = fra.me.prev;
32402 return;
32403 }
32404 static const char LOCATE_parser___ReduceAction294___action[] = "parser::ReduceAction294::(parser::ReduceAction::action)";
32405 void parser___ReduceAction294___action(val_t p0, val_t p1){
32406 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
32407 val_t REGB0;
32408 val_t tmp;
32409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32410 fra.me.file = LOCATE_parser;
32411 fra.me.line = 11672;
32412 fra.me.meth = LOCATE_parser___ReduceAction294___action;
32413 fra.me.has_broke = 0;
32414 fra.me.REG_size = 8;
32415 fra.me.nitni_local_ref_head = NULL;
32416 fra.me.REG[0] = NIT_NULL;
32417 fra.me.REG[1] = NIT_NULL;
32418 fra.me.REG[2] = NIT_NULL;
32419 fra.me.REG[3] = NIT_NULL;
32420 fra.me.REG[4] = NIT_NULL;
32421 fra.me.REG[5] = NIT_NULL;
32422 fra.me.REG[6] = NIT_NULL;
32423 fra.me.REG[7] = NIT_NULL;
32424 fra.me.REG[0] = p0;
32425 fra.me.REG[1] = p1;
32426 /* parser/parser.nit:11674 */
32427 fra.me.REG[2] = NIT_NULL;
32428 /* parser/parser.nit:11675 */
32429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32430 /* parser/parser.nit:11676 */
32431 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32432 /* parser/parser.nit:11677 */
32433 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32434 /* parser/parser.nit:11678 */
32435 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32436 /* parser/parser.nit:11679 */
32437 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
32438 /* parser/parser.nit:11680 */
32439 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
32440 /* parser/parser.nit:11682 */
32441 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32442 if (UNTAG_Bool(REGB0)) {
32443 } else {
32444 nit_abort("Assert failed", NULL, LOCATE_parser, 11682);
32445 }
32446 /* parser/parser.nit:11684 */
32447 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32448 if (UNTAG_Bool(REGB0)) {
32449 } else {
32450 nit_abort("Assert failed", NULL, LOCATE_parser, 11684);
32451 }
32452 /* parser/parser.nit:11686 */
32453 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*/;
32454 if (UNTAG_Bool(REGB0)) {
32455 } else {
32456 nit_abort("Assert failed", NULL, LOCATE_parser, 11686);
32457 }
32458 /* parser/parser.nit:11687 */
32459 fra.me.REG[7] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[5], fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[7]);
32460 /* parser/parser.nit:11694 */
32461 fra.me.REG[2] = fra.me.REG[7];
32462 /* parser/parser.nit:11695 */
32463 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32464 if (UNTAG_Bool(REGB0)) {
32465 } else {
32466 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11695);
32467 }
32468 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32469 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32470 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32471 stack_frame_head = fra.me.prev;
32472 return;
32473 }
32474 static const char LOCATE_parser___ReduceAction295___action[] = "parser::ReduceAction295::(parser::ReduceAction::action)";
32475 void parser___ReduceAction295___action(val_t p0, val_t p1){
32476 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
32477 val_t REGB0;
32478 val_t tmp;
32479 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32480 fra.me.file = LOCATE_parser;
32481 fra.me.line = 11700;
32482 fra.me.meth = LOCATE_parser___ReduceAction295___action;
32483 fra.me.has_broke = 0;
32484 fra.me.REG_size = 9;
32485 fra.me.nitni_local_ref_head = NULL;
32486 fra.me.REG[0] = NIT_NULL;
32487 fra.me.REG[1] = NIT_NULL;
32488 fra.me.REG[2] = NIT_NULL;
32489 fra.me.REG[3] = NIT_NULL;
32490 fra.me.REG[4] = NIT_NULL;
32491 fra.me.REG[5] = NIT_NULL;
32492 fra.me.REG[6] = NIT_NULL;
32493 fra.me.REG[7] = NIT_NULL;
32494 fra.me.REG[8] = NIT_NULL;
32495 fra.me.REG[0] = p0;
32496 fra.me.REG[1] = p1;
32497 /* parser/parser.nit:11702 */
32498 fra.me.REG[2] = NIT_NULL;
32499 /* parser/parser.nit:11703 */
32500 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32501 /* parser/parser.nit:11704 */
32502 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32503 /* parser/parser.nit:11705 */
32504 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32505 /* parser/parser.nit:11706 */
32506 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32507 /* parser/parser.nit:11707 */
32508 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32509 /* parser/parser.nit:11708 */
32510 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
32511 /* parser/parser.nit:11709 */
32512 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
32513 /* parser/parser.nit:11711 */
32514 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
32515 if (UNTAG_Bool(REGB0)) {
32516 } else {
32517 nit_abort("Assert failed", NULL, LOCATE_parser, 11711);
32518 }
32519 /* parser/parser.nit:11713 */
32520 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]*/;
32521 if (UNTAG_Bool(REGB0)) {
32522 } else {
32523 nit_abort("Assert failed", NULL, LOCATE_parser, 11713);
32524 }
32525 /* parser/parser.nit:11714 */
32526 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[5]);
32527 fra.me.REG[7] = fra.me.REG[5];
32528 /* parser/parser.nit:11716 */
32529 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
32530 if (UNTAG_Bool(REGB0)) {
32531 } else {
32532 nit_abort("Assert failed", NULL, LOCATE_parser, 11716);
32533 }
32534 /* parser/parser.nit:11718 */
32535 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*/;
32536 if (UNTAG_Bool(REGB0)) {
32537 } else {
32538 nit_abort("Assert failed", NULL, LOCATE_parser, 11718);
32539 }
32540 /* parser/parser.nit:11719 */
32541 fra.me.REG[8] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(fra.me.REG[6], fra.me.REG[7], fra.me.REG[4], fra.me.REG[3], fra.me.REG[8]);
32542 /* parser/parser.nit:11726 */
32543 fra.me.REG[2] = fra.me.REG[8];
32544 /* parser/parser.nit:11727 */
32545 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32546 if (UNTAG_Bool(REGB0)) {
32547 } else {
32548 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11727);
32549 }
32550 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32551 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32552 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32553 stack_frame_head = fra.me.prev;
32554 return;
32555 }
32556 static const char LOCATE_parser___ReduceAction296___action[] = "parser::ReduceAction296::(parser::ReduceAction::action)";
32557 void parser___ReduceAction296___action(val_t p0, val_t p1){
32558 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
32559 val_t REGB0;
32560 val_t tmp;
32561 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32562 fra.me.file = LOCATE_parser;
32563 fra.me.line = 11732;
32564 fra.me.meth = LOCATE_parser___ReduceAction296___action;
32565 fra.me.has_broke = 0;
32566 fra.me.REG_size = 5;
32567 fra.me.nitni_local_ref_head = NULL;
32568 fra.me.REG[0] = NIT_NULL;
32569 fra.me.REG[1] = NIT_NULL;
32570 fra.me.REG[2] = NIT_NULL;
32571 fra.me.REG[3] = NIT_NULL;
32572 fra.me.REG[4] = NIT_NULL;
32573 fra.me.REG[0] = p0;
32574 fra.me.REG[1] = p1;
32575 /* parser/parser.nit:11734 */
32576 fra.me.REG[2] = NIT_NULL;
32577 /* parser/parser.nit:11735 */
32578 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
32579 /* parser/parser.nit:11736 */
32580 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
32581 /* parser/parser.nit:11737 */
32582 fra.me.REG[4] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[3], NIT_NULL, NIT_NULL, fra.me.REG[4]);
32583 /* parser/parser.nit:11744 */
32584 fra.me.REG[2] = fra.me.REG[4];
32585 /* parser/parser.nit:11745 */
32586 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32587 if (UNTAG_Bool(REGB0)) {
32588 } else {
32589 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11745);
32590 }
32591 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32592 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32593 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32594 stack_frame_head = fra.me.prev;
32595 return;
32596 }
32597 static const char LOCATE_parser___ReduceAction297___action[] = "parser::ReduceAction297::(parser::ReduceAction::action)";
32598 void parser___ReduceAction297___action(val_t p0, val_t p1){
32599 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32600 val_t REGB0;
32601 val_t tmp;
32602 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32603 fra.me.file = LOCATE_parser;
32604 fra.me.line = 11750;
32605 fra.me.meth = LOCATE_parser___ReduceAction297___action;
32606 fra.me.has_broke = 0;
32607 fra.me.REG_size = 6;
32608 fra.me.nitni_local_ref_head = NULL;
32609 fra.me.REG[0] = NIT_NULL;
32610 fra.me.REG[1] = NIT_NULL;
32611 fra.me.REG[2] = NIT_NULL;
32612 fra.me.REG[3] = NIT_NULL;
32613 fra.me.REG[4] = NIT_NULL;
32614 fra.me.REG[5] = NIT_NULL;
32615 fra.me.REG[0] = p0;
32616 fra.me.REG[1] = p1;
32617 /* parser/parser.nit:11752 */
32618 fra.me.REG[2] = NIT_NULL;
32619 /* parser/parser.nit:11753 */
32620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32621 /* parser/parser.nit:11754 */
32622 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
32623 /* parser/parser.nit:11755 */
32624 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32625 /* parser/parser.nit:11757 */
32626 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*/;
32627 if (UNTAG_Bool(REGB0)) {
32628 } else {
32629 nit_abort("Assert failed", NULL, LOCATE_parser, 11757);
32630 }
32631 /* parser/parser.nit:11758 */
32632 fra.me.REG[5] = NEW_ASignature_parser___parser_prod___ASignature___init_asignature(NIT_NULL, fra.me.REG[4], NIT_NULL, fra.me.REG[3], fra.me.REG[5]);
32633 /* parser/parser.nit:11765 */
32634 fra.me.REG[2] = fra.me.REG[5];
32635 /* parser/parser.nit:11766 */
32636 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32637 if (UNTAG_Bool(REGB0)) {
32638 } else {
32639 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11766);
32640 }
32641 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32642 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32643 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32644 stack_frame_head = fra.me.prev;
32645 return;
32646 }
32647 static const char LOCATE_parser___ReduceAction298___action[] = "parser::ReduceAction298::(parser::ReduceAction::action)";
32648 void parser___ReduceAction298___action(val_t p0, val_t p1){
32649 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
32650 val_t REGB0;
32651 val_t REGB1;
32652 val_t tmp;
32653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32654 fra.me.file = LOCATE_parser;
32655 fra.me.line = 11771;
32656 fra.me.meth = LOCATE_parser___ReduceAction298___action;
32657 fra.me.has_broke = 0;
32658 fra.me.REG_size = 5;
32659 fra.me.nitni_local_ref_head = NULL;
32660 fra.me.REG[0] = NIT_NULL;
32661 fra.me.REG[1] = NIT_NULL;
32662 fra.me.REG[2] = NIT_NULL;
32663 fra.me.REG[3] = NIT_NULL;
32664 fra.me.REG[4] = NIT_NULL;
32665 fra.me.REG[0] = p0;
32666 fra.me.REG[1] = p1;
32667 /* parser/parser.nit:11773 */
32668 fra.me.REG[2] = NIT_NULL;
32669 /* parser/parser.nit:11774 */
32670 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32671 /* parser/parser.nit:11775 */
32672 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32673 /* parser/parser.nit:11776 */
32674 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
32675 /* parser/parser.nit:11778 */
32676 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32677 if (UNTAG_Bool(REGB0)) {
32678 } else {
32679 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
32680 if (UNTAG_Bool(REGB1)) {
32681 REGB1 = TAG_Bool(0);
32682 REGB0 = REGB1;
32683 } else {
32684 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
32685 REGB0 = REGB1;
32686 }
32687 }
32688 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32689 if (UNTAG_Bool(REGB0)) {
32690 /* parser/parser.nit:11779 */
32691 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
32692 }
32693 /* parser/parser.nit:11781 */
32694 fra.me.REG[2] = fra.me.REG[4];
32695 /* parser/parser.nit:11782 */
32696 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32697 if (UNTAG_Bool(REGB0)) {
32698 } else {
32699 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11782);
32700 }
32701 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32702 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32703 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32704 stack_frame_head = fra.me.prev;
32705 return;
32706 }
32707 static const char LOCATE_parser___ReduceAction299___action[] = "parser::ReduceAction299::(parser::ReduceAction::action)";
32708 void parser___ReduceAction299___action(val_t p0, val_t p1){
32709 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32710 val_t REGB0;
32711 val_t REGB1;
32712 val_t tmp;
32713 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32714 fra.me.file = LOCATE_parser;
32715 fra.me.line = 11787;
32716 fra.me.meth = LOCATE_parser___ReduceAction299___action;
32717 fra.me.has_broke = 0;
32718 fra.me.REG_size = 6;
32719 fra.me.nitni_local_ref_head = NULL;
32720 fra.me.REG[0] = NIT_NULL;
32721 fra.me.REG[1] = NIT_NULL;
32722 fra.me.REG[2] = NIT_NULL;
32723 fra.me.REG[3] = NIT_NULL;
32724 fra.me.REG[4] = NIT_NULL;
32725 fra.me.REG[5] = NIT_NULL;
32726 fra.me.REG[0] = p0;
32727 fra.me.REG[1] = p1;
32728 /* parser/parser.nit:11789 */
32729 fra.me.REG[2] = NIT_NULL;
32730 /* parser/parser.nit:11790 */
32731 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32732 /* parser/parser.nit:11791 */
32733 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32734 /* parser/parser.nit:11792 */
32735 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32736 /* parser/parser.nit:11793 */
32737 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
32738 /* parser/parser.nit:11796 */
32739 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]*/;
32740 if (UNTAG_Bool(REGB0)) {
32741 } else {
32742 nit_abort("Assert failed", NULL, LOCATE_parser, 11796);
32743 }
32744 /* parser/parser.nit:11797 */
32745 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
32746 if (UNTAG_Bool(REGB0)) {
32747 } else {
32748 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
32749 if (UNTAG_Bool(REGB1)) {
32750 REGB1 = TAG_Bool(0);
32751 REGB0 = REGB1;
32752 } else {
32753 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
32754 REGB0 = REGB1;
32755 }
32756 }
32757 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32758 if (UNTAG_Bool(REGB0)) {
32759 /* parser/parser.nit:11798 */
32760 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
32761 }
32762 /* parser/parser.nit:11800 */
32763 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
32764 fra.me.REG[5] = fra.me.REG[3];
32765 /* parser/parser.nit:11801 */
32766 fra.me.REG[2] = fra.me.REG[5];
32767 /* parser/parser.nit:11802 */
32768 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32769 if (UNTAG_Bool(REGB0)) {
32770 } else {
32771 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11802);
32772 }
32773 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32774 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32775 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32776 stack_frame_head = fra.me.prev;
32777 return;
32778 }
32779 static const char LOCATE_parser___ReduceAction300___action[] = "parser::ReduceAction300::(parser::ReduceAction::action)";
32780 void parser___ReduceAction300___action(val_t p0, val_t p1){
32781 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
32782 val_t REGB0;
32783 val_t tmp;
32784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32785 fra.me.file = LOCATE_parser;
32786 fra.me.line = 11807;
32787 fra.me.meth = LOCATE_parser___ReduceAction300___action;
32788 fra.me.has_broke = 0;
32789 fra.me.REG_size = 5;
32790 fra.me.nitni_local_ref_head = NULL;
32791 fra.me.REG[0] = NIT_NULL;
32792 fra.me.REG[1] = NIT_NULL;
32793 fra.me.REG[2] = NIT_NULL;
32794 fra.me.REG[3] = NIT_NULL;
32795 fra.me.REG[4] = NIT_NULL;
32796 fra.me.REG[0] = p0;
32797 fra.me.REG[1] = p1;
32798 /* parser/parser.nit:11809 */
32799 fra.me.REG[2] = NIT_NULL;
32800 /* parser/parser.nit:11810 */
32801 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32802 /* parser/parser.nit:11811 */
32803 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32804 /* parser/parser.nit:11812 */
32805 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32806 /* parser/parser.nit:11814 */
32807 fra.me.REG[2] = fra.me.REG[3];
32808 /* parser/parser.nit:11815 */
32809 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32810 if (UNTAG_Bool(REGB0)) {
32811 } else {
32812 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11815);
32813 }
32814 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32815 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32816 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32817 stack_frame_head = fra.me.prev;
32818 return;
32819 }
32820 static const char LOCATE_parser___ReduceAction301___action[] = "parser::ReduceAction301::(parser::ReduceAction::action)";
32821 void parser___ReduceAction301___action(val_t p0, val_t p1){
32822 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32823 val_t REGB0;
32824 val_t tmp;
32825 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32826 fra.me.file = LOCATE_parser;
32827 fra.me.line = 11820;
32828 fra.me.meth = LOCATE_parser___ReduceAction301___action;
32829 fra.me.has_broke = 0;
32830 fra.me.REG_size = 4;
32831 fra.me.nitni_local_ref_head = NULL;
32832 fra.me.REG[0] = NIT_NULL;
32833 fra.me.REG[1] = NIT_NULL;
32834 fra.me.REG[2] = NIT_NULL;
32835 fra.me.REG[3] = NIT_NULL;
32836 fra.me.REG[0] = p0;
32837 fra.me.REG[1] = p1;
32838 /* parser/parser.nit:11822 */
32839 fra.me.REG[2] = NIT_NULL;
32840 /* parser/parser.nit:11823 */
32841 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32842 /* parser/parser.nit:11825 */
32843 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*/;
32844 if (UNTAG_Bool(REGB0)) {
32845 } else {
32846 nit_abort("Assert failed", NULL, LOCATE_parser, 11825);
32847 }
32848 /* parser/parser.nit:11826 */
32849 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[3], NIT_NULL, NIT_NULL);
32850 /* parser/parser.nit:11831 */
32851 fra.me.REG[2] = fra.me.REG[3];
32852 /* parser/parser.nit:11832 */
32853 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32854 if (UNTAG_Bool(REGB0)) {
32855 } else {
32856 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11832);
32857 }
32858 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32859 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32860 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32861 stack_frame_head = fra.me.prev;
32862 return;
32863 }
32864 static const char LOCATE_parser___ReduceAction302___action[] = "parser::ReduceAction302::(parser::ReduceAction::action)";
32865 void parser___ReduceAction302___action(val_t p0, val_t p1){
32866 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
32867 val_t REGB0;
32868 val_t tmp;
32869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32870 fra.me.file = LOCATE_parser;
32871 fra.me.line = 11837;
32872 fra.me.meth = LOCATE_parser___ReduceAction302___action;
32873 fra.me.has_broke = 0;
32874 fra.me.REG_size = 5;
32875 fra.me.nitni_local_ref_head = NULL;
32876 fra.me.REG[0] = NIT_NULL;
32877 fra.me.REG[1] = NIT_NULL;
32878 fra.me.REG[2] = NIT_NULL;
32879 fra.me.REG[3] = NIT_NULL;
32880 fra.me.REG[4] = NIT_NULL;
32881 fra.me.REG[0] = p0;
32882 fra.me.REG[1] = p1;
32883 /* parser/parser.nit:11839 */
32884 fra.me.REG[2] = NIT_NULL;
32885 /* parser/parser.nit:11840 */
32886 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32887 /* parser/parser.nit:11841 */
32888 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32889 /* parser/parser.nit:11843 */
32890 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*/;
32891 if (UNTAG_Bool(REGB0)) {
32892 } else {
32893 nit_abort("Assert failed", NULL, LOCATE_parser, 11843);
32894 }
32895 /* parser/parser.nit:11845 */
32896 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*/;
32897 if (UNTAG_Bool(REGB0)) {
32898 } else {
32899 nit_abort("Assert failed", NULL, LOCATE_parser, 11845);
32900 }
32901 /* parser/parser.nit:11846 */
32902 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
32903 /* parser/parser.nit:11851 */
32904 fra.me.REG[2] = fra.me.REG[3];
32905 /* parser/parser.nit:11852 */
32906 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32907 if (UNTAG_Bool(REGB0)) {
32908 } else {
32909 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11852);
32910 }
32911 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32912 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32913 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32914 stack_frame_head = fra.me.prev;
32915 return;
32916 }
32917 static const char LOCATE_parser___ReduceAction303___action[] = "parser::ReduceAction303::(parser::ReduceAction::action)";
32918 void parser___ReduceAction303___action(val_t p0, val_t p1){
32919 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
32920 val_t REGB0;
32921 val_t tmp;
32922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32923 fra.me.file = LOCATE_parser;
32924 fra.me.line = 11857;
32925 fra.me.meth = LOCATE_parser___ReduceAction303___action;
32926 fra.me.has_broke = 0;
32927 fra.me.REG_size = 6;
32928 fra.me.nitni_local_ref_head = NULL;
32929 fra.me.REG[0] = NIT_NULL;
32930 fra.me.REG[1] = NIT_NULL;
32931 fra.me.REG[2] = NIT_NULL;
32932 fra.me.REG[3] = NIT_NULL;
32933 fra.me.REG[4] = NIT_NULL;
32934 fra.me.REG[5] = NIT_NULL;
32935 fra.me.REG[0] = p0;
32936 fra.me.REG[1] = p1;
32937 /* parser/parser.nit:11859 */
32938 fra.me.REG[2] = NIT_NULL;
32939 /* parser/parser.nit:11860 */
32940 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32941 /* parser/parser.nit:11861 */
32942 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32943 /* parser/parser.nit:11862 */
32944 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
32945 /* parser/parser.nit:11864 */
32946 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*/;
32947 if (UNTAG_Bool(REGB0)) {
32948 } else {
32949 nit_abort("Assert failed", NULL, LOCATE_parser, 11864);
32950 }
32951 /* parser/parser.nit:11866 */
32952 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*/;
32953 if (UNTAG_Bool(REGB0)) {
32954 } else {
32955 nit_abort("Assert failed", NULL, LOCATE_parser, 11866);
32956 }
32957 /* parser/parser.nit:11868 */
32958 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*/;
32959 if (UNTAG_Bool(REGB0)) {
32960 } else {
32961 nit_abort("Assert failed", NULL, LOCATE_parser, 11868);
32962 }
32963 /* parser/parser.nit:11869 */
32964 fra.me.REG[3] = NEW_AParam_parser___parser_prod___AParam___init_aparam(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
32965 /* parser/parser.nit:11874 */
32966 fra.me.REG[2] = fra.me.REG[3];
32967 /* parser/parser.nit:11875 */
32968 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
32969 if (UNTAG_Bool(REGB0)) {
32970 } else {
32971 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11875);
32972 }
32973 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
32974 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
32975 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
32976 stack_frame_head = fra.me.prev;
32977 return;
32978 }
32979 static const char LOCATE_parser___ReduceAction304___action[] = "parser::ReduceAction304::(parser::ReduceAction::action)";
32980 void parser___ReduceAction304___action(val_t p0, val_t p1){
32981 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
32982 val_t REGB0;
32983 val_t tmp;
32984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32985 fra.me.file = LOCATE_parser;
32986 fra.me.line = 11880;
32987 fra.me.meth = LOCATE_parser___ReduceAction304___action;
32988 fra.me.has_broke = 0;
32989 fra.me.REG_size = 5;
32990 fra.me.nitni_local_ref_head = NULL;
32991 fra.me.REG[0] = NIT_NULL;
32992 fra.me.REG[1] = NIT_NULL;
32993 fra.me.REG[2] = NIT_NULL;
32994 fra.me.REG[3] = NIT_NULL;
32995 fra.me.REG[4] = NIT_NULL;
32996 fra.me.REG[0] = p0;
32997 fra.me.REG[1] = p1;
32998 /* parser/parser.nit:11882 */
32999 fra.me.REG[2] = NIT_NULL;
33000 /* parser/parser.nit:11883 */
33001 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33002 /* parser/parser.nit:11884 */
33003 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
33004 /* parser/parser.nit:11886 */
33005 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]*/;
33006 if (UNTAG_Bool(REGB0)) {
33007 } else {
33008 nit_abort("Assert failed", NULL, LOCATE_parser, 11886);
33009 }
33010 /* parser/parser.nit:11887 */
33011 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
33012 fra.me.REG[4] = fra.me.REG[3];
33013 /* parser/parser.nit:11888 */
33014 fra.me.REG[2] = fra.me.REG[4];
33015 /* parser/parser.nit:11889 */
33016 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33017 if (UNTAG_Bool(REGB0)) {
33018 } else {
33019 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11889);
33020 }
33021 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33022 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33023 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33024 stack_frame_head = fra.me.prev;
33025 return;
33026 }
33027 static const char LOCATE_parser___ReduceAction305___action[] = "parser::ReduceAction305::(parser::ReduceAction::action)";
33028 void parser___ReduceAction305___action(val_t p0, val_t p1){
33029 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33030 val_t REGB0;
33031 val_t tmp;
33032 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33033 fra.me.file = LOCATE_parser;
33034 fra.me.line = 11894;
33035 fra.me.meth = LOCATE_parser___ReduceAction305___action;
33036 fra.me.has_broke = 0;
33037 fra.me.REG_size = 6;
33038 fra.me.nitni_local_ref_head = NULL;
33039 fra.me.REG[0] = NIT_NULL;
33040 fra.me.REG[1] = NIT_NULL;
33041 fra.me.REG[2] = NIT_NULL;
33042 fra.me.REG[3] = NIT_NULL;
33043 fra.me.REG[4] = NIT_NULL;
33044 fra.me.REG[5] = NIT_NULL;
33045 fra.me.REG[0] = p0;
33046 fra.me.REG[1] = p1;
33047 /* parser/parser.nit:11896 */
33048 fra.me.REG[2] = NIT_NULL;
33049 /* parser/parser.nit:11897 */
33050 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33051 /* parser/parser.nit:11898 */
33052 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33053 /* parser/parser.nit:11899 */
33054 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33055 /* parser/parser.nit:11900 */
33056 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33057 /* parser/parser.nit:11902 */
33058 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*/;
33059 if (UNTAG_Bool(REGB0)) {
33060 } else {
33061 nit_abort("Assert failed", NULL, LOCATE_parser, 11902);
33062 }
33063 /* parser/parser.nit:11904 */
33064 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*/;
33065 if (UNTAG_Bool(REGB0)) {
33066 } else {
33067 nit_abort("Assert failed", NULL, LOCATE_parser, 11904);
33068 }
33069 /* parser/parser.nit:11906 */
33070 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*/;
33071 if (UNTAG_Bool(REGB0)) {
33072 } else {
33073 nit_abort("Assert failed", NULL, LOCATE_parser, 11906);
33074 }
33075 /* parser/parser.nit:11907 */
33076 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);
33077 /* parser/parser.nit:11914 */
33078 fra.me.REG[2] = fra.me.REG[3];
33079 /* parser/parser.nit:11915 */
33080 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33081 if (UNTAG_Bool(REGB0)) {
33082 } else {
33083 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11915);
33084 }
33085 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33086 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33087 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33088 stack_frame_head = fra.me.prev;
33089 return;
33090 }
33091 static const char LOCATE_parser___ReduceAction306___action[] = "parser::ReduceAction306::(parser::ReduceAction::action)";
33092 void parser___ReduceAction306___action(val_t p0, val_t p1){
33093 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33094 val_t REGB0;
33095 val_t tmp;
33096 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33097 fra.me.file = LOCATE_parser;
33098 fra.me.line = 11920;
33099 fra.me.meth = LOCATE_parser___ReduceAction306___action;
33100 fra.me.has_broke = 0;
33101 fra.me.REG_size = 7;
33102 fra.me.nitni_local_ref_head = NULL;
33103 fra.me.REG[0] = NIT_NULL;
33104 fra.me.REG[1] = NIT_NULL;
33105 fra.me.REG[2] = NIT_NULL;
33106 fra.me.REG[3] = NIT_NULL;
33107 fra.me.REG[4] = NIT_NULL;
33108 fra.me.REG[5] = NIT_NULL;
33109 fra.me.REG[6] = NIT_NULL;
33110 fra.me.REG[0] = p0;
33111 fra.me.REG[1] = p1;
33112 /* parser/parser.nit:11922 */
33113 fra.me.REG[2] = NIT_NULL;
33114 /* parser/parser.nit:11923 */
33115 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33116 /* parser/parser.nit:11924 */
33117 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33118 /* parser/parser.nit:11925 */
33119 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33120 /* parser/parser.nit:11926 */
33121 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33122 /* parser/parser.nit:11927 */
33123 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33124 /* parser/parser.nit:11929 */
33125 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*/;
33126 if (UNTAG_Bool(REGB0)) {
33127 } else {
33128 nit_abort("Assert failed", NULL, LOCATE_parser, 11929);
33129 }
33130 /* parser/parser.nit:11931 */
33131 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*/;
33132 if (UNTAG_Bool(REGB0)) {
33133 } else {
33134 nit_abort("Assert failed", NULL, LOCATE_parser, 11931);
33135 }
33136 /* parser/parser.nit:11933 */
33137 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*/;
33138 if (UNTAG_Bool(REGB0)) {
33139 } else {
33140 nit_abort("Assert failed", NULL, LOCATE_parser, 11933);
33141 }
33142 /* parser/parser.nit:11935 */
33143 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*/;
33144 if (UNTAG_Bool(REGB0)) {
33145 } else {
33146 nit_abort("Assert failed", NULL, LOCATE_parser, 11935);
33147 }
33148 /* parser/parser.nit:11936 */
33149 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);
33150 /* parser/parser.nit:11943 */
33151 fra.me.REG[2] = fra.me.REG[3];
33152 /* parser/parser.nit:11944 */
33153 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33154 if (UNTAG_Bool(REGB0)) {
33155 } else {
33156 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11944);
33157 }
33158 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33159 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33160 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33161 stack_frame_head = fra.me.prev;
33162 return;
33163 }
33164 static const char LOCATE_parser___ReduceAction307___action[] = "parser::ReduceAction307::(parser::ReduceAction::action)";
33165 void parser___ReduceAction307___action(val_t p0, val_t p1){
33166 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33167 val_t REGB0;
33168 val_t tmp;
33169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33170 fra.me.file = LOCATE_parser;
33171 fra.me.line = 11949;
33172 fra.me.meth = LOCATE_parser___ReduceAction307___action;
33173 fra.me.has_broke = 0;
33174 fra.me.REG_size = 7;
33175 fra.me.nitni_local_ref_head = NULL;
33176 fra.me.REG[0] = NIT_NULL;
33177 fra.me.REG[1] = NIT_NULL;
33178 fra.me.REG[2] = NIT_NULL;
33179 fra.me.REG[3] = NIT_NULL;
33180 fra.me.REG[4] = NIT_NULL;
33181 fra.me.REG[5] = NIT_NULL;
33182 fra.me.REG[6] = NIT_NULL;
33183 fra.me.REG[0] = p0;
33184 fra.me.REG[1] = p1;
33185 /* parser/parser.nit:11951 */
33186 fra.me.REG[2] = NIT_NULL;
33187 /* parser/parser.nit:11952 */
33188 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33189 /* parser/parser.nit:11953 */
33190 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33191 /* parser/parser.nit:11954 */
33192 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33193 /* parser/parser.nit:11955 */
33194 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33195 /* parser/parser.nit:11956 */
33196 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33197 /* parser/parser.nit:11957 */
33198 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33199 /* parser/parser.nit:11959 */
33200 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*/;
33201 if (UNTAG_Bool(REGB0)) {
33202 } else {
33203 nit_abort("Assert failed", NULL, LOCATE_parser, 11959);
33204 }
33205 /* parser/parser.nit:11961 */
33206 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*/;
33207 if (UNTAG_Bool(REGB0)) {
33208 } else {
33209 nit_abort("Assert failed", NULL, LOCATE_parser, 11961);
33210 }
33211 /* parser/parser.nit:11963 */
33212 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*/;
33213 if (UNTAG_Bool(REGB0)) {
33214 } else {
33215 nit_abort("Assert failed", NULL, LOCATE_parser, 11963);
33216 }
33217 /* parser/parser.nit:11965 */
33218 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*/;
33219 if (UNTAG_Bool(REGB0)) {
33220 } else {
33221 nit_abort("Assert failed", NULL, LOCATE_parser, 11965);
33222 }
33223 /* parser/parser.nit:11966 */
33224 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]);
33225 /* parser/parser.nit:11973 */
33226 fra.me.REG[2] = fra.me.REG[3];
33227 /* parser/parser.nit:11974 */
33228 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33229 if (UNTAG_Bool(REGB0)) {
33230 } else {
33231 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 11974);
33232 }
33233 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33234 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33235 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33236 stack_frame_head = fra.me.prev;
33237 return;
33238 }
33239 static const char LOCATE_parser___ReduceAction308___action[] = "parser::ReduceAction308::(parser::ReduceAction::action)";
33240 void parser___ReduceAction308___action(val_t p0, val_t p1){
33241 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
33242 val_t REGB0;
33243 val_t tmp;
33244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33245 fra.me.file = LOCATE_parser;
33246 fra.me.line = 11979;
33247 fra.me.meth = LOCATE_parser___ReduceAction308___action;
33248 fra.me.has_broke = 0;
33249 fra.me.REG_size = 8;
33250 fra.me.nitni_local_ref_head = NULL;
33251 fra.me.REG[0] = NIT_NULL;
33252 fra.me.REG[1] = NIT_NULL;
33253 fra.me.REG[2] = NIT_NULL;
33254 fra.me.REG[3] = NIT_NULL;
33255 fra.me.REG[4] = NIT_NULL;
33256 fra.me.REG[5] = NIT_NULL;
33257 fra.me.REG[6] = NIT_NULL;
33258 fra.me.REG[7] = NIT_NULL;
33259 fra.me.REG[0] = p0;
33260 fra.me.REG[1] = p1;
33261 /* parser/parser.nit:11981 */
33262 fra.me.REG[2] = NIT_NULL;
33263 /* parser/parser.nit:11982 */
33264 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33265 /* parser/parser.nit:11983 */
33266 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33267 /* parser/parser.nit:11984 */
33268 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33269 /* parser/parser.nit:11985 */
33270 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33271 /* parser/parser.nit:11986 */
33272 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33273 /* parser/parser.nit:11987 */
33274 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33275 /* parser/parser.nit:11988 */
33276 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33277 /* parser/parser.nit:11990 */
33278 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*/;
33279 if (UNTAG_Bool(REGB0)) {
33280 } else {
33281 nit_abort("Assert failed", NULL, LOCATE_parser, 11990);
33282 }
33283 /* parser/parser.nit:11992 */
33284 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*/;
33285 if (UNTAG_Bool(REGB0)) {
33286 } else {
33287 nit_abort("Assert failed", NULL, LOCATE_parser, 11992);
33288 }
33289 /* parser/parser.nit:11994 */
33290 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*/;
33291 if (UNTAG_Bool(REGB0)) {
33292 } else {
33293 nit_abort("Assert failed", NULL, LOCATE_parser, 11994);
33294 }
33295 /* parser/parser.nit:11996 */
33296 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*/;
33297 if (UNTAG_Bool(REGB0)) {
33298 } else {
33299 nit_abort("Assert failed", NULL, LOCATE_parser, 11996);
33300 }
33301 /* parser/parser.nit:11998 */
33302 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*/;
33303 if (UNTAG_Bool(REGB0)) {
33304 } else {
33305 nit_abort("Assert failed", NULL, LOCATE_parser, 11998);
33306 }
33307 /* parser/parser.nit:11999 */
33308 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]);
33309 /* parser/parser.nit:12006 */
33310 fra.me.REG[2] = fra.me.REG[3];
33311 /* parser/parser.nit:12007 */
33312 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33313 if (UNTAG_Bool(REGB0)) {
33314 } else {
33315 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12007);
33316 }
33317 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33318 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33319 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33320 stack_frame_head = fra.me.prev;
33321 return;
33322 }
33323 static const char LOCATE_parser___ReduceAction309___action[] = "parser::ReduceAction309::(parser::ReduceAction::action)";
33324 void parser___ReduceAction309___action(val_t p0, val_t p1){
33325 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33326 val_t REGB0;
33327 val_t tmp;
33328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33329 fra.me.file = LOCATE_parser;
33330 fra.me.line = 12012;
33331 fra.me.meth = LOCATE_parser___ReduceAction309___action;
33332 fra.me.has_broke = 0;
33333 fra.me.REG_size = 7;
33334 fra.me.nitni_local_ref_head = NULL;
33335 fra.me.REG[0] = NIT_NULL;
33336 fra.me.REG[1] = NIT_NULL;
33337 fra.me.REG[2] = NIT_NULL;
33338 fra.me.REG[3] = NIT_NULL;
33339 fra.me.REG[4] = NIT_NULL;
33340 fra.me.REG[5] = NIT_NULL;
33341 fra.me.REG[6] = NIT_NULL;
33342 fra.me.REG[0] = p0;
33343 fra.me.REG[1] = p1;
33344 /* parser/parser.nit:12014 */
33345 fra.me.REG[2] = NIT_NULL;
33346 /* parser/parser.nit:12015 */
33347 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33348 /* parser/parser.nit:12016 */
33349 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33350 /* parser/parser.nit:12017 */
33351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33352 /* parser/parser.nit:12018 */
33353 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33354 /* parser/parser.nit:12019 */
33355 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33356 /* parser/parser.nit:12020 */
33357 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33358 /* parser/parser.nit:12021 */
33359 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33360 /* parser/parser.nit:12023 */
33361 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*/;
33362 if (UNTAG_Bool(REGB0)) {
33363 } else {
33364 nit_abort("Assert failed", NULL, LOCATE_parser, 12023);
33365 }
33366 /* parser/parser.nit:12025 */
33367 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*/;
33368 if (UNTAG_Bool(REGB0)) {
33369 } else {
33370 nit_abort("Assert failed", NULL, LOCATE_parser, 12025);
33371 }
33372 /* parser/parser.nit:12027 */
33373 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*/;
33374 if (UNTAG_Bool(REGB0)) {
33375 } else {
33376 nit_abort("Assert failed", NULL, LOCATE_parser, 12027);
33377 }
33378 /* parser/parser.nit:12029 */
33379 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*/;
33380 if (UNTAG_Bool(REGB0)) {
33381 } else {
33382 nit_abort("Assert failed", NULL, LOCATE_parser, 12029);
33383 }
33384 /* parser/parser.nit:12030 */
33385 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]);
33386 /* parser/parser.nit:12037 */
33387 fra.me.REG[2] = fra.me.REG[3];
33388 /* parser/parser.nit:12038 */
33389 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33390 if (UNTAG_Bool(REGB0)) {
33391 } else {
33392 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12038);
33393 }
33394 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33395 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33396 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33397 stack_frame_head = fra.me.prev;
33398 return;
33399 }
33400 static const char LOCATE_parser___ReduceAction310___action[] = "parser::ReduceAction310::(parser::ReduceAction::action)";
33401 void parser___ReduceAction310___action(val_t p0, val_t p1){
33402 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
33403 val_t REGB0;
33404 val_t tmp;
33405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33406 fra.me.file = LOCATE_parser;
33407 fra.me.line = 12043;
33408 fra.me.meth = LOCATE_parser___ReduceAction310___action;
33409 fra.me.has_broke = 0;
33410 fra.me.REG_size = 8;
33411 fra.me.nitni_local_ref_head = NULL;
33412 fra.me.REG[0] = NIT_NULL;
33413 fra.me.REG[1] = NIT_NULL;
33414 fra.me.REG[2] = NIT_NULL;
33415 fra.me.REG[3] = NIT_NULL;
33416 fra.me.REG[4] = NIT_NULL;
33417 fra.me.REG[5] = NIT_NULL;
33418 fra.me.REG[6] = NIT_NULL;
33419 fra.me.REG[7] = NIT_NULL;
33420 fra.me.REG[0] = p0;
33421 fra.me.REG[1] = p1;
33422 /* parser/parser.nit:12045 */
33423 fra.me.REG[2] = NIT_NULL;
33424 /* parser/parser.nit:12046 */
33425 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33426 /* parser/parser.nit:12047 */
33427 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33428 /* parser/parser.nit:12048 */
33429 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33430 /* parser/parser.nit:12049 */
33431 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33432 /* parser/parser.nit:12050 */
33433 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33434 /* parser/parser.nit:12051 */
33435 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33436 /* parser/parser.nit:12052 */
33437 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33438 /* parser/parser.nit:12053 */
33439 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33440 /* parser/parser.nit:12055 */
33441 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*/;
33442 if (UNTAG_Bool(REGB0)) {
33443 } else {
33444 nit_abort("Assert failed", NULL, LOCATE_parser, 12055);
33445 }
33446 /* parser/parser.nit:12057 */
33447 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*/;
33448 if (UNTAG_Bool(REGB0)) {
33449 } else {
33450 nit_abort("Assert failed", NULL, LOCATE_parser, 12057);
33451 }
33452 /* parser/parser.nit:12059 */
33453 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*/;
33454 if (UNTAG_Bool(REGB0)) {
33455 } else {
33456 nit_abort("Assert failed", NULL, LOCATE_parser, 12059);
33457 }
33458 /* parser/parser.nit:12061 */
33459 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*/;
33460 if (UNTAG_Bool(REGB0)) {
33461 } else {
33462 nit_abort("Assert failed", NULL, LOCATE_parser, 12061);
33463 }
33464 /* parser/parser.nit:12063 */
33465 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*/;
33466 if (UNTAG_Bool(REGB0)) {
33467 } else {
33468 nit_abort("Assert failed", NULL, LOCATE_parser, 12063);
33469 }
33470 /* parser/parser.nit:12064 */
33471 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]);
33472 /* parser/parser.nit:12071 */
33473 fra.me.REG[2] = fra.me.REG[3];
33474 /* parser/parser.nit:12072 */
33475 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33476 if (UNTAG_Bool(REGB0)) {
33477 } else {
33478 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12072);
33479 }
33480 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33481 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33482 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33483 stack_frame_head = fra.me.prev;
33484 return;
33485 }
33486 static const char LOCATE_parser___ReduceAction311___action[] = "parser::ReduceAction311::(parser::ReduceAction::action)";
33487 void parser___ReduceAction311___action(val_t p0, val_t p1){
33488 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33489 val_t REGB0;
33490 val_t tmp;
33491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33492 fra.me.file = LOCATE_parser;
33493 fra.me.line = 12077;
33494 fra.me.meth = LOCATE_parser___ReduceAction311___action;
33495 fra.me.has_broke = 0;
33496 fra.me.REG_size = 4;
33497 fra.me.nitni_local_ref_head = NULL;
33498 fra.me.REG[0] = NIT_NULL;
33499 fra.me.REG[1] = NIT_NULL;
33500 fra.me.REG[2] = NIT_NULL;
33501 fra.me.REG[3] = NIT_NULL;
33502 fra.me.REG[0] = p0;
33503 fra.me.REG[1] = p1;
33504 /* parser/parser.nit:12079 */
33505 fra.me.REG[2] = NIT_NULL;
33506 /* parser/parser.nit:12080 */
33507 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33508 /* parser/parser.nit:12082 */
33509 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*/;
33510 if (UNTAG_Bool(REGB0)) {
33511 } else {
33512 nit_abort("Assert failed", NULL, LOCATE_parser, 12082);
33513 }
33514 /* parser/parser.nit:12083 */
33515 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(NIT_NULL, fra.me.REG[3]);
33516 /* parser/parser.nit:12087 */
33517 fra.me.REG[2] = fra.me.REG[3];
33518 /* parser/parser.nit:12088 */
33519 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33520 if (UNTAG_Bool(REGB0)) {
33521 } else {
33522 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12088);
33523 }
33524 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33525 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33526 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33527 stack_frame_head = fra.me.prev;
33528 return;
33529 }
33530 static const char LOCATE_parser___ReduceAction312___action[] = "parser::ReduceAction312::(parser::ReduceAction::action)";
33531 void parser___ReduceAction312___action(val_t p0, val_t p1){
33532 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33533 val_t REGB0;
33534 val_t REGB1;
33535 val_t tmp;
33536 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33537 fra.me.file = LOCATE_parser;
33538 fra.me.line = 12093;
33539 fra.me.meth = LOCATE_parser___ReduceAction312___action;
33540 fra.me.has_broke = 0;
33541 fra.me.REG_size = 6;
33542 fra.me.nitni_local_ref_head = NULL;
33543 fra.me.REG[0] = NIT_NULL;
33544 fra.me.REG[1] = NIT_NULL;
33545 fra.me.REG[2] = NIT_NULL;
33546 fra.me.REG[3] = NIT_NULL;
33547 fra.me.REG[4] = NIT_NULL;
33548 fra.me.REG[5] = NIT_NULL;
33549 fra.me.REG[0] = p0;
33550 fra.me.REG[1] = p1;
33551 /* parser/parser.nit:12095 */
33552 fra.me.REG[2] = NIT_NULL;
33553 /* parser/parser.nit:12096 */
33554 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33555 /* parser/parser.nit:12097 */
33556 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33557 /* parser/parser.nit:12098 */
33558 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33559 /* parser/parser.nit:12099 */
33560 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
33561 /* parser/parser.nit:12101 */
33562 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*/;
33563 if (UNTAG_Bool(REGB0)) {
33564 } else {
33565 nit_abort("Assert failed", NULL, LOCATE_parser, 12101);
33566 }
33567 /* parser/parser.nit:12103 */
33568 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExternCall, ID_parser___parser_nodes___AExternCall)) /*cast nullable AExternCall*/;
33569 if (UNTAG_Bool(REGB0)) {
33570 } else {
33571 nit_abort("Assert failed", NULL, LOCATE_parser, 12103);
33572 }
33573 /* parser/parser.nit:12104 */
33574 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
33575 if (UNTAG_Bool(REGB0)) {
33576 } else {
33577 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
33578 if (UNTAG_Bool(REGB1)) {
33579 REGB1 = TAG_Bool(0);
33580 REGB0 = REGB1;
33581 } else {
33582 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
33583 REGB0 = REGB1;
33584 }
33585 }
33586 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33587 if (UNTAG_Bool(REGB0)) {
33588 /* parser/parser.nit:12105 */
33589 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
33590 }
33591 /* parser/parser.nit:12107 */
33592 fra.me.REG[5] = NEW_AExternCalls_parser___parser_prod___AExternCalls___init_aexterncalls(fra.me.REG[4], fra.me.REG[5]);
33593 /* parser/parser.nit:12111 */
33594 fra.me.REG[2] = fra.me.REG[5];
33595 /* parser/parser.nit:12112 */
33596 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33597 if (UNTAG_Bool(REGB0)) {
33598 } else {
33599 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12112);
33600 }
33601 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33602 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33603 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33604 stack_frame_head = fra.me.prev;
33605 return;
33606 }
33607 static const char LOCATE_parser___ReduceAction313___action[] = "parser::ReduceAction313::(parser::ReduceAction::action)";
33608 void parser___ReduceAction313___action(val_t p0, val_t p1){
33609 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
33610 val_t REGB0;
33611 val_t REGB1;
33612 val_t tmp;
33613 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33614 fra.me.file = LOCATE_parser;
33615 fra.me.line = 12117;
33616 fra.me.meth = LOCATE_parser___ReduceAction313___action;
33617 fra.me.has_broke = 0;
33618 fra.me.REG_size = 7;
33619 fra.me.nitni_local_ref_head = NULL;
33620 fra.me.REG[0] = NIT_NULL;
33621 fra.me.REG[1] = NIT_NULL;
33622 fra.me.REG[2] = NIT_NULL;
33623 fra.me.REG[3] = NIT_NULL;
33624 fra.me.REG[4] = NIT_NULL;
33625 fra.me.REG[5] = NIT_NULL;
33626 fra.me.REG[6] = NIT_NULL;
33627 fra.me.REG[0] = p0;
33628 fra.me.REG[1] = p1;
33629 /* parser/parser.nit:12119 */
33630 fra.me.REG[2] = NIT_NULL;
33631 /* parser/parser.nit:12120 */
33632 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33633 /* parser/parser.nit:12121 */
33634 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33635 /* parser/parser.nit:12122 */
33636 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33637 /* parser/parser.nit:12123 */
33638 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33639 /* parser/parser.nit:12124 */
33640 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
33641 /* parser/parser.nit:12126 */
33642 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwimport, ID_parser___parser_nodes___TKwimport)) /*cast nullable TKwimport*/;
33643 if (UNTAG_Bool(REGB0)) {
33644 } else {
33645 nit_abort("Assert failed", NULL, LOCATE_parser, 12126);
33646 }
33647 /* parser/parser.nit:12128 */
33648 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExternCall, ID_parser___parser_nodes___AExternCall)) /*cast nullable AExternCall*/;
33649 if (UNTAG_Bool(REGB0)) {
33650 } else {
33651 nit_abort("Assert failed", NULL, LOCATE_parser, 12128);
33652 }
33653 /* parser/parser.nit:12130 */
33654 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]*/;
33655 if (UNTAG_Bool(REGB0)) {
33656 } else {
33657 nit_abort("Assert failed", NULL, LOCATE_parser, 12130);
33658 }
33659 /* parser/parser.nit:12131 */
33660 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
33661 if (UNTAG_Bool(REGB0)) {
33662 } else {
33663 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
33664 if (UNTAG_Bool(REGB1)) {
33665 REGB1 = TAG_Bool(0);
33666 REGB0 = REGB1;
33667 } else {
33668 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
33669 REGB0 = REGB1;
33670 }
33671 }
33672 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33673 if (UNTAG_Bool(REGB0)) {
33674 /* parser/parser.nit:12132 */
33675 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
33676 }
33677 /* parser/parser.nit:12134 */
33678 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
33679 fra.me.REG[6] = fra.me.REG[3];
33680 /* parser/parser.nit:12135 */
33681 fra.me.REG[6] = NEW_AExternCalls_parser___parser_prod___AExternCalls___init_aexterncalls(fra.me.REG[5], fra.me.REG[6]);
33682 /* parser/parser.nit:12139 */
33683 fra.me.REG[2] = fra.me.REG[6];
33684 /* parser/parser.nit:12140 */
33685 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33686 if (UNTAG_Bool(REGB0)) {
33687 } else {
33688 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12140);
33689 }
33690 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33691 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33692 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33693 stack_frame_head = fra.me.prev;
33694 return;
33695 }
33696 static const char LOCATE_parser___ReduceAction314___action[] = "parser::ReduceAction314::(parser::ReduceAction::action)";
33697 void parser___ReduceAction314___action(val_t p0, val_t p1){
33698 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
33699 val_t REGB0;
33700 val_t tmp;
33701 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33702 fra.me.file = LOCATE_parser;
33703 fra.me.line = 12145;
33704 fra.me.meth = LOCATE_parser___ReduceAction314___action;
33705 fra.me.has_broke = 0;
33706 fra.me.REG_size = 5;
33707 fra.me.nitni_local_ref_head = NULL;
33708 fra.me.REG[0] = NIT_NULL;
33709 fra.me.REG[1] = NIT_NULL;
33710 fra.me.REG[2] = NIT_NULL;
33711 fra.me.REG[3] = NIT_NULL;
33712 fra.me.REG[4] = NIT_NULL;
33713 fra.me.REG[0] = p0;
33714 fra.me.REG[1] = p1;
33715 /* parser/parser.nit:12147 */
33716 fra.me.REG[2] = NIT_NULL;
33717 /* parser/parser.nit:12148 */
33718 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33719 /* parser/parser.nit:12149 */
33720 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33721 /* parser/parser.nit:12150 */
33722 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33723 /* parser/parser.nit:12152 */
33724 fra.me.REG[2] = fra.me.REG[3];
33725 /* parser/parser.nit:12153 */
33726 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33727 if (UNTAG_Bool(REGB0)) {
33728 } else {
33729 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12153);
33730 }
33731 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33732 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33733 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33734 stack_frame_head = fra.me.prev;
33735 return;
33736 }
33737 static const char LOCATE_parser___ReduceAction315___action[] = "parser::ReduceAction315::(parser::ReduceAction::action)";
33738 void parser___ReduceAction315___action(val_t p0, val_t p1){
33739 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33740 val_t REGB0;
33741 val_t tmp;
33742 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33743 fra.me.file = LOCATE_parser;
33744 fra.me.line = 12158;
33745 fra.me.meth = LOCATE_parser___ReduceAction315___action;
33746 fra.me.has_broke = 0;
33747 fra.me.REG_size = 4;
33748 fra.me.nitni_local_ref_head = NULL;
33749 fra.me.REG[0] = NIT_NULL;
33750 fra.me.REG[1] = NIT_NULL;
33751 fra.me.REG[2] = NIT_NULL;
33752 fra.me.REG[3] = NIT_NULL;
33753 fra.me.REG[0] = p0;
33754 fra.me.REG[1] = p1;
33755 /* parser/parser.nit:12160 */
33756 fra.me.REG[2] = NIT_NULL;
33757 /* parser/parser.nit:12161 */
33758 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33759 /* parser/parser.nit:12163 */
33760 fra.me.REG[2] = fra.me.REG[3];
33761 /* parser/parser.nit:12164 */
33762 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33763 if (UNTAG_Bool(REGB0)) {
33764 } else {
33765 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12164);
33766 }
33767 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33768 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33769 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33770 stack_frame_head = fra.me.prev;
33771 return;
33772 }
33773 static const char LOCATE_parser___ReduceAction317___action[] = "parser::ReduceAction317::(parser::ReduceAction::action)";
33774 void parser___ReduceAction317___action(val_t p0, val_t p1){
33775 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33776 val_t REGB0;
33777 val_t tmp;
33778 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33779 fra.me.file = LOCATE_parser;
33780 fra.me.line = 12169;
33781 fra.me.meth = LOCATE_parser___ReduceAction317___action;
33782 fra.me.has_broke = 0;
33783 fra.me.REG_size = 4;
33784 fra.me.nitni_local_ref_head = NULL;
33785 fra.me.REG[0] = NIT_NULL;
33786 fra.me.REG[1] = NIT_NULL;
33787 fra.me.REG[2] = NIT_NULL;
33788 fra.me.REG[3] = NIT_NULL;
33789 fra.me.REG[0] = p0;
33790 fra.me.REG[1] = p1;
33791 /* parser/parser.nit:12171 */
33792 fra.me.REG[2] = NIT_NULL;
33793 /* parser/parser.nit:12172 */
33794 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33795 /* parser/parser.nit:12174 */
33796 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwsuper, ID_parser___parser_nodes___TKwsuper)) /*cast nullable TKwsuper*/;
33797 if (UNTAG_Bool(REGB0)) {
33798 } else {
33799 nit_abort("Assert failed", NULL, LOCATE_parser, 12174);
33800 }
33801 /* parser/parser.nit:12175 */
33802 fra.me.REG[3] = NEW_ASuperExternCall_parser___parser_prod___ASuperExternCall___init_asuperexterncall(fra.me.REG[3]);
33803 /* parser/parser.nit:12178 */
33804 fra.me.REG[2] = fra.me.REG[3];
33805 /* parser/parser.nit:12179 */
33806 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33807 if (UNTAG_Bool(REGB0)) {
33808 } else {
33809 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12179);
33810 }
33811 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33812 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33813 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33814 stack_frame_head = fra.me.prev;
33815 return;
33816 }
33817 static const char LOCATE_parser___ReduceAction318___action[] = "parser::ReduceAction318::(parser::ReduceAction::action)";
33818 void parser___ReduceAction318___action(val_t p0, val_t p1){
33819 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33820 val_t REGB0;
33821 val_t tmp;
33822 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33823 fra.me.file = LOCATE_parser;
33824 fra.me.line = 12184;
33825 fra.me.meth = LOCATE_parser___ReduceAction318___action;
33826 fra.me.has_broke = 0;
33827 fra.me.REG_size = 4;
33828 fra.me.nitni_local_ref_head = NULL;
33829 fra.me.REG[0] = NIT_NULL;
33830 fra.me.REG[1] = NIT_NULL;
33831 fra.me.REG[2] = NIT_NULL;
33832 fra.me.REG[3] = NIT_NULL;
33833 fra.me.REG[0] = p0;
33834 fra.me.REG[1] = p1;
33835 /* parser/parser.nit:12186 */
33836 fra.me.REG[2] = NIT_NULL;
33837 /* parser/parser.nit:12187 */
33838 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33839 /* parser/parser.nit:12189 */
33840 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
33841 if (UNTAG_Bool(REGB0)) {
33842 } else {
33843 nit_abort("Assert failed", NULL, LOCATE_parser, 12189);
33844 }
33845 /* parser/parser.nit:12190 */
33846 fra.me.REG[3] = NEW_ALocalPropExternCall_parser___parser_prod___ALocalPropExternCall___init_alocalpropexterncall(fra.me.REG[3]);
33847 /* parser/parser.nit:12193 */
33848 fra.me.REG[2] = fra.me.REG[3];
33849 /* parser/parser.nit:12194 */
33850 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33851 if (UNTAG_Bool(REGB0)) {
33852 } else {
33853 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12194);
33854 }
33855 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33856 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33857 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33858 stack_frame_head = fra.me.prev;
33859 return;
33860 }
33861 static const char LOCATE_parser___ReduceAction319___action[] = "parser::ReduceAction319::(parser::ReduceAction::action)";
33862 void parser___ReduceAction319___action(val_t p0, val_t p1){
33863 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33864 val_t REGB0;
33865 val_t tmp;
33866 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33867 fra.me.file = LOCATE_parser;
33868 fra.me.line = 12199;
33869 fra.me.meth = LOCATE_parser___ReduceAction319___action;
33870 fra.me.has_broke = 0;
33871 fra.me.REG_size = 6;
33872 fra.me.nitni_local_ref_head = NULL;
33873 fra.me.REG[0] = NIT_NULL;
33874 fra.me.REG[1] = NIT_NULL;
33875 fra.me.REG[2] = NIT_NULL;
33876 fra.me.REG[3] = NIT_NULL;
33877 fra.me.REG[4] = NIT_NULL;
33878 fra.me.REG[5] = NIT_NULL;
33879 fra.me.REG[0] = p0;
33880 fra.me.REG[1] = p1;
33881 /* parser/parser.nit:12201 */
33882 fra.me.REG[2] = NIT_NULL;
33883 /* parser/parser.nit:12202 */
33884 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33885 /* parser/parser.nit:12203 */
33886 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33887 /* parser/parser.nit:12204 */
33888 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33889 /* parser/parser.nit:12206 */
33890 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*/;
33891 if (UNTAG_Bool(REGB0)) {
33892 } else {
33893 nit_abort("Assert failed", NULL, LOCATE_parser, 12206);
33894 }
33895 /* parser/parser.nit:12208 */
33896 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*/;
33897 if (UNTAG_Bool(REGB0)) {
33898 } else {
33899 nit_abort("Assert failed", NULL, LOCATE_parser, 12208);
33900 }
33901 /* parser/parser.nit:12210 */
33902 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AMethid, ID_parser___parser_nodes___AMethid)) /*cast nullable AMethid*/;
33903 if (UNTAG_Bool(REGB0)) {
33904 } else {
33905 nit_abort("Assert failed", NULL, LOCATE_parser, 12210);
33906 }
33907 /* parser/parser.nit:12211 */
33908 fra.me.REG[3] = NEW_AFullPropExternCall_parser___parser_prod___AFullPropExternCall___init_afullpropexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
33909 /* parser/parser.nit:12216 */
33910 fra.me.REG[2] = fra.me.REG[3];
33911 /* parser/parser.nit:12217 */
33912 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33913 if (UNTAG_Bool(REGB0)) {
33914 } else {
33915 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12217);
33916 }
33917 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33918 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33919 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33920 stack_frame_head = fra.me.prev;
33921 return;
33922 }
33923 static const char LOCATE_parser___ReduceAction320___action[] = "parser::ReduceAction320::(parser::ReduceAction::action)";
33924 void parser___ReduceAction320___action(val_t p0, val_t p1){
33925 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33926 val_t REGB0;
33927 val_t tmp;
33928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33929 fra.me.file = LOCATE_parser;
33930 fra.me.line = 12222;
33931 fra.me.meth = LOCATE_parser___ReduceAction320___action;
33932 fra.me.has_broke = 0;
33933 fra.me.REG_size = 4;
33934 fra.me.nitni_local_ref_head = NULL;
33935 fra.me.REG[0] = NIT_NULL;
33936 fra.me.REG[1] = NIT_NULL;
33937 fra.me.REG[2] = NIT_NULL;
33938 fra.me.REG[3] = NIT_NULL;
33939 fra.me.REG[0] = p0;
33940 fra.me.REG[1] = p1;
33941 /* parser/parser.nit:12224 */
33942 fra.me.REG[2] = NIT_NULL;
33943 /* parser/parser.nit:12225 */
33944 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33945 /* parser/parser.nit:12227 */
33946 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*/;
33947 if (UNTAG_Bool(REGB0)) {
33948 } else {
33949 nit_abort("Assert failed", NULL, LOCATE_parser, 12227);
33950 }
33951 /* parser/parser.nit:12228 */
33952 fra.me.REG[3] = NEW_AInitPropExternCall_parser___parser_prod___AInitPropExternCall___init_ainitpropexterncall(fra.me.REG[3]);
33953 /* parser/parser.nit:12231 */
33954 fra.me.REG[2] = fra.me.REG[3];
33955 /* parser/parser.nit:12232 */
33956 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
33957 if (UNTAG_Bool(REGB0)) {
33958 } else {
33959 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12232);
33960 }
33961 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
33962 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
33963 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
33964 stack_frame_head = fra.me.prev;
33965 return;
33966 }
33967 static const char LOCATE_parser___ReduceAction321___action[] = "parser::ReduceAction321::(parser::ReduceAction::action)";
33968 void parser___ReduceAction321___action(val_t p0, val_t p1){
33969 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
33970 val_t REGB0;
33971 val_t tmp;
33972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33973 fra.me.file = LOCATE_parser;
33974 fra.me.line = 12237;
33975 fra.me.meth = LOCATE_parser___ReduceAction321___action;
33976 fra.me.has_broke = 0;
33977 fra.me.REG_size = 6;
33978 fra.me.nitni_local_ref_head = NULL;
33979 fra.me.REG[0] = NIT_NULL;
33980 fra.me.REG[1] = NIT_NULL;
33981 fra.me.REG[2] = NIT_NULL;
33982 fra.me.REG[3] = NIT_NULL;
33983 fra.me.REG[4] = NIT_NULL;
33984 fra.me.REG[5] = NIT_NULL;
33985 fra.me.REG[0] = p0;
33986 fra.me.REG[1] = p1;
33987 /* parser/parser.nit:12239 */
33988 fra.me.REG[2] = NIT_NULL;
33989 /* parser/parser.nit:12240 */
33990 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33991 /* parser/parser.nit:12241 */
33992 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33993 /* parser/parser.nit:12242 */
33994 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33995 /* parser/parser.nit:12243 */
33996 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33997 /* parser/parser.nit:12244 */
33998 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
33999 /* parser/parser.nit:12245 */
34000 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34001 /* parser/parser.nit:12246 */
34002 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34003 /* parser/parser.nit:12247 */
34004 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34005 /* parser/parser.nit:12249 */
34006 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*/;
34007 if (UNTAG_Bool(REGB0)) {
34008 } else {
34009 nit_abort("Assert failed", NULL, LOCATE_parser, 12249);
34010 }
34011 /* parser/parser.nit:12251 */
34012 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*/;
34013 if (UNTAG_Bool(REGB0)) {
34014 } else {
34015 nit_abort("Assert failed", NULL, LOCATE_parser, 12251);
34016 }
34017 /* parser/parser.nit:12253 */
34018 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*/;
34019 if (UNTAG_Bool(REGB0)) {
34020 } else {
34021 nit_abort("Assert failed", NULL, LOCATE_parser, 12253);
34022 }
34023 /* parser/parser.nit:12254 */
34024 fra.me.REG[3] = NEW_ACastAsExternCall_parser___parser_prod___ACastAsExternCall___init_acastasexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34025 /* parser/parser.nit:12259 */
34026 fra.me.REG[2] = fra.me.REG[3];
34027 /* parser/parser.nit:12260 */
34028 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34029 if (UNTAG_Bool(REGB0)) {
34030 } else {
34031 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12260);
34032 }
34033 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34034 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34035 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34036 stack_frame_head = fra.me.prev;
34037 return;
34038 }
34039 static const char LOCATE_parser___ReduceAction322___action[] = "parser::ReduceAction322::(parser::ReduceAction::action)";
34040 void parser___ReduceAction322___action(val_t p0, val_t p1){
34041 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34042 val_t REGB0;
34043 val_t tmp;
34044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34045 fra.me.file = LOCATE_parser;
34046 fra.me.line = 12265;
34047 fra.me.meth = LOCATE_parser___ReduceAction322___action;
34048 fra.me.has_broke = 0;
34049 fra.me.REG_size = 6;
34050 fra.me.nitni_local_ref_head = NULL;
34051 fra.me.REG[0] = NIT_NULL;
34052 fra.me.REG[1] = NIT_NULL;
34053 fra.me.REG[2] = NIT_NULL;
34054 fra.me.REG[3] = NIT_NULL;
34055 fra.me.REG[4] = NIT_NULL;
34056 fra.me.REG[5] = NIT_NULL;
34057 fra.me.REG[0] = p0;
34058 fra.me.REG[1] = p1;
34059 /* parser/parser.nit:12267 */
34060 fra.me.REG[2] = NIT_NULL;
34061 /* parser/parser.nit:12268 */
34062 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34063 /* parser/parser.nit:12269 */
34064 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34065 /* parser/parser.nit:12270 */
34066 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34067 /* parser/parser.nit:12271 */
34068 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34069 /* parser/parser.nit:12273 */
34070 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*/;
34071 if (UNTAG_Bool(REGB0)) {
34072 } else {
34073 nit_abort("Assert failed", NULL, LOCATE_parser, 12273);
34074 }
34075 /* parser/parser.nit:12275 */
34076 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*/;
34077 if (UNTAG_Bool(REGB0)) {
34078 } else {
34079 nit_abort("Assert failed", NULL, LOCATE_parser, 12275);
34080 }
34081 /* parser/parser.nit:12277 */
34082 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
34083 if (UNTAG_Bool(REGB0)) {
34084 } else {
34085 nit_abort("Assert failed", NULL, LOCATE_parser, 12277);
34086 }
34087 /* parser/parser.nit:12278 */
34088 fra.me.REG[3] = NEW_AAsNullableExternCall_parser___parser_prod___AAsNullableExternCall___init_aasnullableexterncall(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34089 /* parser/parser.nit:12283 */
34090 fra.me.REG[2] = fra.me.REG[3];
34091 /* parser/parser.nit:12284 */
34092 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34093 if (UNTAG_Bool(REGB0)) {
34094 } else {
34095 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12284);
34096 }
34097 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34098 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34099 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34100 stack_frame_head = fra.me.prev;
34101 return;
34102 }
34103 static const char LOCATE_parser___ReduceAction323___action[] = "parser::ReduceAction323::(parser::ReduceAction::action)";
34104 void parser___ReduceAction323___action(val_t p0, val_t p1){
34105 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
34106 val_t REGB0;
34107 val_t tmp;
34108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34109 fra.me.file = LOCATE_parser;
34110 fra.me.line = 12289;
34111 fra.me.meth = LOCATE_parser___ReduceAction323___action;
34112 fra.me.has_broke = 0;
34113 fra.me.REG_size = 7;
34114 fra.me.nitni_local_ref_head = NULL;
34115 fra.me.REG[0] = NIT_NULL;
34116 fra.me.REG[1] = NIT_NULL;
34117 fra.me.REG[2] = NIT_NULL;
34118 fra.me.REG[3] = NIT_NULL;
34119 fra.me.REG[4] = NIT_NULL;
34120 fra.me.REG[5] = NIT_NULL;
34121 fra.me.REG[6] = NIT_NULL;
34122 fra.me.REG[0] = p0;
34123 fra.me.REG[1] = p1;
34124 /* parser/parser.nit:12291 */
34125 fra.me.REG[2] = NIT_NULL;
34126 /* parser/parser.nit:12292 */
34127 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34128 /* parser/parser.nit:12293 */
34129 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34130 /* parser/parser.nit:12294 */
34131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34132 /* parser/parser.nit:12295 */
34133 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34134 /* parser/parser.nit:12296 */
34135 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34136 /* parser/parser.nit:12297 */
34137 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34138 /* parser/parser.nit:12299 */
34139 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___AType, ID_parser___parser_nodes___AType)) /*cast nullable AType*/;
34140 if (UNTAG_Bool(REGB0)) {
34141 } else {
34142 nit_abort("Assert failed", NULL, LOCATE_parser, 12299);
34143 }
34144 /* parser/parser.nit:12301 */
34145 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*/;
34146 if (UNTAG_Bool(REGB0)) {
34147 } else {
34148 nit_abort("Assert failed", NULL, LOCATE_parser, 12301);
34149 }
34150 /* parser/parser.nit:12303 */
34151 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*/;
34152 if (UNTAG_Bool(REGB0)) {
34153 } else {
34154 nit_abort("Assert failed", NULL, LOCATE_parser, 12303);
34155 }
34156 /* parser/parser.nit:12305 */
34157 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TKwnullable, ID_parser___parser_nodes___TKwnullable)) /*cast nullable TKwnullable*/;
34158 if (UNTAG_Bool(REGB0)) {
34159 } else {
34160 nit_abort("Assert failed", NULL, LOCATE_parser, 12305);
34161 }
34162 /* parser/parser.nit:12306 */
34163 fra.me.REG[3] = NEW_AAsNotNullableExternCall_parser___parser_prod___AAsNotNullableExternCall___init_aasnotnullableexterncall(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
34164 /* parser/parser.nit:12312 */
34165 fra.me.REG[2] = fra.me.REG[3];
34166 /* parser/parser.nit:12313 */
34167 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34168 if (UNTAG_Bool(REGB0)) {
34169 } else {
34170 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12313);
34171 }
34172 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34173 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34174 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34175 stack_frame_head = fra.me.prev;
34176 return;
34177 }
34178 static const char LOCATE_parser___ReduceAction324___action[] = "parser::ReduceAction324::(parser::ReduceAction::action)";
34179 void parser___ReduceAction324___action(val_t p0, val_t p1){
34180 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34181 val_t REGB0;
34182 val_t tmp;
34183 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34184 fra.me.file = LOCATE_parser;
34185 fra.me.line = 12318;
34186 fra.me.meth = LOCATE_parser___ReduceAction324___action;
34187 fra.me.has_broke = 0;
34188 fra.me.REG_size = 5;
34189 fra.me.nitni_local_ref_head = NULL;
34190 fra.me.REG[0] = NIT_NULL;
34191 fra.me.REG[1] = NIT_NULL;
34192 fra.me.REG[2] = NIT_NULL;
34193 fra.me.REG[3] = NIT_NULL;
34194 fra.me.REG[4] = NIT_NULL;
34195 fra.me.REG[0] = p0;
34196 fra.me.REG[1] = p1;
34197 /* parser/parser.nit:12320 */
34198 fra.me.REG[2] = NIT_NULL;
34199 /* parser/parser.nit:12321 */
34200 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34201 /* parser/parser.nit:12322 */
34202 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34203 /* parser/parser.nit:12324 */
34204 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwin, ID_parser___parser_nodes___TKwin)) /*cast nullable TKwin*/;
34205 if (UNTAG_Bool(REGB0)) {
34206 } else {
34207 nit_abort("Assert failed", NULL, LOCATE_parser, 12324);
34208 }
34209 /* parser/parser.nit:12326 */
34210 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*/;
34211 if (UNTAG_Bool(REGB0)) {
34212 } else {
34213 nit_abort("Assert failed", NULL, LOCATE_parser, 12326);
34214 }
34215 /* parser/parser.nit:12327 */
34216 fra.me.REG[3] = NEW_AInLanguage_parser___parser_prod___AInLanguage___init_ainlanguage(fra.me.REG[4], fra.me.REG[3]);
34217 /* parser/parser.nit:12331 */
34218 fra.me.REG[2] = fra.me.REG[3];
34219 /* parser/parser.nit:12332 */
34220 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34221 if (UNTAG_Bool(REGB0)) {
34222 } else {
34223 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12332);
34224 }
34225 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34226 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34227 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34228 stack_frame_head = fra.me.prev;
34229 return;
34230 }
34231 static const char LOCATE_parser___ReduceAction325___action[] = "parser::ReduceAction325::(parser::ReduceAction::action)";
34232 void parser___ReduceAction325___action(val_t p0, val_t p1){
34233 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
34234 val_t REGB0;
34235 val_t tmp;
34236 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34237 fra.me.file = LOCATE_parser;
34238 fra.me.line = 12337;
34239 fra.me.meth = LOCATE_parser___ReduceAction325___action;
34240 fra.me.has_broke = 0;
34241 fra.me.REG_size = 4;
34242 fra.me.nitni_local_ref_head = NULL;
34243 fra.me.REG[0] = NIT_NULL;
34244 fra.me.REG[1] = NIT_NULL;
34245 fra.me.REG[2] = NIT_NULL;
34246 fra.me.REG[3] = NIT_NULL;
34247 fra.me.REG[0] = p0;
34248 fra.me.REG[1] = p1;
34249 /* parser/parser.nit:12339 */
34250 fra.me.REG[2] = NIT_NULL;
34251 /* parser/parser.nit:12340 */
34252 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34253 /* parser/parser.nit:12342 */
34254 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TExternCodeSegment, ID_parser___parser_nodes___TExternCodeSegment)) /*cast nullable TExternCodeSegment*/;
34255 if (UNTAG_Bool(REGB0)) {
34256 } else {
34257 nit_abort("Assert failed", NULL, LOCATE_parser, 12342);
34258 }
34259 /* parser/parser.nit:12343 */
34260 fra.me.REG[3] = NEW_AExternCodeBlock_parser___parser_prod___AExternCodeBlock___init_aexterncodeblock(NIT_NULL, fra.me.REG[3]);
34261 /* parser/parser.nit:12347 */
34262 fra.me.REG[2] = fra.me.REG[3];
34263 /* parser/parser.nit:12348 */
34264 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34265 if (UNTAG_Bool(REGB0)) {
34266 } else {
34267 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12348);
34268 }
34269 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34270 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34271 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34272 stack_frame_head = fra.me.prev;
34273 return;
34274 }
34275 static const char LOCATE_parser___ReduceAction326___action[] = "parser::ReduceAction326::(parser::ReduceAction::action)";
34276 void parser___ReduceAction326___action(val_t p0, val_t p1){
34277 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34278 val_t REGB0;
34279 val_t tmp;
34280 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34281 fra.me.file = LOCATE_parser;
34282 fra.me.line = 12353;
34283 fra.me.meth = LOCATE_parser___ReduceAction326___action;
34284 fra.me.has_broke = 0;
34285 fra.me.REG_size = 5;
34286 fra.me.nitni_local_ref_head = NULL;
34287 fra.me.REG[0] = NIT_NULL;
34288 fra.me.REG[1] = NIT_NULL;
34289 fra.me.REG[2] = NIT_NULL;
34290 fra.me.REG[3] = NIT_NULL;
34291 fra.me.REG[4] = NIT_NULL;
34292 fra.me.REG[0] = p0;
34293 fra.me.REG[1] = p1;
34294 /* parser/parser.nit:12355 */
34295 fra.me.REG[2] = NIT_NULL;
34296 /* parser/parser.nit:12356 */
34297 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34298 /* parser/parser.nit:12357 */
34299 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34300 /* parser/parser.nit:12359 */
34301 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AInLanguage, ID_parser___parser_nodes___AInLanguage)) /*cast nullable AInLanguage*/;
34302 if (UNTAG_Bool(REGB0)) {
34303 } else {
34304 nit_abort("Assert failed", NULL, LOCATE_parser, 12359);
34305 }
34306 /* parser/parser.nit:12361 */
34307 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TExternCodeSegment, ID_parser___parser_nodes___TExternCodeSegment)) /*cast nullable TExternCodeSegment*/;
34308 if (UNTAG_Bool(REGB0)) {
34309 } else {
34310 nit_abort("Assert failed", NULL, LOCATE_parser, 12361);
34311 }
34312 /* parser/parser.nit:12362 */
34313 fra.me.REG[3] = NEW_AExternCodeBlock_parser___parser_prod___AExternCodeBlock___init_aexterncodeblock(fra.me.REG[4], fra.me.REG[3]);
34314 /* parser/parser.nit:12366 */
34315 fra.me.REG[2] = fra.me.REG[3];
34316 /* parser/parser.nit:12367 */
34317 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34318 if (UNTAG_Bool(REGB0)) {
34319 } else {
34320 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12367);
34321 }
34322 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34323 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34324 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34325 stack_frame_head = fra.me.prev;
34326 return;
34327 }
34328 static const char LOCATE_parser___ReduceAction327___action[] = "parser::ReduceAction327::(parser::ReduceAction::action)";
34329 void parser___ReduceAction327___action(val_t p0, val_t p1){
34330 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34331 val_t REGB0;
34332 val_t tmp;
34333 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34334 fra.me.file = LOCATE_parser;
34335 fra.me.line = 12372;
34336 fra.me.meth = LOCATE_parser___ReduceAction327___action;
34337 fra.me.has_broke = 0;
34338 fra.me.REG_size = 5;
34339 fra.me.nitni_local_ref_head = NULL;
34340 fra.me.REG[0] = NIT_NULL;
34341 fra.me.REG[1] = NIT_NULL;
34342 fra.me.REG[2] = NIT_NULL;
34343 fra.me.REG[3] = NIT_NULL;
34344 fra.me.REG[4] = NIT_NULL;
34345 fra.me.REG[0] = p0;
34346 fra.me.REG[1] = p1;
34347 /* parser/parser.nit:12374 */
34348 fra.me.REG[2] = NIT_NULL;
34349 /* parser/parser.nit:12375 */
34350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34351 /* parser/parser.nit:12376 */
34352 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34353 /* parser/parser.nit:12378 */
34354 fra.me.REG[2] = fra.me.REG[3];
34355 /* parser/parser.nit:12379 */
34356 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34357 if (UNTAG_Bool(REGB0)) {
34358 } else {
34359 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12379);
34360 }
34361 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34362 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34363 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34364 stack_frame_head = fra.me.prev;
34365 return;
34366 }
34367 static const char LOCATE_parser___ReduceAction328___action[] = "parser::ReduceAction328::(parser::ReduceAction::action)";
34368 void parser___ReduceAction328___action(val_t p0, val_t p1){
34369 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34370 val_t REGB0;
34371 val_t tmp;
34372 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34373 fra.me.file = LOCATE_parser;
34374 fra.me.line = 12384;
34375 fra.me.meth = LOCATE_parser___ReduceAction328___action;
34376 fra.me.has_broke = 0;
34377 fra.me.REG_size = 5;
34378 fra.me.nitni_local_ref_head = NULL;
34379 fra.me.REG[0] = NIT_NULL;
34380 fra.me.REG[1] = NIT_NULL;
34381 fra.me.REG[2] = NIT_NULL;
34382 fra.me.REG[3] = NIT_NULL;
34383 fra.me.REG[4] = NIT_NULL;
34384 fra.me.REG[0] = p0;
34385 fra.me.REG[1] = p1;
34386 /* parser/parser.nit:12386 */
34387 fra.me.REG[2] = NIT_NULL;
34388 /* parser/parser.nit:12387 */
34389 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34390 /* parser/parser.nit:12388 */
34391 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34392 /* parser/parser.nit:12390 */
34393 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*/;
34394 if (UNTAG_Bool(REGB0)) {
34395 } else {
34396 nit_abort("Assert failed", NULL, LOCATE_parser, 12390);
34397 }
34398 /* parser/parser.nit:12391 */
34399 fra.me.REG[4] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[3], fra.me.REG[4]);
34400 /* parser/parser.nit:12396 */
34401 fra.me.REG[2] = fra.me.REG[4];
34402 /* parser/parser.nit:12397 */
34403 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34404 if (UNTAG_Bool(REGB0)) {
34405 } else {
34406 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12397);
34407 }
34408 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34409 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34410 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34411 stack_frame_head = fra.me.prev;
34412 return;
34413 }
34414 static const char LOCATE_parser___ReduceAction329___action[] = "parser::ReduceAction329::(parser::ReduceAction::action)";
34415 void parser___ReduceAction329___action(val_t p0, val_t p1){
34416 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34417 val_t REGB0;
34418 val_t tmp;
34419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34420 fra.me.file = LOCATE_parser;
34421 fra.me.line = 12402;
34422 fra.me.meth = LOCATE_parser___ReduceAction329___action;
34423 fra.me.has_broke = 0;
34424 fra.me.REG_size = 6;
34425 fra.me.nitni_local_ref_head = NULL;
34426 fra.me.REG[0] = NIT_NULL;
34427 fra.me.REG[1] = NIT_NULL;
34428 fra.me.REG[2] = NIT_NULL;
34429 fra.me.REG[3] = NIT_NULL;
34430 fra.me.REG[4] = NIT_NULL;
34431 fra.me.REG[5] = NIT_NULL;
34432 fra.me.REG[0] = p0;
34433 fra.me.REG[1] = p1;
34434 /* parser/parser.nit:12404 */
34435 fra.me.REG[2] = NIT_NULL;
34436 /* parser/parser.nit:12405 */
34437 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34438 /* parser/parser.nit:12406 */
34439 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34440 /* parser/parser.nit:12407 */
34441 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
34442 /* parser/parser.nit:12409 */
34443 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*/;
34444 if (UNTAG_Bool(REGB0)) {
34445 } else {
34446 nit_abort("Assert failed", NULL, LOCATE_parser, 12409);
34447 }
34448 /* parser/parser.nit:12411 */
34449 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*/;
34450 if (UNTAG_Bool(REGB0)) {
34451 } else {
34452 nit_abort("Assert failed", NULL, LOCATE_parser, 12411);
34453 }
34454 /* parser/parser.nit:12412 */
34455 fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
34456 /* parser/parser.nit:12417 */
34457 fra.me.REG[2] = fra.me.REG[5];
34458 /* parser/parser.nit:12418 */
34459 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34460 if (UNTAG_Bool(REGB0)) {
34461 } else {
34462 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12418);
34463 }
34464 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34465 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34466 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34467 stack_frame_head = fra.me.prev;
34468 return;
34469 }
34470 static const char LOCATE_parser___ReduceAction330___action[] = "parser::ReduceAction330::(parser::ReduceAction::action)";
34471 void parser___ReduceAction330___action(val_t p0, val_t p1){
34472 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34473 val_t REGB0;
34474 val_t tmp;
34475 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34476 fra.me.file = LOCATE_parser;
34477 fra.me.line = 12423;
34478 fra.me.meth = LOCATE_parser___ReduceAction330___action;
34479 fra.me.has_broke = 0;
34480 fra.me.REG_size = 6;
34481 fra.me.nitni_local_ref_head = NULL;
34482 fra.me.REG[0] = NIT_NULL;
34483 fra.me.REG[1] = NIT_NULL;
34484 fra.me.REG[2] = NIT_NULL;
34485 fra.me.REG[3] = NIT_NULL;
34486 fra.me.REG[4] = NIT_NULL;
34487 fra.me.REG[5] = NIT_NULL;
34488 fra.me.REG[0] = p0;
34489 fra.me.REG[1] = p1;
34490 /* parser/parser.nit:12425 */
34491 fra.me.REG[2] = NIT_NULL;
34492 /* parser/parser.nit:12426 */
34493 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34494 /* parser/parser.nit:12427 */
34495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34496 /* parser/parser.nit:12428 */
34497 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34498 /* parser/parser.nit:12429 */
34499 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34500 /* parser/parser.nit:12430 */
34501 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34502 /* parser/parser.nit:12431 */
34503 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34504 /* parser/parser.nit:12432 */
34505 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
34506 /* parser/parser.nit:12434 */
34507 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*/;
34508 if (UNTAG_Bool(REGB0)) {
34509 } else {
34510 nit_abort("Assert failed", NULL, LOCATE_parser, 12434);
34511 }
34512 /* parser/parser.nit:12436 */
34513 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]*/;
34514 if (UNTAG_Bool(REGB0)) {
34515 } else {
34516 nit_abort("Assert failed", NULL, LOCATE_parser, 12436);
34517 }
34518 /* parser/parser.nit:12437 */
34519 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
34520 fra.me.REG[5] = fra.me.REG[3];
34521 /* parser/parser.nit:12438 */
34522 fra.me.REG[5] = NEW_AType_parser___parser_prod___AType___init_atype(NIT_NULL, fra.me.REG[4], fra.me.REG[5]);
34523 /* parser/parser.nit:12443 */
34524 fra.me.REG[2] = fra.me.REG[5];
34525 /* parser/parser.nit:12444 */
34526 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34527 if (UNTAG_Bool(REGB0)) {
34528 } else {
34529 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12444);
34530 }
34531 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34532 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34533 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34534 stack_frame_head = fra.me.prev;
34535 return;
34536 }
34537 static const char LOCATE_parser___ReduceAction331___action[] = "parser::ReduceAction331::(parser::ReduceAction::action)";
34538 void parser___ReduceAction331___action(val_t p0, val_t p1){
34539 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
34540 val_t REGB0;
34541 val_t tmp;
34542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34543 fra.me.file = LOCATE_parser;
34544 fra.me.line = 12449;
34545 fra.me.meth = LOCATE_parser___ReduceAction331___action;
34546 fra.me.has_broke = 0;
34547 fra.me.REG_size = 7;
34548 fra.me.nitni_local_ref_head = NULL;
34549 fra.me.REG[0] = NIT_NULL;
34550 fra.me.REG[1] = NIT_NULL;
34551 fra.me.REG[2] = NIT_NULL;
34552 fra.me.REG[3] = NIT_NULL;
34553 fra.me.REG[4] = NIT_NULL;
34554 fra.me.REG[5] = NIT_NULL;
34555 fra.me.REG[6] = NIT_NULL;
34556 fra.me.REG[0] = p0;
34557 fra.me.REG[1] = p1;
34558 /* parser/parser.nit:12451 */
34559 fra.me.REG[2] = NIT_NULL;
34560 /* parser/parser.nit:12452 */
34561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34562 /* parser/parser.nit:12453 */
34563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34564 /* parser/parser.nit:12454 */
34565 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34566 /* parser/parser.nit:12455 */
34567 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34568 /* parser/parser.nit:12456 */
34569 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34570 /* parser/parser.nit:12457 */
34571 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34572 /* parser/parser.nit:12458 */
34573 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34574 /* parser/parser.nit:12459 */
34575 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
34576 /* parser/parser.nit:12461 */
34577 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*/;
34578 if (UNTAG_Bool(REGB0)) {
34579 } else {
34580 nit_abort("Assert failed", NULL, LOCATE_parser, 12461);
34581 }
34582 /* parser/parser.nit:12463 */
34583 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*/;
34584 if (UNTAG_Bool(REGB0)) {
34585 } else {
34586 nit_abort("Assert failed", NULL, LOCATE_parser, 12463);
34587 }
34588 /* parser/parser.nit:12465 */
34589 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]*/;
34590 if (UNTAG_Bool(REGB0)) {
34591 } else {
34592 nit_abort("Assert failed", NULL, LOCATE_parser, 12465);
34593 }
34594 /* parser/parser.nit:12466 */
34595 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
34596 fra.me.REG[6] = fra.me.REG[3];
34597 /* parser/parser.nit:12467 */
34598 fra.me.REG[6] = NEW_AType_parser___parser_prod___AType___init_atype(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
34599 /* parser/parser.nit:12472 */
34600 fra.me.REG[2] = fra.me.REG[6];
34601 /* parser/parser.nit:12473 */
34602 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34603 if (UNTAG_Bool(REGB0)) {
34604 } else {
34605 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12473);
34606 }
34607 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34608 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34609 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34610 stack_frame_head = fra.me.prev;
34611 return;
34612 }
34613 static const char LOCATE_parser___ReduceAction332___action[] = "parser::ReduceAction332::(parser::ReduceAction::action)";
34614 void parser___ReduceAction332___action(val_t p0, val_t p1){
34615 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34616 val_t REGB0;
34617 val_t REGB1;
34618 val_t tmp;
34619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34620 fra.me.file = LOCATE_parser;
34621 fra.me.line = 12478;
34622 fra.me.meth = LOCATE_parser___ReduceAction332___action;
34623 fra.me.has_broke = 0;
34624 fra.me.REG_size = 5;
34625 fra.me.nitni_local_ref_head = NULL;
34626 fra.me.REG[0] = NIT_NULL;
34627 fra.me.REG[1] = NIT_NULL;
34628 fra.me.REG[2] = NIT_NULL;
34629 fra.me.REG[3] = NIT_NULL;
34630 fra.me.REG[4] = NIT_NULL;
34631 fra.me.REG[0] = p0;
34632 fra.me.REG[1] = p1;
34633 /* parser/parser.nit:12480 */
34634 fra.me.REG[2] = NIT_NULL;
34635 /* parser/parser.nit:12481 */
34636 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34637 /* parser/parser.nit:12482 */
34638 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34639 /* parser/parser.nit:12484 */
34640 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34641 if (UNTAG_Bool(REGB0)) {
34642 } else {
34643 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34644 if (UNTAG_Bool(REGB1)) {
34645 REGB1 = TAG_Bool(0);
34646 REGB0 = REGB1;
34647 } else {
34648 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34649 REGB0 = REGB1;
34650 }
34651 }
34652 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34653 if (UNTAG_Bool(REGB0)) {
34654 /* parser/parser.nit:12485 */
34655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
34656 }
34657 /* parser/parser.nit:12487 */
34658 fra.me.REG[2] = fra.me.REG[4];
34659 /* parser/parser.nit:12488 */
34660 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34661 if (UNTAG_Bool(REGB0)) {
34662 } else {
34663 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12488);
34664 }
34665 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34666 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34667 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34668 stack_frame_head = fra.me.prev;
34669 return;
34670 }
34671 static const char LOCATE_parser___ReduceAction333___action[] = "parser::ReduceAction333::(parser::ReduceAction::action)";
34672 void parser___ReduceAction333___action(val_t p0, val_t p1){
34673 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
34674 val_t REGB0;
34675 val_t REGB1;
34676 val_t tmp;
34677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34678 fra.me.file = LOCATE_parser;
34679 fra.me.line = 12493;
34680 fra.me.meth = LOCATE_parser___ReduceAction333___action;
34681 fra.me.has_broke = 0;
34682 fra.me.REG_size = 6;
34683 fra.me.nitni_local_ref_head = NULL;
34684 fra.me.REG[0] = NIT_NULL;
34685 fra.me.REG[1] = NIT_NULL;
34686 fra.me.REG[2] = NIT_NULL;
34687 fra.me.REG[3] = NIT_NULL;
34688 fra.me.REG[4] = NIT_NULL;
34689 fra.me.REG[5] = NIT_NULL;
34690 fra.me.REG[0] = p0;
34691 fra.me.REG[1] = p1;
34692 /* parser/parser.nit:12495 */
34693 fra.me.REG[2] = NIT_NULL;
34694 /* parser/parser.nit:12496 */
34695 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34696 /* parser/parser.nit:12497 */
34697 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34698 /* parser/parser.nit:12498 */
34699 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
34700 /* parser/parser.nit:12501 */
34701 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]*/;
34702 if (UNTAG_Bool(REGB0)) {
34703 } else {
34704 nit_abort("Assert failed", NULL, LOCATE_parser, 12501);
34705 }
34706 /* parser/parser.nit:12502 */
34707 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
34708 if (UNTAG_Bool(REGB0)) {
34709 } else {
34710 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
34711 if (UNTAG_Bool(REGB1)) {
34712 REGB1 = TAG_Bool(0);
34713 REGB0 = REGB1;
34714 } else {
34715 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
34716 REGB0 = REGB1;
34717 }
34718 }
34719 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34720 if (UNTAG_Bool(REGB0)) {
34721 /* parser/parser.nit:12503 */
34722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
34723 }
34724 /* parser/parser.nit:12505 */
34725 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
34726 fra.me.REG[5] = fra.me.REG[3];
34727 /* parser/parser.nit:12506 */
34728 fra.me.REG[2] = fra.me.REG[5];
34729 /* parser/parser.nit:12507 */
34730 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34731 if (UNTAG_Bool(REGB0)) {
34732 } else {
34733 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12507);
34734 }
34735 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34736 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34737 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34738 stack_frame_head = fra.me.prev;
34739 return;
34740 }
34741 static const char LOCATE_parser___ReduceAction334___action[] = "parser::ReduceAction334::(parser::ReduceAction::action)";
34742 void parser___ReduceAction334___action(val_t p0, val_t p1){
34743 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34744 val_t REGB0;
34745 val_t tmp;
34746 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34747 fra.me.file = LOCATE_parser;
34748 fra.me.line = 12512;
34749 fra.me.meth = LOCATE_parser___ReduceAction334___action;
34750 fra.me.has_broke = 0;
34751 fra.me.REG_size = 5;
34752 fra.me.nitni_local_ref_head = NULL;
34753 fra.me.REG[0] = NIT_NULL;
34754 fra.me.REG[1] = NIT_NULL;
34755 fra.me.REG[2] = NIT_NULL;
34756 fra.me.REG[3] = NIT_NULL;
34757 fra.me.REG[4] = NIT_NULL;
34758 fra.me.REG[0] = p0;
34759 fra.me.REG[1] = p1;
34760 /* parser/parser.nit:12514 */
34761 fra.me.REG[2] = NIT_NULL;
34762 /* parser/parser.nit:12515 */
34763 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34764 /* parser/parser.nit:12516 */
34765 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34766 /* parser/parser.nit:12517 */
34767 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34768 /* parser/parser.nit:12519 */
34769 fra.me.REG[2] = fra.me.REG[3];
34770 /* parser/parser.nit:12520 */
34771 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34772 if (UNTAG_Bool(REGB0)) {
34773 } else {
34774 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12520);
34775 }
34776 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34777 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34778 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34779 stack_frame_head = fra.me.prev;
34780 return;
34781 }
34782 static const char LOCATE_parser___ReduceAction336___action[] = "parser::ReduceAction336::(parser::ReduceAction::action)";
34783 void parser___ReduceAction336___action(val_t p0, val_t p1){
34784 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34785 val_t REGB0;
34786 val_t tmp;
34787 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34788 fra.me.file = LOCATE_parser;
34789 fra.me.line = 12525;
34790 fra.me.meth = LOCATE_parser___ReduceAction336___action;
34791 fra.me.has_broke = 0;
34792 fra.me.REG_size = 5;
34793 fra.me.nitni_local_ref_head = NULL;
34794 fra.me.REG[0] = NIT_NULL;
34795 fra.me.REG[1] = NIT_NULL;
34796 fra.me.REG[2] = NIT_NULL;
34797 fra.me.REG[3] = NIT_NULL;
34798 fra.me.REG[4] = NIT_NULL;
34799 fra.me.REG[0] = p0;
34800 fra.me.REG[1] = p1;
34801 /* parser/parser.nit:12527 */
34802 fra.me.REG[2] = NIT_NULL;
34803 /* parser/parser.nit:12528 */
34804 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34805 /* parser/parser.nit:12529 */
34806 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34807 /* parser/parser.nit:12531 */
34808 fra.me.REG[2] = fra.me.REG[3];
34809 /* parser/parser.nit:12532 */
34810 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34811 if (UNTAG_Bool(REGB0)) {
34812 } else {
34813 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12532);
34814 }
34815 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34816 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34817 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34818 stack_frame_head = fra.me.prev;
34819 return;
34820 }
34821 static const char LOCATE_parser___ReduceAction337___action[] = "parser::ReduceAction337::(parser::ReduceAction::action)";
34822 void parser___ReduceAction337___action(val_t p0, val_t p1){
34823 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34824 val_t REGB0;
34825 val_t tmp;
34826 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34827 fra.me.file = LOCATE_parser;
34828 fra.me.line = 12537;
34829 fra.me.meth = LOCATE_parser___ReduceAction337___action;
34830 fra.me.has_broke = 0;
34831 fra.me.REG_size = 5;
34832 fra.me.nitni_local_ref_head = NULL;
34833 fra.me.REG[0] = NIT_NULL;
34834 fra.me.REG[1] = NIT_NULL;
34835 fra.me.REG[2] = NIT_NULL;
34836 fra.me.REG[3] = NIT_NULL;
34837 fra.me.REG[4] = NIT_NULL;
34838 fra.me.REG[0] = p0;
34839 fra.me.REG[1] = p1;
34840 /* parser/parser.nit:12539 */
34841 fra.me.REG[2] = NIT_NULL;
34842 /* parser/parser.nit:12540 */
34843 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34844 /* parser/parser.nit:12541 */
34845 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34846 /* parser/parser.nit:12542 */
34847 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34848 /* parser/parser.nit:12544 */
34849 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*/;
34850 if (UNTAG_Bool(REGB0)) {
34851 } else {
34852 nit_abort("Assert failed", NULL, LOCATE_parser, 12544);
34853 }
34854 /* parser/parser.nit:12545 */
34855 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], fra.me.REG[3]);
34856 /* parser/parser.nit:12549 */
34857 fra.me.REG[2] = fra.me.REG[3];
34858 /* parser/parser.nit:12550 */
34859 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34860 if (UNTAG_Bool(REGB0)) {
34861 } else {
34862 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12550);
34863 }
34864 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34865 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34866 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34867 stack_frame_head = fra.me.prev;
34868 return;
34869 }
34870 static const char LOCATE_parser___ReduceAction338___action[] = "parser::ReduceAction338::(parser::ReduceAction::action)";
34871 void parser___ReduceAction338___action(val_t p0, val_t p1){
34872 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34873 val_t REGB0;
34874 val_t tmp;
34875 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34876 fra.me.file = LOCATE_parser;
34877 fra.me.line = 12555;
34878 fra.me.meth = LOCATE_parser___ReduceAction338___action;
34879 fra.me.has_broke = 0;
34880 fra.me.REG_size = 5;
34881 fra.me.nitni_local_ref_head = NULL;
34882 fra.me.REG[0] = NIT_NULL;
34883 fra.me.REG[1] = NIT_NULL;
34884 fra.me.REG[2] = NIT_NULL;
34885 fra.me.REG[3] = NIT_NULL;
34886 fra.me.REG[4] = NIT_NULL;
34887 fra.me.REG[0] = p0;
34888 fra.me.REG[1] = p1;
34889 /* parser/parser.nit:12557 */
34890 fra.me.REG[2] = NIT_NULL;
34891 /* parser/parser.nit:12558 */
34892 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34893 /* parser/parser.nit:12559 */
34894 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34895 /* parser/parser.nit:12561 */
34896 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*/;
34897 if (UNTAG_Bool(REGB0)) {
34898 } else {
34899 nit_abort("Assert failed", NULL, LOCATE_parser, 12561);
34900 }
34901 /* parser/parser.nit:12562 */
34902 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], fra.me.REG[3]);
34903 /* parser/parser.nit:12566 */
34904 fra.me.REG[2] = fra.me.REG[3];
34905 /* parser/parser.nit:12567 */
34906 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34907 if (UNTAG_Bool(REGB0)) {
34908 } else {
34909 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12567);
34910 }
34911 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34912 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34913 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34914 stack_frame_head = fra.me.prev;
34915 return;
34916 }
34917 static const char LOCATE_parser___ReduceAction339___action[] = "parser::ReduceAction339::(parser::ReduceAction::action)";
34918 void parser___ReduceAction339___action(val_t p0, val_t p1){
34919 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
34920 val_t REGB0;
34921 val_t tmp;
34922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34923 fra.me.file = LOCATE_parser;
34924 fra.me.line = 12572;
34925 fra.me.meth = LOCATE_parser___ReduceAction339___action;
34926 fra.me.has_broke = 0;
34927 fra.me.REG_size = 4;
34928 fra.me.nitni_local_ref_head = NULL;
34929 fra.me.REG[0] = NIT_NULL;
34930 fra.me.REG[1] = NIT_NULL;
34931 fra.me.REG[2] = NIT_NULL;
34932 fra.me.REG[3] = NIT_NULL;
34933 fra.me.REG[0] = p0;
34934 fra.me.REG[1] = p1;
34935 /* parser/parser.nit:12574 */
34936 fra.me.REG[2] = NIT_NULL;
34937 /* parser/parser.nit:12575 */
34938 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34939 /* parser/parser.nit:12577 */
34940 fra.me.REG[2] = fra.me.REG[3];
34941 /* parser/parser.nit:12578 */
34942 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
34943 if (UNTAG_Bool(REGB0)) {
34944 } else {
34945 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12578);
34946 }
34947 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
34948 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
34949 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
34950 stack_frame_head = fra.me.prev;
34951 return;
34952 }
34953 static const char LOCATE_parser___ReduceAction340___action[] = "parser::ReduceAction340::(parser::ReduceAction::action)";
34954 void parser___ReduceAction340___action(val_t p0, val_t p1){
34955 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
34956 val_t REGB0;
34957 val_t REGB1;
34958 val_t tmp;
34959 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34960 fra.me.file = LOCATE_parser;
34961 fra.me.line = 12583;
34962 fra.me.meth = LOCATE_parser___ReduceAction340___action;
34963 fra.me.has_broke = 0;
34964 fra.me.REG_size = 5;
34965 fra.me.nitni_local_ref_head = NULL;
34966 fra.me.REG[0] = NIT_NULL;
34967 fra.me.REG[1] = NIT_NULL;
34968 fra.me.REG[2] = NIT_NULL;
34969 fra.me.REG[3] = NIT_NULL;
34970 fra.me.REG[4] = NIT_NULL;
34971 fra.me.REG[0] = p0;
34972 fra.me.REG[1] = p1;
34973 /* parser/parser.nit:12585 */
34974 fra.me.REG[2] = NIT_NULL;
34975 /* parser/parser.nit:12586 */
34976 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
34977 /* parser/parser.nit:12587 */
34978 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
34979 /* parser/parser.nit:12589 */
34980 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*/;
34981 if (UNTAG_Bool(REGB0)) {
34982 } else {
34983 nit_abort("Assert failed", NULL, LOCATE_parser, 12589);
34984 }
34985 /* parser/parser.nit:12590 */
34986 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34987 if (UNTAG_Bool(REGB0)) {
34988 } else {
34989 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
34990 if (UNTAG_Bool(REGB1)) {
34991 REGB1 = TAG_Bool(0);
34992 REGB0 = REGB1;
34993 } else {
34994 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
34995 REGB0 = REGB1;
34996 }
34997 }
34998 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34999 if (UNTAG_Bool(REGB0)) {
35000 /* parser/parser.nit:12591 */
35001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
35002 }
35003 /* parser/parser.nit:12593 */
35004 fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], NIT_NULL);
35005 /* parser/parser.nit:12597 */
35006 fra.me.REG[2] = fra.me.REG[4];
35007 /* parser/parser.nit:12598 */
35008 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35009 if (UNTAG_Bool(REGB0)) {
35010 } else {
35011 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12598);
35012 }
35013 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35014 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35015 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35016 stack_frame_head = fra.me.prev;
35017 return;
35018 }
35019 static const char LOCATE_parser___ReduceAction341___action[] = "parser::ReduceAction341::(parser::ReduceAction::action)";
35020 void parser___ReduceAction341___action(val_t p0, val_t p1){
35021 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35022 val_t REGB0;
35023 val_t REGB1;
35024 val_t tmp;
35025 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35026 fra.me.file = LOCATE_parser;
35027 fra.me.line = 12603;
35028 fra.me.meth = LOCATE_parser___ReduceAction341___action;
35029 fra.me.has_broke = 0;
35030 fra.me.REG_size = 6;
35031 fra.me.nitni_local_ref_head = NULL;
35032 fra.me.REG[0] = NIT_NULL;
35033 fra.me.REG[1] = NIT_NULL;
35034 fra.me.REG[2] = NIT_NULL;
35035 fra.me.REG[3] = NIT_NULL;
35036 fra.me.REG[4] = NIT_NULL;
35037 fra.me.REG[5] = NIT_NULL;
35038 fra.me.REG[0] = p0;
35039 fra.me.REG[1] = p1;
35040 /* parser/parser.nit:12605 */
35041 fra.me.REG[2] = NIT_NULL;
35042 /* parser/parser.nit:12606 */
35043 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35044 /* parser/parser.nit:12607 */
35045 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35046 /* parser/parser.nit:12608 */
35047 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35048 /* parser/parser.nit:12610 */
35049 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*/;
35050 if (UNTAG_Bool(REGB0)) {
35051 } else {
35052 nit_abort("Assert failed", NULL, LOCATE_parser, 12610);
35053 }
35054 /* parser/parser.nit:12612 */
35055 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]*/;
35056 if (UNTAG_Bool(REGB0)) {
35057 } else {
35058 nit_abort("Assert failed", NULL, LOCATE_parser, 12612);
35059 }
35060 /* parser/parser.nit:12613 */
35061 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
35062 if (UNTAG_Bool(REGB0)) {
35063 } else {
35064 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
35065 if (UNTAG_Bool(REGB1)) {
35066 REGB1 = TAG_Bool(0);
35067 REGB0 = REGB1;
35068 } else {
35069 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
35070 REGB0 = REGB1;
35071 }
35072 }
35073 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35074 if (UNTAG_Bool(REGB0)) {
35075 /* parser/parser.nit:12614 */
35076 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
35077 }
35078 /* parser/parser.nit:12616 */
35079 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
35080 fra.me.REG[5] = fra.me.REG[3];
35081 /* parser/parser.nit:12617 */
35082 fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], NIT_NULL);
35083 /* parser/parser.nit:12621 */
35084 fra.me.REG[2] = fra.me.REG[5];
35085 /* parser/parser.nit:12622 */
35086 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35087 if (UNTAG_Bool(REGB0)) {
35088 } else {
35089 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12622);
35090 }
35091 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35092 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35093 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35094 stack_frame_head = fra.me.prev;
35095 return;
35096 }
35097 static const char LOCATE_parser___ReduceAction342___action[] = "parser::ReduceAction342::(parser::ReduceAction::action)";
35098 void parser___ReduceAction342___action(val_t p0, val_t p1){
35099 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35100 val_t REGB0;
35101 val_t REGB1;
35102 val_t tmp;
35103 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35104 fra.me.file = LOCATE_parser;
35105 fra.me.line = 12627;
35106 fra.me.meth = LOCATE_parser___ReduceAction342___action;
35107 fra.me.has_broke = 0;
35108 fra.me.REG_size = 5;
35109 fra.me.nitni_local_ref_head = NULL;
35110 fra.me.REG[0] = NIT_NULL;
35111 fra.me.REG[1] = NIT_NULL;
35112 fra.me.REG[2] = NIT_NULL;
35113 fra.me.REG[3] = NIT_NULL;
35114 fra.me.REG[4] = NIT_NULL;
35115 fra.me.REG[0] = p0;
35116 fra.me.REG[1] = p1;
35117 /* parser/parser.nit:12629 */
35118 fra.me.REG[2] = NIT_NULL;
35119 /* parser/parser.nit:12630 */
35120 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35121 /* parser/parser.nit:12631 */
35122 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35123 /* parser/parser.nit:12632 */
35124 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
35125 /* parser/parser.nit:12634 */
35126 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*/;
35127 if (UNTAG_Bool(REGB0)) {
35128 } else {
35129 nit_abort("Assert failed", NULL, LOCATE_parser, 12634);
35130 }
35131 /* parser/parser.nit:12635 */
35132 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35133 if (UNTAG_Bool(REGB0)) {
35134 } else {
35135 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
35136 if (UNTAG_Bool(REGB1)) {
35137 REGB1 = TAG_Bool(0);
35138 REGB0 = REGB1;
35139 } else {
35140 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
35141 REGB0 = REGB1;
35142 }
35143 }
35144 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35145 if (UNTAG_Bool(REGB0)) {
35146 /* parser/parser.nit:12636 */
35147 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
35148 }
35149 /* parser/parser.nit:12638 */
35150 fra.me.REG[4] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[4], NIT_NULL);
35151 /* parser/parser.nit:12642 */
35152 fra.me.REG[2] = fra.me.REG[4];
35153 /* parser/parser.nit:12643 */
35154 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35155 if (UNTAG_Bool(REGB0)) {
35156 } else {
35157 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12643);
35158 }
35159 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35160 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35161 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35162 stack_frame_head = fra.me.prev;
35163 return;
35164 }
35165 static const char LOCATE_parser___ReduceAction343___action[] = "parser::ReduceAction343::(parser::ReduceAction::action)";
35166 void parser___ReduceAction343___action(val_t p0, val_t p1){
35167 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35168 val_t REGB0;
35169 val_t REGB1;
35170 val_t tmp;
35171 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35172 fra.me.file = LOCATE_parser;
35173 fra.me.line = 12648;
35174 fra.me.meth = LOCATE_parser___ReduceAction343___action;
35175 fra.me.has_broke = 0;
35176 fra.me.REG_size = 6;
35177 fra.me.nitni_local_ref_head = NULL;
35178 fra.me.REG[0] = NIT_NULL;
35179 fra.me.REG[1] = NIT_NULL;
35180 fra.me.REG[2] = NIT_NULL;
35181 fra.me.REG[3] = NIT_NULL;
35182 fra.me.REG[4] = NIT_NULL;
35183 fra.me.REG[5] = NIT_NULL;
35184 fra.me.REG[0] = p0;
35185 fra.me.REG[1] = p1;
35186 /* parser/parser.nit:12650 */
35187 fra.me.REG[2] = NIT_NULL;
35188 /* parser/parser.nit:12651 */
35189 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35190 /* parser/parser.nit:12652 */
35191 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35192 /* parser/parser.nit:12653 */
35193 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35194 /* parser/parser.nit:12654 */
35195 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35196 /* parser/parser.nit:12656 */
35197 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*/;
35198 if (UNTAG_Bool(REGB0)) {
35199 } else {
35200 nit_abort("Assert failed", NULL, LOCATE_parser, 12656);
35201 }
35202 /* parser/parser.nit:12658 */
35203 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]*/;
35204 if (UNTAG_Bool(REGB0)) {
35205 } else {
35206 nit_abort("Assert failed", NULL, LOCATE_parser, 12658);
35207 }
35208 /* parser/parser.nit:12659 */
35209 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
35210 if (UNTAG_Bool(REGB0)) {
35211 } else {
35212 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
35213 if (UNTAG_Bool(REGB1)) {
35214 REGB1 = TAG_Bool(0);
35215 REGB0 = REGB1;
35216 } else {
35217 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
35218 REGB0 = REGB1;
35219 }
35220 }
35221 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35222 if (UNTAG_Bool(REGB0)) {
35223 /* parser/parser.nit:12660 */
35224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
35225 }
35226 /* parser/parser.nit:12662 */
35227 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
35228 fra.me.REG[5] = fra.me.REG[3];
35229 /* parser/parser.nit:12663 */
35230 fra.me.REG[5] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], NIT_NULL);
35231 /* parser/parser.nit:12667 */
35232 fra.me.REG[2] = fra.me.REG[5];
35233 /* parser/parser.nit:12668 */
35234 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35235 if (UNTAG_Bool(REGB0)) {
35236 } else {
35237 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12668);
35238 }
35239 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35240 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35241 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35242 stack_frame_head = fra.me.prev;
35243 return;
35244 }
35245 static const char LOCATE_parser___ReduceAction344___action[] = "parser::ReduceAction344::(parser::ReduceAction::action)";
35246 void parser___ReduceAction344___action(val_t p0, val_t p1){
35247 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35248 val_t REGB0;
35249 val_t REGB1;
35250 val_t tmp;
35251 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35252 fra.me.file = LOCATE_parser;
35253 fra.me.line = 12673;
35254 fra.me.meth = LOCATE_parser___ReduceAction344___action;
35255 fra.me.has_broke = 0;
35256 fra.me.REG_size = 6;
35257 fra.me.nitni_local_ref_head = NULL;
35258 fra.me.REG[0] = NIT_NULL;
35259 fra.me.REG[1] = NIT_NULL;
35260 fra.me.REG[2] = NIT_NULL;
35261 fra.me.REG[3] = NIT_NULL;
35262 fra.me.REG[4] = NIT_NULL;
35263 fra.me.REG[5] = NIT_NULL;
35264 fra.me.REG[0] = p0;
35265 fra.me.REG[1] = p1;
35266 /* parser/parser.nit:12675 */
35267 fra.me.REG[2] = NIT_NULL;
35268 /* parser/parser.nit:12676 */
35269 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35270 /* parser/parser.nit:12677 */
35271 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35272 /* parser/parser.nit:12678 */
35273 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35274 /* parser/parser.nit:12679 */
35275 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
35276 /* parser/parser.nit:12681 */
35277 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*/;
35278 if (UNTAG_Bool(REGB0)) {
35279 } else {
35280 nit_abort("Assert failed", NULL, LOCATE_parser, 12681);
35281 }
35282 /* parser/parser.nit:12682 */
35283 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
35284 if (UNTAG_Bool(REGB0)) {
35285 } else {
35286 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
35287 if (UNTAG_Bool(REGB1)) {
35288 REGB1 = TAG_Bool(0);
35289 REGB0 = REGB1;
35290 } else {
35291 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
35292 REGB0 = REGB1;
35293 }
35294 }
35295 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35296 if (UNTAG_Bool(REGB0)) {
35297 /* parser/parser.nit:12683 */
35298 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
35299 }
35300 /* parser/parser.nit:12686 */
35301 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*/;
35302 if (UNTAG_Bool(REGB0)) {
35303 } else {
35304 nit_abort("Assert failed", NULL, LOCATE_parser, 12686);
35305 }
35306 /* parser/parser.nit:12687 */
35307 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[5], fra.me.REG[3]);
35308 /* parser/parser.nit:12691 */
35309 fra.me.REG[2] = fra.me.REG[3];
35310 /* parser/parser.nit:12692 */
35311 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35312 if (UNTAG_Bool(REGB0)) {
35313 } else {
35314 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12692);
35315 }
35316 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35317 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35318 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35319 stack_frame_head = fra.me.prev;
35320 return;
35321 }
35322 static const char LOCATE_parser___ReduceAction345___action[] = "parser::ReduceAction345::(parser::ReduceAction::action)";
35323 void parser___ReduceAction345___action(val_t p0, val_t p1){
35324 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
35325 val_t REGB0;
35326 val_t REGB1;
35327 val_t tmp;
35328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35329 fra.me.file = LOCATE_parser;
35330 fra.me.line = 12697;
35331 fra.me.meth = LOCATE_parser___ReduceAction345___action;
35332 fra.me.has_broke = 0;
35333 fra.me.REG_size = 7;
35334 fra.me.nitni_local_ref_head = NULL;
35335 fra.me.REG[0] = NIT_NULL;
35336 fra.me.REG[1] = NIT_NULL;
35337 fra.me.REG[2] = NIT_NULL;
35338 fra.me.REG[3] = NIT_NULL;
35339 fra.me.REG[4] = NIT_NULL;
35340 fra.me.REG[5] = NIT_NULL;
35341 fra.me.REG[6] = NIT_NULL;
35342 fra.me.REG[0] = p0;
35343 fra.me.REG[1] = p1;
35344 /* parser/parser.nit:12699 */
35345 fra.me.REG[2] = NIT_NULL;
35346 /* parser/parser.nit:12700 */
35347 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35348 /* parser/parser.nit:12701 */
35349 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35350 /* parser/parser.nit:12702 */
35351 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35352 /* parser/parser.nit:12703 */
35353 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35354 /* parser/parser.nit:12704 */
35355 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
35356 /* parser/parser.nit:12706 */
35357 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*/;
35358 if (UNTAG_Bool(REGB0)) {
35359 } else {
35360 nit_abort("Assert failed", NULL, LOCATE_parser, 12706);
35361 }
35362 /* parser/parser.nit:12708 */
35363 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]*/;
35364 if (UNTAG_Bool(REGB0)) {
35365 } else {
35366 nit_abort("Assert failed", NULL, LOCATE_parser, 12708);
35367 }
35368 /* parser/parser.nit:12709 */
35369 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
35370 if (UNTAG_Bool(REGB0)) {
35371 } else {
35372 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
35373 if (UNTAG_Bool(REGB1)) {
35374 REGB1 = TAG_Bool(0);
35375 REGB0 = REGB1;
35376 } else {
35377 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
35378 REGB0 = REGB1;
35379 }
35380 }
35381 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35382 if (UNTAG_Bool(REGB0)) {
35383 /* parser/parser.nit:12710 */
35384 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
35385 }
35386 /* parser/parser.nit:12712 */
35387 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
35388 fra.me.REG[6] = fra.me.REG[4];
35389 /* parser/parser.nit:12714 */
35390 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*/;
35391 if (UNTAG_Bool(REGB0)) {
35392 } else {
35393 nit_abort("Assert failed", NULL, LOCATE_parser, 12714);
35394 }
35395 /* parser/parser.nit:12715 */
35396 fra.me.REG[3] = NEW_ABlockExpr_parser___parser_prod___ABlockExpr___init_ablockexpr(fra.me.REG[6], fra.me.REG[3]);
35397 /* parser/parser.nit:12719 */
35398 fra.me.REG[2] = fra.me.REG[3];
35399 /* parser/parser.nit:12720 */
35400 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35401 if (UNTAG_Bool(REGB0)) {
35402 } else {
35403 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12720);
35404 }
35405 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35406 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35407 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35408 stack_frame_head = fra.me.prev;
35409 return;
35410 }
35411 static const char LOCATE_parser___ReduceAction349___action[] = "parser::ReduceAction349::(parser::ReduceAction::action)";
35412 void parser___ReduceAction349___action(val_t p0, val_t p1){
35413 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
35414 val_t REGB0;
35415 val_t tmp;
35416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35417 fra.me.file = LOCATE_parser;
35418 fra.me.line = 12725;
35419 fra.me.meth = LOCATE_parser___ReduceAction349___action;
35420 fra.me.has_broke = 0;
35421 fra.me.REG_size = 4;
35422 fra.me.nitni_local_ref_head = NULL;
35423 fra.me.REG[0] = NIT_NULL;
35424 fra.me.REG[1] = NIT_NULL;
35425 fra.me.REG[2] = NIT_NULL;
35426 fra.me.REG[3] = NIT_NULL;
35427 fra.me.REG[0] = p0;
35428 fra.me.REG[1] = p1;
35429 /* parser/parser.nit:12727 */
35430 fra.me.REG[2] = NIT_NULL;
35431 /* parser/parser.nit:12728 */
35432 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35433 /* parser/parser.nit:12730 */
35434 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*/;
35435 if (UNTAG_Bool(REGB0)) {
35436 } else {
35437 nit_abort("Assert failed", NULL, LOCATE_parser, 12730);
35438 }
35439 /* parser/parser.nit:12731 */
35440 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[3], NIT_NULL);
35441 /* parser/parser.nit:12735 */
35442 fra.me.REG[2] = fra.me.REG[3];
35443 /* parser/parser.nit:12736 */
35444 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35445 if (UNTAG_Bool(REGB0)) {
35446 } else {
35447 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12736);
35448 }
35449 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35450 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35451 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35452 stack_frame_head = fra.me.prev;
35453 return;
35454 }
35455 static const char LOCATE_parser___ReduceAction350___action[] = "parser::ReduceAction350::(parser::ReduceAction::action)";
35456 void parser___ReduceAction350___action(val_t p0, val_t p1){
35457 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35458 val_t REGB0;
35459 val_t tmp;
35460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35461 fra.me.file = LOCATE_parser;
35462 fra.me.line = 12741;
35463 fra.me.meth = LOCATE_parser___ReduceAction350___action;
35464 fra.me.has_broke = 0;
35465 fra.me.REG_size = 5;
35466 fra.me.nitni_local_ref_head = NULL;
35467 fra.me.REG[0] = NIT_NULL;
35468 fra.me.REG[1] = NIT_NULL;
35469 fra.me.REG[2] = NIT_NULL;
35470 fra.me.REG[3] = NIT_NULL;
35471 fra.me.REG[4] = NIT_NULL;
35472 fra.me.REG[0] = p0;
35473 fra.me.REG[1] = p1;
35474 /* parser/parser.nit:12743 */
35475 fra.me.REG[2] = NIT_NULL;
35476 /* parser/parser.nit:12744 */
35477 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35478 /* parser/parser.nit:12745 */
35479 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35480 /* parser/parser.nit:12747 */
35481 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*/;
35482 if (UNTAG_Bool(REGB0)) {
35483 } else {
35484 nit_abort("Assert failed", NULL, LOCATE_parser, 12747);
35485 }
35486 /* parser/parser.nit:12749 */
35487 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*/;
35488 if (UNTAG_Bool(REGB0)) {
35489 } else {
35490 nit_abort("Assert failed", NULL, LOCATE_parser, 12749);
35491 }
35492 /* parser/parser.nit:12750 */
35493 fra.me.REG[3] = NEW_AReturnExpr_parser___parser_prod___AReturnExpr___init_areturnexpr(fra.me.REG[4], fra.me.REG[3]);
35494 /* parser/parser.nit:12754 */
35495 fra.me.REG[2] = fra.me.REG[3];
35496 /* parser/parser.nit:12755 */
35497 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35498 if (UNTAG_Bool(REGB0)) {
35499 } else {
35500 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12755);
35501 }
35502 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35503 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35504 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35505 stack_frame_head = fra.me.prev;
35506 return;
35507 }
35508 static const char LOCATE_parser___ReduceAction351___action[] = "parser::ReduceAction351::(parser::ReduceAction::action)";
35509 void parser___ReduceAction351___action(val_t p0, val_t p1){
35510 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
35511 val_t REGB0;
35512 val_t tmp;
35513 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35514 fra.me.file = LOCATE_parser;
35515 fra.me.line = 12760;
35516 fra.me.meth = LOCATE_parser___ReduceAction351___action;
35517 fra.me.has_broke = 0;
35518 fra.me.REG_size = 4;
35519 fra.me.nitni_local_ref_head = NULL;
35520 fra.me.REG[0] = NIT_NULL;
35521 fra.me.REG[1] = NIT_NULL;
35522 fra.me.REG[2] = NIT_NULL;
35523 fra.me.REG[3] = NIT_NULL;
35524 fra.me.REG[0] = p0;
35525 fra.me.REG[1] = p1;
35526 /* parser/parser.nit:12762 */
35527 fra.me.REG[2] = NIT_NULL;
35528 /* parser/parser.nit:12763 */
35529 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35530 /* parser/parser.nit:12765 */
35531 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*/;
35532 if (UNTAG_Bool(REGB0)) {
35533 } else {
35534 nit_abort("Assert failed", NULL, LOCATE_parser, 12765);
35535 }
35536 /* parser/parser.nit:12766 */
35537 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
35538 /* parser/parser.nit:12771 */
35539 fra.me.REG[2] = fra.me.REG[3];
35540 /* parser/parser.nit:12772 */
35541 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35542 if (UNTAG_Bool(REGB0)) {
35543 } else {
35544 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12772);
35545 }
35546 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35547 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35548 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35549 stack_frame_head = fra.me.prev;
35550 return;
35551 }
35552 static const char LOCATE_parser___ReduceAction352___action[] = "parser::ReduceAction352::(parser::ReduceAction::action)";
35553 void parser___ReduceAction352___action(val_t p0, val_t p1){
35554 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35555 val_t REGB0;
35556 val_t tmp;
35557 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35558 fra.me.file = LOCATE_parser;
35559 fra.me.line = 12777;
35560 fra.me.meth = LOCATE_parser___ReduceAction352___action;
35561 fra.me.has_broke = 0;
35562 fra.me.REG_size = 5;
35563 fra.me.nitni_local_ref_head = NULL;
35564 fra.me.REG[0] = NIT_NULL;
35565 fra.me.REG[1] = NIT_NULL;
35566 fra.me.REG[2] = NIT_NULL;
35567 fra.me.REG[3] = NIT_NULL;
35568 fra.me.REG[4] = NIT_NULL;
35569 fra.me.REG[0] = p0;
35570 fra.me.REG[1] = p1;
35571 /* parser/parser.nit:12779 */
35572 fra.me.REG[2] = NIT_NULL;
35573 /* parser/parser.nit:12780 */
35574 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35575 /* parser/parser.nit:12781 */
35576 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35577 /* parser/parser.nit:12783 */
35578 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*/;
35579 if (UNTAG_Bool(REGB0)) {
35580 } else {
35581 nit_abort("Assert failed", NULL, LOCATE_parser, 12783);
35582 }
35583 /* parser/parser.nit:12785 */
35584 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*/;
35585 if (UNTAG_Bool(REGB0)) {
35586 } else {
35587 nit_abort("Assert failed", NULL, LOCATE_parser, 12785);
35588 }
35589 /* parser/parser.nit:12786 */
35590 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
35591 /* parser/parser.nit:12791 */
35592 fra.me.REG[2] = fra.me.REG[3];
35593 /* parser/parser.nit:12792 */
35594 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35595 if (UNTAG_Bool(REGB0)) {
35596 } else {
35597 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12792);
35598 }
35599 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35600 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35601 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35602 stack_frame_head = fra.me.prev;
35603 return;
35604 }
35605 static const char LOCATE_parser___ReduceAction353___action[] = "parser::ReduceAction353::(parser::ReduceAction::action)";
35606 void parser___ReduceAction353___action(val_t p0, val_t p1){
35607 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35608 val_t REGB0;
35609 val_t tmp;
35610 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35611 fra.me.file = LOCATE_parser;
35612 fra.me.line = 12797;
35613 fra.me.meth = LOCATE_parser___ReduceAction353___action;
35614 fra.me.has_broke = 0;
35615 fra.me.REG_size = 5;
35616 fra.me.nitni_local_ref_head = NULL;
35617 fra.me.REG[0] = NIT_NULL;
35618 fra.me.REG[1] = NIT_NULL;
35619 fra.me.REG[2] = NIT_NULL;
35620 fra.me.REG[3] = NIT_NULL;
35621 fra.me.REG[4] = NIT_NULL;
35622 fra.me.REG[0] = p0;
35623 fra.me.REG[1] = p1;
35624 /* parser/parser.nit:12799 */
35625 fra.me.REG[2] = NIT_NULL;
35626 /* parser/parser.nit:12800 */
35627 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35628 /* parser/parser.nit:12801 */
35629 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35630 /* parser/parser.nit:12803 */
35631 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*/;
35632 if (UNTAG_Bool(REGB0)) {
35633 } else {
35634 nit_abort("Assert failed", NULL, LOCATE_parser, 12803);
35635 }
35636 /* parser/parser.nit:12805 */
35637 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*/;
35638 if (UNTAG_Bool(REGB0)) {
35639 } else {
35640 nit_abort("Assert failed", NULL, LOCATE_parser, 12805);
35641 }
35642 /* parser/parser.nit:12806 */
35643 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
35644 /* parser/parser.nit:12811 */
35645 fra.me.REG[2] = fra.me.REG[3];
35646 /* parser/parser.nit:12812 */
35647 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35648 if (UNTAG_Bool(REGB0)) {
35649 } else {
35650 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12812);
35651 }
35652 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35653 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35654 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35655 stack_frame_head = fra.me.prev;
35656 return;
35657 }
35658 static const char LOCATE_parser___ReduceAction354___action[] = "parser::ReduceAction354::(parser::ReduceAction::action)";
35659 void parser___ReduceAction354___action(val_t p0, val_t p1){
35660 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35661 val_t REGB0;
35662 val_t tmp;
35663 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35664 fra.me.file = LOCATE_parser;
35665 fra.me.line = 12817;
35666 fra.me.meth = LOCATE_parser___ReduceAction354___action;
35667 fra.me.has_broke = 0;
35668 fra.me.REG_size = 6;
35669 fra.me.nitni_local_ref_head = NULL;
35670 fra.me.REG[0] = NIT_NULL;
35671 fra.me.REG[1] = NIT_NULL;
35672 fra.me.REG[2] = NIT_NULL;
35673 fra.me.REG[3] = NIT_NULL;
35674 fra.me.REG[4] = NIT_NULL;
35675 fra.me.REG[5] = NIT_NULL;
35676 fra.me.REG[0] = p0;
35677 fra.me.REG[1] = p1;
35678 /* parser/parser.nit:12819 */
35679 fra.me.REG[2] = NIT_NULL;
35680 /* parser/parser.nit:12820 */
35681 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35682 /* parser/parser.nit:12821 */
35683 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35684 /* parser/parser.nit:12822 */
35685 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35686 /* parser/parser.nit:12824 */
35687 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*/;
35688 if (UNTAG_Bool(REGB0)) {
35689 } else {
35690 nit_abort("Assert failed", NULL, LOCATE_parser, 12824);
35691 }
35692 /* parser/parser.nit:12826 */
35693 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*/;
35694 if (UNTAG_Bool(REGB0)) {
35695 } else {
35696 nit_abort("Assert failed", NULL, LOCATE_parser, 12826);
35697 }
35698 /* parser/parser.nit:12828 */
35699 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*/;
35700 if (UNTAG_Bool(REGB0)) {
35701 } else {
35702 nit_abort("Assert failed", NULL, LOCATE_parser, 12828);
35703 }
35704 /* parser/parser.nit:12829 */
35705 fra.me.REG[3] = NEW_ABreakExpr_parser___parser_prod___ABreakExpr___init_abreakexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
35706 /* parser/parser.nit:12834 */
35707 fra.me.REG[2] = fra.me.REG[3];
35708 /* parser/parser.nit:12835 */
35709 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35710 if (UNTAG_Bool(REGB0)) {
35711 } else {
35712 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12835);
35713 }
35714 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35715 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35716 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35717 stack_frame_head = fra.me.prev;
35718 return;
35719 }
35720 static const char LOCATE_parser___ReduceAction355___action[] = "parser::ReduceAction355::(parser::ReduceAction::action)";
35721 void parser___ReduceAction355___action(val_t p0, val_t p1){
35722 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
35723 val_t REGB0;
35724 val_t tmp;
35725 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35726 fra.me.file = LOCATE_parser;
35727 fra.me.line = 12840;
35728 fra.me.meth = LOCATE_parser___ReduceAction355___action;
35729 fra.me.has_broke = 0;
35730 fra.me.REG_size = 4;
35731 fra.me.nitni_local_ref_head = NULL;
35732 fra.me.REG[0] = NIT_NULL;
35733 fra.me.REG[1] = NIT_NULL;
35734 fra.me.REG[2] = NIT_NULL;
35735 fra.me.REG[3] = NIT_NULL;
35736 fra.me.REG[0] = p0;
35737 fra.me.REG[1] = p1;
35738 /* parser/parser.nit:12842 */
35739 fra.me.REG[2] = NIT_NULL;
35740 /* parser/parser.nit:12843 */
35741 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35742 /* parser/parser.nit:12845 */
35743 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*/;
35744 if (UNTAG_Bool(REGB0)) {
35745 } else {
35746 nit_abort("Assert failed", NULL, LOCATE_parser, 12845);
35747 }
35748 /* parser/parser.nit:12846 */
35749 fra.me.REG[3] = NEW_AAbortExpr_parser___parser_prod___AAbortExpr___init_aabortexpr(fra.me.REG[3]);
35750 /* parser/parser.nit:12849 */
35751 fra.me.REG[2] = fra.me.REG[3];
35752 /* parser/parser.nit:12850 */
35753 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35754 if (UNTAG_Bool(REGB0)) {
35755 } else {
35756 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12850);
35757 }
35758 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35759 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35760 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35761 stack_frame_head = fra.me.prev;
35762 return;
35763 }
35764 static const char LOCATE_parser___ReduceAction356___action[] = "parser::ReduceAction356::(parser::ReduceAction::action)";
35765 void parser___ReduceAction356___action(val_t p0, val_t p1){
35766 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
35767 val_t REGB0;
35768 val_t tmp;
35769 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35770 fra.me.file = LOCATE_parser;
35771 fra.me.line = 12855;
35772 fra.me.meth = LOCATE_parser___ReduceAction356___action;
35773 fra.me.has_broke = 0;
35774 fra.me.REG_size = 4;
35775 fra.me.nitni_local_ref_head = NULL;
35776 fra.me.REG[0] = NIT_NULL;
35777 fra.me.REG[1] = NIT_NULL;
35778 fra.me.REG[2] = NIT_NULL;
35779 fra.me.REG[3] = NIT_NULL;
35780 fra.me.REG[0] = p0;
35781 fra.me.REG[1] = p1;
35782 /* parser/parser.nit:12857 */
35783 fra.me.REG[2] = NIT_NULL;
35784 /* parser/parser.nit:12858 */
35785 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35786 /* parser/parser.nit:12860 */
35787 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*/;
35788 if (UNTAG_Bool(REGB0)) {
35789 } else {
35790 nit_abort("Assert failed", NULL, LOCATE_parser, 12860);
35791 }
35792 /* parser/parser.nit:12861 */
35793 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[3], NIT_NULL, NIT_NULL);
35794 /* parser/parser.nit:12866 */
35795 fra.me.REG[2] = fra.me.REG[3];
35796 /* parser/parser.nit:12867 */
35797 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35798 if (UNTAG_Bool(REGB0)) {
35799 } else {
35800 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12867);
35801 }
35802 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35803 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35804 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35805 stack_frame_head = fra.me.prev;
35806 return;
35807 }
35808 static const char LOCATE_parser___ReduceAction357___action[] = "parser::ReduceAction357::(parser::ReduceAction::action)";
35809 void parser___ReduceAction357___action(val_t p0, val_t p1){
35810 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35811 val_t REGB0;
35812 val_t tmp;
35813 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35814 fra.me.file = LOCATE_parser;
35815 fra.me.line = 12872;
35816 fra.me.meth = LOCATE_parser___ReduceAction357___action;
35817 fra.me.has_broke = 0;
35818 fra.me.REG_size = 5;
35819 fra.me.nitni_local_ref_head = NULL;
35820 fra.me.REG[0] = NIT_NULL;
35821 fra.me.REG[1] = NIT_NULL;
35822 fra.me.REG[2] = NIT_NULL;
35823 fra.me.REG[3] = NIT_NULL;
35824 fra.me.REG[4] = NIT_NULL;
35825 fra.me.REG[0] = p0;
35826 fra.me.REG[1] = p1;
35827 /* parser/parser.nit:12874 */
35828 fra.me.REG[2] = NIT_NULL;
35829 /* parser/parser.nit:12875 */
35830 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35831 /* parser/parser.nit:12876 */
35832 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35833 /* parser/parser.nit:12878 */
35834 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*/;
35835 if (UNTAG_Bool(REGB0)) {
35836 } else {
35837 nit_abort("Assert failed", NULL, LOCATE_parser, 12878);
35838 }
35839 /* parser/parser.nit:12880 */
35840 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*/;
35841 if (UNTAG_Bool(REGB0)) {
35842 } else {
35843 nit_abort("Assert failed", NULL, LOCATE_parser, 12880);
35844 }
35845 /* parser/parser.nit:12881 */
35846 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
35847 /* parser/parser.nit:12886 */
35848 fra.me.REG[2] = fra.me.REG[3];
35849 /* parser/parser.nit:12887 */
35850 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35851 if (UNTAG_Bool(REGB0)) {
35852 } else {
35853 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12887);
35854 }
35855 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35856 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35857 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35858 stack_frame_head = fra.me.prev;
35859 return;
35860 }
35861 static const char LOCATE_parser___ReduceAction358___action[] = "parser::ReduceAction358::(parser::ReduceAction::action)";
35862 void parser___ReduceAction358___action(val_t p0, val_t p1){
35863 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
35864 val_t REGB0;
35865 val_t tmp;
35866 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35867 fra.me.file = LOCATE_parser;
35868 fra.me.line = 12892;
35869 fra.me.meth = LOCATE_parser___ReduceAction358___action;
35870 fra.me.has_broke = 0;
35871 fra.me.REG_size = 5;
35872 fra.me.nitni_local_ref_head = NULL;
35873 fra.me.REG[0] = NIT_NULL;
35874 fra.me.REG[1] = NIT_NULL;
35875 fra.me.REG[2] = NIT_NULL;
35876 fra.me.REG[3] = NIT_NULL;
35877 fra.me.REG[4] = NIT_NULL;
35878 fra.me.REG[0] = p0;
35879 fra.me.REG[1] = p1;
35880 /* parser/parser.nit:12894 */
35881 fra.me.REG[2] = NIT_NULL;
35882 /* parser/parser.nit:12895 */
35883 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35884 /* parser/parser.nit:12896 */
35885 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35886 /* parser/parser.nit:12898 */
35887 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*/;
35888 if (UNTAG_Bool(REGB0)) {
35889 } else {
35890 nit_abort("Assert failed", NULL, LOCATE_parser, 12898);
35891 }
35892 /* parser/parser.nit:12900 */
35893 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*/;
35894 if (UNTAG_Bool(REGB0)) {
35895 } else {
35896 nit_abort("Assert failed", NULL, LOCATE_parser, 12900);
35897 }
35898 /* parser/parser.nit:12901 */
35899 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
35900 /* parser/parser.nit:12906 */
35901 fra.me.REG[2] = fra.me.REG[3];
35902 /* parser/parser.nit:12907 */
35903 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35904 if (UNTAG_Bool(REGB0)) {
35905 } else {
35906 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12907);
35907 }
35908 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35909 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35910 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35911 stack_frame_head = fra.me.prev;
35912 return;
35913 }
35914 static const char LOCATE_parser___ReduceAction359___action[] = "parser::ReduceAction359::(parser::ReduceAction::action)";
35915 void parser___ReduceAction359___action(val_t p0, val_t p1){
35916 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
35917 val_t REGB0;
35918 val_t tmp;
35919 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35920 fra.me.file = LOCATE_parser;
35921 fra.me.line = 12912;
35922 fra.me.meth = LOCATE_parser___ReduceAction359___action;
35923 fra.me.has_broke = 0;
35924 fra.me.REG_size = 6;
35925 fra.me.nitni_local_ref_head = NULL;
35926 fra.me.REG[0] = NIT_NULL;
35927 fra.me.REG[1] = NIT_NULL;
35928 fra.me.REG[2] = NIT_NULL;
35929 fra.me.REG[3] = NIT_NULL;
35930 fra.me.REG[4] = NIT_NULL;
35931 fra.me.REG[5] = NIT_NULL;
35932 fra.me.REG[0] = p0;
35933 fra.me.REG[1] = p1;
35934 /* parser/parser.nit:12914 */
35935 fra.me.REG[2] = NIT_NULL;
35936 /* parser/parser.nit:12915 */
35937 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35938 /* parser/parser.nit:12916 */
35939 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35940 /* parser/parser.nit:12917 */
35941 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
35942 /* parser/parser.nit:12919 */
35943 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*/;
35944 if (UNTAG_Bool(REGB0)) {
35945 } else {
35946 nit_abort("Assert failed", NULL, LOCATE_parser, 12919);
35947 }
35948 /* parser/parser.nit:12921 */
35949 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*/;
35950 if (UNTAG_Bool(REGB0)) {
35951 } else {
35952 nit_abort("Assert failed", NULL, LOCATE_parser, 12921);
35953 }
35954 /* parser/parser.nit:12923 */
35955 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*/;
35956 if (UNTAG_Bool(REGB0)) {
35957 } else {
35958 nit_abort("Assert failed", NULL, LOCATE_parser, 12923);
35959 }
35960 /* parser/parser.nit:12924 */
35961 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
35962 /* parser/parser.nit:12929 */
35963 fra.me.REG[2] = fra.me.REG[3];
35964 /* parser/parser.nit:12930 */
35965 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
35966 if (UNTAG_Bool(REGB0)) {
35967 } else {
35968 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12930);
35969 }
35970 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
35971 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
35972 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
35973 stack_frame_head = fra.me.prev;
35974 return;
35975 }
35976 static const char LOCATE_parser___ReduceAction366___action[] = "parser::ReduceAction366::(parser::ReduceAction::action)";
35977 void parser___ReduceAction366___action(val_t p0, val_t p1){
35978 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
35979 val_t REGB0;
35980 val_t tmp;
35981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35982 fra.me.file = LOCATE_parser;
35983 fra.me.line = 12935;
35984 fra.me.meth = LOCATE_parser___ReduceAction366___action;
35985 fra.me.has_broke = 0;
35986 fra.me.REG_size = 7;
35987 fra.me.nitni_local_ref_head = NULL;
35988 fra.me.REG[0] = NIT_NULL;
35989 fra.me.REG[1] = NIT_NULL;
35990 fra.me.REG[2] = NIT_NULL;
35991 fra.me.REG[3] = NIT_NULL;
35992 fra.me.REG[4] = NIT_NULL;
35993 fra.me.REG[5] = NIT_NULL;
35994 fra.me.REG[6] = NIT_NULL;
35995 fra.me.REG[0] = p0;
35996 fra.me.REG[1] = p1;
35997 /* parser/parser.nit:12937 */
35998 fra.me.REG[2] = NIT_NULL;
35999 /* parser/parser.nit:12938 */
36000 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36001 /* parser/parser.nit:12939 */
36002 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36003 /* parser/parser.nit:12940 */
36004 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36005 /* parser/parser.nit:12941 */
36006 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36007 /* parser/parser.nit:12942 */
36008 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36009 /* parser/parser.nit:12943 */
36010 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
36011 /* parser/parser.nit:12945 */
36012 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*/;
36013 if (UNTAG_Bool(REGB0)) {
36014 } else {
36015 nit_abort("Assert failed", NULL, LOCATE_parser, 12945);
36016 }
36017 /* parser/parser.nit:12947 */
36018 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*/;
36019 if (UNTAG_Bool(REGB0)) {
36020 } else {
36021 nit_abort("Assert failed", NULL, LOCATE_parser, 12947);
36022 }
36023 /* parser/parser.nit:12949 */
36024 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
36025 if (UNTAG_Bool(REGB0)) {
36026 } else {
36027 nit_abort("Assert failed", NULL, LOCATE_parser, 12949);
36028 }
36029 /* parser/parser.nit:12950 */
36030 fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
36031 /* parser/parser.nit:12956 */
36032 fra.me.REG[2] = fra.me.REG[6];
36033 /* parser/parser.nit:12957 */
36034 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36035 if (UNTAG_Bool(REGB0)) {
36036 } else {
36037 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12957);
36038 }
36039 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36040 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36041 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36042 stack_frame_head = fra.me.prev;
36043 return;
36044 }
36045 static const char LOCATE_parser___ReduceAction367___action[] = "parser::ReduceAction367::(parser::ReduceAction::action)";
36046 void parser___ReduceAction367___action(val_t p0, val_t p1){
36047 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
36048 val_t REGB0;
36049 val_t tmp;
36050 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36051 fra.me.file = LOCATE_parser;
36052 fra.me.line = 12962;
36053 fra.me.meth = LOCATE_parser___ReduceAction367___action;
36054 fra.me.has_broke = 0;
36055 fra.me.REG_size = 7;
36056 fra.me.nitni_local_ref_head = NULL;
36057 fra.me.REG[0] = NIT_NULL;
36058 fra.me.REG[1] = NIT_NULL;
36059 fra.me.REG[2] = NIT_NULL;
36060 fra.me.REG[3] = NIT_NULL;
36061 fra.me.REG[4] = NIT_NULL;
36062 fra.me.REG[5] = NIT_NULL;
36063 fra.me.REG[6] = NIT_NULL;
36064 fra.me.REG[0] = p0;
36065 fra.me.REG[1] = p1;
36066 /* parser/parser.nit:12964 */
36067 fra.me.REG[2] = NIT_NULL;
36068 /* parser/parser.nit:12965 */
36069 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36070 /* parser/parser.nit:12966 */
36071 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36072 /* parser/parser.nit:12967 */
36073 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
36074 /* parser/parser.nit:12968 */
36075 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
36076 /* parser/parser.nit:12970 */
36077 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*/;
36078 if (UNTAG_Bool(REGB0)) {
36079 } else {
36080 nit_abort("Assert failed", NULL, LOCATE_parser, 12970);
36081 }
36082 /* parser/parser.nit:12972 */
36083 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
36084 if (UNTAG_Bool(REGB0)) {
36085 } else {
36086 nit_abort("Assert failed", NULL, LOCATE_parser, 12972);
36087 }
36088 /* parser/parser.nit:12973 */
36089 fra.me.REG[5] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
36090 /* parser/parser.nit:12979 */
36091 fra.me.REG[2] = fra.me.REG[5];
36092 /* parser/parser.nit:12980 */
36093 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36094 if (UNTAG_Bool(REGB0)) {
36095 } else {
36096 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 12980);
36097 }
36098 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36099 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36100 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36101 stack_frame_head = fra.me.prev;
36102 return;
36103 }
36104 static const char LOCATE_parser___ReduceAction368___action[] = "parser::ReduceAction368::(parser::ReduceAction::action)";
36105 void parser___ReduceAction368___action(val_t p0, val_t p1){
36106 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36107 val_t REGB0;
36108 val_t tmp;
36109 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36110 fra.me.file = LOCATE_parser;
36111 fra.me.line = 12985;
36112 fra.me.meth = LOCATE_parser___ReduceAction368___action;
36113 fra.me.has_broke = 0;
36114 fra.me.REG_size = 8;
36115 fra.me.nitni_local_ref_head = NULL;
36116 fra.me.REG[0] = NIT_NULL;
36117 fra.me.REG[1] = NIT_NULL;
36118 fra.me.REG[2] = NIT_NULL;
36119 fra.me.REG[3] = NIT_NULL;
36120 fra.me.REG[4] = NIT_NULL;
36121 fra.me.REG[5] = NIT_NULL;
36122 fra.me.REG[6] = NIT_NULL;
36123 fra.me.REG[7] = NIT_NULL;
36124 fra.me.REG[0] = p0;
36125 fra.me.REG[1] = p1;
36126 /* parser/parser.nit:12987 */
36127 fra.me.REG[2] = NIT_NULL;
36128 /* parser/parser.nit:12988 */
36129 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36130 /* parser/parser.nit:12989 */
36131 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36132 /* parser/parser.nit:12990 */
36133 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36134 /* parser/parser.nit:12991 */
36135 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36136 /* parser/parser.nit:12992 */
36137 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36138 /* parser/parser.nit:12993 */
36139 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36140 /* parser/parser.nit:12994 */
36141 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
36142 /* parser/parser.nit:12996 */
36143 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*/;
36144 if (UNTAG_Bool(REGB0)) {
36145 } else {
36146 nit_abort("Assert failed", NULL, LOCATE_parser, 12996);
36147 }
36148 /* parser/parser.nit:12998 */
36149 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*/;
36150 if (UNTAG_Bool(REGB0)) {
36151 } else {
36152 nit_abort("Assert failed", NULL, LOCATE_parser, 12998);
36153 }
36154 /* parser/parser.nit:13000 */
36155 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
36156 if (UNTAG_Bool(REGB0)) {
36157 } else {
36158 nit_abort("Assert failed", NULL, LOCATE_parser, 13000);
36159 }
36160 /* parser/parser.nit:13002 */
36161 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]*/;
36162 if (UNTAG_Bool(REGB0)) {
36163 } else {
36164 nit_abort("Assert failed", NULL, LOCATE_parser, 13002);
36165 }
36166 /* parser/parser.nit:13003 */
36167 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[3]);
36168 fra.me.REG[7] = fra.me.REG[3];
36169 /* parser/parser.nit:13004 */
36170 fra.me.REG[7] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[7]);
36171 /* parser/parser.nit:13010 */
36172 fra.me.REG[2] = fra.me.REG[7];
36173 /* parser/parser.nit:13011 */
36174 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36175 if (UNTAG_Bool(REGB0)) {
36176 } else {
36177 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13011);
36178 }
36179 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36180 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36181 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36182 stack_frame_head = fra.me.prev;
36183 return;
36184 }
36185 static const char LOCATE_parser___ReduceAction369___action[] = "parser::ReduceAction369::(parser::ReduceAction::action)";
36186 void parser___ReduceAction369___action(val_t p0, val_t p1){
36187 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
36188 val_t REGB0;
36189 val_t tmp;
36190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36191 fra.me.file = LOCATE_parser;
36192 fra.me.line = 13016;
36193 fra.me.meth = LOCATE_parser___ReduceAction369___action;
36194 fra.me.has_broke = 0;
36195 fra.me.REG_size = 8;
36196 fra.me.nitni_local_ref_head = NULL;
36197 fra.me.REG[0] = NIT_NULL;
36198 fra.me.REG[1] = NIT_NULL;
36199 fra.me.REG[2] = NIT_NULL;
36200 fra.me.REG[3] = NIT_NULL;
36201 fra.me.REG[4] = NIT_NULL;
36202 fra.me.REG[5] = NIT_NULL;
36203 fra.me.REG[6] = NIT_NULL;
36204 fra.me.REG[7] = NIT_NULL;
36205 fra.me.REG[0] = p0;
36206 fra.me.REG[1] = p1;
36207 /* parser/parser.nit:13018 */
36208 fra.me.REG[2] = NIT_NULL;
36209 /* parser/parser.nit:13019 */
36210 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36211 /* parser/parser.nit:13020 */
36212 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36213 /* parser/parser.nit:13021 */
36214 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36215 /* parser/parser.nit:13022 */
36216 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
36217 /* parser/parser.nit:13023 */
36218 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
36219 /* parser/parser.nit:13025 */
36220 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*/;
36221 if (UNTAG_Bool(REGB0)) {
36222 } else {
36223 nit_abort("Assert failed", NULL, LOCATE_parser, 13025);
36224 }
36225 /* parser/parser.nit:13027 */
36226 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
36227 if (UNTAG_Bool(REGB0)) {
36228 } else {
36229 nit_abort("Assert failed", NULL, LOCATE_parser, 13027);
36230 }
36231 /* parser/parser.nit:13029 */
36232 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]*/;
36233 if (UNTAG_Bool(REGB0)) {
36234 } else {
36235 nit_abort("Assert failed", NULL, LOCATE_parser, 13029);
36236 }
36237 /* parser/parser.nit:13030 */
36238 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
36239 fra.me.REG[6] = fra.me.REG[3];
36240 /* parser/parser.nit:13031 */
36241 fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[7], fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
36242 /* parser/parser.nit:13037 */
36243 fra.me.REG[2] = fra.me.REG[6];
36244 /* parser/parser.nit:13038 */
36245 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36246 if (UNTAG_Bool(REGB0)) {
36247 } else {
36248 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13038);
36249 }
36250 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36251 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36252 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36253 stack_frame_head = fra.me.prev;
36254 return;
36255 }
36256 static const char LOCATE_parser___ReduceAction370___action[] = "parser::ReduceAction370::(parser::ReduceAction::action)";
36257 void parser___ReduceAction370___action(val_t p0, val_t p1){
36258 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
36259 val_t REGB0;
36260 val_t tmp;
36261 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36262 fra.me.file = LOCATE_parser;
36263 fra.me.line = 13043;
36264 fra.me.meth = LOCATE_parser___ReduceAction370___action;
36265 fra.me.has_broke = 0;
36266 fra.me.REG_size = 5;
36267 fra.me.nitni_local_ref_head = NULL;
36268 fra.me.REG[0] = NIT_NULL;
36269 fra.me.REG[1] = NIT_NULL;
36270 fra.me.REG[2] = NIT_NULL;
36271 fra.me.REG[3] = NIT_NULL;
36272 fra.me.REG[4] = NIT_NULL;
36273 fra.me.REG[0] = p0;
36274 fra.me.REG[1] = p1;
36275 /* parser/parser.nit:13045 */
36276 fra.me.REG[2] = NIT_NULL;
36277 /* parser/parser.nit:13046 */
36278 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36279 /* parser/parser.nit:13047 */
36280 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36281 /* parser/parser.nit:13049 */
36282 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*/;
36283 if (UNTAG_Bool(REGB0)) {
36284 } else {
36285 nit_abort("Assert failed", NULL, LOCATE_parser, 13049);
36286 }
36287 /* parser/parser.nit:13051 */
36288 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
36289 if (UNTAG_Bool(REGB0)) {
36290 } else {
36291 nit_abort("Assert failed", NULL, LOCATE_parser, 13051);
36292 }
36293 /* parser/parser.nit:13052 */
36294 fra.me.REG[3] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
36295 /* parser/parser.nit:13057 */
36296 fra.me.REG[2] = fra.me.REG[3];
36297 /* parser/parser.nit:13058 */
36298 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36299 if (UNTAG_Bool(REGB0)) {
36300 } else {
36301 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13058);
36302 }
36303 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36304 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36305 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36306 stack_frame_head = fra.me.prev;
36307 return;
36308 }
36309 static const char LOCATE_parser___ReduceAction371___action[] = "parser::ReduceAction371::(parser::ReduceAction::action)";
36310 void parser___ReduceAction371___action(val_t p0, val_t p1){
36311 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
36312 val_t REGB0;
36313 val_t tmp;
36314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36315 fra.me.file = LOCATE_parser;
36316 fra.me.line = 13063;
36317 fra.me.meth = LOCATE_parser___ReduceAction371___action;
36318 fra.me.has_broke = 0;
36319 fra.me.REG_size = 6;
36320 fra.me.nitni_local_ref_head = NULL;
36321 fra.me.REG[0] = NIT_NULL;
36322 fra.me.REG[1] = NIT_NULL;
36323 fra.me.REG[2] = NIT_NULL;
36324 fra.me.REG[3] = NIT_NULL;
36325 fra.me.REG[4] = NIT_NULL;
36326 fra.me.REG[5] = NIT_NULL;
36327 fra.me.REG[0] = p0;
36328 fra.me.REG[1] = p1;
36329 /* parser/parser.nit:13065 */
36330 fra.me.REG[2] = NIT_NULL;
36331 /* parser/parser.nit:13066 */
36332 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36333 /* parser/parser.nit:13067 */
36334 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36335 /* parser/parser.nit:13068 */
36336 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36337 /* parser/parser.nit:13070 */
36338 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*/;
36339 if (UNTAG_Bool(REGB0)) {
36340 } else {
36341 nit_abort("Assert failed", NULL, LOCATE_parser, 13070);
36342 }
36343 /* parser/parser.nit:13072 */
36344 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*/;
36345 if (UNTAG_Bool(REGB0)) {
36346 } else {
36347 nit_abort("Assert failed", NULL, LOCATE_parser, 13072);
36348 }
36349 /* parser/parser.nit:13074 */
36350 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
36351 if (UNTAG_Bool(REGB0)) {
36352 } else {
36353 nit_abort("Assert failed", NULL, LOCATE_parser, 13074);
36354 }
36355 /* parser/parser.nit:13075 */
36356 fra.me.REG[3] = NEW_ASuperExpr_parser___parser_prod___ASuperExpr___init_asuperexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
36357 /* parser/parser.nit:13080 */
36358 fra.me.REG[2] = fra.me.REG[3];
36359 /* parser/parser.nit:13081 */
36360 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36361 if (UNTAG_Bool(REGB0)) {
36362 } else {
36363 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13081);
36364 }
36365 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36366 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36367 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36368 stack_frame_head = fra.me.prev;
36369 return;
36370 }
36371 static const char LOCATE_parser___ReduceAction372___action[] = "parser::ReduceAction372::(parser::ReduceAction::action)";
36372 void parser___ReduceAction372___action(val_t p0, val_t p1){
36373 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
36374 val_t REGB0;
36375 val_t tmp;
36376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36377 fra.me.file = LOCATE_parser;
36378 fra.me.line = 13086;
36379 fra.me.meth = LOCATE_parser___ReduceAction372___action;
36380 fra.me.has_broke = 0;
36381 fra.me.REG_size = 6;
36382 fra.me.nitni_local_ref_head = NULL;
36383 fra.me.REG[0] = NIT_NULL;
36384 fra.me.REG[1] = NIT_NULL;
36385 fra.me.REG[2] = NIT_NULL;
36386 fra.me.REG[3] = NIT_NULL;
36387 fra.me.REG[4] = NIT_NULL;
36388 fra.me.REG[5] = NIT_NULL;
36389 fra.me.REG[0] = p0;
36390 fra.me.REG[1] = p1;
36391 /* parser/parser.nit:13088 */
36392 fra.me.REG[2] = NIT_NULL;
36393 /* parser/parser.nit:13089 */
36394 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36395 /* parser/parser.nit:13090 */
36396 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36397 /* parser/parser.nit:13091 */
36398 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36399 /* parser/parser.nit:13092 */
36400 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36401 /* parser/parser.nit:13093 */
36402 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36403 /* parser/parser.nit:13095 */
36404 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*/;
36405 if (UNTAG_Bool(REGB0)) {
36406 } else {
36407 nit_abort("Assert failed", NULL, LOCATE_parser, 13095);
36408 }
36409 /* parser/parser.nit:13097 */
36410 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*/;
36411 if (UNTAG_Bool(REGB0)) {
36412 } else {
36413 nit_abort("Assert failed", NULL, LOCATE_parser, 13097);
36414 }
36415 /* parser/parser.nit:13099 */
36416 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
36417 if (UNTAG_Bool(REGB0)) {
36418 } else {
36419 nit_abort("Assert failed", NULL, LOCATE_parser, 13099);
36420 }
36421 /* parser/parser.nit:13100 */
36422 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
36423 /* parser/parser.nit:13105 */
36424 fra.me.REG[2] = fra.me.REG[3];
36425 /* parser/parser.nit:13106 */
36426 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36427 if (UNTAG_Bool(REGB0)) {
36428 } else {
36429 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13106);
36430 }
36431 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36432 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36433 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36434 stack_frame_head = fra.me.prev;
36435 return;
36436 }
36437 static const char LOCATE_parser___ReduceAction373___action[] = "parser::ReduceAction373::(parser::ReduceAction::action)";
36438 void parser___ReduceAction373___action(val_t p0, val_t p1){
36439 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
36440 val_t REGB0;
36441 val_t tmp;
36442 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36443 fra.me.file = LOCATE_parser;
36444 fra.me.line = 13111;
36445 fra.me.meth = LOCATE_parser___ReduceAction373___action;
36446 fra.me.has_broke = 0;
36447 fra.me.REG_size = 6;
36448 fra.me.nitni_local_ref_head = NULL;
36449 fra.me.REG[0] = NIT_NULL;
36450 fra.me.REG[1] = NIT_NULL;
36451 fra.me.REG[2] = NIT_NULL;
36452 fra.me.REG[3] = NIT_NULL;
36453 fra.me.REG[4] = NIT_NULL;
36454 fra.me.REG[5] = NIT_NULL;
36455 fra.me.REG[0] = p0;
36456 fra.me.REG[1] = p1;
36457 /* parser/parser.nit:13113 */
36458 fra.me.REG[2] = NIT_NULL;
36459 /* parser/parser.nit:13114 */
36460 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36461 /* parser/parser.nit:13115 */
36462 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36463 /* parser/parser.nit:13116 */
36464 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
36465 /* parser/parser.nit:13118 */
36466 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*/;
36467 if (UNTAG_Bool(REGB0)) {
36468 } else {
36469 nit_abort("Assert failed", NULL, LOCATE_parser, 13118);
36470 }
36471 /* parser/parser.nit:13120 */
36472 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
36473 if (UNTAG_Bool(REGB0)) {
36474 } else {
36475 nit_abort("Assert failed", NULL, LOCATE_parser, 13120);
36476 }
36477 /* parser/parser.nit:13121 */
36478 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
36479 /* parser/parser.nit:13126 */
36480 fra.me.REG[2] = fra.me.REG[3];
36481 /* parser/parser.nit:13127 */
36482 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36483 if (UNTAG_Bool(REGB0)) {
36484 } else {
36485 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13127);
36486 }
36487 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36488 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36489 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36490 stack_frame_head = fra.me.prev;
36491 return;
36492 }
36493 static const char LOCATE_parser___ReduceAction374___action[] = "parser::ReduceAction374::(parser::ReduceAction::action)";
36494 void parser___ReduceAction374___action(val_t p0, val_t p1){
36495 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
36496 val_t REGB0;
36497 val_t tmp;
36498 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36499 fra.me.file = LOCATE_parser;
36500 fra.me.line = 13132;
36501 fra.me.meth = LOCATE_parser___ReduceAction374___action;
36502 fra.me.has_broke = 0;
36503 fra.me.REG_size = 7;
36504 fra.me.nitni_local_ref_head = NULL;
36505 fra.me.REG[0] = NIT_NULL;
36506 fra.me.REG[1] = NIT_NULL;
36507 fra.me.REG[2] = NIT_NULL;
36508 fra.me.REG[3] = NIT_NULL;
36509 fra.me.REG[4] = NIT_NULL;
36510 fra.me.REG[5] = NIT_NULL;
36511 fra.me.REG[6] = NIT_NULL;
36512 fra.me.REG[0] = p0;
36513 fra.me.REG[1] = p1;
36514 /* parser/parser.nit:13134 */
36515 fra.me.REG[2] = NIT_NULL;
36516 /* parser/parser.nit:13135 */
36517 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36518 /* parser/parser.nit:13136 */
36519 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36520 /* parser/parser.nit:13137 */
36521 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36522 /* parser/parser.nit:13138 */
36523 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36524 /* parser/parser.nit:13139 */
36525 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36526 /* parser/parser.nit:13141 */
36527 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwdebug, ID_parser___parser_nodes___TKwdebug)) /*cast nullable TKwdebug*/;
36528 if (UNTAG_Bool(REGB0)) {
36529 } else {
36530 nit_abort("Assert failed", NULL, LOCATE_parser, 13141);
36531 }
36532 /* parser/parser.nit:13143 */
36533 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*/;
36534 if (UNTAG_Bool(REGB0)) {
36535 } else {
36536 nit_abort("Assert failed", NULL, LOCATE_parser, 13143);
36537 }
36538 /* parser/parser.nit:13145 */
36539 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*/;
36540 if (UNTAG_Bool(REGB0)) {
36541 } else {
36542 nit_abort("Assert failed", NULL, LOCATE_parser, 13145);
36543 }
36544 /* parser/parser.nit:13147 */
36545 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*/;
36546 if (UNTAG_Bool(REGB0)) {
36547 } else {
36548 nit_abort("Assert failed", NULL, LOCATE_parser, 13147);
36549 }
36550 /* parser/parser.nit:13148 */
36551 fra.me.REG[4] = NEW_ADebugTypeExpr_parser___parser_prod___ADebugTypeExpr___init_adebugtypeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[3], fra.me.REG[4]);
36552 /* parser/parser.nit:13154 */
36553 fra.me.REG[2] = fra.me.REG[4];
36554 /* parser/parser.nit:13155 */
36555 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36556 if (UNTAG_Bool(REGB0)) {
36557 } else {
36558 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13155);
36559 }
36560 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36561 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36562 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36563 stack_frame_head = fra.me.prev;
36564 return;
36565 }
36566 static const char LOCATE_parser___ReduceAction375___action[] = "parser::ReduceAction375::(parser::ReduceAction::action)";
36567 void parser___ReduceAction375___action(val_t p0, val_t p1){
36568 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
36569 val_t REGB0;
36570 val_t tmp;
36571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36572 fra.me.file = LOCATE_parser;
36573 fra.me.line = 13160;
36574 fra.me.meth = LOCATE_parser___ReduceAction375___action;
36575 fra.me.has_broke = 0;
36576 fra.me.REG_size = 5;
36577 fra.me.nitni_local_ref_head = NULL;
36578 fra.me.REG[0] = NIT_NULL;
36579 fra.me.REG[1] = NIT_NULL;
36580 fra.me.REG[2] = NIT_NULL;
36581 fra.me.REG[3] = NIT_NULL;
36582 fra.me.REG[4] = NIT_NULL;
36583 fra.me.REG[0] = p0;
36584 fra.me.REG[1] = p1;
36585 /* parser/parser.nit:13162 */
36586 fra.me.REG[2] = NIT_NULL;
36587 /* parser/parser.nit:13163 */
36588 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36589 /* parser/parser.nit:13164 */
36590 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36591 /* parser/parser.nit:13166 */
36592 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*/;
36593 if (UNTAG_Bool(REGB0)) {
36594 } else {
36595 nit_abort("Assert failed", NULL, LOCATE_parser, 13166);
36596 }
36597 /* parser/parser.nit:13168 */
36598 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*/;
36599 if (UNTAG_Bool(REGB0)) {
36600 } else {
36601 nit_abort("Assert failed", NULL, LOCATE_parser, 13168);
36602 }
36603 /* parser/parser.nit:13169 */
36604 fra.me.REG[3] = NEW_ALabel_parser___parser_prod___ALabel___init_alabel(fra.me.REG[4], fra.me.REG[3]);
36605 /* parser/parser.nit:13173 */
36606 fra.me.REG[2] = fra.me.REG[3];
36607 /* parser/parser.nit:13174 */
36608 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36609 if (UNTAG_Bool(REGB0)) {
36610 } else {
36611 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13174);
36612 }
36613 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36614 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36615 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36616 stack_frame_head = fra.me.prev;
36617 return;
36618 }
36619 static const char LOCATE_parser___ReduceAction376___action[] = "parser::ReduceAction376::(parser::ReduceAction::action)";
36620 void parser___ReduceAction376___action(val_t p0, val_t p1){
36621 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
36622 val_t REGB0;
36623 val_t REGB1;
36624 val_t tmp;
36625 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36626 fra.me.file = LOCATE_parser;
36627 fra.me.line = 13179;
36628 fra.me.meth = LOCATE_parser___ReduceAction376___action;
36629 fra.me.has_broke = 0;
36630 fra.me.REG_size = 5;
36631 fra.me.nitni_local_ref_head = NULL;
36632 fra.me.REG[0] = NIT_NULL;
36633 fra.me.REG[1] = NIT_NULL;
36634 fra.me.REG[2] = NIT_NULL;
36635 fra.me.REG[3] = NIT_NULL;
36636 fra.me.REG[4] = NIT_NULL;
36637 fra.me.REG[0] = p0;
36638 fra.me.REG[1] = p1;
36639 /* parser/parser.nit:13181 */
36640 fra.me.REG[2] = NIT_NULL;
36641 /* parser/parser.nit:13182 */
36642 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36643 /* parser/parser.nit:13183 */
36644 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
36645 /* parser/parser.nit:13185 */
36646 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
36647 if (UNTAG_Bool(REGB0)) {
36648 } else {
36649 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
36650 if (UNTAG_Bool(REGB1)) {
36651 REGB1 = TAG_Bool(0);
36652 REGB0 = REGB1;
36653 } else {
36654 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
36655 REGB0 = REGB1;
36656 }
36657 }
36658 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
36659 if (UNTAG_Bool(REGB0)) {
36660 /* parser/parser.nit:13186 */
36661 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
36662 }
36663 /* parser/parser.nit:13188 */
36664 fra.me.REG[2] = fra.me.REG[4];
36665 /* parser/parser.nit:13189 */
36666 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36667 if (UNTAG_Bool(REGB0)) {
36668 } else {
36669 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13189);
36670 }
36671 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36672 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36673 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36674 stack_frame_head = fra.me.prev;
36675 return;
36676 }
36677 static const char LOCATE_parser___ReduceAction377___action[] = "parser::ReduceAction377::(parser::ReduceAction::action)";
36678 void parser___ReduceAction377___action(val_t p0, val_t p1){
36679 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
36680 val_t REGB0;
36681 val_t REGB1;
36682 val_t tmp;
36683 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36684 fra.me.file = LOCATE_parser;
36685 fra.me.line = 13194;
36686 fra.me.meth = LOCATE_parser___ReduceAction377___action;
36687 fra.me.has_broke = 0;
36688 fra.me.REG_size = 6;
36689 fra.me.nitni_local_ref_head = NULL;
36690 fra.me.REG[0] = NIT_NULL;
36691 fra.me.REG[1] = NIT_NULL;
36692 fra.me.REG[2] = NIT_NULL;
36693 fra.me.REG[3] = NIT_NULL;
36694 fra.me.REG[4] = NIT_NULL;
36695 fra.me.REG[5] = NIT_NULL;
36696 fra.me.REG[0] = p0;
36697 fra.me.REG[1] = p1;
36698 /* parser/parser.nit:13196 */
36699 fra.me.REG[2] = NIT_NULL;
36700 /* parser/parser.nit:13197 */
36701 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36702 /* parser/parser.nit:13198 */
36703 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36704 /* parser/parser.nit:13199 */
36705 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
36706 /* parser/parser.nit:13202 */
36707 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]*/;
36708 if (UNTAG_Bool(REGB0)) {
36709 } else {
36710 nit_abort("Assert failed", NULL, LOCATE_parser, 13202);
36711 }
36712 /* parser/parser.nit:13203 */
36713 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
36714 if (UNTAG_Bool(REGB0)) {
36715 } else {
36716 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
36717 if (UNTAG_Bool(REGB1)) {
36718 REGB1 = TAG_Bool(0);
36719 REGB0 = REGB1;
36720 } else {
36721 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
36722 REGB0 = REGB1;
36723 }
36724 }
36725 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
36726 if (UNTAG_Bool(REGB0)) {
36727 /* parser/parser.nit:13204 */
36728 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
36729 }
36730 /* parser/parser.nit:13206 */
36731 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
36732 fra.me.REG[5] = fra.me.REG[3];
36733 /* parser/parser.nit:13207 */
36734 fra.me.REG[2] = fra.me.REG[5];
36735 /* parser/parser.nit:13208 */
36736 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36737 if (UNTAG_Bool(REGB0)) {
36738 } else {
36739 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13208);
36740 }
36741 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36742 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36743 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36744 stack_frame_head = fra.me.prev;
36745 return;
36746 }
36747 static const char LOCATE_parser___ReduceAction378___action[] = "parser::ReduceAction378::(parser::ReduceAction::action)";
36748 void parser___ReduceAction378___action(val_t p0, val_t p1){
36749 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
36750 val_t REGB0;
36751 val_t tmp;
36752 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36753 fra.me.file = LOCATE_parser;
36754 fra.me.line = 13213;
36755 fra.me.meth = LOCATE_parser___ReduceAction378___action;
36756 fra.me.has_broke = 0;
36757 fra.me.REG_size = 9;
36758 fra.me.nitni_local_ref_head = NULL;
36759 fra.me.REG[0] = NIT_NULL;
36760 fra.me.REG[1] = NIT_NULL;
36761 fra.me.REG[2] = NIT_NULL;
36762 fra.me.REG[3] = NIT_NULL;
36763 fra.me.REG[4] = NIT_NULL;
36764 fra.me.REG[5] = NIT_NULL;
36765 fra.me.REG[6] = NIT_NULL;
36766 fra.me.REG[7] = NIT_NULL;
36767 fra.me.REG[8] = NIT_NULL;
36768 fra.me.REG[0] = p0;
36769 fra.me.REG[1] = p1;
36770 /* parser/parser.nit:13215 */
36771 fra.me.REG[2] = NIT_NULL;
36772 /* parser/parser.nit:13216 */
36773 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36774 /* parser/parser.nit:13217 */
36775 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36776 /* parser/parser.nit:13218 */
36777 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36778 /* parser/parser.nit:13219 */
36779 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36780 /* parser/parser.nit:13220 */
36781 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36782 /* parser/parser.nit:13221 */
36783 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
36784 /* parser/parser.nit:13223 */
36785 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*/;
36786 if (UNTAG_Bool(REGB0)) {
36787 } else {
36788 nit_abort("Assert failed", NULL, LOCATE_parser, 13223);
36789 }
36790 /* parser/parser.nit:13225 */
36791 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*/;
36792 if (UNTAG_Bool(REGB0)) {
36793 } else {
36794 nit_abort("Assert failed", NULL, LOCATE_parser, 13225);
36795 }
36796 /* parser/parser.nit:13227 */
36797 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*/;
36798 if (UNTAG_Bool(REGB0)) {
36799 } else {
36800 nit_abort("Assert failed", NULL, LOCATE_parser, 13227);
36801 }
36802 /* parser/parser.nit:13229 */
36803 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*/;
36804 if (UNTAG_Bool(REGB0)) {
36805 } else {
36806 nit_abort("Assert failed", NULL, LOCATE_parser, 13229);
36807 }
36808 /* parser/parser.nit:13231 */
36809 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*/;
36810 if (UNTAG_Bool(REGB0)) {
36811 } else {
36812 nit_abort("Assert failed", NULL, LOCATE_parser, 13231);
36813 }
36814 /* parser/parser.nit:13232 */
36815 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]);
36816 /* parser/parser.nit:13240 */
36817 fra.me.REG[2] = fra.me.REG[3];
36818 /* parser/parser.nit:13241 */
36819 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36820 if (UNTAG_Bool(REGB0)) {
36821 } else {
36822 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13241);
36823 }
36824 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36825 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36826 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36827 stack_frame_head = fra.me.prev;
36828 return;
36829 }
36830 static const char LOCATE_parser___ReduceAction379___action[] = "parser::ReduceAction379::(parser::ReduceAction::action)";
36831 void parser___ReduceAction379___action(val_t p0, val_t p1){
36832 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
36833 val_t REGB0;
36834 val_t tmp;
36835 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36836 fra.me.file = LOCATE_parser;
36837 fra.me.line = 13246;
36838 fra.me.meth = LOCATE_parser___ReduceAction379___action;
36839 fra.me.has_broke = 0;
36840 fra.me.REG_size = 10;
36841 fra.me.nitni_local_ref_head = NULL;
36842 fra.me.REG[0] = NIT_NULL;
36843 fra.me.REG[1] = NIT_NULL;
36844 fra.me.REG[2] = NIT_NULL;
36845 fra.me.REG[3] = NIT_NULL;
36846 fra.me.REG[4] = NIT_NULL;
36847 fra.me.REG[5] = NIT_NULL;
36848 fra.me.REG[6] = NIT_NULL;
36849 fra.me.REG[7] = NIT_NULL;
36850 fra.me.REG[8] = NIT_NULL;
36851 fra.me.REG[9] = NIT_NULL;
36852 fra.me.REG[0] = p0;
36853 fra.me.REG[1] = p1;
36854 /* parser/parser.nit:13248 */
36855 fra.me.REG[2] = NIT_NULL;
36856 /* parser/parser.nit:13249 */
36857 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36858 /* parser/parser.nit:13250 */
36859 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36860 /* parser/parser.nit:13251 */
36861 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36862 /* parser/parser.nit:13252 */
36863 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36864 /* parser/parser.nit:13253 */
36865 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36866 /* parser/parser.nit:13254 */
36867 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36868 /* parser/parser.nit:13255 */
36869 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36870 /* parser/parser.nit:13256 */
36871 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36872 /* parser/parser.nit:13257 */
36873 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
36874 /* parser/parser.nit:13259 */
36875 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*/;
36876 if (UNTAG_Bool(REGB0)) {
36877 } else {
36878 nit_abort("Assert failed", NULL, LOCATE_parser, 13259);
36879 }
36880 /* parser/parser.nit:13261 */
36881 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*/;
36882 if (UNTAG_Bool(REGB0)) {
36883 } else {
36884 nit_abort("Assert failed", NULL, LOCATE_parser, 13261);
36885 }
36886 /* parser/parser.nit:13263 */
36887 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]*/;
36888 if (UNTAG_Bool(REGB0)) {
36889 } else {
36890 nit_abort("Assert failed", NULL, LOCATE_parser, 13263);
36891 }
36892 /* parser/parser.nit:13264 */
36893 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
36894 fra.me.REG[9] = fra.me.REG[6];
36895 /* parser/parser.nit:13266 */
36896 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*/;
36897 if (UNTAG_Bool(REGB0)) {
36898 } else {
36899 nit_abort("Assert failed", NULL, LOCATE_parser, 13266);
36900 }
36901 /* parser/parser.nit:13268 */
36902 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*/;
36903 if (UNTAG_Bool(REGB0)) {
36904 } else {
36905 nit_abort("Assert failed", NULL, LOCATE_parser, 13268);
36906 }
36907 /* parser/parser.nit:13270 */
36908 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*/;
36909 if (UNTAG_Bool(REGB0)) {
36910 } else {
36911 nit_abort("Assert failed", NULL, LOCATE_parser, 13270);
36912 }
36913 /* parser/parser.nit:13271 */
36914 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]);
36915 /* parser/parser.nit:13279 */
36916 fra.me.REG[2] = fra.me.REG[3];
36917 /* parser/parser.nit:13280 */
36918 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
36919 if (UNTAG_Bool(REGB0)) {
36920 } else {
36921 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13280);
36922 }
36923 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
36924 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
36925 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
36926 stack_frame_head = fra.me.prev;
36927 return;
36928 }
36929 static const char LOCATE_parser___ReduceAction380___action[] = "parser::ReduceAction380::(parser::ReduceAction::action)";
36930 void parser___ReduceAction380___action(val_t p0, val_t p1){
36931 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
36932 val_t REGB0;
36933 val_t tmp;
36934 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36935 fra.me.file = LOCATE_parser;
36936 fra.me.line = 13285;
36937 fra.me.meth = LOCATE_parser___ReduceAction380___action;
36938 fra.me.has_broke = 0;
36939 fra.me.REG_size = 10;
36940 fra.me.nitni_local_ref_head = NULL;
36941 fra.me.REG[0] = NIT_NULL;
36942 fra.me.REG[1] = NIT_NULL;
36943 fra.me.REG[2] = NIT_NULL;
36944 fra.me.REG[3] = NIT_NULL;
36945 fra.me.REG[4] = NIT_NULL;
36946 fra.me.REG[5] = NIT_NULL;
36947 fra.me.REG[6] = NIT_NULL;
36948 fra.me.REG[7] = NIT_NULL;
36949 fra.me.REG[8] = NIT_NULL;
36950 fra.me.REG[9] = NIT_NULL;
36951 fra.me.REG[0] = p0;
36952 fra.me.REG[1] = p1;
36953 /* parser/parser.nit:13287 */
36954 fra.me.REG[2] = NIT_NULL;
36955 /* parser/parser.nit:13288 */
36956 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36957 /* parser/parser.nit:13289 */
36958 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36959 /* parser/parser.nit:13290 */
36960 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36961 /* parser/parser.nit:13291 */
36962 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36963 /* parser/parser.nit:13292 */
36964 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36965 /* parser/parser.nit:13293 */
36966 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
36967 /* parser/parser.nit:13294 */
36968 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
36969 /* parser/parser.nit:13296 */
36970 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*/;
36971 if (UNTAG_Bool(REGB0)) {
36972 } else {
36973 nit_abort("Assert failed", NULL, LOCATE_parser, 13296);
36974 }
36975 /* parser/parser.nit:13298 */
36976 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*/;
36977 if (UNTAG_Bool(REGB0)) {
36978 } else {
36979 nit_abort("Assert failed", NULL, LOCATE_parser, 13298);
36980 }
36981 /* parser/parser.nit:13300 */
36982 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]*/;
36983 if (UNTAG_Bool(REGB0)) {
36984 } else {
36985 nit_abort("Assert failed", NULL, LOCATE_parser, 13300);
36986 }
36987 /* parser/parser.nit:13301 */
36988 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[6]);
36989 fra.me.REG[9] = fra.me.REG[6];
36990 /* parser/parser.nit:13303 */
36991 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*/;
36992 if (UNTAG_Bool(REGB0)) {
36993 } else {
36994 nit_abort("Assert failed", NULL, LOCATE_parser, 13303);
36995 }
36996 /* parser/parser.nit:13305 */
36997 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*/;
36998 if (UNTAG_Bool(REGB0)) {
36999 } else {
37000 nit_abort("Assert failed", NULL, LOCATE_parser, 13305);
37001 }
37002 /* parser/parser.nit:13307 */
37003 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*/;
37004 if (UNTAG_Bool(REGB0)) {
37005 } else {
37006 nit_abort("Assert failed", NULL, LOCATE_parser, 13307);
37007 }
37008 /* parser/parser.nit:13308 */
37009 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]);
37010 /* parser/parser.nit:13316 */
37011 fra.me.REG[2] = fra.me.REG[3];
37012 /* parser/parser.nit:13317 */
37013 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37014 if (UNTAG_Bool(REGB0)) {
37015 } else {
37016 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13317);
37017 }
37018 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37019 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37020 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37021 stack_frame_head = fra.me.prev;
37022 return;
37023 }
37024 static const char LOCATE_parser___ReduceAction381___action[] = "parser::ReduceAction381::(parser::ReduceAction::action)";
37025 void parser___ReduceAction381___action(val_t p0, val_t p1){
37026 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37027 val_t REGB0;
37028 val_t tmp;
37029 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37030 fra.me.file = LOCATE_parser;
37031 fra.me.line = 13322;
37032 fra.me.meth = LOCATE_parser___ReduceAction381___action;
37033 fra.me.has_broke = 0;
37034 fra.me.REG_size = 8;
37035 fra.me.nitni_local_ref_head = NULL;
37036 fra.me.REG[0] = NIT_NULL;
37037 fra.me.REG[1] = NIT_NULL;
37038 fra.me.REG[2] = NIT_NULL;
37039 fra.me.REG[3] = NIT_NULL;
37040 fra.me.REG[4] = NIT_NULL;
37041 fra.me.REG[5] = NIT_NULL;
37042 fra.me.REG[6] = NIT_NULL;
37043 fra.me.REG[7] = NIT_NULL;
37044 fra.me.REG[0] = p0;
37045 fra.me.REG[1] = p1;
37046 /* parser/parser.nit:13324 */
37047 fra.me.REG[2] = NIT_NULL;
37048 /* parser/parser.nit:13325 */
37049 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37050 /* parser/parser.nit:13326 */
37051 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37052 /* parser/parser.nit:13327 */
37053 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37054 /* parser/parser.nit:13328 */
37055 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37056 /* parser/parser.nit:13329 */
37057 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
37058 /* parser/parser.nit:13331 */
37059 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*/;
37060 if (UNTAG_Bool(REGB0)) {
37061 } else {
37062 nit_abort("Assert failed", NULL, LOCATE_parser, 13331);
37063 }
37064 /* parser/parser.nit:13333 */
37065 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*/;
37066 if (UNTAG_Bool(REGB0)) {
37067 } else {
37068 nit_abort("Assert failed", NULL, LOCATE_parser, 13333);
37069 }
37070 /* parser/parser.nit:13335 */
37071 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*/;
37072 if (UNTAG_Bool(REGB0)) {
37073 } else {
37074 nit_abort("Assert failed", NULL, LOCATE_parser, 13335);
37075 }
37076 /* parser/parser.nit:13337 */
37077 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*/;
37078 if (UNTAG_Bool(REGB0)) {
37079 } else {
37080 nit_abort("Assert failed", NULL, LOCATE_parser, 13337);
37081 }
37082 /* parser/parser.nit:13338 */
37083 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);
37084 /* parser/parser.nit:13346 */
37085 fra.me.REG[2] = fra.me.REG[3];
37086 /* parser/parser.nit:13347 */
37087 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37088 if (UNTAG_Bool(REGB0)) {
37089 } else {
37090 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13347);
37091 }
37092 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37093 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37094 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37095 stack_frame_head = fra.me.prev;
37096 return;
37097 }
37098 static const char LOCATE_parser___ReduceAction382___action[] = "parser::ReduceAction382::(parser::ReduceAction::action)";
37099 void parser___ReduceAction382___action(val_t p0, val_t p1){
37100 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37101 val_t REGB0;
37102 val_t tmp;
37103 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37104 fra.me.file = LOCATE_parser;
37105 fra.me.line = 13352;
37106 fra.me.meth = LOCATE_parser___ReduceAction382___action;
37107 fra.me.has_broke = 0;
37108 fra.me.REG_size = 9;
37109 fra.me.nitni_local_ref_head = NULL;
37110 fra.me.REG[0] = NIT_NULL;
37111 fra.me.REG[1] = NIT_NULL;
37112 fra.me.REG[2] = NIT_NULL;
37113 fra.me.REG[3] = NIT_NULL;
37114 fra.me.REG[4] = NIT_NULL;
37115 fra.me.REG[5] = NIT_NULL;
37116 fra.me.REG[6] = NIT_NULL;
37117 fra.me.REG[7] = NIT_NULL;
37118 fra.me.REG[8] = NIT_NULL;
37119 fra.me.REG[0] = p0;
37120 fra.me.REG[1] = p1;
37121 /* parser/parser.nit:13354 */
37122 fra.me.REG[2] = NIT_NULL;
37123 /* parser/parser.nit:13355 */
37124 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37125 /* parser/parser.nit:13356 */
37126 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37127 /* parser/parser.nit:13357 */
37128 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37129 /* parser/parser.nit:13358 */
37130 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37131 /* parser/parser.nit:13359 */
37132 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37133 /* parser/parser.nit:13360 */
37134 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37135 /* parser/parser.nit:13361 */
37136 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37137 /* parser/parser.nit:13362 */
37138 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
37139 /* parser/parser.nit:13364 */
37140 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*/;
37141 if (UNTAG_Bool(REGB0)) {
37142 } else {
37143 nit_abort("Assert failed", NULL, LOCATE_parser, 13364);
37144 }
37145 /* parser/parser.nit:13366 */
37146 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*/;
37147 if (UNTAG_Bool(REGB0)) {
37148 } else {
37149 nit_abort("Assert failed", NULL, LOCATE_parser, 13366);
37150 }
37151 /* parser/parser.nit:13368 */
37152 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]*/;
37153 if (UNTAG_Bool(REGB0)) {
37154 } else {
37155 nit_abort("Assert failed", NULL, LOCATE_parser, 13368);
37156 }
37157 /* parser/parser.nit:13369 */
37158 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
37159 fra.me.REG[8] = fra.me.REG[5];
37160 /* parser/parser.nit:13371 */
37161 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*/;
37162 if (UNTAG_Bool(REGB0)) {
37163 } else {
37164 nit_abort("Assert failed", NULL, LOCATE_parser, 13371);
37165 }
37166 /* parser/parser.nit:13373 */
37167 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*/;
37168 if (UNTAG_Bool(REGB0)) {
37169 } else {
37170 nit_abort("Assert failed", NULL, LOCATE_parser, 13373);
37171 }
37172 /* parser/parser.nit:13374 */
37173 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);
37174 /* parser/parser.nit:13382 */
37175 fra.me.REG[2] = fra.me.REG[3];
37176 /* parser/parser.nit:13383 */
37177 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37178 if (UNTAG_Bool(REGB0)) {
37179 } else {
37180 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13383);
37181 }
37182 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37183 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37184 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37185 stack_frame_head = fra.me.prev;
37186 return;
37187 }
37188 static const char LOCATE_parser___ReduceAction383___action[] = "parser::ReduceAction383::(parser::ReduceAction::action)";
37189 void parser___ReduceAction383___action(val_t p0, val_t p1){
37190 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37191 val_t REGB0;
37192 val_t tmp;
37193 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37194 fra.me.file = LOCATE_parser;
37195 fra.me.line = 13388;
37196 fra.me.meth = LOCATE_parser___ReduceAction383___action;
37197 fra.me.has_broke = 0;
37198 fra.me.REG_size = 9;
37199 fra.me.nitni_local_ref_head = NULL;
37200 fra.me.REG[0] = NIT_NULL;
37201 fra.me.REG[1] = NIT_NULL;
37202 fra.me.REG[2] = NIT_NULL;
37203 fra.me.REG[3] = NIT_NULL;
37204 fra.me.REG[4] = NIT_NULL;
37205 fra.me.REG[5] = NIT_NULL;
37206 fra.me.REG[6] = NIT_NULL;
37207 fra.me.REG[7] = NIT_NULL;
37208 fra.me.REG[8] = NIT_NULL;
37209 fra.me.REG[0] = p0;
37210 fra.me.REG[1] = p1;
37211 /* parser/parser.nit:13390 */
37212 fra.me.REG[2] = NIT_NULL;
37213 /* parser/parser.nit:13391 */
37214 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37215 /* parser/parser.nit:13392 */
37216 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37217 /* parser/parser.nit:13393 */
37218 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37219 /* parser/parser.nit:13394 */
37220 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37221 /* parser/parser.nit:13395 */
37222 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37223 /* parser/parser.nit:13396 */
37224 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
37225 /* parser/parser.nit:13398 */
37226 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*/;
37227 if (UNTAG_Bool(REGB0)) {
37228 } else {
37229 nit_abort("Assert failed", NULL, LOCATE_parser, 13398);
37230 }
37231 /* parser/parser.nit:13400 */
37232 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*/;
37233 if (UNTAG_Bool(REGB0)) {
37234 } else {
37235 nit_abort("Assert failed", NULL, LOCATE_parser, 13400);
37236 }
37237 /* parser/parser.nit:13402 */
37238 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]*/;
37239 if (UNTAG_Bool(REGB0)) {
37240 } else {
37241 nit_abort("Assert failed", NULL, LOCATE_parser, 13402);
37242 }
37243 /* parser/parser.nit:13403 */
37244 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
37245 fra.me.REG[8] = fra.me.REG[5];
37246 /* parser/parser.nit:13405 */
37247 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*/;
37248 if (UNTAG_Bool(REGB0)) {
37249 } else {
37250 nit_abort("Assert failed", NULL, LOCATE_parser, 13405);
37251 }
37252 /* parser/parser.nit:13407 */
37253 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*/;
37254 if (UNTAG_Bool(REGB0)) {
37255 } else {
37256 nit_abort("Assert failed", NULL, LOCATE_parser, 13407);
37257 }
37258 /* parser/parser.nit:13408 */
37259 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);
37260 /* parser/parser.nit:13416 */
37261 fra.me.REG[2] = fra.me.REG[3];
37262 /* parser/parser.nit:13417 */
37263 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37264 if (UNTAG_Bool(REGB0)) {
37265 } else {
37266 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13417);
37267 }
37268 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37269 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37270 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37271 stack_frame_head = fra.me.prev;
37272 return;
37273 }
37274 static const char LOCATE_parser___ReduceAction384___action[] = "parser::ReduceAction384::(parser::ReduceAction::action)";
37275 void parser___ReduceAction384___action(val_t p0, val_t p1){
37276 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
37277 val_t REGB0;
37278 val_t tmp;
37279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37280 fra.me.file = LOCATE_parser;
37281 fra.me.line = 13422;
37282 fra.me.meth = LOCATE_parser___ReduceAction384___action;
37283 fra.me.has_broke = 0;
37284 fra.me.REG_size = 7;
37285 fra.me.nitni_local_ref_head = NULL;
37286 fra.me.REG[0] = NIT_NULL;
37287 fra.me.REG[1] = NIT_NULL;
37288 fra.me.REG[2] = NIT_NULL;
37289 fra.me.REG[3] = NIT_NULL;
37290 fra.me.REG[4] = NIT_NULL;
37291 fra.me.REG[5] = NIT_NULL;
37292 fra.me.REG[6] = NIT_NULL;
37293 fra.me.REG[0] = p0;
37294 fra.me.REG[1] = p1;
37295 /* parser/parser.nit:13424 */
37296 fra.me.REG[2] = NIT_NULL;
37297 /* parser/parser.nit:13425 */
37298 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37299 /* parser/parser.nit:13426 */
37300 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37301 /* parser/parser.nit:13427 */
37302 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37303 /* parser/parser.nit:13428 */
37304 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37305 /* parser/parser.nit:13429 */
37306 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37307 /* parser/parser.nit:13430 */
37308 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
37309 /* parser/parser.nit:13432 */
37310 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*/;
37311 if (UNTAG_Bool(REGB0)) {
37312 } else {
37313 nit_abort("Assert failed", NULL, LOCATE_parser, 13432);
37314 }
37315 /* parser/parser.nit:13434 */
37316 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*/;
37317 if (UNTAG_Bool(REGB0)) {
37318 } else {
37319 nit_abort("Assert failed", NULL, LOCATE_parser, 13434);
37320 }
37321 /* parser/parser.nit:13436 */
37322 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*/;
37323 if (UNTAG_Bool(REGB0)) {
37324 } else {
37325 nit_abort("Assert failed", NULL, LOCATE_parser, 13436);
37326 }
37327 /* parser/parser.nit:13437 */
37328 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);
37329 /* parser/parser.nit:13445 */
37330 fra.me.REG[2] = fra.me.REG[3];
37331 /* parser/parser.nit:13446 */
37332 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37333 if (UNTAG_Bool(REGB0)) {
37334 } else {
37335 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13446);
37336 }
37337 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37338 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37339 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37340 stack_frame_head = fra.me.prev;
37341 return;
37342 }
37343 static const char LOCATE_parser___ReduceAction385___action[] = "parser::ReduceAction385::(parser::ReduceAction::action)";
37344 void parser___ReduceAction385___action(val_t p0, val_t p1){
37345 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37346 val_t REGB0;
37347 val_t tmp;
37348 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37349 fra.me.file = LOCATE_parser;
37350 fra.me.line = 13451;
37351 fra.me.meth = LOCATE_parser___ReduceAction385___action;
37352 fra.me.has_broke = 0;
37353 fra.me.REG_size = 8;
37354 fra.me.nitni_local_ref_head = NULL;
37355 fra.me.REG[0] = NIT_NULL;
37356 fra.me.REG[1] = NIT_NULL;
37357 fra.me.REG[2] = NIT_NULL;
37358 fra.me.REG[3] = NIT_NULL;
37359 fra.me.REG[4] = NIT_NULL;
37360 fra.me.REG[5] = NIT_NULL;
37361 fra.me.REG[6] = NIT_NULL;
37362 fra.me.REG[7] = NIT_NULL;
37363 fra.me.REG[0] = p0;
37364 fra.me.REG[1] = p1;
37365 /* parser/parser.nit:13453 */
37366 fra.me.REG[2] = NIT_NULL;
37367 /* parser/parser.nit:13454 */
37368 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37369 /* parser/parser.nit:13455 */
37370 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37371 /* parser/parser.nit:13456 */
37372 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37373 /* parser/parser.nit:13457 */
37374 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37375 /* parser/parser.nit:13458 */
37376 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37377 /* parser/parser.nit:13459 */
37378 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37379 /* parser/parser.nit:13460 */
37380 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37381 /* parser/parser.nit:13461 */
37382 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37383 /* parser/parser.nit:13462 */
37384 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
37385 /* parser/parser.nit:13464 */
37386 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*/;
37387 if (UNTAG_Bool(REGB0)) {
37388 } else {
37389 nit_abort("Assert failed", NULL, LOCATE_parser, 13464);
37390 }
37391 /* parser/parser.nit:13466 */
37392 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*/;
37393 if (UNTAG_Bool(REGB0)) {
37394 } else {
37395 nit_abort("Assert failed", NULL, LOCATE_parser, 13466);
37396 }
37397 /* parser/parser.nit:13468 */
37398 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]*/;
37399 if (UNTAG_Bool(REGB0)) {
37400 } else {
37401 nit_abort("Assert failed", NULL, LOCATE_parser, 13468);
37402 }
37403 /* parser/parser.nit:13469 */
37404 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
37405 fra.me.REG[7] = fra.me.REG[4];
37406 /* parser/parser.nit:13471 */
37407 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*/;
37408 if (UNTAG_Bool(REGB0)) {
37409 } else {
37410 nit_abort("Assert failed", NULL, LOCATE_parser, 13471);
37411 }
37412 /* parser/parser.nit:13472 */
37413 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);
37414 /* parser/parser.nit:13480 */
37415 fra.me.REG[2] = fra.me.REG[3];
37416 /* parser/parser.nit:13481 */
37417 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37418 if (UNTAG_Bool(REGB0)) {
37419 } else {
37420 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13481);
37421 }
37422 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37423 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37424 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37425 stack_frame_head = fra.me.prev;
37426 return;
37427 }
37428 static const char LOCATE_parser___ReduceAction386___action[] = "parser::ReduceAction386::(parser::ReduceAction::action)";
37429 void parser___ReduceAction386___action(val_t p0, val_t p1){
37430 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37431 val_t REGB0;
37432 val_t tmp;
37433 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37434 fra.me.file = LOCATE_parser;
37435 fra.me.line = 13486;
37436 fra.me.meth = LOCATE_parser___ReduceAction386___action;
37437 fra.me.has_broke = 0;
37438 fra.me.REG_size = 8;
37439 fra.me.nitni_local_ref_head = NULL;
37440 fra.me.REG[0] = NIT_NULL;
37441 fra.me.REG[1] = NIT_NULL;
37442 fra.me.REG[2] = NIT_NULL;
37443 fra.me.REG[3] = NIT_NULL;
37444 fra.me.REG[4] = NIT_NULL;
37445 fra.me.REG[5] = NIT_NULL;
37446 fra.me.REG[6] = NIT_NULL;
37447 fra.me.REG[7] = NIT_NULL;
37448 fra.me.REG[0] = p0;
37449 fra.me.REG[1] = p1;
37450 /* parser/parser.nit:13488 */
37451 fra.me.REG[2] = NIT_NULL;
37452 /* parser/parser.nit:13489 */
37453 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37454 /* parser/parser.nit:13490 */
37455 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37456 /* parser/parser.nit:13491 */
37457 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37458 /* parser/parser.nit:13492 */
37459 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37460 /* parser/parser.nit:13493 */
37461 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37462 /* parser/parser.nit:13494 */
37463 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37464 /* parser/parser.nit:13495 */
37465 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
37466 /* parser/parser.nit:13497 */
37467 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*/;
37468 if (UNTAG_Bool(REGB0)) {
37469 } else {
37470 nit_abort("Assert failed", NULL, LOCATE_parser, 13497);
37471 }
37472 /* parser/parser.nit:13499 */
37473 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*/;
37474 if (UNTAG_Bool(REGB0)) {
37475 } else {
37476 nit_abort("Assert failed", NULL, LOCATE_parser, 13499);
37477 }
37478 /* parser/parser.nit:13501 */
37479 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]*/;
37480 if (UNTAG_Bool(REGB0)) {
37481 } else {
37482 nit_abort("Assert failed", NULL, LOCATE_parser, 13501);
37483 }
37484 /* parser/parser.nit:13502 */
37485 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
37486 fra.me.REG[7] = fra.me.REG[4];
37487 /* parser/parser.nit:13504 */
37488 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*/;
37489 if (UNTAG_Bool(REGB0)) {
37490 } else {
37491 nit_abort("Assert failed", NULL, LOCATE_parser, 13504);
37492 }
37493 /* parser/parser.nit:13505 */
37494 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);
37495 /* parser/parser.nit:13513 */
37496 fra.me.REG[2] = fra.me.REG[3];
37497 /* parser/parser.nit:13514 */
37498 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37499 if (UNTAG_Bool(REGB0)) {
37500 } else {
37501 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13514);
37502 }
37503 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37504 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37505 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37506 stack_frame_head = fra.me.prev;
37507 return;
37508 }
37509 static const char LOCATE_parser___ReduceAction387___action[] = "parser::ReduceAction387::(parser::ReduceAction::action)";
37510 void parser___ReduceAction387___action(val_t p0, val_t p1){
37511 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37512 val_t REGB0;
37513 val_t tmp;
37514 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37515 fra.me.file = LOCATE_parser;
37516 fra.me.line = 13519;
37517 fra.me.meth = LOCATE_parser___ReduceAction387___action;
37518 fra.me.has_broke = 0;
37519 fra.me.REG_size = 8;
37520 fra.me.nitni_local_ref_head = NULL;
37521 fra.me.REG[0] = NIT_NULL;
37522 fra.me.REG[1] = NIT_NULL;
37523 fra.me.REG[2] = NIT_NULL;
37524 fra.me.REG[3] = NIT_NULL;
37525 fra.me.REG[4] = NIT_NULL;
37526 fra.me.REG[5] = NIT_NULL;
37527 fra.me.REG[6] = NIT_NULL;
37528 fra.me.REG[7] = NIT_NULL;
37529 fra.me.REG[0] = p0;
37530 fra.me.REG[1] = p1;
37531 /* parser/parser.nit:13521 */
37532 fra.me.REG[2] = NIT_NULL;
37533 /* parser/parser.nit:13522 */
37534 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37535 /* parser/parser.nit:13523 */
37536 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37537 /* parser/parser.nit:13524 */
37538 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37539 /* parser/parser.nit:13525 */
37540 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37541 /* parser/parser.nit:13526 */
37542 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37543 /* parser/parser.nit:13527 */
37544 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
37545 /* parser/parser.nit:13529 */
37546 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*/;
37547 if (UNTAG_Bool(REGB0)) {
37548 } else {
37549 nit_abort("Assert failed", NULL, LOCATE_parser, 13529);
37550 }
37551 /* parser/parser.nit:13531 */
37552 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*/;
37553 if (UNTAG_Bool(REGB0)) {
37554 } else {
37555 nit_abort("Assert failed", NULL, LOCATE_parser, 13531);
37556 }
37557 /* parser/parser.nit:13533 */
37558 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*/;
37559 if (UNTAG_Bool(REGB0)) {
37560 } else {
37561 nit_abort("Assert failed", NULL, LOCATE_parser, 13533);
37562 }
37563 /* parser/parser.nit:13535 */
37564 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*/;
37565 if (UNTAG_Bool(REGB0)) {
37566 } else {
37567 nit_abort("Assert failed", NULL, LOCATE_parser, 13535);
37568 }
37569 /* parser/parser.nit:13536 */
37570 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);
37571 /* parser/parser.nit:13544 */
37572 fra.me.REG[2] = fra.me.REG[3];
37573 /* parser/parser.nit:13545 */
37574 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37575 if (UNTAG_Bool(REGB0)) {
37576 } else {
37577 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13545);
37578 }
37579 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37580 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37581 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37582 stack_frame_head = fra.me.prev;
37583 return;
37584 }
37585 static const char LOCATE_parser___ReduceAction388___action[] = "parser::ReduceAction388::(parser::ReduceAction::action)";
37586 void parser___ReduceAction388___action(val_t p0, val_t p1){
37587 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37588 val_t REGB0;
37589 val_t tmp;
37590 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37591 fra.me.file = LOCATE_parser;
37592 fra.me.line = 13550;
37593 fra.me.meth = LOCATE_parser___ReduceAction388___action;
37594 fra.me.has_broke = 0;
37595 fra.me.REG_size = 9;
37596 fra.me.nitni_local_ref_head = NULL;
37597 fra.me.REG[0] = NIT_NULL;
37598 fra.me.REG[1] = NIT_NULL;
37599 fra.me.REG[2] = NIT_NULL;
37600 fra.me.REG[3] = NIT_NULL;
37601 fra.me.REG[4] = NIT_NULL;
37602 fra.me.REG[5] = NIT_NULL;
37603 fra.me.REG[6] = NIT_NULL;
37604 fra.me.REG[7] = NIT_NULL;
37605 fra.me.REG[8] = NIT_NULL;
37606 fra.me.REG[0] = p0;
37607 fra.me.REG[1] = p1;
37608 /* parser/parser.nit:13552 */
37609 fra.me.REG[2] = NIT_NULL;
37610 /* parser/parser.nit:13553 */
37611 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37612 /* parser/parser.nit:13554 */
37613 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37614 /* parser/parser.nit:13555 */
37615 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37616 /* parser/parser.nit:13556 */
37617 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37618 /* parser/parser.nit:13557 */
37619 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37620 /* parser/parser.nit:13558 */
37621 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37622 /* parser/parser.nit:13559 */
37623 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37624 /* parser/parser.nit:13560 */
37625 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37626 /* parser/parser.nit:13561 */
37627 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
37628 /* parser/parser.nit:13563 */
37629 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*/;
37630 if (UNTAG_Bool(REGB0)) {
37631 } else {
37632 nit_abort("Assert failed", NULL, LOCATE_parser, 13563);
37633 }
37634 /* parser/parser.nit:13565 */
37635 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*/;
37636 if (UNTAG_Bool(REGB0)) {
37637 } else {
37638 nit_abort("Assert failed", NULL, LOCATE_parser, 13565);
37639 }
37640 /* parser/parser.nit:13567 */
37641 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]*/;
37642 if (UNTAG_Bool(REGB0)) {
37643 } else {
37644 nit_abort("Assert failed", NULL, LOCATE_parser, 13567);
37645 }
37646 /* parser/parser.nit:13568 */
37647 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
37648 fra.me.REG[8] = fra.me.REG[5];
37649 /* parser/parser.nit:13570 */
37650 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*/;
37651 if (UNTAG_Bool(REGB0)) {
37652 } else {
37653 nit_abort("Assert failed", NULL, LOCATE_parser, 13570);
37654 }
37655 /* parser/parser.nit:13572 */
37656 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*/;
37657 if (UNTAG_Bool(REGB0)) {
37658 } else {
37659 nit_abort("Assert failed", NULL, LOCATE_parser, 13572);
37660 }
37661 /* parser/parser.nit:13573 */
37662 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);
37663 /* parser/parser.nit:13581 */
37664 fra.me.REG[2] = fra.me.REG[3];
37665 /* parser/parser.nit:13582 */
37666 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37667 if (UNTAG_Bool(REGB0)) {
37668 } else {
37669 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13582);
37670 }
37671 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37672 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37673 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37674 stack_frame_head = fra.me.prev;
37675 return;
37676 }
37677 static const char LOCATE_parser___ReduceAction389___action[] = "parser::ReduceAction389::(parser::ReduceAction::action)";
37678 void parser___ReduceAction389___action(val_t p0, val_t p1){
37679 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
37680 val_t REGB0;
37681 val_t tmp;
37682 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37683 fra.me.file = LOCATE_parser;
37684 fra.me.line = 13587;
37685 fra.me.meth = LOCATE_parser___ReduceAction389___action;
37686 fra.me.has_broke = 0;
37687 fra.me.REG_size = 9;
37688 fra.me.nitni_local_ref_head = NULL;
37689 fra.me.REG[0] = NIT_NULL;
37690 fra.me.REG[1] = NIT_NULL;
37691 fra.me.REG[2] = NIT_NULL;
37692 fra.me.REG[3] = NIT_NULL;
37693 fra.me.REG[4] = NIT_NULL;
37694 fra.me.REG[5] = NIT_NULL;
37695 fra.me.REG[6] = NIT_NULL;
37696 fra.me.REG[7] = NIT_NULL;
37697 fra.me.REG[8] = NIT_NULL;
37698 fra.me.REG[0] = p0;
37699 fra.me.REG[1] = p1;
37700 /* parser/parser.nit:13589 */
37701 fra.me.REG[2] = NIT_NULL;
37702 /* parser/parser.nit:13590 */
37703 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37704 /* parser/parser.nit:13591 */
37705 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37706 /* parser/parser.nit:13592 */
37707 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37708 /* parser/parser.nit:13593 */
37709 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37710 /* parser/parser.nit:13594 */
37711 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37712 /* parser/parser.nit:13595 */
37713 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37714 /* parser/parser.nit:13596 */
37715 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
37716 /* parser/parser.nit:13598 */
37717 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*/;
37718 if (UNTAG_Bool(REGB0)) {
37719 } else {
37720 nit_abort("Assert failed", NULL, LOCATE_parser, 13598);
37721 }
37722 /* parser/parser.nit:13600 */
37723 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*/;
37724 if (UNTAG_Bool(REGB0)) {
37725 } else {
37726 nit_abort("Assert failed", NULL, LOCATE_parser, 13600);
37727 }
37728 /* parser/parser.nit:13602 */
37729 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]*/;
37730 if (UNTAG_Bool(REGB0)) {
37731 } else {
37732 nit_abort("Assert failed", NULL, LOCATE_parser, 13602);
37733 }
37734 /* parser/parser.nit:13603 */
37735 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[5]);
37736 fra.me.REG[8] = fra.me.REG[5];
37737 /* parser/parser.nit:13605 */
37738 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*/;
37739 if (UNTAG_Bool(REGB0)) {
37740 } else {
37741 nit_abort("Assert failed", NULL, LOCATE_parser, 13605);
37742 }
37743 /* parser/parser.nit:13607 */
37744 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*/;
37745 if (UNTAG_Bool(REGB0)) {
37746 } else {
37747 nit_abort("Assert failed", NULL, LOCATE_parser, 13607);
37748 }
37749 /* parser/parser.nit:13608 */
37750 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);
37751 /* parser/parser.nit:13616 */
37752 fra.me.REG[2] = fra.me.REG[3];
37753 /* parser/parser.nit:13617 */
37754 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37755 if (UNTAG_Bool(REGB0)) {
37756 } else {
37757 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13617);
37758 }
37759 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37760 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37761 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37762 stack_frame_head = fra.me.prev;
37763 return;
37764 }
37765 static const char LOCATE_parser___ReduceAction390___action[] = "parser::ReduceAction390::(parser::ReduceAction::action)";
37766 void parser___ReduceAction390___action(val_t p0, val_t p1){
37767 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
37768 val_t REGB0;
37769 val_t tmp;
37770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37771 fra.me.file = LOCATE_parser;
37772 fra.me.line = 13622;
37773 fra.me.meth = LOCATE_parser___ReduceAction390___action;
37774 fra.me.has_broke = 0;
37775 fra.me.REG_size = 7;
37776 fra.me.nitni_local_ref_head = NULL;
37777 fra.me.REG[0] = NIT_NULL;
37778 fra.me.REG[1] = NIT_NULL;
37779 fra.me.REG[2] = NIT_NULL;
37780 fra.me.REG[3] = NIT_NULL;
37781 fra.me.REG[4] = NIT_NULL;
37782 fra.me.REG[5] = NIT_NULL;
37783 fra.me.REG[6] = NIT_NULL;
37784 fra.me.REG[0] = p0;
37785 fra.me.REG[1] = p1;
37786 /* parser/parser.nit:13624 */
37787 fra.me.REG[2] = NIT_NULL;
37788 /* parser/parser.nit:13625 */
37789 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37790 /* parser/parser.nit:13626 */
37791 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37792 /* parser/parser.nit:13627 */
37793 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37794 /* parser/parser.nit:13628 */
37795 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37796 /* parser/parser.nit:13629 */
37797 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
37798 /* parser/parser.nit:13631 */
37799 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*/;
37800 if (UNTAG_Bool(REGB0)) {
37801 } else {
37802 nit_abort("Assert failed", NULL, LOCATE_parser, 13631);
37803 }
37804 /* parser/parser.nit:13633 */
37805 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*/;
37806 if (UNTAG_Bool(REGB0)) {
37807 } else {
37808 nit_abort("Assert failed", NULL, LOCATE_parser, 13633);
37809 }
37810 /* parser/parser.nit:13635 */
37811 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*/;
37812 if (UNTAG_Bool(REGB0)) {
37813 } else {
37814 nit_abort("Assert failed", NULL, LOCATE_parser, 13635);
37815 }
37816 /* parser/parser.nit:13636 */
37817 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);
37818 /* parser/parser.nit:13644 */
37819 fra.me.REG[2] = fra.me.REG[3];
37820 /* parser/parser.nit:13645 */
37821 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37822 if (UNTAG_Bool(REGB0)) {
37823 } else {
37824 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13645);
37825 }
37826 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37827 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37828 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37829 stack_frame_head = fra.me.prev;
37830 return;
37831 }
37832 static const char LOCATE_parser___ReduceAction391___action[] = "parser::ReduceAction391::(parser::ReduceAction::action)";
37833 void parser___ReduceAction391___action(val_t p0, val_t p1){
37834 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37835 val_t REGB0;
37836 val_t tmp;
37837 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37838 fra.me.file = LOCATE_parser;
37839 fra.me.line = 13650;
37840 fra.me.meth = LOCATE_parser___ReduceAction391___action;
37841 fra.me.has_broke = 0;
37842 fra.me.REG_size = 8;
37843 fra.me.nitni_local_ref_head = NULL;
37844 fra.me.REG[0] = NIT_NULL;
37845 fra.me.REG[1] = NIT_NULL;
37846 fra.me.REG[2] = NIT_NULL;
37847 fra.me.REG[3] = NIT_NULL;
37848 fra.me.REG[4] = NIT_NULL;
37849 fra.me.REG[5] = NIT_NULL;
37850 fra.me.REG[6] = NIT_NULL;
37851 fra.me.REG[7] = NIT_NULL;
37852 fra.me.REG[0] = p0;
37853 fra.me.REG[1] = p1;
37854 /* parser/parser.nit:13652 */
37855 fra.me.REG[2] = NIT_NULL;
37856 /* parser/parser.nit:13653 */
37857 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37858 /* parser/parser.nit:13654 */
37859 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37860 /* parser/parser.nit:13655 */
37861 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37862 /* parser/parser.nit:13656 */
37863 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37864 /* parser/parser.nit:13657 */
37865 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37866 /* parser/parser.nit:13658 */
37867 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37868 /* parser/parser.nit:13659 */
37869 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37870 /* parser/parser.nit:13660 */
37871 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
37872 /* parser/parser.nit:13662 */
37873 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*/;
37874 if (UNTAG_Bool(REGB0)) {
37875 } else {
37876 nit_abort("Assert failed", NULL, LOCATE_parser, 13662);
37877 }
37878 /* parser/parser.nit:13664 */
37879 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*/;
37880 if (UNTAG_Bool(REGB0)) {
37881 } else {
37882 nit_abort("Assert failed", NULL, LOCATE_parser, 13664);
37883 }
37884 /* parser/parser.nit:13666 */
37885 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]*/;
37886 if (UNTAG_Bool(REGB0)) {
37887 } else {
37888 nit_abort("Assert failed", NULL, LOCATE_parser, 13666);
37889 }
37890 /* parser/parser.nit:13667 */
37891 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
37892 fra.me.REG[7] = fra.me.REG[4];
37893 /* parser/parser.nit:13669 */
37894 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*/;
37895 if (UNTAG_Bool(REGB0)) {
37896 } else {
37897 nit_abort("Assert failed", NULL, LOCATE_parser, 13669);
37898 }
37899 /* parser/parser.nit:13670 */
37900 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);
37901 /* parser/parser.nit:13678 */
37902 fra.me.REG[2] = fra.me.REG[3];
37903 /* parser/parser.nit:13679 */
37904 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37905 if (UNTAG_Bool(REGB0)) {
37906 } else {
37907 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13679);
37908 }
37909 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37910 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37911 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37912 stack_frame_head = fra.me.prev;
37913 return;
37914 }
37915 static const char LOCATE_parser___ReduceAction392___action[] = "parser::ReduceAction392::(parser::ReduceAction::action)";
37916 void parser___ReduceAction392___action(val_t p0, val_t p1){
37917 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
37918 val_t REGB0;
37919 val_t tmp;
37920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37921 fra.me.file = LOCATE_parser;
37922 fra.me.line = 13684;
37923 fra.me.meth = LOCATE_parser___ReduceAction392___action;
37924 fra.me.has_broke = 0;
37925 fra.me.REG_size = 8;
37926 fra.me.nitni_local_ref_head = NULL;
37927 fra.me.REG[0] = NIT_NULL;
37928 fra.me.REG[1] = NIT_NULL;
37929 fra.me.REG[2] = NIT_NULL;
37930 fra.me.REG[3] = NIT_NULL;
37931 fra.me.REG[4] = NIT_NULL;
37932 fra.me.REG[5] = NIT_NULL;
37933 fra.me.REG[6] = NIT_NULL;
37934 fra.me.REG[7] = NIT_NULL;
37935 fra.me.REG[0] = p0;
37936 fra.me.REG[1] = p1;
37937 /* parser/parser.nit:13686 */
37938 fra.me.REG[2] = NIT_NULL;
37939 /* parser/parser.nit:13687 */
37940 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37941 /* parser/parser.nit:13688 */
37942 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37943 /* parser/parser.nit:13689 */
37944 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37945 /* parser/parser.nit:13690 */
37946 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37947 /* parser/parser.nit:13691 */
37948 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
37949 /* parser/parser.nit:13692 */
37950 fra.me.REG[7] = NEW_Array_standard___collection___array___Array___init();
37951 /* parser/parser.nit:13694 */
37952 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*/;
37953 if (UNTAG_Bool(REGB0)) {
37954 } else {
37955 nit_abort("Assert failed", NULL, LOCATE_parser, 13694);
37956 }
37957 /* parser/parser.nit:13696 */
37958 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*/;
37959 if (UNTAG_Bool(REGB0)) {
37960 } else {
37961 nit_abort("Assert failed", NULL, LOCATE_parser, 13696);
37962 }
37963 /* parser/parser.nit:13698 */
37964 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]*/;
37965 if (UNTAG_Bool(REGB0)) {
37966 } else {
37967 nit_abort("Assert failed", NULL, LOCATE_parser, 13698);
37968 }
37969 /* parser/parser.nit:13699 */
37970 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[7], fra.me.REG[4]);
37971 fra.me.REG[7] = fra.me.REG[4];
37972 /* parser/parser.nit:13701 */
37973 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*/;
37974 if (UNTAG_Bool(REGB0)) {
37975 } else {
37976 nit_abort("Assert failed", NULL, LOCATE_parser, 13701);
37977 }
37978 /* parser/parser.nit:13702 */
37979 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);
37980 /* parser/parser.nit:13710 */
37981 fra.me.REG[2] = fra.me.REG[3];
37982 /* parser/parser.nit:13711 */
37983 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
37984 if (UNTAG_Bool(REGB0)) {
37985 } else {
37986 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13711);
37987 }
37988 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
37989 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
37990 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
37991 stack_frame_head = fra.me.prev;
37992 return;
37993 }
37994 static const char LOCATE_parser___ReduceAction393___action[] = "parser::ReduceAction393::(parser::ReduceAction::action)";
37995 void parser___ReduceAction393___action(val_t p0, val_t p1){
37996 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
37997 val_t REGB0;
37998 val_t tmp;
37999 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38000 fra.me.file = LOCATE_parser;
38001 fra.me.line = 13716;
38002 fra.me.meth = LOCATE_parser___ReduceAction393___action;
38003 fra.me.has_broke = 0;
38004 fra.me.REG_size = 4;
38005 fra.me.nitni_local_ref_head = NULL;
38006 fra.me.REG[0] = NIT_NULL;
38007 fra.me.REG[1] = NIT_NULL;
38008 fra.me.REG[2] = NIT_NULL;
38009 fra.me.REG[3] = NIT_NULL;
38010 fra.me.REG[0] = p0;
38011 fra.me.REG[1] = p1;
38012 /* parser/parser.nit:13718 */
38013 fra.me.REG[2] = NIT_NULL;
38014 /* parser/parser.nit:13719 */
38015 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38016 /* parser/parser.nit:13721 */
38017 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*/;
38018 if (UNTAG_Bool(REGB0)) {
38019 } else {
38020 nit_abort("Assert failed", NULL, LOCATE_parser, 13721);
38021 }
38022 /* parser/parser.nit:13722 */
38023 fra.me.REG[3] = NEW_ASimpleClosureId_parser___parser_prod___ASimpleClosureId___init_asimpleclosureid(fra.me.REG[3]);
38024 /* parser/parser.nit:13725 */
38025 fra.me.REG[2] = fra.me.REG[3];
38026 /* parser/parser.nit:13726 */
38027 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38028 if (UNTAG_Bool(REGB0)) {
38029 } else {
38030 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13726);
38031 }
38032 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38033 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38034 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38035 stack_frame_head = fra.me.prev;
38036 return;
38037 }
38038 static const char LOCATE_parser___ReduceAction394___action[] = "parser::ReduceAction394::(parser::ReduceAction::action)";
38039 void parser___ReduceAction394___action(val_t p0, val_t p1){
38040 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
38041 val_t REGB0;
38042 val_t tmp;
38043 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38044 fra.me.file = LOCATE_parser;
38045 fra.me.line = 13731;
38046 fra.me.meth = LOCATE_parser___ReduceAction394___action;
38047 fra.me.has_broke = 0;
38048 fra.me.REG_size = 4;
38049 fra.me.nitni_local_ref_head = NULL;
38050 fra.me.REG[0] = NIT_NULL;
38051 fra.me.REG[1] = NIT_NULL;
38052 fra.me.REG[2] = NIT_NULL;
38053 fra.me.REG[3] = NIT_NULL;
38054 fra.me.REG[0] = p0;
38055 fra.me.REG[1] = p1;
38056 /* parser/parser.nit:13733 */
38057 fra.me.REG[2] = NIT_NULL;
38058 /* parser/parser.nit:13734 */
38059 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38060 /* parser/parser.nit:13736 */
38061 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*/;
38062 if (UNTAG_Bool(REGB0)) {
38063 } else {
38064 nit_abort("Assert failed", NULL, LOCATE_parser, 13736);
38065 }
38066 /* parser/parser.nit:13737 */
38067 fra.me.REG[3] = NEW_ABreakClosureId_parser___parser_prod___ABreakClosureId___init_abreakclosureid(fra.me.REG[3]);
38068 /* parser/parser.nit:13740 */
38069 fra.me.REG[2] = fra.me.REG[3];
38070 /* parser/parser.nit:13741 */
38071 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38072 if (UNTAG_Bool(REGB0)) {
38073 } else {
38074 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13741);
38075 }
38076 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38077 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38078 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38079 stack_frame_head = fra.me.prev;
38080 return;
38081 }
38082 static const char LOCATE_parser___ReduceAction395___action[] = "parser::ReduceAction395::(parser::ReduceAction::action)";
38083 void parser___ReduceAction395___action(val_t p0, val_t p1){
38084 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
38085 val_t REGB0;
38086 val_t tmp;
38087 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38088 fra.me.file = LOCATE_parser;
38089 fra.me.line = 13746;
38090 fra.me.meth = LOCATE_parser___ReduceAction395___action;
38091 fra.me.has_broke = 0;
38092 fra.me.REG_size = 4;
38093 fra.me.nitni_local_ref_head = NULL;
38094 fra.me.REG[0] = NIT_NULL;
38095 fra.me.REG[1] = NIT_NULL;
38096 fra.me.REG[2] = NIT_NULL;
38097 fra.me.REG[3] = NIT_NULL;
38098 fra.me.REG[0] = p0;
38099 fra.me.REG[1] = p1;
38100 /* parser/parser.nit:13748 */
38101 fra.me.REG[2] = NIT_NULL;
38102 /* parser/parser.nit:13749 */
38103 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38104 /* parser/parser.nit:13751 */
38105 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*/;
38106 if (UNTAG_Bool(REGB0)) {
38107 } else {
38108 nit_abort("Assert failed", NULL, LOCATE_parser, 13751);
38109 }
38110 /* parser/parser.nit:13752 */
38111 fra.me.REG[3] = NEW_AContinueExpr_parser___parser_prod___AContinueExpr___init_acontinueexpr(NIT_NULL, NIT_NULL, fra.me.REG[3]);
38112 /* parser/parser.nit:13757 */
38113 fra.me.REG[2] = fra.me.REG[3];
38114 /* parser/parser.nit:13758 */
38115 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38116 if (UNTAG_Bool(REGB0)) {
38117 } else {
38118 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13758);
38119 }
38120 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38121 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38122 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38123 stack_frame_head = fra.me.prev;
38124 return;
38125 }
38126 static const char LOCATE_parser___ReduceAction396___action[] = "parser::ReduceAction396::(parser::ReduceAction::action)";
38127 void parser___ReduceAction396___action(val_t p0, val_t p1){
38128 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
38129 val_t REGB0;
38130 val_t tmp;
38131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38132 fra.me.file = LOCATE_parser;
38133 fra.me.line = 13763;
38134 fra.me.meth = LOCATE_parser___ReduceAction396___action;
38135 fra.me.has_broke = 0;
38136 fra.me.REG_size = 5;
38137 fra.me.nitni_local_ref_head = NULL;
38138 fra.me.REG[0] = NIT_NULL;
38139 fra.me.REG[1] = NIT_NULL;
38140 fra.me.REG[2] = NIT_NULL;
38141 fra.me.REG[3] = NIT_NULL;
38142 fra.me.REG[4] = NIT_NULL;
38143 fra.me.REG[0] = p0;
38144 fra.me.REG[1] = p1;
38145 /* parser/parser.nit:13765 */
38146 fra.me.REG[2] = NIT_NULL;
38147 /* parser/parser.nit:13766 */
38148 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38149 /* parser/parser.nit:13767 */
38150 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38151 /* parser/parser.nit:13769 */
38152 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*/;
38153 if (UNTAG_Bool(REGB0)) {
38154 } else {
38155 nit_abort("Assert failed", NULL, LOCATE_parser, 13769);
38156 }
38157 /* parser/parser.nit:13771 */
38158 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*/;
38159 if (UNTAG_Bool(REGB0)) {
38160 } else {
38161 nit_abort("Assert failed", NULL, LOCATE_parser, 13771);
38162 }
38163 /* parser/parser.nit:13772 */
38164 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);
38165 /* parser/parser.nit:13779 */
38166 fra.me.REG[2] = fra.me.REG[3];
38167 /* parser/parser.nit:13780 */
38168 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38169 if (UNTAG_Bool(REGB0)) {
38170 } else {
38171 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13780);
38172 }
38173 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38174 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38175 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38176 stack_frame_head = fra.me.prev;
38177 return;
38178 }
38179 static const char LOCATE_parser___ReduceAction397___action[] = "parser::ReduceAction397::(parser::ReduceAction::action)";
38180 void parser___ReduceAction397___action(val_t p0, val_t p1){
38181 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
38182 val_t REGB0;
38183 val_t tmp;
38184 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38185 fra.me.file = LOCATE_parser;
38186 fra.me.line = 13785;
38187 fra.me.meth = LOCATE_parser___ReduceAction397___action;
38188 fra.me.has_broke = 0;
38189 fra.me.REG_size = 6;
38190 fra.me.nitni_local_ref_head = NULL;
38191 fra.me.REG[0] = NIT_NULL;
38192 fra.me.REG[1] = NIT_NULL;
38193 fra.me.REG[2] = NIT_NULL;
38194 fra.me.REG[3] = NIT_NULL;
38195 fra.me.REG[4] = NIT_NULL;
38196 fra.me.REG[5] = NIT_NULL;
38197 fra.me.REG[0] = p0;
38198 fra.me.REG[1] = p1;
38199 /* parser/parser.nit:13787 */
38200 fra.me.REG[2] = NIT_NULL;
38201 /* parser/parser.nit:13788 */
38202 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38203 /* parser/parser.nit:13789 */
38204 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38205 /* parser/parser.nit:13790 */
38206 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38207 /* parser/parser.nit:13792 */
38208 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*/;
38209 if (UNTAG_Bool(REGB0)) {
38210 } else {
38211 nit_abort("Assert failed", NULL, LOCATE_parser, 13792);
38212 }
38213 /* parser/parser.nit:13794 */
38214 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*/;
38215 if (UNTAG_Bool(REGB0)) {
38216 } else {
38217 nit_abort("Assert failed", NULL, LOCATE_parser, 13794);
38218 }
38219 /* parser/parser.nit:13796 */
38220 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*/;
38221 if (UNTAG_Bool(REGB0)) {
38222 } else {
38223 nit_abort("Assert failed", NULL, LOCATE_parser, 13796);
38224 }
38225 /* parser/parser.nit:13797 */
38226 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);
38227 /* parser/parser.nit:13804 */
38228 fra.me.REG[2] = fra.me.REG[3];
38229 /* parser/parser.nit:13805 */
38230 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38231 if (UNTAG_Bool(REGB0)) {
38232 } else {
38233 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13805);
38234 }
38235 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38236 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38237 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38238 stack_frame_head = fra.me.prev;
38239 return;
38240 }
38241 static const char LOCATE_parser___ReduceAction398___action[] = "parser::ReduceAction398::(parser::ReduceAction::action)";
38242 void parser___ReduceAction398___action(val_t p0, val_t p1){
38243 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
38244 val_t REGB0;
38245 val_t tmp;
38246 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38247 fra.me.file = LOCATE_parser;
38248 fra.me.line = 13810;
38249 fra.me.meth = LOCATE_parser___ReduceAction398___action;
38250 fra.me.has_broke = 0;
38251 fra.me.REG_size = 7;
38252 fra.me.nitni_local_ref_head = NULL;
38253 fra.me.REG[0] = NIT_NULL;
38254 fra.me.REG[1] = NIT_NULL;
38255 fra.me.REG[2] = NIT_NULL;
38256 fra.me.REG[3] = NIT_NULL;
38257 fra.me.REG[4] = NIT_NULL;
38258 fra.me.REG[5] = NIT_NULL;
38259 fra.me.REG[6] = NIT_NULL;
38260 fra.me.REG[0] = p0;
38261 fra.me.REG[1] = p1;
38262 /* parser/parser.nit:13812 */
38263 fra.me.REG[2] = NIT_NULL;
38264 /* parser/parser.nit:13813 */
38265 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38266 /* parser/parser.nit:13814 */
38267 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38268 /* parser/parser.nit:13815 */
38269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38270 /* parser/parser.nit:13816 */
38271 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38272 /* parser/parser.nit:13817 */
38273 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38274 /* parser/parser.nit:13819 */
38275 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*/;
38276 if (UNTAG_Bool(REGB0)) {
38277 } else {
38278 nit_abort("Assert failed", NULL, LOCATE_parser, 13819);
38279 }
38280 /* parser/parser.nit:13821 */
38281 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*/;
38282 if (UNTAG_Bool(REGB0)) {
38283 } else {
38284 nit_abort("Assert failed", NULL, LOCATE_parser, 13821);
38285 }
38286 /* parser/parser.nit:13823 */
38287 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*/;
38288 if (UNTAG_Bool(REGB0)) {
38289 } else {
38290 nit_abort("Assert failed", NULL, LOCATE_parser, 13823);
38291 }
38292 /* parser/parser.nit:13825 */
38293 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*/;
38294 if (UNTAG_Bool(REGB0)) {
38295 } else {
38296 nit_abort("Assert failed", NULL, LOCATE_parser, 13825);
38297 }
38298 /* parser/parser.nit:13826 */
38299 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]);
38300 /* parser/parser.nit:13833 */
38301 fra.me.REG[2] = fra.me.REG[3];
38302 /* parser/parser.nit:13834 */
38303 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38304 if (UNTAG_Bool(REGB0)) {
38305 } else {
38306 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13834);
38307 }
38308 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38309 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38310 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38311 stack_frame_head = fra.me.prev;
38312 return;
38313 }
38314 static const char LOCATE_parser___ReduceAction399___action[] = "parser::ReduceAction399::(parser::ReduceAction::action)";
38315 void parser___ReduceAction399___action(val_t p0, val_t p1){
38316 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
38317 val_t REGB0;
38318 val_t tmp;
38319 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38320 fra.me.file = LOCATE_parser;
38321 fra.me.line = 13839;
38322 fra.me.meth = LOCATE_parser___ReduceAction399___action;
38323 fra.me.has_broke = 0;
38324 fra.me.REG_size = 8;
38325 fra.me.nitni_local_ref_head = NULL;
38326 fra.me.REG[0] = NIT_NULL;
38327 fra.me.REG[1] = NIT_NULL;
38328 fra.me.REG[2] = NIT_NULL;
38329 fra.me.REG[3] = NIT_NULL;
38330 fra.me.REG[4] = NIT_NULL;
38331 fra.me.REG[5] = NIT_NULL;
38332 fra.me.REG[6] = NIT_NULL;
38333 fra.me.REG[7] = NIT_NULL;
38334 fra.me.REG[0] = p0;
38335 fra.me.REG[1] = p1;
38336 /* parser/parser.nit:13841 */
38337 fra.me.REG[2] = NIT_NULL;
38338 /* parser/parser.nit:13842 */
38339 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38340 /* parser/parser.nit:13843 */
38341 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38342 /* parser/parser.nit:13844 */
38343 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38344 /* parser/parser.nit:13845 */
38345 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38346 /* parser/parser.nit:13846 */
38347 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38348 /* parser/parser.nit:13847 */
38349 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38350 /* parser/parser.nit:13849 */
38351 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*/;
38352 if (UNTAG_Bool(REGB0)) {
38353 } else {
38354 nit_abort("Assert failed", NULL, LOCATE_parser, 13849);
38355 }
38356 /* parser/parser.nit:13851 */
38357 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*/;
38358 if (UNTAG_Bool(REGB0)) {
38359 } else {
38360 nit_abort("Assert failed", NULL, LOCATE_parser, 13851);
38361 }
38362 /* parser/parser.nit:13853 */
38363 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*/;
38364 if (UNTAG_Bool(REGB0)) {
38365 } else {
38366 nit_abort("Assert failed", NULL, LOCATE_parser, 13853);
38367 }
38368 /* parser/parser.nit:13855 */
38369 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*/;
38370 if (UNTAG_Bool(REGB0)) {
38371 } else {
38372 nit_abort("Assert failed", NULL, LOCATE_parser, 13855);
38373 }
38374 /* parser/parser.nit:13857 */
38375 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*/;
38376 if (UNTAG_Bool(REGB0)) {
38377 } else {
38378 nit_abort("Assert failed", NULL, LOCATE_parser, 13857);
38379 }
38380 /* parser/parser.nit:13858 */
38381 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]);
38382 /* parser/parser.nit:13865 */
38383 fra.me.REG[2] = fra.me.REG[3];
38384 /* parser/parser.nit:13866 */
38385 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38386 if (UNTAG_Bool(REGB0)) {
38387 } else {
38388 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13866);
38389 }
38390 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38391 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38392 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38393 stack_frame_head = fra.me.prev;
38394 return;
38395 }
38396 static const char LOCATE_parser___ReduceAction400___action[] = "parser::ReduceAction400::(parser::ReduceAction::action)";
38397 void parser___ReduceAction400___action(val_t p0, val_t p1){
38398 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
38399 val_t REGB0;
38400 val_t tmp;
38401 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38402 fra.me.file = LOCATE_parser;
38403 fra.me.line = 13871;
38404 fra.me.meth = LOCATE_parser___ReduceAction400___action;
38405 fra.me.has_broke = 0;
38406 fra.me.REG_size = 7;
38407 fra.me.nitni_local_ref_head = NULL;
38408 fra.me.REG[0] = NIT_NULL;
38409 fra.me.REG[1] = NIT_NULL;
38410 fra.me.REG[2] = NIT_NULL;
38411 fra.me.REG[3] = NIT_NULL;
38412 fra.me.REG[4] = NIT_NULL;
38413 fra.me.REG[5] = NIT_NULL;
38414 fra.me.REG[6] = NIT_NULL;
38415 fra.me.REG[0] = p0;
38416 fra.me.REG[1] = p1;
38417 /* parser/parser.nit:13873 */
38418 fra.me.REG[2] = NIT_NULL;
38419 /* parser/parser.nit:13874 */
38420 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38421 /* parser/parser.nit:13875 */
38422 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38423 /* parser/parser.nit:13876 */
38424 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38425 /* parser/parser.nit:13877 */
38426 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38427 /* parser/parser.nit:13878 */
38428 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38429 /* parser/parser.nit:13879 */
38430 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38431 /* parser/parser.nit:13881 */
38432 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*/;
38433 if (UNTAG_Bool(REGB0)) {
38434 } else {
38435 nit_abort("Assert failed", NULL, LOCATE_parser, 13881);
38436 }
38437 /* parser/parser.nit:13883 */
38438 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*/;
38439 if (UNTAG_Bool(REGB0)) {
38440 } else {
38441 nit_abort("Assert failed", NULL, LOCATE_parser, 13883);
38442 }
38443 /* parser/parser.nit:13885 */
38444 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*/;
38445 if (UNTAG_Bool(REGB0)) {
38446 } else {
38447 nit_abort("Assert failed", NULL, LOCATE_parser, 13885);
38448 }
38449 /* parser/parser.nit:13887 */
38450 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*/;
38451 if (UNTAG_Bool(REGB0)) {
38452 } else {
38453 nit_abort("Assert failed", NULL, LOCATE_parser, 13887);
38454 }
38455 /* parser/parser.nit:13888 */
38456 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]);
38457 /* parser/parser.nit:13894 */
38458 fra.me.REG[2] = fra.me.REG[3];
38459 /* parser/parser.nit:13895 */
38460 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38461 if (UNTAG_Bool(REGB0)) {
38462 } else {
38463 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13895);
38464 }
38465 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38466 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38467 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38468 stack_frame_head = fra.me.prev;
38469 return;
38470 }
38471 static const char LOCATE_parser___ReduceAction401___action[] = "parser::ReduceAction401::(parser::ReduceAction::action)";
38472 void parser___ReduceAction401___action(val_t p0, val_t p1){
38473 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
38474 val_t REGB0;
38475 val_t tmp;
38476 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38477 fra.me.file = LOCATE_parser;
38478 fra.me.line = 13900;
38479 fra.me.meth = LOCATE_parser___ReduceAction401___action;
38480 fra.me.has_broke = 0;
38481 fra.me.REG_size = 7;
38482 fra.me.nitni_local_ref_head = NULL;
38483 fra.me.REG[0] = NIT_NULL;
38484 fra.me.REG[1] = NIT_NULL;
38485 fra.me.REG[2] = NIT_NULL;
38486 fra.me.REG[3] = NIT_NULL;
38487 fra.me.REG[4] = NIT_NULL;
38488 fra.me.REG[5] = NIT_NULL;
38489 fra.me.REG[6] = NIT_NULL;
38490 fra.me.REG[0] = p0;
38491 fra.me.REG[1] = p1;
38492 /* parser/parser.nit:13902 */
38493 fra.me.REG[2] = NIT_NULL;
38494 /* parser/parser.nit:13903 */
38495 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38496 /* parser/parser.nit:13904 */
38497 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38498 /* parser/parser.nit:13905 */
38499 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38500 /* parser/parser.nit:13906 */
38501 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
38502 /* parser/parser.nit:13908 */
38503 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*/;
38504 if (UNTAG_Bool(REGB0)) {
38505 } else {
38506 nit_abort("Assert failed", NULL, LOCATE_parser, 13908);
38507 }
38508 /* parser/parser.nit:13910 */
38509 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*/;
38510 if (UNTAG_Bool(REGB0)) {
38511 } else {
38512 nit_abort("Assert failed", NULL, LOCATE_parser, 13910);
38513 }
38514 /* parser/parser.nit:13912 */
38515 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*/;
38516 if (UNTAG_Bool(REGB0)) {
38517 } else {
38518 nit_abort("Assert failed", NULL, LOCATE_parser, 13912);
38519 }
38520 /* parser/parser.nit:13913 */
38521 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]);
38522 /* parser/parser.nit:13919 */
38523 fra.me.REG[2] = fra.me.REG[3];
38524 /* parser/parser.nit:13920 */
38525 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38526 if (UNTAG_Bool(REGB0)) {
38527 } else {
38528 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13920);
38529 }
38530 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38531 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38532 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38533 stack_frame_head = fra.me.prev;
38534 return;
38535 }
38536 static const char LOCATE_parser___ReduceAction402___action[] = "parser::ReduceAction402::(parser::ReduceAction::action)";
38537 void parser___ReduceAction402___action(val_t p0, val_t p1){
38538 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
38539 val_t REGB0;
38540 val_t tmp;
38541 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38542 fra.me.file = LOCATE_parser;
38543 fra.me.line = 13925;
38544 fra.me.meth = LOCATE_parser___ReduceAction402___action;
38545 fra.me.has_broke = 0;
38546 fra.me.REG_size = 8;
38547 fra.me.nitni_local_ref_head = NULL;
38548 fra.me.REG[0] = NIT_NULL;
38549 fra.me.REG[1] = NIT_NULL;
38550 fra.me.REG[2] = NIT_NULL;
38551 fra.me.REG[3] = NIT_NULL;
38552 fra.me.REG[4] = NIT_NULL;
38553 fra.me.REG[5] = NIT_NULL;
38554 fra.me.REG[6] = NIT_NULL;
38555 fra.me.REG[7] = NIT_NULL;
38556 fra.me.REG[0] = p0;
38557 fra.me.REG[1] = p1;
38558 /* parser/parser.nit:13927 */
38559 fra.me.REG[2] = NIT_NULL;
38560 /* parser/parser.nit:13928 */
38561 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38562 /* parser/parser.nit:13929 */
38563 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38564 /* parser/parser.nit:13930 */
38565 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38566 /* parser/parser.nit:13931 */
38567 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38568 /* parser/parser.nit:13932 */
38569 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38570 /* parser/parser.nit:13933 */
38571 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38572 /* parser/parser.nit:13934 */
38573 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38574 /* parser/parser.nit:13936 */
38575 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*/;
38576 if (UNTAG_Bool(REGB0)) {
38577 } else {
38578 nit_abort("Assert failed", NULL, LOCATE_parser, 13936);
38579 }
38580 /* parser/parser.nit:13938 */
38581 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*/;
38582 if (UNTAG_Bool(REGB0)) {
38583 } else {
38584 nit_abort("Assert failed", NULL, LOCATE_parser, 13938);
38585 }
38586 /* parser/parser.nit:13940 */
38587 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
38588 if (UNTAG_Bool(REGB0)) {
38589 } else {
38590 nit_abort("Assert failed", NULL, LOCATE_parser, 13940);
38591 }
38592 /* parser/parser.nit:13942 */
38593 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*/;
38594 if (UNTAG_Bool(REGB0)) {
38595 } else {
38596 nit_abort("Assert failed", NULL, LOCATE_parser, 13942);
38597 }
38598 /* parser/parser.nit:13944 */
38599 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*/;
38600 if (UNTAG_Bool(REGB0)) {
38601 } else {
38602 nit_abort("Assert failed", NULL, LOCATE_parser, 13944);
38603 }
38604 /* parser/parser.nit:13945 */
38605 fra.me.REG[3] = NEW_ACallAssignExpr_parser___parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
38606 /* parser/parser.nit:13952 */
38607 fra.me.REG[2] = fra.me.REG[3];
38608 /* parser/parser.nit:13953 */
38609 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38610 if (UNTAG_Bool(REGB0)) {
38611 } else {
38612 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13953);
38613 }
38614 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38615 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38616 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38617 stack_frame_head = fra.me.prev;
38618 return;
38619 }
38620 static const char LOCATE_parser___ReduceAction403___action[] = "parser::ReduceAction403::(parser::ReduceAction::action)";
38621 void parser___ReduceAction403___action(val_t p0, val_t p1){
38622 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
38623 val_t REGB0;
38624 val_t tmp;
38625 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38626 fra.me.file = LOCATE_parser;
38627 fra.me.line = 13958;
38628 fra.me.meth = LOCATE_parser___ReduceAction403___action;
38629 fra.me.has_broke = 0;
38630 fra.me.REG_size = 8;
38631 fra.me.nitni_local_ref_head = NULL;
38632 fra.me.REG[0] = NIT_NULL;
38633 fra.me.REG[1] = NIT_NULL;
38634 fra.me.REG[2] = NIT_NULL;
38635 fra.me.REG[3] = NIT_NULL;
38636 fra.me.REG[4] = NIT_NULL;
38637 fra.me.REG[5] = NIT_NULL;
38638 fra.me.REG[6] = NIT_NULL;
38639 fra.me.REG[7] = NIT_NULL;
38640 fra.me.REG[0] = p0;
38641 fra.me.REG[1] = p1;
38642 /* parser/parser.nit:13960 */
38643 fra.me.REG[2] = NIT_NULL;
38644 /* parser/parser.nit:13961 */
38645 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38646 /* parser/parser.nit:13962 */
38647 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38648 /* parser/parser.nit:13963 */
38649 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38650 /* parser/parser.nit:13964 */
38651 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38652 /* parser/parser.nit:13965 */
38653 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
38654 /* parser/parser.nit:13967 */
38655 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*/;
38656 if (UNTAG_Bool(REGB0)) {
38657 } else {
38658 nit_abort("Assert failed", NULL, LOCATE_parser, 13967);
38659 }
38660 /* parser/parser.nit:13969 */
38661 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
38662 if (UNTAG_Bool(REGB0)) {
38663 } else {
38664 nit_abort("Assert failed", NULL, LOCATE_parser, 13969);
38665 }
38666 /* parser/parser.nit:13971 */
38667 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*/;
38668 if (UNTAG_Bool(REGB0)) {
38669 } else {
38670 nit_abort("Assert failed", NULL, LOCATE_parser, 13971);
38671 }
38672 /* parser/parser.nit:13973 */
38673 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*/;
38674 if (UNTAG_Bool(REGB0)) {
38675 } else {
38676 nit_abort("Assert failed", NULL, LOCATE_parser, 13973);
38677 }
38678 /* parser/parser.nit:13974 */
38679 fra.me.REG[3] = NEW_ACallAssignExpr_parser___parser_prod___ACallAssignExpr___init_acallassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
38680 /* parser/parser.nit:13981 */
38681 fra.me.REG[2] = fra.me.REG[3];
38682 /* parser/parser.nit:13982 */
38683 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38684 if (UNTAG_Bool(REGB0)) {
38685 } else {
38686 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 13982);
38687 }
38688 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38689 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38690 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38691 stack_frame_head = fra.me.prev;
38692 return;
38693 }
38694 static const char LOCATE_parser___ReduceAction404___action[] = "parser::ReduceAction404::(parser::ReduceAction::action)";
38695 void parser___ReduceAction404___action(val_t p0, val_t p1){
38696 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
38697 val_t REGB0;
38698 val_t tmp;
38699 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38700 fra.me.file = LOCATE_parser;
38701 fra.me.line = 13987;
38702 fra.me.meth = LOCATE_parser___ReduceAction404___action;
38703 fra.me.has_broke = 0;
38704 fra.me.REG_size = 7;
38705 fra.me.nitni_local_ref_head = NULL;
38706 fra.me.REG[0] = NIT_NULL;
38707 fra.me.REG[1] = NIT_NULL;
38708 fra.me.REG[2] = NIT_NULL;
38709 fra.me.REG[3] = NIT_NULL;
38710 fra.me.REG[4] = NIT_NULL;
38711 fra.me.REG[5] = NIT_NULL;
38712 fra.me.REG[6] = NIT_NULL;
38713 fra.me.REG[0] = p0;
38714 fra.me.REG[1] = p1;
38715 /* parser/parser.nit:13989 */
38716 fra.me.REG[2] = NIT_NULL;
38717 /* parser/parser.nit:13990 */
38718 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38719 /* parser/parser.nit:13991 */
38720 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38721 /* parser/parser.nit:13992 */
38722 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38723 /* parser/parser.nit:13993 */
38724 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38725 /* parser/parser.nit:13995 */
38726 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*/;
38727 if (UNTAG_Bool(REGB0)) {
38728 } else {
38729 nit_abort("Assert failed", NULL, LOCATE_parser, 13995);
38730 }
38731 /* parser/parser.nit:13997 */
38732 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
38733 if (UNTAG_Bool(REGB0)) {
38734 } else {
38735 nit_abort("Assert failed", NULL, LOCATE_parser, 13997);
38736 }
38737 /* parser/parser.nit:13999 */
38738 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*/;
38739 if (UNTAG_Bool(REGB0)) {
38740 } else {
38741 nit_abort("Assert failed", NULL, LOCATE_parser, 13999);
38742 }
38743 /* parser/parser.nit:14001 */
38744 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*/;
38745 if (UNTAG_Bool(REGB0)) {
38746 } else {
38747 nit_abort("Assert failed", NULL, LOCATE_parser, 14001);
38748 }
38749 /* parser/parser.nit:14002 */
38750 fra.me.REG[3] = NEW_ABraAssignExpr_parser___parser_prod___ABraAssignExpr___init_abraassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
38751 /* parser/parser.nit:14008 */
38752 fra.me.REG[2] = fra.me.REG[3];
38753 /* parser/parser.nit:14009 */
38754 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38755 if (UNTAG_Bool(REGB0)) {
38756 } else {
38757 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14009);
38758 }
38759 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38760 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38761 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38762 stack_frame_head = fra.me.prev;
38763 return;
38764 }
38765 static const char LOCATE_parser___ReduceAction405___action[] = "parser::ReduceAction405::(parser::ReduceAction::action)";
38766 void parser___ReduceAction405___action(val_t p0, val_t p1){
38767 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
38768 val_t REGB0;
38769 val_t tmp;
38770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38771 fra.me.file = LOCATE_parser;
38772 fra.me.line = 14014;
38773 fra.me.meth = LOCATE_parser___ReduceAction405___action;
38774 fra.me.has_broke = 0;
38775 fra.me.REG_size = 7;
38776 fra.me.nitni_local_ref_head = NULL;
38777 fra.me.REG[0] = NIT_NULL;
38778 fra.me.REG[1] = NIT_NULL;
38779 fra.me.REG[2] = NIT_NULL;
38780 fra.me.REG[3] = NIT_NULL;
38781 fra.me.REG[4] = NIT_NULL;
38782 fra.me.REG[5] = NIT_NULL;
38783 fra.me.REG[6] = NIT_NULL;
38784 fra.me.REG[0] = p0;
38785 fra.me.REG[1] = p1;
38786 /* parser/parser.nit:14016 */
38787 fra.me.REG[2] = NIT_NULL;
38788 /* parser/parser.nit:14017 */
38789 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38790 /* parser/parser.nit:14018 */
38791 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38792 /* parser/parser.nit:14019 */
38793 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38794 /* parser/parser.nit:14020 */
38795 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38796 /* parser/parser.nit:14021 */
38797 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38798 /* parser/parser.nit:14022 */
38799 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38800 /* parser/parser.nit:14024 */
38801 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*/;
38802 if (UNTAG_Bool(REGB0)) {
38803 } else {
38804 nit_abort("Assert failed", NULL, LOCATE_parser, 14024);
38805 }
38806 /* parser/parser.nit:14026 */
38807 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*/;
38808 if (UNTAG_Bool(REGB0)) {
38809 } else {
38810 nit_abort("Assert failed", NULL, LOCATE_parser, 14026);
38811 }
38812 /* parser/parser.nit:14028 */
38813 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*/;
38814 if (UNTAG_Bool(REGB0)) {
38815 } else {
38816 nit_abort("Assert failed", NULL, LOCATE_parser, 14028);
38817 }
38818 /* parser/parser.nit:14030 */
38819 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*/;
38820 if (UNTAG_Bool(REGB0)) {
38821 } else {
38822 nit_abort("Assert failed", NULL, LOCATE_parser, 14030);
38823 }
38824 /* parser/parser.nit:14031 */
38825 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]);
38826 /* parser/parser.nit:14037 */
38827 fra.me.REG[2] = fra.me.REG[3];
38828 /* parser/parser.nit:14038 */
38829 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38830 if (UNTAG_Bool(REGB0)) {
38831 } else {
38832 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14038);
38833 }
38834 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38835 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38836 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38837 stack_frame_head = fra.me.prev;
38838 return;
38839 }
38840 static const char LOCATE_parser___ReduceAction406___action[] = "parser::ReduceAction406::(parser::ReduceAction::action)";
38841 void parser___ReduceAction406___action(val_t p0, val_t p1){
38842 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
38843 val_t REGB0;
38844 val_t tmp;
38845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38846 fra.me.file = LOCATE_parser;
38847 fra.me.line = 14043;
38848 fra.me.meth = LOCATE_parser___ReduceAction406___action;
38849 fra.me.has_broke = 0;
38850 fra.me.REG_size = 7;
38851 fra.me.nitni_local_ref_head = NULL;
38852 fra.me.REG[0] = NIT_NULL;
38853 fra.me.REG[1] = NIT_NULL;
38854 fra.me.REG[2] = NIT_NULL;
38855 fra.me.REG[3] = NIT_NULL;
38856 fra.me.REG[4] = NIT_NULL;
38857 fra.me.REG[5] = NIT_NULL;
38858 fra.me.REG[6] = NIT_NULL;
38859 fra.me.REG[0] = p0;
38860 fra.me.REG[1] = p1;
38861 /* parser/parser.nit:14045 */
38862 fra.me.REG[2] = NIT_NULL;
38863 /* parser/parser.nit:14046 */
38864 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38865 /* parser/parser.nit:14047 */
38866 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38867 /* parser/parser.nit:14048 */
38868 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38869 /* parser/parser.nit:14049 */
38870 fra.me.REG[6] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
38871 /* parser/parser.nit:14051 */
38872 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*/;
38873 if (UNTAG_Bool(REGB0)) {
38874 } else {
38875 nit_abort("Assert failed", NULL, LOCATE_parser, 14051);
38876 }
38877 /* parser/parser.nit:14053 */
38878 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*/;
38879 if (UNTAG_Bool(REGB0)) {
38880 } else {
38881 nit_abort("Assert failed", NULL, LOCATE_parser, 14053);
38882 }
38883 /* parser/parser.nit:14055 */
38884 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*/;
38885 if (UNTAG_Bool(REGB0)) {
38886 } else {
38887 nit_abort("Assert failed", NULL, LOCATE_parser, 14055);
38888 }
38889 /* parser/parser.nit:14056 */
38890 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]);
38891 /* parser/parser.nit:14062 */
38892 fra.me.REG[2] = fra.me.REG[3];
38893 /* parser/parser.nit:14063 */
38894 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38895 if (UNTAG_Bool(REGB0)) {
38896 } else {
38897 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14063);
38898 }
38899 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38900 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38901 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38902 stack_frame_head = fra.me.prev;
38903 return;
38904 }
38905 static const char LOCATE_parser___ReduceAction407___action[] = "parser::ReduceAction407::(parser::ReduceAction::action)";
38906 void parser___ReduceAction407___action(val_t p0, val_t p1){
38907 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
38908 val_t REGB0;
38909 val_t tmp;
38910 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38911 fra.me.file = LOCATE_parser;
38912 fra.me.line = 14068;
38913 fra.me.meth = LOCATE_parser___ReduceAction407___action;
38914 fra.me.has_broke = 0;
38915 fra.me.REG_size = 8;
38916 fra.me.nitni_local_ref_head = NULL;
38917 fra.me.REG[0] = NIT_NULL;
38918 fra.me.REG[1] = NIT_NULL;
38919 fra.me.REG[2] = NIT_NULL;
38920 fra.me.REG[3] = NIT_NULL;
38921 fra.me.REG[4] = NIT_NULL;
38922 fra.me.REG[5] = NIT_NULL;
38923 fra.me.REG[6] = NIT_NULL;
38924 fra.me.REG[7] = NIT_NULL;
38925 fra.me.REG[0] = p0;
38926 fra.me.REG[1] = p1;
38927 /* parser/parser.nit:14070 */
38928 fra.me.REG[2] = NIT_NULL;
38929 /* parser/parser.nit:14071 */
38930 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38931 /* parser/parser.nit:14072 */
38932 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38933 /* parser/parser.nit:14073 */
38934 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38935 /* parser/parser.nit:14074 */
38936 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38937 /* parser/parser.nit:14075 */
38938 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38939 /* parser/parser.nit:14076 */
38940 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38941 /* parser/parser.nit:14077 */
38942 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
38943 /* parser/parser.nit:14079 */
38944 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*/;
38945 if (UNTAG_Bool(REGB0)) {
38946 } else {
38947 nit_abort("Assert failed", NULL, LOCATE_parser, 14079);
38948 }
38949 /* parser/parser.nit:14081 */
38950 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*/;
38951 if (UNTAG_Bool(REGB0)) {
38952 } else {
38953 nit_abort("Assert failed", NULL, LOCATE_parser, 14081);
38954 }
38955 /* parser/parser.nit:14083 */
38956 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
38957 if (UNTAG_Bool(REGB0)) {
38958 } else {
38959 nit_abort("Assert failed", NULL, LOCATE_parser, 14083);
38960 }
38961 /* parser/parser.nit:14085 */
38962 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*/;
38963 if (UNTAG_Bool(REGB0)) {
38964 } else {
38965 nit_abort("Assert failed", NULL, LOCATE_parser, 14085);
38966 }
38967 /* parser/parser.nit:14087 */
38968 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*/;
38969 if (UNTAG_Bool(REGB0)) {
38970 } else {
38971 nit_abort("Assert failed", NULL, LOCATE_parser, 14087);
38972 }
38973 /* parser/parser.nit:14088 */
38974 fra.me.REG[3] = NEW_ACallReassignExpr_parser___parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
38975 /* parser/parser.nit:14095 */
38976 fra.me.REG[2] = fra.me.REG[3];
38977 /* parser/parser.nit:14096 */
38978 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
38979 if (UNTAG_Bool(REGB0)) {
38980 } else {
38981 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14096);
38982 }
38983 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
38984 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
38985 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
38986 stack_frame_head = fra.me.prev;
38987 return;
38988 }
38989 static const char LOCATE_parser___ReduceAction408___action[] = "parser::ReduceAction408::(parser::ReduceAction::action)";
38990 void parser___ReduceAction408___action(val_t p0, val_t p1){
38991 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
38992 val_t REGB0;
38993 val_t tmp;
38994 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38995 fra.me.file = LOCATE_parser;
38996 fra.me.line = 14101;
38997 fra.me.meth = LOCATE_parser___ReduceAction408___action;
38998 fra.me.has_broke = 0;
38999 fra.me.REG_size = 8;
39000 fra.me.nitni_local_ref_head = NULL;
39001 fra.me.REG[0] = NIT_NULL;
39002 fra.me.REG[1] = NIT_NULL;
39003 fra.me.REG[2] = NIT_NULL;
39004 fra.me.REG[3] = NIT_NULL;
39005 fra.me.REG[4] = NIT_NULL;
39006 fra.me.REG[5] = NIT_NULL;
39007 fra.me.REG[6] = NIT_NULL;
39008 fra.me.REG[7] = NIT_NULL;
39009 fra.me.REG[0] = p0;
39010 fra.me.REG[1] = p1;
39011 /* parser/parser.nit:14103 */
39012 fra.me.REG[2] = NIT_NULL;
39013 /* parser/parser.nit:14104 */
39014 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39015 /* parser/parser.nit:14105 */
39016 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39017 /* parser/parser.nit:14106 */
39018 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39019 /* parser/parser.nit:14107 */
39020 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39021 /* parser/parser.nit:14108 */
39022 fra.me.REG[7] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
39023 /* parser/parser.nit:14110 */
39024 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*/;
39025 if (UNTAG_Bool(REGB0)) {
39026 } else {
39027 nit_abort("Assert failed", NULL, LOCATE_parser, 14110);
39028 }
39029 /* parser/parser.nit:14112 */
39030 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
39031 if (UNTAG_Bool(REGB0)) {
39032 } else {
39033 nit_abort("Assert failed", NULL, LOCATE_parser, 14112);
39034 }
39035 /* parser/parser.nit:14114 */
39036 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*/;
39037 if (UNTAG_Bool(REGB0)) {
39038 } else {
39039 nit_abort("Assert failed", NULL, LOCATE_parser, 14114);
39040 }
39041 /* parser/parser.nit:14116 */
39042 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*/;
39043 if (UNTAG_Bool(REGB0)) {
39044 } else {
39045 nit_abort("Assert failed", NULL, LOCATE_parser, 14116);
39046 }
39047 /* parser/parser.nit:14117 */
39048 fra.me.REG[3] = NEW_ACallReassignExpr_parser___parser_prod___ACallReassignExpr___init_acallreassignexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
39049 /* parser/parser.nit:14124 */
39050 fra.me.REG[2] = fra.me.REG[3];
39051 /* parser/parser.nit:14125 */
39052 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39053 if (UNTAG_Bool(REGB0)) {
39054 } else {
39055 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14125);
39056 }
39057 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39058 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39059 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39060 stack_frame_head = fra.me.prev;
39061 return;
39062 }
39063 static const char LOCATE_parser___ReduceAction409___action[] = "parser::ReduceAction409::(parser::ReduceAction::action)";
39064 void parser___ReduceAction409___action(val_t p0, val_t p1){
39065 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
39066 val_t REGB0;
39067 val_t tmp;
39068 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39069 fra.me.file = LOCATE_parser;
39070 fra.me.line = 14130;
39071 fra.me.meth = LOCATE_parser___ReduceAction409___action;
39072 fra.me.has_broke = 0;
39073 fra.me.REG_size = 7;
39074 fra.me.nitni_local_ref_head = NULL;
39075 fra.me.REG[0] = NIT_NULL;
39076 fra.me.REG[1] = NIT_NULL;
39077 fra.me.REG[2] = NIT_NULL;
39078 fra.me.REG[3] = NIT_NULL;
39079 fra.me.REG[4] = NIT_NULL;
39080 fra.me.REG[5] = NIT_NULL;
39081 fra.me.REG[6] = NIT_NULL;
39082 fra.me.REG[0] = p0;
39083 fra.me.REG[1] = p1;
39084 /* parser/parser.nit:14132 */
39085 fra.me.REG[2] = NIT_NULL;
39086 /* parser/parser.nit:14133 */
39087 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39088 /* parser/parser.nit:14134 */
39089 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39090 /* parser/parser.nit:14135 */
39091 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39092 /* parser/parser.nit:14136 */
39093 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39094 /* parser/parser.nit:14138 */
39095 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*/;
39096 if (UNTAG_Bool(REGB0)) {
39097 } else {
39098 nit_abort("Assert failed", NULL, LOCATE_parser, 14138);
39099 }
39100 /* parser/parser.nit:14140 */
39101 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
39102 if (UNTAG_Bool(REGB0)) {
39103 } else {
39104 nit_abort("Assert failed", NULL, LOCATE_parser, 14140);
39105 }
39106 /* parser/parser.nit:14142 */
39107 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*/;
39108 if (UNTAG_Bool(REGB0)) {
39109 } else {
39110 nit_abort("Assert failed", NULL, LOCATE_parser, 14142);
39111 }
39112 /* parser/parser.nit:14144 */
39113 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*/;
39114 if (UNTAG_Bool(REGB0)) {
39115 } else {
39116 nit_abort("Assert failed", NULL, LOCATE_parser, 14144);
39117 }
39118 /* parser/parser.nit:14145 */
39119 fra.me.REG[3] = NEW_ABraReassignExpr_parser___parser_prod___ABraReassignExpr___init_abrareassignexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
39120 /* parser/parser.nit:14151 */
39121 fra.me.REG[2] = fra.me.REG[3];
39122 /* parser/parser.nit:14152 */
39123 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39124 if (UNTAG_Bool(REGB0)) {
39125 } else {
39126 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14152);
39127 }
39128 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39129 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39130 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39131 stack_frame_head = fra.me.prev;
39132 return;
39133 }
39134 static const char LOCATE_parser___ReduceAction410___action[] = "parser::ReduceAction410::(parser::ReduceAction::action)";
39135 void parser___ReduceAction410___action(val_t p0, val_t p1){
39136 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
39137 val_t REGB0;
39138 val_t tmp;
39139 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39140 fra.me.file = LOCATE_parser;
39141 fra.me.line = 14157;
39142 fra.me.meth = LOCATE_parser___ReduceAction410___action;
39143 fra.me.has_broke = 0;
39144 fra.me.REG_size = 4;
39145 fra.me.nitni_local_ref_head = NULL;
39146 fra.me.REG[0] = NIT_NULL;
39147 fra.me.REG[1] = NIT_NULL;
39148 fra.me.REG[2] = NIT_NULL;
39149 fra.me.REG[3] = NIT_NULL;
39150 fra.me.REG[0] = p0;
39151 fra.me.REG[1] = p1;
39152 /* parser/parser.nit:14159 */
39153 fra.me.REG[2] = NIT_NULL;
39154 /* parser/parser.nit:14160 */
39155 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39156 /* parser/parser.nit:14162 */
39157 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*/;
39158 if (UNTAG_Bool(REGB0)) {
39159 } else {
39160 nit_abort("Assert failed", NULL, LOCATE_parser, 14162);
39161 }
39162 /* parser/parser.nit:14163 */
39163 fra.me.REG[3] = NEW_APlusAssignOp_parser___parser_prod___APlusAssignOp___init_aplusassignop(fra.me.REG[3]);
39164 /* parser/parser.nit:14166 */
39165 fra.me.REG[2] = fra.me.REG[3];
39166 /* parser/parser.nit:14167 */
39167 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39168 if (UNTAG_Bool(REGB0)) {
39169 } else {
39170 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14167);
39171 }
39172 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39173 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39174 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39175 stack_frame_head = fra.me.prev;
39176 return;
39177 }
39178 static const char LOCATE_parser___ReduceAction411___action[] = "parser::ReduceAction411::(parser::ReduceAction::action)";
39179 void parser___ReduceAction411___action(val_t p0, val_t p1){
39180 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
39181 val_t REGB0;
39182 val_t tmp;
39183 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39184 fra.me.file = LOCATE_parser;
39185 fra.me.line = 14172;
39186 fra.me.meth = LOCATE_parser___ReduceAction411___action;
39187 fra.me.has_broke = 0;
39188 fra.me.REG_size = 4;
39189 fra.me.nitni_local_ref_head = NULL;
39190 fra.me.REG[0] = NIT_NULL;
39191 fra.me.REG[1] = NIT_NULL;
39192 fra.me.REG[2] = NIT_NULL;
39193 fra.me.REG[3] = NIT_NULL;
39194 fra.me.REG[0] = p0;
39195 fra.me.REG[1] = p1;
39196 /* parser/parser.nit:14174 */
39197 fra.me.REG[2] = NIT_NULL;
39198 /* parser/parser.nit:14175 */
39199 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39200 /* parser/parser.nit:14177 */
39201 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*/;
39202 if (UNTAG_Bool(REGB0)) {
39203 } else {
39204 nit_abort("Assert failed", NULL, LOCATE_parser, 14177);
39205 }
39206 /* parser/parser.nit:14178 */
39207 fra.me.REG[3] = NEW_AMinusAssignOp_parser___parser_prod___AMinusAssignOp___init_aminusassignop(fra.me.REG[3]);
39208 /* parser/parser.nit:14181 */
39209 fra.me.REG[2] = fra.me.REG[3];
39210 /* parser/parser.nit:14182 */
39211 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39212 if (UNTAG_Bool(REGB0)) {
39213 } else {
39214 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14182);
39215 }
39216 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39217 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39218 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39219 stack_frame_head = fra.me.prev;
39220 return;
39221 }
39222 static const char LOCATE_parser___ReduceAction412___action[] = "parser::ReduceAction412::(parser::ReduceAction::action)";
39223 void parser___ReduceAction412___action(val_t p0, val_t p1){
39224 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
39225 val_t REGB0;
39226 val_t tmp;
39227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39228 fra.me.file = LOCATE_parser;
39229 fra.me.line = 14187;
39230 fra.me.meth = LOCATE_parser___ReduceAction412___action;
39231 fra.me.has_broke = 0;
39232 fra.me.REG_size = 6;
39233 fra.me.nitni_local_ref_head = NULL;
39234 fra.me.REG[0] = NIT_NULL;
39235 fra.me.REG[1] = NIT_NULL;
39236 fra.me.REG[2] = NIT_NULL;
39237 fra.me.REG[3] = NIT_NULL;
39238 fra.me.REG[4] = NIT_NULL;
39239 fra.me.REG[5] = NIT_NULL;
39240 fra.me.REG[0] = p0;
39241 fra.me.REG[1] = p1;
39242 /* parser/parser.nit:14189 */
39243 fra.me.REG[2] = NIT_NULL;
39244 /* parser/parser.nit:14190 */
39245 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39246 /* parser/parser.nit:14191 */
39247 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39248 /* parser/parser.nit:14192 */
39249 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39250 /* parser/parser.nit:14194 */
39251 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*/;
39252 if (UNTAG_Bool(REGB0)) {
39253 } else {
39254 nit_abort("Assert failed", NULL, LOCATE_parser, 14194);
39255 }
39256 /* parser/parser.nit:14196 */
39257 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*/;
39258 if (UNTAG_Bool(REGB0)) {
39259 } else {
39260 nit_abort("Assert failed", NULL, LOCATE_parser, 14196);
39261 }
39262 /* parser/parser.nit:14198 */
39263 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*/;
39264 if (UNTAG_Bool(REGB0)) {
39265 } else {
39266 nit_abort("Assert failed", NULL, LOCATE_parser, 14198);
39267 }
39268 /* parser/parser.nit:14199 */
39269 fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
39270 /* parser/parser.nit:14204 */
39271 fra.me.REG[2] = fra.me.REG[3];
39272 /* parser/parser.nit:14205 */
39273 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39274 if (UNTAG_Bool(REGB0)) {
39275 } else {
39276 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14205);
39277 }
39278 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39279 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39280 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39281 stack_frame_head = fra.me.prev;
39282 return;
39283 }
39284 static const char LOCATE_parser___ReduceAction413___action[] = "parser::ReduceAction413::(parser::ReduceAction::action)";
39285 void parser___ReduceAction413___action(val_t p0, val_t p1){
39286 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
39287 val_t REGB0;
39288 val_t tmp;
39289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39290 fra.me.file = LOCATE_parser;
39291 fra.me.line = 14210;
39292 fra.me.meth = LOCATE_parser___ReduceAction413___action;
39293 fra.me.has_broke = 0;
39294 fra.me.REG_size = 5;
39295 fra.me.nitni_local_ref_head = NULL;
39296 fra.me.REG[0] = NIT_NULL;
39297 fra.me.REG[1] = NIT_NULL;
39298 fra.me.REG[2] = NIT_NULL;
39299 fra.me.REG[3] = NIT_NULL;
39300 fra.me.REG[4] = NIT_NULL;
39301 fra.me.REG[0] = p0;
39302 fra.me.REG[1] = p1;
39303 /* parser/parser.nit:14212 */
39304 fra.me.REG[2] = NIT_NULL;
39305 /* parser/parser.nit:14213 */
39306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39307 /* parser/parser.nit:14214 */
39308 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39309 /* parser/parser.nit:14216 */
39310 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*/;
39311 if (UNTAG_Bool(REGB0)) {
39312 } else {
39313 nit_abort("Assert failed", NULL, LOCATE_parser, 14216);
39314 }
39315 /* parser/parser.nit:14218 */
39316 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*/;
39317 if (UNTAG_Bool(REGB0)) {
39318 } else {
39319 nit_abort("Assert failed", NULL, LOCATE_parser, 14218);
39320 }
39321 /* parser/parser.nit:14219 */
39322 fra.me.REG[3] = NEW_ADoExpr_parser___parser_prod___ADoExpr___init_adoexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
39323 /* parser/parser.nit:14224 */
39324 fra.me.REG[2] = fra.me.REG[3];
39325 /* parser/parser.nit:14225 */
39326 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39327 if (UNTAG_Bool(REGB0)) {
39328 } else {
39329 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14225);
39330 }
39331 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39332 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39333 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39334 stack_frame_head = fra.me.prev;
39335 return;
39336 }
39337 static const char LOCATE_parser___ReduceAction414___action[] = "parser::ReduceAction414::(parser::ReduceAction::action)";
39338 void parser___ReduceAction414___action(val_t p0, val_t p1){
39339 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
39340 val_t REGB0;
39341 val_t tmp;
39342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39343 fra.me.file = LOCATE_parser;
39344 fra.me.line = 14230;
39345 fra.me.meth = LOCATE_parser___ReduceAction414___action;
39346 fra.me.has_broke = 0;
39347 fra.me.REG_size = 7;
39348 fra.me.nitni_local_ref_head = NULL;
39349 fra.me.REG[0] = NIT_NULL;
39350 fra.me.REG[1] = NIT_NULL;
39351 fra.me.REG[2] = NIT_NULL;
39352 fra.me.REG[3] = NIT_NULL;
39353 fra.me.REG[4] = NIT_NULL;
39354 fra.me.REG[5] = NIT_NULL;
39355 fra.me.REG[6] = NIT_NULL;
39356 fra.me.REG[0] = p0;
39357 fra.me.REG[1] = p1;
39358 /* parser/parser.nit:14232 */
39359 fra.me.REG[2] = NIT_NULL;
39360 /* parser/parser.nit:14233 */
39361 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39362 /* parser/parser.nit:14234 */
39363 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39364 /* parser/parser.nit:14235 */
39365 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39366 /* parser/parser.nit:14236 */
39367 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39368 /* parser/parser.nit:14237 */
39369 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39370 /* parser/parser.nit:14238 */
39371 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39372 /* parser/parser.nit:14239 */
39373 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39374 /* parser/parser.nit:14240 */
39375 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39376 /* parser/parser.nit:14242 */
39377 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*/;
39378 if (UNTAG_Bool(REGB0)) {
39379 } else {
39380 nit_abort("Assert failed", NULL, LOCATE_parser, 14242);
39381 }
39382 /* parser/parser.nit:14244 */
39383 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*/;
39384 if (UNTAG_Bool(REGB0)) {
39385 } else {
39386 nit_abort("Assert failed", NULL, LOCATE_parser, 14244);
39387 }
39388 /* parser/parser.nit:14246 */
39389 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*/;
39390 if (UNTAG_Bool(REGB0)) {
39391 } else {
39392 nit_abort("Assert failed", NULL, LOCATE_parser, 14246);
39393 }
39394 /* parser/parser.nit:14248 */
39395 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*/;
39396 if (UNTAG_Bool(REGB0)) {
39397 } else {
39398 nit_abort("Assert failed", NULL, LOCATE_parser, 14248);
39399 }
39400 /* parser/parser.nit:14249 */
39401 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]);
39402 /* parser/parser.nit:14255 */
39403 fra.me.REG[2] = fra.me.REG[3];
39404 /* parser/parser.nit:14256 */
39405 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39406 if (UNTAG_Bool(REGB0)) {
39407 } else {
39408 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14256);
39409 }
39410 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39411 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39412 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39413 stack_frame_head = fra.me.prev;
39414 return;
39415 }
39416 static const char LOCATE_parser___ReduceAction415___action[] = "parser::ReduceAction415::(parser::ReduceAction::action)";
39417 void parser___ReduceAction415___action(val_t p0, val_t p1){
39418 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
39419 val_t REGB0;
39420 val_t tmp;
39421 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39422 fra.me.file = LOCATE_parser;
39423 fra.me.line = 14261;
39424 fra.me.meth = LOCATE_parser___ReduceAction415___action;
39425 fra.me.has_broke = 0;
39426 fra.me.REG_size = 6;
39427 fra.me.nitni_local_ref_head = NULL;
39428 fra.me.REG[0] = NIT_NULL;
39429 fra.me.REG[1] = NIT_NULL;
39430 fra.me.REG[2] = NIT_NULL;
39431 fra.me.REG[3] = NIT_NULL;
39432 fra.me.REG[4] = NIT_NULL;
39433 fra.me.REG[5] = NIT_NULL;
39434 fra.me.REG[0] = p0;
39435 fra.me.REG[1] = p1;
39436 /* parser/parser.nit:14263 */
39437 fra.me.REG[2] = NIT_NULL;
39438 /* parser/parser.nit:14264 */
39439 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39440 /* parser/parser.nit:14265 */
39441 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39442 /* parser/parser.nit:14266 */
39443 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39444 /* parser/parser.nit:14267 */
39445 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39446 /* parser/parser.nit:14268 */
39447 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39448 /* parser/parser.nit:14269 */
39449 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39450 /* parser/parser.nit:14271 */
39451 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*/;
39452 if (UNTAG_Bool(REGB0)) {
39453 } else {
39454 nit_abort("Assert failed", NULL, LOCATE_parser, 14271);
39455 }
39456 /* parser/parser.nit:14273 */
39457 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*/;
39458 if (UNTAG_Bool(REGB0)) {
39459 } else {
39460 nit_abort("Assert failed", NULL, LOCATE_parser, 14273);
39461 }
39462 /* parser/parser.nit:14275 */
39463 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*/;
39464 if (UNTAG_Bool(REGB0)) {
39465 } else {
39466 nit_abort("Assert failed", NULL, LOCATE_parser, 14275);
39467 }
39468 /* parser/parser.nit:14276 */
39469 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);
39470 /* parser/parser.nit:14282 */
39471 fra.me.REG[2] = fra.me.REG[3];
39472 /* parser/parser.nit:14283 */
39473 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39474 if (UNTAG_Bool(REGB0)) {
39475 } else {
39476 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14283);
39477 }
39478 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39479 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39480 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39481 stack_frame_head = fra.me.prev;
39482 return;
39483 }
39484 static const char LOCATE_parser___ReduceAction416___action[] = "parser::ReduceAction416::(parser::ReduceAction::action)";
39485 void parser___ReduceAction416___action(val_t p0, val_t p1){
39486 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
39487 val_t REGB0;
39488 val_t tmp;
39489 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39490 fra.me.file = LOCATE_parser;
39491 fra.me.line = 14288;
39492 fra.me.meth = LOCATE_parser___ReduceAction416___action;
39493 fra.me.has_broke = 0;
39494 fra.me.REG_size = 7;
39495 fra.me.nitni_local_ref_head = NULL;
39496 fra.me.REG[0] = NIT_NULL;
39497 fra.me.REG[1] = NIT_NULL;
39498 fra.me.REG[2] = NIT_NULL;
39499 fra.me.REG[3] = NIT_NULL;
39500 fra.me.REG[4] = NIT_NULL;
39501 fra.me.REG[5] = NIT_NULL;
39502 fra.me.REG[6] = NIT_NULL;
39503 fra.me.REG[0] = p0;
39504 fra.me.REG[1] = p1;
39505 /* parser/parser.nit:14290 */
39506 fra.me.REG[2] = NIT_NULL;
39507 /* parser/parser.nit:14291 */
39508 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39509 /* parser/parser.nit:14292 */
39510 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39511 /* parser/parser.nit:14293 */
39512 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39513 /* parser/parser.nit:14294 */
39514 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39515 /* parser/parser.nit:14295 */
39516 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39517 /* parser/parser.nit:14296 */
39518 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39519 /* parser/parser.nit:14297 */
39520 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39521 /* parser/parser.nit:14298 */
39522 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39523 /* parser/parser.nit:14300 */
39524 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*/;
39525 if (UNTAG_Bool(REGB0)) {
39526 } else {
39527 nit_abort("Assert failed", NULL, LOCATE_parser, 14300);
39528 }
39529 /* parser/parser.nit:14302 */
39530 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*/;
39531 if (UNTAG_Bool(REGB0)) {
39532 } else {
39533 nit_abort("Assert failed", NULL, LOCATE_parser, 14302);
39534 }
39535 /* parser/parser.nit:14304 */
39536 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*/;
39537 if (UNTAG_Bool(REGB0)) {
39538 } else {
39539 nit_abort("Assert failed", NULL, LOCATE_parser, 14304);
39540 }
39541 /* parser/parser.nit:14306 */
39542 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*/;
39543 if (UNTAG_Bool(REGB0)) {
39544 } else {
39545 nit_abort("Assert failed", NULL, LOCATE_parser, 14306);
39546 }
39547 /* parser/parser.nit:14307 */
39548 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]);
39549 /* parser/parser.nit:14313 */
39550 fra.me.REG[2] = fra.me.REG[3];
39551 /* parser/parser.nit:14314 */
39552 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39553 if (UNTAG_Bool(REGB0)) {
39554 } else {
39555 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14314);
39556 }
39557 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39558 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39559 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39560 stack_frame_head = fra.me.prev;
39561 return;
39562 }
39563 static const char LOCATE_parser___ReduceAction417___action[] = "parser::ReduceAction417::(parser::ReduceAction::action)";
39564 void parser___ReduceAction417___action(val_t p0, val_t p1){
39565 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
39566 val_t REGB0;
39567 val_t tmp;
39568 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39569 fra.me.file = LOCATE_parser;
39570 fra.me.line = 14319;
39571 fra.me.meth = LOCATE_parser___ReduceAction417___action;
39572 fra.me.has_broke = 0;
39573 fra.me.REG_size = 6;
39574 fra.me.nitni_local_ref_head = NULL;
39575 fra.me.REG[0] = NIT_NULL;
39576 fra.me.REG[1] = NIT_NULL;
39577 fra.me.REG[2] = NIT_NULL;
39578 fra.me.REG[3] = NIT_NULL;
39579 fra.me.REG[4] = NIT_NULL;
39580 fra.me.REG[5] = NIT_NULL;
39581 fra.me.REG[0] = p0;
39582 fra.me.REG[1] = p1;
39583 /* parser/parser.nit:14321 */
39584 fra.me.REG[2] = NIT_NULL;
39585 /* parser/parser.nit:14322 */
39586 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39587 /* parser/parser.nit:14323 */
39588 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39589 /* parser/parser.nit:14324 */
39590 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39591 /* parser/parser.nit:14325 */
39592 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39593 /* parser/parser.nit:14326 */
39594 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39595 /* parser/parser.nit:14327 */
39596 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39597 /* parser/parser.nit:14329 */
39598 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*/;
39599 if (UNTAG_Bool(REGB0)) {
39600 } else {
39601 nit_abort("Assert failed", NULL, LOCATE_parser, 14329);
39602 }
39603 /* parser/parser.nit:14331 */
39604 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*/;
39605 if (UNTAG_Bool(REGB0)) {
39606 } else {
39607 nit_abort("Assert failed", NULL, LOCATE_parser, 14331);
39608 }
39609 /* parser/parser.nit:14333 */
39610 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*/;
39611 if (UNTAG_Bool(REGB0)) {
39612 } else {
39613 nit_abort("Assert failed", NULL, LOCATE_parser, 14333);
39614 }
39615 /* parser/parser.nit:14334 */
39616 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]);
39617 /* parser/parser.nit:14340 */
39618 fra.me.REG[2] = fra.me.REG[3];
39619 /* parser/parser.nit:14341 */
39620 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39621 if (UNTAG_Bool(REGB0)) {
39622 } else {
39623 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14341);
39624 }
39625 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39626 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39627 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39628 stack_frame_head = fra.me.prev;
39629 return;
39630 }
39631 static const char LOCATE_parser___ReduceAction418___action[] = "parser::ReduceAction418::(parser::ReduceAction::action)";
39632 void parser___ReduceAction418___action(val_t p0, val_t p1){
39633 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
39634 val_t REGB0;
39635 val_t tmp;
39636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39637 fra.me.file = LOCATE_parser;
39638 fra.me.line = 14346;
39639 fra.me.meth = LOCATE_parser___ReduceAction418___action;
39640 fra.me.has_broke = 0;
39641 fra.me.REG_size = 6;
39642 fra.me.nitni_local_ref_head = NULL;
39643 fra.me.REG[0] = NIT_NULL;
39644 fra.me.REG[1] = NIT_NULL;
39645 fra.me.REG[2] = NIT_NULL;
39646 fra.me.REG[3] = NIT_NULL;
39647 fra.me.REG[4] = NIT_NULL;
39648 fra.me.REG[5] = NIT_NULL;
39649 fra.me.REG[0] = p0;
39650 fra.me.REG[1] = p1;
39651 /* parser/parser.nit:14348 */
39652 fra.me.REG[2] = NIT_NULL;
39653 /* parser/parser.nit:14349 */
39654 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39655 /* parser/parser.nit:14350 */
39656 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39657 /* parser/parser.nit:14351 */
39658 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39659 /* parser/parser.nit:14352 */
39660 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39661 /* parser/parser.nit:14353 */
39662 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39663 /* parser/parser.nit:14354 */
39664 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39665 /* parser/parser.nit:14355 */
39666 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39667 /* parser/parser.nit:14357 */
39668 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*/;
39669 if (UNTAG_Bool(REGB0)) {
39670 } else {
39671 nit_abort("Assert failed", NULL, LOCATE_parser, 14357);
39672 }
39673 /* parser/parser.nit:14359 */
39674 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*/;
39675 if (UNTAG_Bool(REGB0)) {
39676 } else {
39677 nit_abort("Assert failed", NULL, LOCATE_parser, 14359);
39678 }
39679 /* parser/parser.nit:14361 */
39680 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*/;
39681 if (UNTAG_Bool(REGB0)) {
39682 } else {
39683 nit_abort("Assert failed", NULL, LOCATE_parser, 14361);
39684 }
39685 /* parser/parser.nit:14362 */
39686 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]);
39687 /* parser/parser.nit:14368 */
39688 fra.me.REG[2] = fra.me.REG[3];
39689 /* parser/parser.nit:14369 */
39690 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39691 if (UNTAG_Bool(REGB0)) {
39692 } else {
39693 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14369);
39694 }
39695 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39697 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39698 stack_frame_head = fra.me.prev;
39699 return;
39700 }
39701 static const char LOCATE_parser___ReduceAction421___action[] = "parser::ReduceAction421::(parser::ReduceAction::action)";
39702 void parser___ReduceAction421___action(val_t p0, val_t p1){
39703 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
39704 val_t REGB0;
39705 val_t tmp;
39706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39707 fra.me.file = LOCATE_parser;
39708 fra.me.line = 14374;
39709 fra.me.meth = LOCATE_parser___ReduceAction421___action;
39710 fra.me.has_broke = 0;
39711 fra.me.REG_size = 6;
39712 fra.me.nitni_local_ref_head = NULL;
39713 fra.me.REG[0] = NIT_NULL;
39714 fra.me.REG[1] = NIT_NULL;
39715 fra.me.REG[2] = NIT_NULL;
39716 fra.me.REG[3] = NIT_NULL;
39717 fra.me.REG[4] = NIT_NULL;
39718 fra.me.REG[5] = NIT_NULL;
39719 fra.me.REG[0] = p0;
39720 fra.me.REG[1] = p1;
39721 /* parser/parser.nit:14376 */
39722 fra.me.REG[2] = NIT_NULL;
39723 /* parser/parser.nit:14377 */
39724 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39725 /* parser/parser.nit:14378 */
39726 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39727 /* parser/parser.nit:14379 */
39728 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39729 /* parser/parser.nit:14381 */
39730 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*/;
39731 if (UNTAG_Bool(REGB0)) {
39732 } else {
39733 nit_abort("Assert failed", NULL, LOCATE_parser, 14381);
39734 }
39735 /* parser/parser.nit:14383 */
39736 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*/;
39737 if (UNTAG_Bool(REGB0)) {
39738 } else {
39739 nit_abort("Assert failed", NULL, LOCATE_parser, 14383);
39740 }
39741 /* parser/parser.nit:14385 */
39742 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*/;
39743 if (UNTAG_Bool(REGB0)) {
39744 } else {
39745 nit_abort("Assert failed", NULL, LOCATE_parser, 14385);
39746 }
39747 /* parser/parser.nit:14386 */
39748 fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
39749 /* parser/parser.nit:14391 */
39750 fra.me.REG[2] = fra.me.REG[3];
39751 /* parser/parser.nit:14392 */
39752 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39753 if (UNTAG_Bool(REGB0)) {
39754 } else {
39755 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14392);
39756 }
39757 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39758 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39759 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39760 stack_frame_head = fra.me.prev;
39761 return;
39762 }
39763 static const char LOCATE_parser___ReduceAction422___action[] = "parser::ReduceAction422::(parser::ReduceAction::action)";
39764 void parser___ReduceAction422___action(val_t p0, val_t p1){
39765 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
39766 val_t REGB0;
39767 val_t tmp;
39768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39769 fra.me.file = LOCATE_parser;
39770 fra.me.line = 14397;
39771 fra.me.meth = LOCATE_parser___ReduceAction422___action;
39772 fra.me.has_broke = 0;
39773 fra.me.REG_size = 5;
39774 fra.me.nitni_local_ref_head = NULL;
39775 fra.me.REG[0] = NIT_NULL;
39776 fra.me.REG[1] = NIT_NULL;
39777 fra.me.REG[2] = NIT_NULL;
39778 fra.me.REG[3] = NIT_NULL;
39779 fra.me.REG[4] = NIT_NULL;
39780 fra.me.REG[0] = p0;
39781 fra.me.REG[1] = p1;
39782 /* parser/parser.nit:14399 */
39783 fra.me.REG[2] = NIT_NULL;
39784 /* parser/parser.nit:14400 */
39785 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39786 /* parser/parser.nit:14401 */
39787 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39788 /* parser/parser.nit:14403 */
39789 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*/;
39790 if (UNTAG_Bool(REGB0)) {
39791 } else {
39792 nit_abort("Assert failed", NULL, LOCATE_parser, 14403);
39793 }
39794 /* parser/parser.nit:14405 */
39795 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*/;
39796 if (UNTAG_Bool(REGB0)) {
39797 } else {
39798 nit_abort("Assert failed", NULL, LOCATE_parser, 14405);
39799 }
39800 /* parser/parser.nit:14406 */
39801 fra.me.REG[3] = NEW_ALoopExpr_parser___parser_prod___ALoopExpr___init_aloopexpr(fra.me.REG[4], fra.me.REG[3], NIT_NULL);
39802 /* parser/parser.nit:14411 */
39803 fra.me.REG[2] = fra.me.REG[3];
39804 /* parser/parser.nit:14412 */
39805 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39806 if (UNTAG_Bool(REGB0)) {
39807 } else {
39808 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14412);
39809 }
39810 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39811 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39812 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39813 stack_frame_head = fra.me.prev;
39814 return;
39815 }
39816 static const char LOCATE_parser___ReduceAction423___action[] = "parser::ReduceAction423::(parser::ReduceAction::action)";
39817 void parser___ReduceAction423___action(val_t p0, val_t p1){
39818 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
39819 val_t REGB0;
39820 val_t tmp;
39821 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39822 fra.me.file = LOCATE_parser;
39823 fra.me.line = 14417;
39824 fra.me.meth = LOCATE_parser___ReduceAction423___action;
39825 fra.me.has_broke = 0;
39826 fra.me.REG_size = 8;
39827 fra.me.nitni_local_ref_head = NULL;
39828 fra.me.REG[0] = NIT_NULL;
39829 fra.me.REG[1] = NIT_NULL;
39830 fra.me.REG[2] = NIT_NULL;
39831 fra.me.REG[3] = NIT_NULL;
39832 fra.me.REG[4] = NIT_NULL;
39833 fra.me.REG[5] = NIT_NULL;
39834 fra.me.REG[6] = NIT_NULL;
39835 fra.me.REG[7] = NIT_NULL;
39836 fra.me.REG[0] = p0;
39837 fra.me.REG[1] = p1;
39838 /* parser/parser.nit:14419 */
39839 fra.me.REG[2] = NIT_NULL;
39840 /* parser/parser.nit:14420 */
39841 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39842 /* parser/parser.nit:14421 */
39843 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39844 /* parser/parser.nit:14422 */
39845 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39846 /* parser/parser.nit:14423 */
39847 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39848 /* parser/parser.nit:14424 */
39849 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39850 /* parser/parser.nit:14425 */
39851 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39852 /* parser/parser.nit:14426 */
39853 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39854 /* parser/parser.nit:14428 */
39855 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*/;
39856 if (UNTAG_Bool(REGB0)) {
39857 } else {
39858 nit_abort("Assert failed", NULL, LOCATE_parser, 14428);
39859 }
39860 /* parser/parser.nit:14430 */
39861 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*/;
39862 if (UNTAG_Bool(REGB0)) {
39863 } else {
39864 nit_abort("Assert failed", NULL, LOCATE_parser, 14430);
39865 }
39866 /* parser/parser.nit:14432 */
39867 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*/;
39868 if (UNTAG_Bool(REGB0)) {
39869 } else {
39870 nit_abort("Assert failed", NULL, LOCATE_parser, 14432);
39871 }
39872 /* parser/parser.nit:14434 */
39873 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*/;
39874 if (UNTAG_Bool(REGB0)) {
39875 } else {
39876 nit_abort("Assert failed", NULL, LOCATE_parser, 14434);
39877 }
39878 /* parser/parser.nit:14436 */
39879 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*/;
39880 if (UNTAG_Bool(REGB0)) {
39881 } else {
39882 nit_abort("Assert failed", NULL, LOCATE_parser, 14436);
39883 }
39884 /* parser/parser.nit:14437 */
39885 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]);
39886 /* parser/parser.nit:14444 */
39887 fra.me.REG[2] = fra.me.REG[3];
39888 /* parser/parser.nit:14445 */
39889 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39890 if (UNTAG_Bool(REGB0)) {
39891 } else {
39892 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14445);
39893 }
39894 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39895 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39896 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39897 stack_frame_head = fra.me.prev;
39898 return;
39899 }
39900 static const char LOCATE_parser___ReduceAction424___action[] = "parser::ReduceAction424::(parser::ReduceAction::action)";
39901 void parser___ReduceAction424___action(val_t p0, val_t p1){
39902 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
39903 val_t REGB0;
39904 val_t tmp;
39905 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39906 fra.me.file = LOCATE_parser;
39907 fra.me.line = 14450;
39908 fra.me.meth = LOCATE_parser___ReduceAction424___action;
39909 fra.me.has_broke = 0;
39910 fra.me.REG_size = 7;
39911 fra.me.nitni_local_ref_head = NULL;
39912 fra.me.REG[0] = NIT_NULL;
39913 fra.me.REG[1] = NIT_NULL;
39914 fra.me.REG[2] = NIT_NULL;
39915 fra.me.REG[3] = NIT_NULL;
39916 fra.me.REG[4] = NIT_NULL;
39917 fra.me.REG[5] = NIT_NULL;
39918 fra.me.REG[6] = NIT_NULL;
39919 fra.me.REG[0] = p0;
39920 fra.me.REG[1] = p1;
39921 /* parser/parser.nit:14452 */
39922 fra.me.REG[2] = NIT_NULL;
39923 /* parser/parser.nit:14453 */
39924 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39925 /* parser/parser.nit:14454 */
39926 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39927 /* parser/parser.nit:14455 */
39928 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39929 /* parser/parser.nit:14456 */
39930 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39931 /* parser/parser.nit:14457 */
39932 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39933 /* parser/parser.nit:14458 */
39934 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
39935 /* parser/parser.nit:14460 */
39936 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*/;
39937 if (UNTAG_Bool(REGB0)) {
39938 } else {
39939 nit_abort("Assert failed", NULL, LOCATE_parser, 14460);
39940 }
39941 /* parser/parser.nit:14462 */
39942 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*/;
39943 if (UNTAG_Bool(REGB0)) {
39944 } else {
39945 nit_abort("Assert failed", NULL, LOCATE_parser, 14462);
39946 }
39947 /* parser/parser.nit:14464 */
39948 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*/;
39949 if (UNTAG_Bool(REGB0)) {
39950 } else {
39951 nit_abort("Assert failed", NULL, LOCATE_parser, 14464);
39952 }
39953 /* parser/parser.nit:14466 */
39954 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*/;
39955 if (UNTAG_Bool(REGB0)) {
39956 } else {
39957 nit_abort("Assert failed", NULL, LOCATE_parser, 14466);
39958 }
39959 /* parser/parser.nit:14467 */
39960 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);
39961 /* parser/parser.nit:14474 */
39962 fra.me.REG[2] = fra.me.REG[3];
39963 /* parser/parser.nit:14475 */
39964 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
39965 if (UNTAG_Bool(REGB0)) {
39966 } else {
39967 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14475);
39968 }
39969 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
39970 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
39971 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
39972 stack_frame_head = fra.me.prev;
39973 return;
39974 }
39975 static const char LOCATE_parser___ReduceAction425___action[] = "parser::ReduceAction425::(parser::ReduceAction::action)";
39976 void parser___ReduceAction425___action(val_t p0, val_t p1){
39977 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
39978 val_t REGB0;
39979 val_t tmp;
39980 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39981 fra.me.file = LOCATE_parser;
39982 fra.me.line = 14480;
39983 fra.me.meth = LOCATE_parser___ReduceAction425___action;
39984 fra.me.has_broke = 0;
39985 fra.me.REG_size = 10;
39986 fra.me.nitni_local_ref_head = NULL;
39987 fra.me.REG[0] = NIT_NULL;
39988 fra.me.REG[1] = NIT_NULL;
39989 fra.me.REG[2] = NIT_NULL;
39990 fra.me.REG[3] = NIT_NULL;
39991 fra.me.REG[4] = NIT_NULL;
39992 fra.me.REG[5] = NIT_NULL;
39993 fra.me.REG[6] = NIT_NULL;
39994 fra.me.REG[7] = NIT_NULL;
39995 fra.me.REG[8] = NIT_NULL;
39996 fra.me.REG[9] = NIT_NULL;
39997 fra.me.REG[0] = p0;
39998 fra.me.REG[1] = p1;
39999 /* parser/parser.nit:14482 */
40000 fra.me.REG[2] = NIT_NULL;
40001 /* parser/parser.nit:14483 */
40002 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40003 /* parser/parser.nit:14484 */
40004 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40005 /* parser/parser.nit:14485 */
40006 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40007 /* parser/parser.nit:14486 */
40008 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40009 /* parser/parser.nit:14487 */
40010 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40011 /* parser/parser.nit:14488 */
40012 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40013 /* parser/parser.nit:14489 */
40014 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40015 /* parser/parser.nit:14490 */
40016 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40017 /* parser/parser.nit:14491 */
40018 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40019 /* parser/parser.nit:14492 */
40020 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40021 /* parser/parser.nit:14493 */
40022 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40023 /* parser/parser.nit:14494 */
40024 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40025 /* parser/parser.nit:14495 */
40026 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40027 /* parser/parser.nit:14496 */
40028 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
40029 /* parser/parser.nit:14498 */
40030 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*/;
40031 if (UNTAG_Bool(REGB0)) {
40032 } else {
40033 nit_abort("Assert failed", NULL, LOCATE_parser, 14498);
40034 }
40035 /* parser/parser.nit:14500 */
40036 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]*/;
40037 if (UNTAG_Bool(REGB0)) {
40038 } else {
40039 nit_abort("Assert failed", NULL, LOCATE_parser, 14500);
40040 }
40041 /* parser/parser.nit:14501 */
40042 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
40043 fra.me.REG[9] = fra.me.REG[7];
40044 /* parser/parser.nit:14503 */
40045 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*/;
40046 if (UNTAG_Bool(REGB0)) {
40047 } else {
40048 nit_abort("Assert failed", NULL, LOCATE_parser, 14503);
40049 }
40050 /* parser/parser.nit:14505 */
40051 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*/;
40052 if (UNTAG_Bool(REGB0)) {
40053 } else {
40054 nit_abort("Assert failed", NULL, LOCATE_parser, 14505);
40055 }
40056 /* parser/parser.nit:14507 */
40057 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*/;
40058 if (UNTAG_Bool(REGB0)) {
40059 } else {
40060 nit_abort("Assert failed", NULL, LOCATE_parser, 14507);
40061 }
40062 /* parser/parser.nit:14509 */
40063 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*/;
40064 if (UNTAG_Bool(REGB0)) {
40065 } else {
40066 nit_abort("Assert failed", NULL, LOCATE_parser, 14509);
40067 }
40068 /* parser/parser.nit:14510 */
40069 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]);
40070 /* parser/parser.nit:14518 */
40071 fra.me.REG[2] = fra.me.REG[3];
40072 /* parser/parser.nit:14519 */
40073 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40074 if (UNTAG_Bool(REGB0)) {
40075 } else {
40076 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14519);
40077 }
40078 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40079 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40080 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40081 stack_frame_head = fra.me.prev;
40082 return;
40083 }
40084 static const char LOCATE_parser___ReduceAction426___action[] = "parser::ReduceAction426::(parser::ReduceAction::action)";
40085 void parser___ReduceAction426___action(val_t p0, val_t p1){
40086 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
40087 val_t REGB0;
40088 val_t tmp;
40089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40090 fra.me.file = LOCATE_parser;
40091 fra.me.line = 14524;
40092 fra.me.meth = LOCATE_parser___ReduceAction426___action;
40093 fra.me.has_broke = 0;
40094 fra.me.REG_size = 10;
40095 fra.me.nitni_local_ref_head = NULL;
40096 fra.me.REG[0] = NIT_NULL;
40097 fra.me.REG[1] = NIT_NULL;
40098 fra.me.REG[2] = NIT_NULL;
40099 fra.me.REG[3] = NIT_NULL;
40100 fra.me.REG[4] = NIT_NULL;
40101 fra.me.REG[5] = NIT_NULL;
40102 fra.me.REG[6] = NIT_NULL;
40103 fra.me.REG[7] = NIT_NULL;
40104 fra.me.REG[8] = NIT_NULL;
40105 fra.me.REG[9] = NIT_NULL;
40106 fra.me.REG[0] = p0;
40107 fra.me.REG[1] = p1;
40108 /* parser/parser.nit:14526 */
40109 fra.me.REG[2] = NIT_NULL;
40110 /* parser/parser.nit:14527 */
40111 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40112 /* parser/parser.nit:14528 */
40113 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40114 /* parser/parser.nit:14529 */
40115 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40116 /* parser/parser.nit:14530 */
40117 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40118 /* parser/parser.nit:14531 */
40119 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40120 /* parser/parser.nit:14532 */
40121 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40122 /* parser/parser.nit:14533 */
40123 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40124 /* parser/parser.nit:14534 */
40125 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40126 /* parser/parser.nit:14535 */
40127 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40128 /* parser/parser.nit:14536 */
40129 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40130 /* parser/parser.nit:14537 */
40131 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40132 /* parser/parser.nit:14538 */
40133 fra.me.REG[9] = NEW_Array_standard___collection___array___Array___init();
40134 /* parser/parser.nit:14540 */
40135 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*/;
40136 if (UNTAG_Bool(REGB0)) {
40137 } else {
40138 nit_abort("Assert failed", NULL, LOCATE_parser, 14540);
40139 }
40140 /* parser/parser.nit:14542 */
40141 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]*/;
40142 if (UNTAG_Bool(REGB0)) {
40143 } else {
40144 nit_abort("Assert failed", NULL, LOCATE_parser, 14542);
40145 }
40146 /* parser/parser.nit:14543 */
40147 fra.me.REG[7] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[9], fra.me.REG[7]);
40148 fra.me.REG[9] = fra.me.REG[7];
40149 /* parser/parser.nit:14545 */
40150 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*/;
40151 if (UNTAG_Bool(REGB0)) {
40152 } else {
40153 nit_abort("Assert failed", NULL, LOCATE_parser, 14545);
40154 }
40155 /* parser/parser.nit:14547 */
40156 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*/;
40157 if (UNTAG_Bool(REGB0)) {
40158 } else {
40159 nit_abort("Assert failed", NULL, LOCATE_parser, 14547);
40160 }
40161 /* parser/parser.nit:14549 */
40162 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*/;
40163 if (UNTAG_Bool(REGB0)) {
40164 } else {
40165 nit_abort("Assert failed", NULL, LOCATE_parser, 14549);
40166 }
40167 /* parser/parser.nit:14551 */
40168 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*/;
40169 if (UNTAG_Bool(REGB0)) {
40170 } else {
40171 nit_abort("Assert failed", NULL, LOCATE_parser, 14551);
40172 }
40173 /* parser/parser.nit:14552 */
40174 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]);
40175 /* parser/parser.nit:14560 */
40176 fra.me.REG[2] = fra.me.REG[3];
40177 /* parser/parser.nit:14561 */
40178 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40179 if (UNTAG_Bool(REGB0)) {
40180 } else {
40181 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14561);
40182 }
40183 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40184 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40185 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40186 stack_frame_head = fra.me.prev;
40187 return;
40188 }
40189 static const char LOCATE_parser___ReduceAction427___action[] = "parser::ReduceAction427::(parser::ReduceAction::action)";
40190 void parser___ReduceAction427___action(val_t p0, val_t p1){
40191 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
40192 val_t REGB0;
40193 val_t tmp;
40194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40195 fra.me.file = LOCATE_parser;
40196 fra.me.line = 14566;
40197 fra.me.meth = LOCATE_parser___ReduceAction427___action;
40198 fra.me.has_broke = 0;
40199 fra.me.REG_size = 9;
40200 fra.me.nitni_local_ref_head = NULL;
40201 fra.me.REG[0] = NIT_NULL;
40202 fra.me.REG[1] = NIT_NULL;
40203 fra.me.REG[2] = NIT_NULL;
40204 fra.me.REG[3] = NIT_NULL;
40205 fra.me.REG[4] = NIT_NULL;
40206 fra.me.REG[5] = NIT_NULL;
40207 fra.me.REG[6] = NIT_NULL;
40208 fra.me.REG[7] = NIT_NULL;
40209 fra.me.REG[8] = NIT_NULL;
40210 fra.me.REG[0] = p0;
40211 fra.me.REG[1] = p1;
40212 /* parser/parser.nit:14568 */
40213 fra.me.REG[2] = NIT_NULL;
40214 /* parser/parser.nit:14569 */
40215 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40216 /* parser/parser.nit:14570 */
40217 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40218 /* parser/parser.nit:14571 */
40219 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40220 /* parser/parser.nit:14572 */
40221 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40222 /* parser/parser.nit:14573 */
40223 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40224 /* parser/parser.nit:14574 */
40225 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40226 /* parser/parser.nit:14575 */
40227 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40228 /* parser/parser.nit:14576 */
40229 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40230 /* parser/parser.nit:14577 */
40231 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40232 /* parser/parser.nit:14578 */
40233 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40234 /* parser/parser.nit:14579 */
40235 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40236 /* parser/parser.nit:14580 */
40237 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40238 /* parser/parser.nit:14581 */
40239 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
40240 /* parser/parser.nit:14583 */
40241 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*/;
40242 if (UNTAG_Bool(REGB0)) {
40243 } else {
40244 nit_abort("Assert failed", NULL, LOCATE_parser, 14583);
40245 }
40246 /* parser/parser.nit:14585 */
40247 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]*/;
40248 if (UNTAG_Bool(REGB0)) {
40249 } else {
40250 nit_abort("Assert failed", NULL, LOCATE_parser, 14585);
40251 }
40252 /* parser/parser.nit:14586 */
40253 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
40254 fra.me.REG[8] = fra.me.REG[6];
40255 /* parser/parser.nit:14588 */
40256 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*/;
40257 if (UNTAG_Bool(REGB0)) {
40258 } else {
40259 nit_abort("Assert failed", NULL, LOCATE_parser, 14588);
40260 }
40261 /* parser/parser.nit:14590 */
40262 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*/;
40263 if (UNTAG_Bool(REGB0)) {
40264 } else {
40265 nit_abort("Assert failed", NULL, LOCATE_parser, 14590);
40266 }
40267 /* parser/parser.nit:14592 */
40268 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*/;
40269 if (UNTAG_Bool(REGB0)) {
40270 } else {
40271 nit_abort("Assert failed", NULL, LOCATE_parser, 14592);
40272 }
40273 /* parser/parser.nit:14593 */
40274 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);
40275 /* parser/parser.nit:14601 */
40276 fra.me.REG[2] = fra.me.REG[3];
40277 /* parser/parser.nit:14602 */
40278 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40279 if (UNTAG_Bool(REGB0)) {
40280 } else {
40281 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14602);
40282 }
40283 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40284 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40285 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40286 stack_frame_head = fra.me.prev;
40287 return;
40288 }
40289 static const char LOCATE_parser___ReduceAction428___action[] = "parser::ReduceAction428::(parser::ReduceAction::action)";
40290 void parser___ReduceAction428___action(val_t p0, val_t p1){
40291 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
40292 val_t REGB0;
40293 val_t tmp;
40294 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40295 fra.me.file = LOCATE_parser;
40296 fra.me.line = 14607;
40297 fra.me.meth = LOCATE_parser___ReduceAction428___action;
40298 fra.me.has_broke = 0;
40299 fra.me.REG_size = 9;
40300 fra.me.nitni_local_ref_head = NULL;
40301 fra.me.REG[0] = NIT_NULL;
40302 fra.me.REG[1] = NIT_NULL;
40303 fra.me.REG[2] = NIT_NULL;
40304 fra.me.REG[3] = NIT_NULL;
40305 fra.me.REG[4] = NIT_NULL;
40306 fra.me.REG[5] = NIT_NULL;
40307 fra.me.REG[6] = NIT_NULL;
40308 fra.me.REG[7] = NIT_NULL;
40309 fra.me.REG[8] = NIT_NULL;
40310 fra.me.REG[0] = p0;
40311 fra.me.REG[1] = p1;
40312 /* parser/parser.nit:14609 */
40313 fra.me.REG[2] = NIT_NULL;
40314 /* parser/parser.nit:14610 */
40315 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40316 /* parser/parser.nit:14611 */
40317 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40318 /* parser/parser.nit:14612 */
40319 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40320 /* parser/parser.nit:14613 */
40321 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40322 /* parser/parser.nit:14614 */
40323 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40324 /* parser/parser.nit:14615 */
40325 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40326 /* parser/parser.nit:14616 */
40327 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40328 /* parser/parser.nit:14617 */
40329 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40330 /* parser/parser.nit:14618 */
40331 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40332 /* parser/parser.nit:14619 */
40333 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40334 /* parser/parser.nit:14620 */
40335 fra.me.REG[8] = NEW_Array_standard___collection___array___Array___init();
40336 /* parser/parser.nit:14622 */
40337 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*/;
40338 if (UNTAG_Bool(REGB0)) {
40339 } else {
40340 nit_abort("Assert failed", NULL, LOCATE_parser, 14622);
40341 }
40342 /* parser/parser.nit:14624 */
40343 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]*/;
40344 if (UNTAG_Bool(REGB0)) {
40345 } else {
40346 nit_abort("Assert failed", NULL, LOCATE_parser, 14624);
40347 }
40348 /* parser/parser.nit:14625 */
40349 fra.me.REG[6] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[8], fra.me.REG[6]);
40350 fra.me.REG[8] = fra.me.REG[6];
40351 /* parser/parser.nit:14627 */
40352 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*/;
40353 if (UNTAG_Bool(REGB0)) {
40354 } else {
40355 nit_abort("Assert failed", NULL, LOCATE_parser, 14627);
40356 }
40357 /* parser/parser.nit:14629 */
40358 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*/;
40359 if (UNTAG_Bool(REGB0)) {
40360 } else {
40361 nit_abort("Assert failed", NULL, LOCATE_parser, 14629);
40362 }
40363 /* parser/parser.nit:14631 */
40364 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*/;
40365 if (UNTAG_Bool(REGB0)) {
40366 } else {
40367 nit_abort("Assert failed", NULL, LOCATE_parser, 14631);
40368 }
40369 /* parser/parser.nit:14632 */
40370 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);
40371 /* parser/parser.nit:14640 */
40372 fra.me.REG[2] = fra.me.REG[3];
40373 /* parser/parser.nit:14641 */
40374 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40375 if (UNTAG_Bool(REGB0)) {
40376 } else {
40377 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14641);
40378 }
40379 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40380 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40381 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40382 stack_frame_head = fra.me.prev;
40383 return;
40384 }
40385 static const char LOCATE_parser___ReduceAction429___action[] = "parser::ReduceAction429::(parser::ReduceAction::action)";
40386 void parser___ReduceAction429___action(val_t p0, val_t p1){
40387 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
40388 val_t REGB0;
40389 val_t tmp;
40390 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40391 fra.me.file = LOCATE_parser;
40392 fra.me.line = 14646;
40393 fra.me.meth = LOCATE_parser___ReduceAction429___action;
40394 fra.me.has_broke = 0;
40395 fra.me.REG_size = 6;
40396 fra.me.nitni_local_ref_head = NULL;
40397 fra.me.REG[0] = NIT_NULL;
40398 fra.me.REG[1] = NIT_NULL;
40399 fra.me.REG[2] = NIT_NULL;
40400 fra.me.REG[3] = NIT_NULL;
40401 fra.me.REG[4] = NIT_NULL;
40402 fra.me.REG[5] = NIT_NULL;
40403 fra.me.REG[0] = p0;
40404 fra.me.REG[1] = p1;
40405 /* parser/parser.nit:14648 */
40406 fra.me.REG[2] = NIT_NULL;
40407 /* parser/parser.nit:14649 */
40408 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40409 /* parser/parser.nit:14650 */
40410 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40411 /* parser/parser.nit:14651 */
40412 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40413 /* parser/parser.nit:14652 */
40414 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40415 /* parser/parser.nit:14654 */
40416 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*/;
40417 if (UNTAG_Bool(REGB0)) {
40418 } else {
40419 nit_abort("Assert failed", NULL, LOCATE_parser, 14654);
40420 }
40421 /* parser/parser.nit:14656 */
40422 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*/;
40423 if (UNTAG_Bool(REGB0)) {
40424 } else {
40425 nit_abort("Assert failed", NULL, LOCATE_parser, 14656);
40426 }
40427 /* parser/parser.nit:14658 */
40428 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*/;
40429 if (UNTAG_Bool(REGB0)) {
40430 } else {
40431 nit_abort("Assert failed", NULL, LOCATE_parser, 14658);
40432 }
40433 /* parser/parser.nit:14659 */
40434 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]);
40435 /* parser/parser.nit:14665 */
40436 fra.me.REG[2] = fra.me.REG[3];
40437 /* parser/parser.nit:14666 */
40438 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40439 if (UNTAG_Bool(REGB0)) {
40440 } else {
40441 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14666);
40442 }
40443 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40444 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40445 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40446 stack_frame_head = fra.me.prev;
40447 return;
40448 }
40449 static const char LOCATE_parser___ReduceAction430___action[] = "parser::ReduceAction430::(parser::ReduceAction::action)";
40450 void parser___ReduceAction430___action(val_t p0, val_t p1){
40451 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
40452 val_t REGB0;
40453 val_t tmp;
40454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40455 fra.me.file = LOCATE_parser;
40456 fra.me.line = 14671;
40457 fra.me.meth = LOCATE_parser___ReduceAction430___action;
40458 fra.me.has_broke = 0;
40459 fra.me.REG_size = 7;
40460 fra.me.nitni_local_ref_head = NULL;
40461 fra.me.REG[0] = NIT_NULL;
40462 fra.me.REG[1] = NIT_NULL;
40463 fra.me.REG[2] = NIT_NULL;
40464 fra.me.REG[3] = NIT_NULL;
40465 fra.me.REG[4] = NIT_NULL;
40466 fra.me.REG[5] = NIT_NULL;
40467 fra.me.REG[6] = NIT_NULL;
40468 fra.me.REG[0] = p0;
40469 fra.me.REG[1] = p1;
40470 /* parser/parser.nit:14673 */
40471 fra.me.REG[2] = NIT_NULL;
40472 /* parser/parser.nit:14674 */
40473 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40474 /* parser/parser.nit:14675 */
40475 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40476 /* parser/parser.nit:14676 */
40477 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40478 /* parser/parser.nit:14677 */
40479 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40480 /* parser/parser.nit:14678 */
40481 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40482 /* parser/parser.nit:14680 */
40483 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*/;
40484 if (UNTAG_Bool(REGB0)) {
40485 } else {
40486 nit_abort("Assert failed", NULL, LOCATE_parser, 14680);
40487 }
40488 /* parser/parser.nit:14682 */
40489 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*/;
40490 if (UNTAG_Bool(REGB0)) {
40491 } else {
40492 nit_abort("Assert failed", NULL, LOCATE_parser, 14682);
40493 }
40494 /* parser/parser.nit:14684 */
40495 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*/;
40496 if (UNTAG_Bool(REGB0)) {
40497 } else {
40498 nit_abort("Assert failed", NULL, LOCATE_parser, 14684);
40499 }
40500 /* parser/parser.nit:14686 */
40501 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*/;
40502 if (UNTAG_Bool(REGB0)) {
40503 } else {
40504 nit_abort("Assert failed", NULL, LOCATE_parser, 14686);
40505 }
40506 /* parser/parser.nit:14687 */
40507 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]);
40508 /* parser/parser.nit:14693 */
40509 fra.me.REG[2] = fra.me.REG[3];
40510 /* parser/parser.nit:14694 */
40511 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40512 if (UNTAG_Bool(REGB0)) {
40513 } else {
40514 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14694);
40515 }
40516 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40517 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40518 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40519 stack_frame_head = fra.me.prev;
40520 return;
40521 }
40522 static const char LOCATE_parser___ReduceAction431___action[] = "parser::ReduceAction431::(parser::ReduceAction::action)";
40523 void parser___ReduceAction431___action(val_t p0, val_t p1){
40524 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40525 val_t REGB0;
40526 val_t tmp;
40527 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40528 fra.me.file = LOCATE_parser;
40529 fra.me.line = 14699;
40530 fra.me.meth = LOCATE_parser___ReduceAction431___action;
40531 fra.me.has_broke = 0;
40532 fra.me.REG_size = 5;
40533 fra.me.nitni_local_ref_head = NULL;
40534 fra.me.REG[0] = NIT_NULL;
40535 fra.me.REG[1] = NIT_NULL;
40536 fra.me.REG[2] = NIT_NULL;
40537 fra.me.REG[3] = NIT_NULL;
40538 fra.me.REG[4] = NIT_NULL;
40539 fra.me.REG[0] = p0;
40540 fra.me.REG[1] = p1;
40541 /* parser/parser.nit:14701 */
40542 fra.me.REG[2] = NIT_NULL;
40543 /* parser/parser.nit:14702 */
40544 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40545 /* parser/parser.nit:14703 */
40546 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40547 /* parser/parser.nit:14705 */
40548 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*/;
40549 if (UNTAG_Bool(REGB0)) {
40550 } else {
40551 nit_abort("Assert failed", NULL, LOCATE_parser, 14705);
40552 }
40553 /* parser/parser.nit:14707 */
40554 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*/;
40555 if (UNTAG_Bool(REGB0)) {
40556 } else {
40557 nit_abort("Assert failed", NULL, LOCATE_parser, 14707);
40558 }
40559 /* parser/parser.nit:14708 */
40560 fra.me.REG[3] = NEW_AAssertExpr_parser___parser_prod___AAssertExpr___init_aassertexpr(fra.me.REG[4], NIT_NULL, fra.me.REG[3], NIT_NULL);
40561 /* parser/parser.nit:14714 */
40562 fra.me.REG[2] = fra.me.REG[3];
40563 /* parser/parser.nit:14715 */
40564 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40565 if (UNTAG_Bool(REGB0)) {
40566 } else {
40567 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14715);
40568 }
40569 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40570 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40571 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40572 stack_frame_head = fra.me.prev;
40573 return;
40574 }
40575 static const char LOCATE_parser___ReduceAction432___action[] = "parser::ReduceAction432::(parser::ReduceAction::action)";
40576 void parser___ReduceAction432___action(val_t p0, val_t p1){
40577 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
40578 val_t REGB0;
40579 val_t tmp;
40580 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40581 fra.me.file = LOCATE_parser;
40582 fra.me.line = 14720;
40583 fra.me.meth = LOCATE_parser___ReduceAction432___action;
40584 fra.me.has_broke = 0;
40585 fra.me.REG_size = 6;
40586 fra.me.nitni_local_ref_head = NULL;
40587 fra.me.REG[0] = NIT_NULL;
40588 fra.me.REG[1] = NIT_NULL;
40589 fra.me.REG[2] = NIT_NULL;
40590 fra.me.REG[3] = NIT_NULL;
40591 fra.me.REG[4] = NIT_NULL;
40592 fra.me.REG[5] = NIT_NULL;
40593 fra.me.REG[0] = p0;
40594 fra.me.REG[1] = p1;
40595 /* parser/parser.nit:14722 */
40596 fra.me.REG[2] = NIT_NULL;
40597 /* parser/parser.nit:14723 */
40598 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40599 /* parser/parser.nit:14724 */
40600 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40601 /* parser/parser.nit:14725 */
40602 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40603 /* parser/parser.nit:14727 */
40604 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*/;
40605 if (UNTAG_Bool(REGB0)) {
40606 } else {
40607 nit_abort("Assert failed", NULL, LOCATE_parser, 14727);
40608 }
40609 /* parser/parser.nit:14729 */
40610 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*/;
40611 if (UNTAG_Bool(REGB0)) {
40612 } else {
40613 nit_abort("Assert failed", NULL, LOCATE_parser, 14729);
40614 }
40615 /* parser/parser.nit:14731 */
40616 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*/;
40617 if (UNTAG_Bool(REGB0)) {
40618 } else {
40619 nit_abort("Assert failed", NULL, LOCATE_parser, 14731);
40620 }
40621 /* parser/parser.nit:14732 */
40622 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);
40623 /* parser/parser.nit:14738 */
40624 fra.me.REG[2] = fra.me.REG[3];
40625 /* parser/parser.nit:14739 */
40626 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40627 if (UNTAG_Bool(REGB0)) {
40628 } else {
40629 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14739);
40630 }
40631 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40632 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40633 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40634 stack_frame_head = fra.me.prev;
40635 return;
40636 }
40637 static const char LOCATE_parser___ReduceAction433___action[] = "parser::ReduceAction433::(parser::ReduceAction::action)";
40638 void parser___ReduceAction433___action(val_t p0, val_t p1){
40639 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40640 val_t REGB0;
40641 val_t tmp;
40642 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40643 fra.me.file = LOCATE_parser;
40644 fra.me.line = 14744;
40645 fra.me.meth = LOCATE_parser___ReduceAction433___action;
40646 fra.me.has_broke = 0;
40647 fra.me.REG_size = 4;
40648 fra.me.nitni_local_ref_head = NULL;
40649 fra.me.REG[0] = NIT_NULL;
40650 fra.me.REG[1] = NIT_NULL;
40651 fra.me.REG[2] = NIT_NULL;
40652 fra.me.REG[3] = NIT_NULL;
40653 fra.me.REG[0] = p0;
40654 fra.me.REG[1] = p1;
40655 /* parser/parser.nit:14746 */
40656 fra.me.REG[2] = NIT_NULL;
40657 /* parser/parser.nit:14747 */
40658 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40659 /* parser/parser.nit:14748 */
40660 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40661 /* parser/parser.nit:14750 */
40662 fra.me.REG[2] = fra.me.REG[3];
40663 /* parser/parser.nit:14751 */
40664 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40665 if (UNTAG_Bool(REGB0)) {
40666 } else {
40667 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14751);
40668 }
40669 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40670 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40671 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40672 stack_frame_head = fra.me.prev;
40673 return;
40674 }
40675 static const char LOCATE_parser___ReduceAction437___action[] = "parser::ReduceAction437::(parser::ReduceAction::action)";
40676 void parser___ReduceAction437___action(val_t p0, val_t p1){
40677 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
40678 val_t REGB0;
40679 val_t tmp;
40680 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40681 fra.me.file = LOCATE_parser;
40682 fra.me.line = 14756;
40683 fra.me.meth = LOCATE_parser___ReduceAction437___action;
40684 fra.me.has_broke = 0;
40685 fra.me.REG_size = 7;
40686 fra.me.nitni_local_ref_head = NULL;
40687 fra.me.REG[0] = NIT_NULL;
40688 fra.me.REG[1] = NIT_NULL;
40689 fra.me.REG[2] = NIT_NULL;
40690 fra.me.REG[3] = NIT_NULL;
40691 fra.me.REG[4] = NIT_NULL;
40692 fra.me.REG[5] = NIT_NULL;
40693 fra.me.REG[6] = NIT_NULL;
40694 fra.me.REG[0] = p0;
40695 fra.me.REG[1] = p1;
40696 /* parser/parser.nit:14758 */
40697 fra.me.REG[2] = NIT_NULL;
40698 /* parser/parser.nit:14759 */
40699 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40700 /* parser/parser.nit:14760 */
40701 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40702 /* parser/parser.nit:14761 */
40703 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40704 /* parser/parser.nit:14762 */
40705 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
40706 /* parser/parser.nit:14764 */
40707 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*/;
40708 if (UNTAG_Bool(REGB0)) {
40709 } else {
40710 nit_abort("Assert failed", NULL, LOCATE_parser, 14764);
40711 }
40712 /* parser/parser.nit:14766 */
40713 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
40714 if (UNTAG_Bool(REGB0)) {
40715 } else {
40716 nit_abort("Assert failed", NULL, LOCATE_parser, 14766);
40717 }
40718 /* parser/parser.nit:14768 */
40719 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]*/;
40720 if (UNTAG_Bool(REGB0)) {
40721 } else {
40722 nit_abort("Assert failed", NULL, LOCATE_parser, 14768);
40723 }
40724 /* parser/parser.nit:14769 */
40725 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[3]);
40726 fra.me.REG[6] = fra.me.REG[3];
40727 /* parser/parser.nit:14770 */
40728 fra.me.REG[6] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[6]);
40729 /* parser/parser.nit:14775 */
40730 fra.me.REG[2] = fra.me.REG[6];
40731 /* parser/parser.nit:14776 */
40732 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40733 if (UNTAG_Bool(REGB0)) {
40734 } else {
40735 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14776);
40736 }
40737 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40738 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40739 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40740 stack_frame_head = fra.me.prev;
40741 return;
40742 }
40743 static const char LOCATE_parser___ReduceAction439___action[] = "parser::ReduceAction439::(parser::ReduceAction::action)";
40744 void parser___ReduceAction439___action(val_t p0, val_t p1){
40745 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
40746 val_t REGB0;
40747 val_t tmp;
40748 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40749 fra.me.file = LOCATE_parser;
40750 fra.me.line = 14781;
40751 fra.me.meth = LOCATE_parser___ReduceAction439___action;
40752 fra.me.has_broke = 0;
40753 fra.me.REG_size = 9;
40754 fra.me.nitni_local_ref_head = NULL;
40755 fra.me.REG[0] = NIT_NULL;
40756 fra.me.REG[1] = NIT_NULL;
40757 fra.me.REG[2] = NIT_NULL;
40758 fra.me.REG[3] = NIT_NULL;
40759 fra.me.REG[4] = NIT_NULL;
40760 fra.me.REG[5] = NIT_NULL;
40761 fra.me.REG[6] = NIT_NULL;
40762 fra.me.REG[7] = NIT_NULL;
40763 fra.me.REG[8] = NIT_NULL;
40764 fra.me.REG[0] = p0;
40765 fra.me.REG[1] = p1;
40766 /* parser/parser.nit:14783 */
40767 fra.me.REG[2] = NIT_NULL;
40768 /* parser/parser.nit:14784 */
40769 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40770 /* parser/parser.nit:14785 */
40771 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40772 /* parser/parser.nit:14786 */
40773 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40774 /* parser/parser.nit:14787 */
40775 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40776 /* parser/parser.nit:14788 */
40777 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40778 /* parser/parser.nit:14789 */
40779 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40780 /* parser/parser.nit:14790 */
40781 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40782 /* parser/parser.nit:14791 */
40783 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40784 /* parser/parser.nit:14792 */
40785 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40786 /* parser/parser.nit:14793 */
40787 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40788 /* parser/parser.nit:14794 */
40789 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40790 /* parser/parser.nit:14796 */
40791 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*/;
40792 if (UNTAG_Bool(REGB0)) {
40793 } else {
40794 nit_abort("Assert failed", NULL, LOCATE_parser, 14796);
40795 }
40796 /* parser/parser.nit:14798 */
40797 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*/;
40798 if (UNTAG_Bool(REGB0)) {
40799 } else {
40800 nit_abort("Assert failed", NULL, LOCATE_parser, 14798);
40801 }
40802 /* parser/parser.nit:14800 */
40803 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*/;
40804 if (UNTAG_Bool(REGB0)) {
40805 } else {
40806 nit_abort("Assert failed", NULL, LOCATE_parser, 14800);
40807 }
40808 /* parser/parser.nit:14802 */
40809 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*/;
40810 if (UNTAG_Bool(REGB0)) {
40811 } else {
40812 nit_abort("Assert failed", NULL, LOCATE_parser, 14802);
40813 }
40814 /* parser/parser.nit:14804 */
40815 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*/;
40816 if (UNTAG_Bool(REGB0)) {
40817 } else {
40818 nit_abort("Assert failed", NULL, LOCATE_parser, 14804);
40819 }
40820 /* parser/parser.nit:14806 */
40821 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*/;
40822 if (UNTAG_Bool(REGB0)) {
40823 } else {
40824 nit_abort("Assert failed", NULL, LOCATE_parser, 14806);
40825 }
40826 /* parser/parser.nit:14807 */
40827 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]);
40828 /* parser/parser.nit:14815 */
40829 fra.me.REG[2] = fra.me.REG[3];
40830 /* parser/parser.nit:14816 */
40831 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40832 if (UNTAG_Bool(REGB0)) {
40833 } else {
40834 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14816);
40835 }
40836 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40837 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40838 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40839 stack_frame_head = fra.me.prev;
40840 return;
40841 }
40842 static const char LOCATE_parser___ReduceAction441___action[] = "parser::ReduceAction441::(parser::ReduceAction::action)";
40843 void parser___ReduceAction441___action(val_t p0, val_t p1){
40844 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40845 val_t REGB0;
40846 val_t tmp;
40847 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40848 fra.me.file = LOCATE_parser;
40849 fra.me.line = 14821;
40850 fra.me.meth = LOCATE_parser___ReduceAction441___action;
40851 fra.me.has_broke = 0;
40852 fra.me.REG_size = 5;
40853 fra.me.nitni_local_ref_head = NULL;
40854 fra.me.REG[0] = NIT_NULL;
40855 fra.me.REG[1] = NIT_NULL;
40856 fra.me.REG[2] = NIT_NULL;
40857 fra.me.REG[3] = NIT_NULL;
40858 fra.me.REG[4] = NIT_NULL;
40859 fra.me.REG[0] = p0;
40860 fra.me.REG[1] = p1;
40861 /* parser/parser.nit:14823 */
40862 fra.me.REG[2] = NIT_NULL;
40863 /* parser/parser.nit:14824 */
40864 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40865 /* parser/parser.nit:14825 */
40866 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40867 /* parser/parser.nit:14826 */
40868 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40869 /* parser/parser.nit:14827 */
40870 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40871 /* parser/parser.nit:14829 */
40872 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*/;
40873 if (UNTAG_Bool(REGB0)) {
40874 } else {
40875 nit_abort("Assert failed", NULL, LOCATE_parser, 14829);
40876 }
40877 /* parser/parser.nit:14831 */
40878 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*/;
40879 if (UNTAG_Bool(REGB0)) {
40880 } else {
40881 nit_abort("Assert failed", NULL, LOCATE_parser, 14831);
40882 }
40883 /* parser/parser.nit:14832 */
40884 fra.me.REG[3] = NEW_AOrExpr_parser___parser_prod___AOrExpr___init_aorexpr(fra.me.REG[4], fra.me.REG[3]);
40885 /* parser/parser.nit:14836 */
40886 fra.me.REG[2] = fra.me.REG[3];
40887 /* parser/parser.nit:14837 */
40888 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40889 if (UNTAG_Bool(REGB0)) {
40890 } else {
40891 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14837);
40892 }
40893 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40894 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40895 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40896 stack_frame_head = fra.me.prev;
40897 return;
40898 }
40899 static const char LOCATE_parser___ReduceAction442___action[] = "parser::ReduceAction442::(parser::ReduceAction::action)";
40900 void parser___ReduceAction442___action(val_t p0, val_t p1){
40901 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40902 val_t REGB0;
40903 val_t tmp;
40904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40905 fra.me.file = LOCATE_parser;
40906 fra.me.line = 14842;
40907 fra.me.meth = LOCATE_parser___ReduceAction442___action;
40908 fra.me.has_broke = 0;
40909 fra.me.REG_size = 5;
40910 fra.me.nitni_local_ref_head = NULL;
40911 fra.me.REG[0] = NIT_NULL;
40912 fra.me.REG[1] = NIT_NULL;
40913 fra.me.REG[2] = NIT_NULL;
40914 fra.me.REG[3] = NIT_NULL;
40915 fra.me.REG[4] = NIT_NULL;
40916 fra.me.REG[0] = p0;
40917 fra.me.REG[1] = p1;
40918 /* parser/parser.nit:14844 */
40919 fra.me.REG[2] = NIT_NULL;
40920 /* parser/parser.nit:14845 */
40921 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40922 /* parser/parser.nit:14846 */
40923 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40924 /* parser/parser.nit:14847 */
40925 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40926 /* parser/parser.nit:14848 */
40927 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40928 /* parser/parser.nit:14850 */
40929 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*/;
40930 if (UNTAG_Bool(REGB0)) {
40931 } else {
40932 nit_abort("Assert failed", NULL, LOCATE_parser, 14850);
40933 }
40934 /* parser/parser.nit:14852 */
40935 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*/;
40936 if (UNTAG_Bool(REGB0)) {
40937 } else {
40938 nit_abort("Assert failed", NULL, LOCATE_parser, 14852);
40939 }
40940 /* parser/parser.nit:14853 */
40941 fra.me.REG[3] = NEW_AAndExpr_parser___parser_prod___AAndExpr___init_aandexpr(fra.me.REG[4], fra.me.REG[3]);
40942 /* parser/parser.nit:14857 */
40943 fra.me.REG[2] = fra.me.REG[3];
40944 /* parser/parser.nit:14858 */
40945 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
40946 if (UNTAG_Bool(REGB0)) {
40947 } else {
40948 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14858);
40949 }
40950 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
40951 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
40952 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
40953 stack_frame_head = fra.me.prev;
40954 return;
40955 }
40956 static const char LOCATE_parser___ReduceAction443___action[] = "parser::ReduceAction443::(parser::ReduceAction::action)";
40957 void parser___ReduceAction443___action(val_t p0, val_t p1){
40958 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40959 val_t REGB0;
40960 val_t tmp;
40961 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40962 fra.me.file = LOCATE_parser;
40963 fra.me.line = 14863;
40964 fra.me.meth = LOCATE_parser___ReduceAction443___action;
40965 fra.me.has_broke = 0;
40966 fra.me.REG_size = 5;
40967 fra.me.nitni_local_ref_head = NULL;
40968 fra.me.REG[0] = NIT_NULL;
40969 fra.me.REG[1] = NIT_NULL;
40970 fra.me.REG[2] = NIT_NULL;
40971 fra.me.REG[3] = NIT_NULL;
40972 fra.me.REG[4] = NIT_NULL;
40973 fra.me.REG[0] = p0;
40974 fra.me.REG[1] = p1;
40975 /* parser/parser.nit:14865 */
40976 fra.me.REG[2] = NIT_NULL;
40977 /* parser/parser.nit:14866 */
40978 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40979 /* parser/parser.nit:14867 */
40980 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40981 /* parser/parser.nit:14868 */
40982 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40983 /* parser/parser.nit:14869 */
40984 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40985 /* parser/parser.nit:14870 */
40986 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
40987 /* parser/parser.nit:14872 */
40988 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*/;
40989 if (UNTAG_Bool(REGB0)) {
40990 } else {
40991 nit_abort("Assert failed", NULL, LOCATE_parser, 14872);
40992 }
40993 /* parser/parser.nit:14874 */
40994 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*/;
40995 if (UNTAG_Bool(REGB0)) {
40996 } else {
40997 nit_abort("Assert failed", NULL, LOCATE_parser, 14874);
40998 }
40999 /* parser/parser.nit:14875 */
41000 fra.me.REG[3] = NEW_AOrElseExpr_parser___parser_prod___AOrElseExpr___init_aorelseexpr(fra.me.REG[4], fra.me.REG[3]);
41001 /* parser/parser.nit:14879 */
41002 fra.me.REG[2] = fra.me.REG[3];
41003 /* parser/parser.nit:14880 */
41004 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41005 if (UNTAG_Bool(REGB0)) {
41006 } else {
41007 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14880);
41008 }
41009 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41010 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41011 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41012 stack_frame_head = fra.me.prev;
41013 return;
41014 }
41015 static const char LOCATE_parser___ReduceAction445___action[] = "parser::ReduceAction445::(parser::ReduceAction::action)";
41016 void parser___ReduceAction445___action(val_t p0, val_t p1){
41017 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41018 val_t REGB0;
41019 val_t tmp;
41020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41021 fra.me.file = LOCATE_parser;
41022 fra.me.line = 14885;
41023 fra.me.meth = LOCATE_parser___ReduceAction445___action;
41024 fra.me.has_broke = 0;
41025 fra.me.REG_size = 5;
41026 fra.me.nitni_local_ref_head = NULL;
41027 fra.me.REG[0] = NIT_NULL;
41028 fra.me.REG[1] = NIT_NULL;
41029 fra.me.REG[2] = NIT_NULL;
41030 fra.me.REG[3] = NIT_NULL;
41031 fra.me.REG[4] = NIT_NULL;
41032 fra.me.REG[0] = p0;
41033 fra.me.REG[1] = p1;
41034 /* parser/parser.nit:14887 */
41035 fra.me.REG[2] = NIT_NULL;
41036 /* parser/parser.nit:14888 */
41037 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41038 /* parser/parser.nit:14889 */
41039 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41040 /* parser/parser.nit:14890 */
41041 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41042 /* parser/parser.nit:14892 */
41043 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*/;
41044 if (UNTAG_Bool(REGB0)) {
41045 } else {
41046 nit_abort("Assert failed", NULL, LOCATE_parser, 14892);
41047 }
41048 /* parser/parser.nit:14894 */
41049 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*/;
41050 if (UNTAG_Bool(REGB0)) {
41051 } else {
41052 nit_abort("Assert failed", NULL, LOCATE_parser, 14894);
41053 }
41054 /* parser/parser.nit:14895 */
41055 fra.me.REG[3] = NEW_ANotExpr_parser___parser_prod___ANotExpr___init_anotexpr(fra.me.REG[4], fra.me.REG[3]);
41056 /* parser/parser.nit:14899 */
41057 fra.me.REG[2] = fra.me.REG[3];
41058 /* parser/parser.nit:14900 */
41059 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41060 if (UNTAG_Bool(REGB0)) {
41061 } else {
41062 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14900);
41063 }
41064 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41065 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41066 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41067 stack_frame_head = fra.me.prev;
41068 return;
41069 }
41070 static const char LOCATE_parser___ReduceAction447___action[] = "parser::ReduceAction447::(parser::ReduceAction::action)";
41071 void parser___ReduceAction447___action(val_t p0, val_t p1){
41072 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41073 val_t REGB0;
41074 val_t tmp;
41075 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41076 fra.me.file = LOCATE_parser;
41077 fra.me.line = 14905;
41078 fra.me.meth = LOCATE_parser___ReduceAction447___action;
41079 fra.me.has_broke = 0;
41080 fra.me.REG_size = 5;
41081 fra.me.nitni_local_ref_head = NULL;
41082 fra.me.REG[0] = NIT_NULL;
41083 fra.me.REG[1] = NIT_NULL;
41084 fra.me.REG[2] = NIT_NULL;
41085 fra.me.REG[3] = NIT_NULL;
41086 fra.me.REG[4] = NIT_NULL;
41087 fra.me.REG[0] = p0;
41088 fra.me.REG[1] = p1;
41089 /* parser/parser.nit:14907 */
41090 fra.me.REG[2] = NIT_NULL;
41091 /* parser/parser.nit:14908 */
41092 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41093 /* parser/parser.nit:14909 */
41094 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41095 /* parser/parser.nit:14910 */
41096 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41097 /* parser/parser.nit:14911 */
41098 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41099 /* parser/parser.nit:14913 */
41100 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*/;
41101 if (UNTAG_Bool(REGB0)) {
41102 } else {
41103 nit_abort("Assert failed", NULL, LOCATE_parser, 14913);
41104 }
41105 /* parser/parser.nit:14915 */
41106 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*/;
41107 if (UNTAG_Bool(REGB0)) {
41108 } else {
41109 nit_abort("Assert failed", NULL, LOCATE_parser, 14915);
41110 }
41111 /* parser/parser.nit:14916 */
41112 fra.me.REG[3] = NEW_AEqExpr_parser___parser_prod___AEqExpr___init_aeqexpr(fra.me.REG[4], fra.me.REG[3]);
41113 /* parser/parser.nit:14920 */
41114 fra.me.REG[2] = fra.me.REG[3];
41115 /* parser/parser.nit:14921 */
41116 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41117 if (UNTAG_Bool(REGB0)) {
41118 } else {
41119 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14921);
41120 }
41121 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41122 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41123 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41124 stack_frame_head = fra.me.prev;
41125 return;
41126 }
41127 static const char LOCATE_parser___ReduceAction448___action[] = "parser::ReduceAction448::(parser::ReduceAction::action)";
41128 void parser___ReduceAction448___action(val_t p0, val_t p1){
41129 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41130 val_t REGB0;
41131 val_t tmp;
41132 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41133 fra.me.file = LOCATE_parser;
41134 fra.me.line = 14926;
41135 fra.me.meth = LOCATE_parser___ReduceAction448___action;
41136 fra.me.has_broke = 0;
41137 fra.me.REG_size = 5;
41138 fra.me.nitni_local_ref_head = NULL;
41139 fra.me.REG[0] = NIT_NULL;
41140 fra.me.REG[1] = NIT_NULL;
41141 fra.me.REG[2] = NIT_NULL;
41142 fra.me.REG[3] = NIT_NULL;
41143 fra.me.REG[4] = NIT_NULL;
41144 fra.me.REG[0] = p0;
41145 fra.me.REG[1] = p1;
41146 /* parser/parser.nit:14928 */
41147 fra.me.REG[2] = NIT_NULL;
41148 /* parser/parser.nit:14929 */
41149 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41150 /* parser/parser.nit:14930 */
41151 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41152 /* parser/parser.nit:14931 */
41153 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41154 /* parser/parser.nit:14932 */
41155 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41156 /* parser/parser.nit:14934 */
41157 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*/;
41158 if (UNTAG_Bool(REGB0)) {
41159 } else {
41160 nit_abort("Assert failed", NULL, LOCATE_parser, 14934);
41161 }
41162 /* parser/parser.nit:14936 */
41163 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*/;
41164 if (UNTAG_Bool(REGB0)) {
41165 } else {
41166 nit_abort("Assert failed", NULL, LOCATE_parser, 14936);
41167 }
41168 /* parser/parser.nit:14937 */
41169 fra.me.REG[3] = NEW_AEeExpr_parser___parser_prod___AEeExpr___init_aeeexpr(fra.me.REG[4], fra.me.REG[3]);
41170 /* parser/parser.nit:14941 */
41171 fra.me.REG[2] = fra.me.REG[3];
41172 /* parser/parser.nit:14942 */
41173 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41174 if (UNTAG_Bool(REGB0)) {
41175 } else {
41176 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14942);
41177 }
41178 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41179 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41180 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41181 stack_frame_head = fra.me.prev;
41182 return;
41183 }
41184 static const char LOCATE_parser___ReduceAction449___action[] = "parser::ReduceAction449::(parser::ReduceAction::action)";
41185 void parser___ReduceAction449___action(val_t p0, val_t p1){
41186 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41187 val_t REGB0;
41188 val_t tmp;
41189 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41190 fra.me.file = LOCATE_parser;
41191 fra.me.line = 14947;
41192 fra.me.meth = LOCATE_parser___ReduceAction449___action;
41193 fra.me.has_broke = 0;
41194 fra.me.REG_size = 5;
41195 fra.me.nitni_local_ref_head = NULL;
41196 fra.me.REG[0] = NIT_NULL;
41197 fra.me.REG[1] = NIT_NULL;
41198 fra.me.REG[2] = NIT_NULL;
41199 fra.me.REG[3] = NIT_NULL;
41200 fra.me.REG[4] = NIT_NULL;
41201 fra.me.REG[0] = p0;
41202 fra.me.REG[1] = p1;
41203 /* parser/parser.nit:14949 */
41204 fra.me.REG[2] = NIT_NULL;
41205 /* parser/parser.nit:14950 */
41206 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41207 /* parser/parser.nit:14951 */
41208 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41209 /* parser/parser.nit:14952 */
41210 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41211 /* parser/parser.nit:14953 */
41212 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41213 /* parser/parser.nit:14955 */
41214 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*/;
41215 if (UNTAG_Bool(REGB0)) {
41216 } else {
41217 nit_abort("Assert failed", NULL, LOCATE_parser, 14955);
41218 }
41219 /* parser/parser.nit:14957 */
41220 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*/;
41221 if (UNTAG_Bool(REGB0)) {
41222 } else {
41223 nit_abort("Assert failed", NULL, LOCATE_parser, 14957);
41224 }
41225 /* parser/parser.nit:14958 */
41226 fra.me.REG[3] = NEW_ANeExpr_parser___parser_prod___ANeExpr___init_aneexpr(fra.me.REG[4], fra.me.REG[3]);
41227 /* parser/parser.nit:14962 */
41228 fra.me.REG[2] = fra.me.REG[3];
41229 /* parser/parser.nit:14963 */
41230 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41231 if (UNTAG_Bool(REGB0)) {
41232 } else {
41233 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14963);
41234 }
41235 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41236 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41237 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41238 stack_frame_head = fra.me.prev;
41239 return;
41240 }
41241 static const char LOCATE_parser___ReduceAction450___action[] = "parser::ReduceAction450::(parser::ReduceAction::action)";
41242 void parser___ReduceAction450___action(val_t p0, val_t p1){
41243 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41244 val_t REGB0;
41245 val_t tmp;
41246 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41247 fra.me.file = LOCATE_parser;
41248 fra.me.line = 14968;
41249 fra.me.meth = LOCATE_parser___ReduceAction450___action;
41250 fra.me.has_broke = 0;
41251 fra.me.REG_size = 5;
41252 fra.me.nitni_local_ref_head = NULL;
41253 fra.me.REG[0] = NIT_NULL;
41254 fra.me.REG[1] = NIT_NULL;
41255 fra.me.REG[2] = NIT_NULL;
41256 fra.me.REG[3] = NIT_NULL;
41257 fra.me.REG[4] = NIT_NULL;
41258 fra.me.REG[0] = p0;
41259 fra.me.REG[1] = p1;
41260 /* parser/parser.nit:14970 */
41261 fra.me.REG[2] = NIT_NULL;
41262 /* parser/parser.nit:14971 */
41263 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41264 /* parser/parser.nit:14972 */
41265 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41266 /* parser/parser.nit:14973 */
41267 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41268 /* parser/parser.nit:14974 */
41269 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41270 /* parser/parser.nit:14976 */
41271 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*/;
41272 if (UNTAG_Bool(REGB0)) {
41273 } else {
41274 nit_abort("Assert failed", NULL, LOCATE_parser, 14976);
41275 }
41276 /* parser/parser.nit:14978 */
41277 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*/;
41278 if (UNTAG_Bool(REGB0)) {
41279 } else {
41280 nit_abort("Assert failed", NULL, LOCATE_parser, 14978);
41281 }
41282 /* parser/parser.nit:14979 */
41283 fra.me.REG[3] = NEW_ALtExpr_parser___parser_prod___ALtExpr___init_altexpr(fra.me.REG[4], fra.me.REG[3]);
41284 /* parser/parser.nit:14983 */
41285 fra.me.REG[2] = fra.me.REG[3];
41286 /* parser/parser.nit:14984 */
41287 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41288 if (UNTAG_Bool(REGB0)) {
41289 } else {
41290 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 14984);
41291 }
41292 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41293 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41294 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41295 stack_frame_head = fra.me.prev;
41296 return;
41297 }
41298 static const char LOCATE_parser___ReduceAction451___action[] = "parser::ReduceAction451::(parser::ReduceAction::action)";
41299 void parser___ReduceAction451___action(val_t p0, val_t p1){
41300 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41301 val_t REGB0;
41302 val_t tmp;
41303 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41304 fra.me.file = LOCATE_parser;
41305 fra.me.line = 14989;
41306 fra.me.meth = LOCATE_parser___ReduceAction451___action;
41307 fra.me.has_broke = 0;
41308 fra.me.REG_size = 5;
41309 fra.me.nitni_local_ref_head = NULL;
41310 fra.me.REG[0] = NIT_NULL;
41311 fra.me.REG[1] = NIT_NULL;
41312 fra.me.REG[2] = NIT_NULL;
41313 fra.me.REG[3] = NIT_NULL;
41314 fra.me.REG[4] = NIT_NULL;
41315 fra.me.REG[0] = p0;
41316 fra.me.REG[1] = p1;
41317 /* parser/parser.nit:14991 */
41318 fra.me.REG[2] = NIT_NULL;
41319 /* parser/parser.nit:14992 */
41320 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41321 /* parser/parser.nit:14993 */
41322 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41323 /* parser/parser.nit:14994 */
41324 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41325 /* parser/parser.nit:14995 */
41326 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41327 /* parser/parser.nit:14997 */
41328 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*/;
41329 if (UNTAG_Bool(REGB0)) {
41330 } else {
41331 nit_abort("Assert failed", NULL, LOCATE_parser, 14997);
41332 }
41333 /* parser/parser.nit:14999 */
41334 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*/;
41335 if (UNTAG_Bool(REGB0)) {
41336 } else {
41337 nit_abort("Assert failed", NULL, LOCATE_parser, 14999);
41338 }
41339 /* parser/parser.nit:15000 */
41340 fra.me.REG[3] = NEW_ALeExpr_parser___parser_prod___ALeExpr___init_aleexpr(fra.me.REG[4], fra.me.REG[3]);
41341 /* parser/parser.nit:15004 */
41342 fra.me.REG[2] = fra.me.REG[3];
41343 /* parser/parser.nit:15005 */
41344 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41345 if (UNTAG_Bool(REGB0)) {
41346 } else {
41347 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15005);
41348 }
41349 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41350 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41351 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41352 stack_frame_head = fra.me.prev;
41353 return;
41354 }
41355 static const char LOCATE_parser___ReduceAction452___action[] = "parser::ReduceAction452::(parser::ReduceAction::action)";
41356 void parser___ReduceAction452___action(val_t p0, val_t p1){
41357 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41358 val_t REGB0;
41359 val_t tmp;
41360 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41361 fra.me.file = LOCATE_parser;
41362 fra.me.line = 15010;
41363 fra.me.meth = LOCATE_parser___ReduceAction452___action;
41364 fra.me.has_broke = 0;
41365 fra.me.REG_size = 5;
41366 fra.me.nitni_local_ref_head = NULL;
41367 fra.me.REG[0] = NIT_NULL;
41368 fra.me.REG[1] = NIT_NULL;
41369 fra.me.REG[2] = NIT_NULL;
41370 fra.me.REG[3] = NIT_NULL;
41371 fra.me.REG[4] = NIT_NULL;
41372 fra.me.REG[0] = p0;
41373 fra.me.REG[1] = p1;
41374 /* parser/parser.nit:15012 */
41375 fra.me.REG[2] = NIT_NULL;
41376 /* parser/parser.nit:15013 */
41377 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41378 /* parser/parser.nit:15014 */
41379 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41380 /* parser/parser.nit:15015 */
41381 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41382 /* parser/parser.nit:15016 */
41383 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41384 /* parser/parser.nit:15018 */
41385 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*/;
41386 if (UNTAG_Bool(REGB0)) {
41387 } else {
41388 nit_abort("Assert failed", NULL, LOCATE_parser, 15018);
41389 }
41390 /* parser/parser.nit:15020 */
41391 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*/;
41392 if (UNTAG_Bool(REGB0)) {
41393 } else {
41394 nit_abort("Assert failed", NULL, LOCATE_parser, 15020);
41395 }
41396 /* parser/parser.nit:15021 */
41397 fra.me.REG[3] = NEW_ALlExpr_parser___parser_prod___ALlExpr___init_allexpr(fra.me.REG[4], fra.me.REG[3]);
41398 /* parser/parser.nit:15025 */
41399 fra.me.REG[2] = fra.me.REG[3];
41400 /* parser/parser.nit:15026 */
41401 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41402 if (UNTAG_Bool(REGB0)) {
41403 } else {
41404 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15026);
41405 }
41406 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41407 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41408 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41409 stack_frame_head = fra.me.prev;
41410 return;
41411 }
41412 static const char LOCATE_parser___ReduceAction453___action[] = "parser::ReduceAction453::(parser::ReduceAction::action)";
41413 void parser___ReduceAction453___action(val_t p0, val_t p1){
41414 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41415 val_t REGB0;
41416 val_t tmp;
41417 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41418 fra.me.file = LOCATE_parser;
41419 fra.me.line = 15031;
41420 fra.me.meth = LOCATE_parser___ReduceAction453___action;
41421 fra.me.has_broke = 0;
41422 fra.me.REG_size = 5;
41423 fra.me.nitni_local_ref_head = NULL;
41424 fra.me.REG[0] = NIT_NULL;
41425 fra.me.REG[1] = NIT_NULL;
41426 fra.me.REG[2] = NIT_NULL;
41427 fra.me.REG[3] = NIT_NULL;
41428 fra.me.REG[4] = NIT_NULL;
41429 fra.me.REG[0] = p0;
41430 fra.me.REG[1] = p1;
41431 /* parser/parser.nit:15033 */
41432 fra.me.REG[2] = NIT_NULL;
41433 /* parser/parser.nit:15034 */
41434 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41435 /* parser/parser.nit:15035 */
41436 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41437 /* parser/parser.nit:15036 */
41438 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41439 /* parser/parser.nit:15037 */
41440 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41441 /* parser/parser.nit:15039 */
41442 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*/;
41443 if (UNTAG_Bool(REGB0)) {
41444 } else {
41445 nit_abort("Assert failed", NULL, LOCATE_parser, 15039);
41446 }
41447 /* parser/parser.nit:15041 */
41448 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*/;
41449 if (UNTAG_Bool(REGB0)) {
41450 } else {
41451 nit_abort("Assert failed", NULL, LOCATE_parser, 15041);
41452 }
41453 /* parser/parser.nit:15042 */
41454 fra.me.REG[3] = NEW_AGtExpr_parser___parser_prod___AGtExpr___init_agtexpr(fra.me.REG[4], fra.me.REG[3]);
41455 /* parser/parser.nit:15046 */
41456 fra.me.REG[2] = fra.me.REG[3];
41457 /* parser/parser.nit:15047 */
41458 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41459 if (UNTAG_Bool(REGB0)) {
41460 } else {
41461 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15047);
41462 }
41463 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41464 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41465 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41466 stack_frame_head = fra.me.prev;
41467 return;
41468 }
41469 static const char LOCATE_parser___ReduceAction454___action[] = "parser::ReduceAction454::(parser::ReduceAction::action)";
41470 void parser___ReduceAction454___action(val_t p0, val_t p1){
41471 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41472 val_t REGB0;
41473 val_t tmp;
41474 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41475 fra.me.file = LOCATE_parser;
41476 fra.me.line = 15052;
41477 fra.me.meth = LOCATE_parser___ReduceAction454___action;
41478 fra.me.has_broke = 0;
41479 fra.me.REG_size = 5;
41480 fra.me.nitni_local_ref_head = NULL;
41481 fra.me.REG[0] = NIT_NULL;
41482 fra.me.REG[1] = NIT_NULL;
41483 fra.me.REG[2] = NIT_NULL;
41484 fra.me.REG[3] = NIT_NULL;
41485 fra.me.REG[4] = NIT_NULL;
41486 fra.me.REG[0] = p0;
41487 fra.me.REG[1] = p1;
41488 /* parser/parser.nit:15054 */
41489 fra.me.REG[2] = NIT_NULL;
41490 /* parser/parser.nit:15055 */
41491 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41492 /* parser/parser.nit:15056 */
41493 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41494 /* parser/parser.nit:15057 */
41495 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41496 /* parser/parser.nit:15058 */
41497 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41498 /* parser/parser.nit:15060 */
41499 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*/;
41500 if (UNTAG_Bool(REGB0)) {
41501 } else {
41502 nit_abort("Assert failed", NULL, LOCATE_parser, 15060);
41503 }
41504 /* parser/parser.nit:15062 */
41505 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*/;
41506 if (UNTAG_Bool(REGB0)) {
41507 } else {
41508 nit_abort("Assert failed", NULL, LOCATE_parser, 15062);
41509 }
41510 /* parser/parser.nit:15063 */
41511 fra.me.REG[3] = NEW_AGeExpr_parser___parser_prod___AGeExpr___init_ageexpr(fra.me.REG[4], fra.me.REG[3]);
41512 /* parser/parser.nit:15067 */
41513 fra.me.REG[2] = fra.me.REG[3];
41514 /* parser/parser.nit:15068 */
41515 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41516 if (UNTAG_Bool(REGB0)) {
41517 } else {
41518 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15068);
41519 }
41520 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41521 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41522 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41523 stack_frame_head = fra.me.prev;
41524 return;
41525 }
41526 static const char LOCATE_parser___ReduceAction455___action[] = "parser::ReduceAction455::(parser::ReduceAction::action)";
41527 void parser___ReduceAction455___action(val_t p0, val_t p1){
41528 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41529 val_t REGB0;
41530 val_t tmp;
41531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41532 fra.me.file = LOCATE_parser;
41533 fra.me.line = 15073;
41534 fra.me.meth = LOCATE_parser___ReduceAction455___action;
41535 fra.me.has_broke = 0;
41536 fra.me.REG_size = 5;
41537 fra.me.nitni_local_ref_head = NULL;
41538 fra.me.REG[0] = NIT_NULL;
41539 fra.me.REG[1] = NIT_NULL;
41540 fra.me.REG[2] = NIT_NULL;
41541 fra.me.REG[3] = NIT_NULL;
41542 fra.me.REG[4] = NIT_NULL;
41543 fra.me.REG[0] = p0;
41544 fra.me.REG[1] = p1;
41545 /* parser/parser.nit:15075 */
41546 fra.me.REG[2] = NIT_NULL;
41547 /* parser/parser.nit:15076 */
41548 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41549 /* parser/parser.nit:15077 */
41550 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41551 /* parser/parser.nit:15078 */
41552 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41553 /* parser/parser.nit:15079 */
41554 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41555 /* parser/parser.nit:15081 */
41556 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*/;
41557 if (UNTAG_Bool(REGB0)) {
41558 } else {
41559 nit_abort("Assert failed", NULL, LOCATE_parser, 15081);
41560 }
41561 /* parser/parser.nit:15083 */
41562 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*/;
41563 if (UNTAG_Bool(REGB0)) {
41564 } else {
41565 nit_abort("Assert failed", NULL, LOCATE_parser, 15083);
41566 }
41567 /* parser/parser.nit:15084 */
41568 fra.me.REG[3] = NEW_AGgExpr_parser___parser_prod___AGgExpr___init_aggexpr(fra.me.REG[4], fra.me.REG[3]);
41569 /* parser/parser.nit:15088 */
41570 fra.me.REG[2] = fra.me.REG[3];
41571 /* parser/parser.nit:15089 */
41572 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41573 if (UNTAG_Bool(REGB0)) {
41574 } else {
41575 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15089);
41576 }
41577 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41578 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41579 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41580 stack_frame_head = fra.me.prev;
41581 return;
41582 }
41583 static const char LOCATE_parser___ReduceAction456___action[] = "parser::ReduceAction456::(parser::ReduceAction::action)";
41584 void parser___ReduceAction456___action(val_t p0, val_t p1){
41585 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41586 val_t REGB0;
41587 val_t tmp;
41588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41589 fra.me.file = LOCATE_parser;
41590 fra.me.line = 15094;
41591 fra.me.meth = LOCATE_parser___ReduceAction456___action;
41592 fra.me.has_broke = 0;
41593 fra.me.REG_size = 5;
41594 fra.me.nitni_local_ref_head = NULL;
41595 fra.me.REG[0] = NIT_NULL;
41596 fra.me.REG[1] = NIT_NULL;
41597 fra.me.REG[2] = NIT_NULL;
41598 fra.me.REG[3] = NIT_NULL;
41599 fra.me.REG[4] = NIT_NULL;
41600 fra.me.REG[0] = p0;
41601 fra.me.REG[1] = p1;
41602 /* parser/parser.nit:15096 */
41603 fra.me.REG[2] = NIT_NULL;
41604 /* parser/parser.nit:15097 */
41605 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41606 /* parser/parser.nit:15098 */
41607 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41608 /* parser/parser.nit:15099 */
41609 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41610 /* parser/parser.nit:15100 */
41611 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41612 /* parser/parser.nit:15102 */
41613 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*/;
41614 if (UNTAG_Bool(REGB0)) {
41615 } else {
41616 nit_abort("Assert failed", NULL, LOCATE_parser, 15102);
41617 }
41618 /* parser/parser.nit:15104 */
41619 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*/;
41620 if (UNTAG_Bool(REGB0)) {
41621 } else {
41622 nit_abort("Assert failed", NULL, LOCATE_parser, 15104);
41623 }
41624 /* parser/parser.nit:15105 */
41625 fra.me.REG[3] = NEW_AStarshipExpr_parser___parser_prod___AStarshipExpr___init_astarshipexpr(fra.me.REG[4], fra.me.REG[3]);
41626 /* parser/parser.nit:15109 */
41627 fra.me.REG[2] = fra.me.REG[3];
41628 /* parser/parser.nit:15110 */
41629 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41630 if (UNTAG_Bool(REGB0)) {
41631 } else {
41632 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15110);
41633 }
41634 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41635 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41636 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41637 stack_frame_head = fra.me.prev;
41638 return;
41639 }
41640 static const char LOCATE_parser___ReduceAction457___action[] = "parser::ReduceAction457::(parser::ReduceAction::action)";
41641 void parser___ReduceAction457___action(val_t p0, val_t p1){
41642 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41643 val_t REGB0;
41644 val_t tmp;
41645 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41646 fra.me.file = LOCATE_parser;
41647 fra.me.line = 15115;
41648 fra.me.meth = LOCATE_parser___ReduceAction457___action;
41649 fra.me.has_broke = 0;
41650 fra.me.REG_size = 5;
41651 fra.me.nitni_local_ref_head = NULL;
41652 fra.me.REG[0] = NIT_NULL;
41653 fra.me.REG[1] = NIT_NULL;
41654 fra.me.REG[2] = NIT_NULL;
41655 fra.me.REG[3] = NIT_NULL;
41656 fra.me.REG[4] = NIT_NULL;
41657 fra.me.REG[0] = p0;
41658 fra.me.REG[1] = p1;
41659 /* parser/parser.nit:15117 */
41660 fra.me.REG[2] = NIT_NULL;
41661 /* parser/parser.nit:15118 */
41662 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41663 /* parser/parser.nit:15119 */
41664 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41665 /* parser/parser.nit:15120 */
41666 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41667 /* parser/parser.nit:15121 */
41668 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41669 /* parser/parser.nit:15123 */
41670 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*/;
41671 if (UNTAG_Bool(REGB0)) {
41672 } else {
41673 nit_abort("Assert failed", NULL, LOCATE_parser, 15123);
41674 }
41675 /* parser/parser.nit:15125 */
41676 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*/;
41677 if (UNTAG_Bool(REGB0)) {
41678 } else {
41679 nit_abort("Assert failed", NULL, LOCATE_parser, 15125);
41680 }
41681 /* parser/parser.nit:15126 */
41682 fra.me.REG[3] = NEW_AIsaExpr_parser___parser_prod___AIsaExpr___init_aisaexpr(fra.me.REG[4], fra.me.REG[3]);
41683 /* parser/parser.nit:15130 */
41684 fra.me.REG[2] = fra.me.REG[3];
41685 /* parser/parser.nit:15131 */
41686 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41687 if (UNTAG_Bool(REGB0)) {
41688 } else {
41689 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15131);
41690 }
41691 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41692 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41693 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41694 stack_frame_head = fra.me.prev;
41695 return;
41696 }
41697 static const char LOCATE_parser___ReduceAction459___action[] = "parser::ReduceAction459::(parser::ReduceAction::action)";
41698 void parser___ReduceAction459___action(val_t p0, val_t p1){
41699 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41700 val_t REGB0;
41701 val_t tmp;
41702 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41703 fra.me.file = LOCATE_parser;
41704 fra.me.line = 15136;
41705 fra.me.meth = LOCATE_parser___ReduceAction459___action;
41706 fra.me.has_broke = 0;
41707 fra.me.REG_size = 5;
41708 fra.me.nitni_local_ref_head = NULL;
41709 fra.me.REG[0] = NIT_NULL;
41710 fra.me.REG[1] = NIT_NULL;
41711 fra.me.REG[2] = NIT_NULL;
41712 fra.me.REG[3] = NIT_NULL;
41713 fra.me.REG[4] = NIT_NULL;
41714 fra.me.REG[0] = p0;
41715 fra.me.REG[1] = p1;
41716 /* parser/parser.nit:15138 */
41717 fra.me.REG[2] = NIT_NULL;
41718 /* parser/parser.nit:15139 */
41719 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41720 /* parser/parser.nit:15140 */
41721 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41722 /* parser/parser.nit:15141 */
41723 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41724 /* parser/parser.nit:15142 */
41725 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41726 /* parser/parser.nit:15144 */
41727 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*/;
41728 if (UNTAG_Bool(REGB0)) {
41729 } else {
41730 nit_abort("Assert failed", NULL, LOCATE_parser, 15144);
41731 }
41732 /* parser/parser.nit:15146 */
41733 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*/;
41734 if (UNTAG_Bool(REGB0)) {
41735 } else {
41736 nit_abort("Assert failed", NULL, LOCATE_parser, 15146);
41737 }
41738 /* parser/parser.nit:15147 */
41739 fra.me.REG[3] = NEW_APlusExpr_parser___parser_prod___APlusExpr___init_aplusexpr(fra.me.REG[4], fra.me.REG[3]);
41740 /* parser/parser.nit:15151 */
41741 fra.me.REG[2] = fra.me.REG[3];
41742 /* parser/parser.nit:15152 */
41743 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41744 if (UNTAG_Bool(REGB0)) {
41745 } else {
41746 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15152);
41747 }
41748 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41749 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41750 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41751 stack_frame_head = fra.me.prev;
41752 return;
41753 }
41754 static const char LOCATE_parser___ReduceAction460___action[] = "parser::ReduceAction460::(parser::ReduceAction::action)";
41755 void parser___ReduceAction460___action(val_t p0, val_t p1){
41756 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41757 val_t REGB0;
41758 val_t tmp;
41759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41760 fra.me.file = LOCATE_parser;
41761 fra.me.line = 15157;
41762 fra.me.meth = LOCATE_parser___ReduceAction460___action;
41763 fra.me.has_broke = 0;
41764 fra.me.REG_size = 5;
41765 fra.me.nitni_local_ref_head = NULL;
41766 fra.me.REG[0] = NIT_NULL;
41767 fra.me.REG[1] = NIT_NULL;
41768 fra.me.REG[2] = NIT_NULL;
41769 fra.me.REG[3] = NIT_NULL;
41770 fra.me.REG[4] = NIT_NULL;
41771 fra.me.REG[0] = p0;
41772 fra.me.REG[1] = p1;
41773 /* parser/parser.nit:15159 */
41774 fra.me.REG[2] = NIT_NULL;
41775 /* parser/parser.nit:15160 */
41776 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41777 /* parser/parser.nit:15161 */
41778 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41779 /* parser/parser.nit:15162 */
41780 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41781 /* parser/parser.nit:15163 */
41782 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41783 /* parser/parser.nit:15165 */
41784 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*/;
41785 if (UNTAG_Bool(REGB0)) {
41786 } else {
41787 nit_abort("Assert failed", NULL, LOCATE_parser, 15165);
41788 }
41789 /* parser/parser.nit:15167 */
41790 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*/;
41791 if (UNTAG_Bool(REGB0)) {
41792 } else {
41793 nit_abort("Assert failed", NULL, LOCATE_parser, 15167);
41794 }
41795 /* parser/parser.nit:15168 */
41796 fra.me.REG[3] = NEW_AMinusExpr_parser___parser_prod___AMinusExpr___init_aminusexpr(fra.me.REG[4], fra.me.REG[3]);
41797 /* parser/parser.nit:15172 */
41798 fra.me.REG[2] = fra.me.REG[3];
41799 /* parser/parser.nit:15173 */
41800 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41801 if (UNTAG_Bool(REGB0)) {
41802 } else {
41803 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15173);
41804 }
41805 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41806 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41807 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41808 stack_frame_head = fra.me.prev;
41809 return;
41810 }
41811 static const char LOCATE_parser___ReduceAction462___action[] = "parser::ReduceAction462::(parser::ReduceAction::action)";
41812 void parser___ReduceAction462___action(val_t p0, val_t p1){
41813 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41814 val_t REGB0;
41815 val_t tmp;
41816 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41817 fra.me.file = LOCATE_parser;
41818 fra.me.line = 15178;
41819 fra.me.meth = LOCATE_parser___ReduceAction462___action;
41820 fra.me.has_broke = 0;
41821 fra.me.REG_size = 5;
41822 fra.me.nitni_local_ref_head = NULL;
41823 fra.me.REG[0] = NIT_NULL;
41824 fra.me.REG[1] = NIT_NULL;
41825 fra.me.REG[2] = NIT_NULL;
41826 fra.me.REG[3] = NIT_NULL;
41827 fra.me.REG[4] = NIT_NULL;
41828 fra.me.REG[0] = p0;
41829 fra.me.REG[1] = p1;
41830 /* parser/parser.nit:15180 */
41831 fra.me.REG[2] = NIT_NULL;
41832 /* parser/parser.nit:15181 */
41833 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41834 /* parser/parser.nit:15182 */
41835 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41836 /* parser/parser.nit:15183 */
41837 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41838 /* parser/parser.nit:15184 */
41839 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41840 /* parser/parser.nit:15186 */
41841 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*/;
41842 if (UNTAG_Bool(REGB0)) {
41843 } else {
41844 nit_abort("Assert failed", NULL, LOCATE_parser, 15186);
41845 }
41846 /* parser/parser.nit:15188 */
41847 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*/;
41848 if (UNTAG_Bool(REGB0)) {
41849 } else {
41850 nit_abort("Assert failed", NULL, LOCATE_parser, 15188);
41851 }
41852 /* parser/parser.nit:15189 */
41853 fra.me.REG[3] = NEW_AStarExpr_parser___parser_prod___AStarExpr___init_astarexpr(fra.me.REG[4], fra.me.REG[3]);
41854 /* parser/parser.nit:15193 */
41855 fra.me.REG[2] = fra.me.REG[3];
41856 /* parser/parser.nit:15194 */
41857 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41858 if (UNTAG_Bool(REGB0)) {
41859 } else {
41860 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15194);
41861 }
41862 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41863 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41864 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41865 stack_frame_head = fra.me.prev;
41866 return;
41867 }
41868 static const char LOCATE_parser___ReduceAction463___action[] = "parser::ReduceAction463::(parser::ReduceAction::action)";
41869 void parser___ReduceAction463___action(val_t p0, val_t p1){
41870 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41871 val_t REGB0;
41872 val_t tmp;
41873 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41874 fra.me.file = LOCATE_parser;
41875 fra.me.line = 15199;
41876 fra.me.meth = LOCATE_parser___ReduceAction463___action;
41877 fra.me.has_broke = 0;
41878 fra.me.REG_size = 5;
41879 fra.me.nitni_local_ref_head = NULL;
41880 fra.me.REG[0] = NIT_NULL;
41881 fra.me.REG[1] = NIT_NULL;
41882 fra.me.REG[2] = NIT_NULL;
41883 fra.me.REG[3] = NIT_NULL;
41884 fra.me.REG[4] = NIT_NULL;
41885 fra.me.REG[0] = p0;
41886 fra.me.REG[1] = p1;
41887 /* parser/parser.nit:15201 */
41888 fra.me.REG[2] = NIT_NULL;
41889 /* parser/parser.nit:15202 */
41890 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41891 /* parser/parser.nit:15203 */
41892 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41893 /* parser/parser.nit:15204 */
41894 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41895 /* parser/parser.nit:15205 */
41896 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41897 /* parser/parser.nit:15207 */
41898 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*/;
41899 if (UNTAG_Bool(REGB0)) {
41900 } else {
41901 nit_abort("Assert failed", NULL, LOCATE_parser, 15207);
41902 }
41903 /* parser/parser.nit:15209 */
41904 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*/;
41905 if (UNTAG_Bool(REGB0)) {
41906 } else {
41907 nit_abort("Assert failed", NULL, LOCATE_parser, 15209);
41908 }
41909 /* parser/parser.nit:15210 */
41910 fra.me.REG[3] = NEW_ASlashExpr_parser___parser_prod___ASlashExpr___init_aslashexpr(fra.me.REG[4], fra.me.REG[3]);
41911 /* parser/parser.nit:15214 */
41912 fra.me.REG[2] = fra.me.REG[3];
41913 /* parser/parser.nit:15215 */
41914 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41915 if (UNTAG_Bool(REGB0)) {
41916 } else {
41917 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15215);
41918 }
41919 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41920 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41921 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41922 stack_frame_head = fra.me.prev;
41923 return;
41924 }
41925 static const char LOCATE_parser___ReduceAction464___action[] = "parser::ReduceAction464::(parser::ReduceAction::action)";
41926 void parser___ReduceAction464___action(val_t p0, val_t p1){
41927 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41928 val_t REGB0;
41929 val_t tmp;
41930 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41931 fra.me.file = LOCATE_parser;
41932 fra.me.line = 15220;
41933 fra.me.meth = LOCATE_parser___ReduceAction464___action;
41934 fra.me.has_broke = 0;
41935 fra.me.REG_size = 5;
41936 fra.me.nitni_local_ref_head = NULL;
41937 fra.me.REG[0] = NIT_NULL;
41938 fra.me.REG[1] = NIT_NULL;
41939 fra.me.REG[2] = NIT_NULL;
41940 fra.me.REG[3] = NIT_NULL;
41941 fra.me.REG[4] = NIT_NULL;
41942 fra.me.REG[0] = p0;
41943 fra.me.REG[1] = p1;
41944 /* parser/parser.nit:15222 */
41945 fra.me.REG[2] = NIT_NULL;
41946 /* parser/parser.nit:15223 */
41947 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41948 /* parser/parser.nit:15224 */
41949 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41950 /* parser/parser.nit:15225 */
41951 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41952 /* parser/parser.nit:15226 */
41953 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
41954 /* parser/parser.nit:15228 */
41955 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*/;
41956 if (UNTAG_Bool(REGB0)) {
41957 } else {
41958 nit_abort("Assert failed", NULL, LOCATE_parser, 15228);
41959 }
41960 /* parser/parser.nit:15230 */
41961 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*/;
41962 if (UNTAG_Bool(REGB0)) {
41963 } else {
41964 nit_abort("Assert failed", NULL, LOCATE_parser, 15230);
41965 }
41966 /* parser/parser.nit:15231 */
41967 fra.me.REG[3] = NEW_APercentExpr_parser___parser_prod___APercentExpr___init_apercentexpr(fra.me.REG[4], fra.me.REG[3]);
41968 /* parser/parser.nit:15235 */
41969 fra.me.REG[2] = fra.me.REG[3];
41970 /* parser/parser.nit:15236 */
41971 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
41972 if (UNTAG_Bool(REGB0)) {
41973 } else {
41974 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15236);
41975 }
41976 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
41977 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
41978 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
41979 stack_frame_head = fra.me.prev;
41980 return;
41981 }
41982 static const char LOCATE_parser___ReduceAction466___action[] = "parser::ReduceAction466::(parser::ReduceAction::action)";
41983 void parser___ReduceAction466___action(val_t p0, val_t p1){
41984 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41985 val_t REGB0;
41986 val_t tmp;
41987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41988 fra.me.file = LOCATE_parser;
41989 fra.me.line = 15241;
41990 fra.me.meth = LOCATE_parser___ReduceAction466___action;
41991 fra.me.has_broke = 0;
41992 fra.me.REG_size = 5;
41993 fra.me.nitni_local_ref_head = NULL;
41994 fra.me.REG[0] = NIT_NULL;
41995 fra.me.REG[1] = NIT_NULL;
41996 fra.me.REG[2] = NIT_NULL;
41997 fra.me.REG[3] = NIT_NULL;
41998 fra.me.REG[4] = NIT_NULL;
41999 fra.me.REG[0] = p0;
42000 fra.me.REG[1] = p1;
42001 /* parser/parser.nit:15243 */
42002 fra.me.REG[2] = NIT_NULL;
42003 /* parser/parser.nit:15244 */
42004 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42005 /* parser/parser.nit:15245 */
42006 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42007 /* parser/parser.nit:15246 */
42008 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42009 /* parser/parser.nit:15248 */
42010 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*/;
42011 if (UNTAG_Bool(REGB0)) {
42012 } else {
42013 nit_abort("Assert failed", NULL, LOCATE_parser, 15248);
42014 }
42015 /* parser/parser.nit:15250 */
42016 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*/;
42017 if (UNTAG_Bool(REGB0)) {
42018 } else {
42019 nit_abort("Assert failed", NULL, LOCATE_parser, 15250);
42020 }
42021 /* parser/parser.nit:15251 */
42022 fra.me.REG[3] = NEW_AUminusExpr_parser___parser_prod___AUminusExpr___init_auminusexpr(fra.me.REG[4], fra.me.REG[3]);
42023 /* parser/parser.nit:15255 */
42024 fra.me.REG[2] = fra.me.REG[3];
42025 /* parser/parser.nit:15256 */
42026 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42027 if (UNTAG_Bool(REGB0)) {
42028 } else {
42029 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15256);
42030 }
42031 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42032 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42033 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42034 stack_frame_head = fra.me.prev;
42035 return;
42036 }
42037 static const char LOCATE_parser___ReduceAction467___action[] = "parser::ReduceAction467::(parser::ReduceAction::action)";
42038 void parser___ReduceAction467___action(val_t p0, val_t p1){
42039 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42040 val_t REGB0;
42041 val_t tmp;
42042 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42043 fra.me.file = LOCATE_parser;
42044 fra.me.line = 15261;
42045 fra.me.meth = LOCATE_parser___ReduceAction467___action;
42046 fra.me.has_broke = 0;
42047 fra.me.REG_size = 5;
42048 fra.me.nitni_local_ref_head = NULL;
42049 fra.me.REG[0] = NIT_NULL;
42050 fra.me.REG[1] = NIT_NULL;
42051 fra.me.REG[2] = NIT_NULL;
42052 fra.me.REG[3] = NIT_NULL;
42053 fra.me.REG[4] = NIT_NULL;
42054 fra.me.REG[0] = p0;
42055 fra.me.REG[1] = p1;
42056 /* parser/parser.nit:15263 */
42057 fra.me.REG[2] = NIT_NULL;
42058 /* parser/parser.nit:15264 */
42059 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42060 /* parser/parser.nit:15265 */
42061 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42062 /* parser/parser.nit:15266 */
42063 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42064 /* parser/parser.nit:15268 */
42065 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*/;
42066 if (UNTAG_Bool(REGB0)) {
42067 } else {
42068 nit_abort("Assert failed", NULL, LOCATE_parser, 15268);
42069 }
42070 /* parser/parser.nit:15270 */
42071 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*/;
42072 if (UNTAG_Bool(REGB0)) {
42073 } else {
42074 nit_abort("Assert failed", NULL, LOCATE_parser, 15270);
42075 }
42076 /* parser/parser.nit:15271 */
42077 fra.me.REG[3] = NEW_AOnceExpr_parser___parser_prod___AOnceExpr___init_aonceexpr(fra.me.REG[4], fra.me.REG[3]);
42078 /* parser/parser.nit:15275 */
42079 fra.me.REG[2] = fra.me.REG[3];
42080 /* parser/parser.nit:15276 */
42081 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42082 if (UNTAG_Bool(REGB0)) {
42083 } else {
42084 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15276);
42085 }
42086 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42087 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42088 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42089 stack_frame_head = fra.me.prev;
42090 return;
42091 }
42092 static const char LOCATE_parser___ReduceAction469___action[] = "parser::ReduceAction469::(parser::ReduceAction::action)";
42093 void parser___ReduceAction469___action(val_t p0, val_t p1){
42094 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42095 val_t REGB0;
42096 val_t tmp;
42097 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42098 fra.me.file = LOCATE_parser;
42099 fra.me.line = 15281;
42100 fra.me.meth = LOCATE_parser___ReduceAction469___action;
42101 fra.me.has_broke = 0;
42102 fra.me.REG_size = 6;
42103 fra.me.nitni_local_ref_head = NULL;
42104 fra.me.REG[0] = NIT_NULL;
42105 fra.me.REG[1] = NIT_NULL;
42106 fra.me.REG[2] = NIT_NULL;
42107 fra.me.REG[3] = NIT_NULL;
42108 fra.me.REG[4] = NIT_NULL;
42109 fra.me.REG[5] = NIT_NULL;
42110 fra.me.REG[0] = p0;
42111 fra.me.REG[1] = p1;
42112 /* parser/parser.nit:15283 */
42113 fra.me.REG[2] = NIT_NULL;
42114 /* parser/parser.nit:15284 */
42115 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42116 /* parser/parser.nit:15285 */
42117 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42118 /* parser/parser.nit:15286 */
42119 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42120 /* parser/parser.nit:15287 */
42121 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42122 /* parser/parser.nit:15289 */
42123 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*/;
42124 if (UNTAG_Bool(REGB0)) {
42125 } else {
42126 nit_abort("Assert failed", NULL, LOCATE_parser, 15289);
42127 }
42128 /* parser/parser.nit:15291 */
42129 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*/;
42130 if (UNTAG_Bool(REGB0)) {
42131 } else {
42132 nit_abort("Assert failed", NULL, LOCATE_parser, 15291);
42133 }
42134 /* parser/parser.nit:15293 */
42135 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
42136 if (UNTAG_Bool(REGB0)) {
42137 } else {
42138 nit_abort("Assert failed", NULL, LOCATE_parser, 15293);
42139 }
42140 /* parser/parser.nit:15294 */
42141 fra.me.REG[3] = NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(fra.me.REG[5], fra.me.REG[4], NIT_NULL, fra.me.REG[3]);
42142 /* parser/parser.nit:15300 */
42143 fra.me.REG[2] = fra.me.REG[3];
42144 /* parser/parser.nit:15301 */
42145 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42146 if (UNTAG_Bool(REGB0)) {
42147 } else {
42148 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15301);
42149 }
42150 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42151 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42152 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42153 stack_frame_head = fra.me.prev;
42154 return;
42155 }
42156 static const char LOCATE_parser___ReduceAction470___action[] = "parser::ReduceAction470::(parser::ReduceAction::action)";
42157 void parser___ReduceAction470___action(val_t p0, val_t p1){
42158 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42159 val_t REGB0;
42160 val_t tmp;
42161 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42162 fra.me.file = LOCATE_parser;
42163 fra.me.line = 15306;
42164 fra.me.meth = LOCATE_parser___ReduceAction470___action;
42165 fra.me.has_broke = 0;
42166 fra.me.REG_size = 6;
42167 fra.me.nitni_local_ref_head = NULL;
42168 fra.me.REG[0] = NIT_NULL;
42169 fra.me.REG[1] = NIT_NULL;
42170 fra.me.REG[2] = NIT_NULL;
42171 fra.me.REG[3] = NIT_NULL;
42172 fra.me.REG[4] = NIT_NULL;
42173 fra.me.REG[5] = NIT_NULL;
42174 fra.me.REG[0] = p0;
42175 fra.me.REG[1] = p1;
42176 /* parser/parser.nit:15308 */
42177 fra.me.REG[2] = NIT_NULL;
42178 /* parser/parser.nit:15309 */
42179 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42180 /* parser/parser.nit:15310 */
42181 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42182 /* parser/parser.nit:15311 */
42183 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42184 /* parser/parser.nit:15312 */
42185 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42186 /* parser/parser.nit:15313 */
42187 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42188 /* parser/parser.nit:15315 */
42189 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*/;
42190 if (UNTAG_Bool(REGB0)) {
42191 } else {
42192 nit_abort("Assert failed", NULL, LOCATE_parser, 15315);
42193 }
42194 /* parser/parser.nit:15317 */
42195 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*/;
42196 if (UNTAG_Bool(REGB0)) {
42197 } else {
42198 nit_abort("Assert failed", NULL, LOCATE_parser, 15317);
42199 }
42200 /* parser/parser.nit:15319 */
42201 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*/;
42202 if (UNTAG_Bool(REGB0)) {
42203 } else {
42204 nit_abort("Assert failed", NULL, LOCATE_parser, 15319);
42205 }
42206 /* parser/parser.nit:15320 */
42207 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
42208 /* parser/parser.nit:15325 */
42209 fra.me.REG[2] = fra.me.REG[3];
42210 /* parser/parser.nit:15326 */
42211 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42212 if (UNTAG_Bool(REGB0)) {
42213 } else {
42214 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15326);
42215 }
42216 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42217 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42218 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42219 stack_frame_head = fra.me.prev;
42220 return;
42221 }
42222 static const char LOCATE_parser___ReduceAction471___action[] = "parser::ReduceAction471::(parser::ReduceAction::action)";
42223 void parser___ReduceAction471___action(val_t p0, val_t p1){
42224 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42225 val_t REGB0;
42226 val_t tmp;
42227 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42228 fra.me.file = LOCATE_parser;
42229 fra.me.line = 15331;
42230 fra.me.meth = LOCATE_parser___ReduceAction471___action;
42231 fra.me.has_broke = 0;
42232 fra.me.REG_size = 6;
42233 fra.me.nitni_local_ref_head = NULL;
42234 fra.me.REG[0] = NIT_NULL;
42235 fra.me.REG[1] = NIT_NULL;
42236 fra.me.REG[2] = NIT_NULL;
42237 fra.me.REG[3] = NIT_NULL;
42238 fra.me.REG[4] = NIT_NULL;
42239 fra.me.REG[5] = NIT_NULL;
42240 fra.me.REG[0] = p0;
42241 fra.me.REG[1] = p1;
42242 /* parser/parser.nit:15333 */
42243 fra.me.REG[2] = NIT_NULL;
42244 /* parser/parser.nit:15334 */
42245 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42246 /* parser/parser.nit:15335 */
42247 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42248 /* parser/parser.nit:15337 */
42249 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*/;
42250 if (UNTAG_Bool(REGB0)) {
42251 } else {
42252 nit_abort("Assert failed", NULL, LOCATE_parser, 15337);
42253 }
42254 /* parser/parser.nit:15338 */
42255 fra.me.REG[5] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
42256 /* parser/parser.nit:15340 */
42257 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*/;
42258 if (UNTAG_Bool(REGB0)) {
42259 } else {
42260 nit_abort("Assert failed", NULL, LOCATE_parser, 15340);
42261 }
42262 /* parser/parser.nit:15341 */
42263 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
42264 /* parser/parser.nit:15346 */
42265 fra.me.REG[2] = fra.me.REG[3];
42266 /* parser/parser.nit:15347 */
42267 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42268 if (UNTAG_Bool(REGB0)) {
42269 } else {
42270 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15347);
42271 }
42272 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42273 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42274 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42275 stack_frame_head = fra.me.prev;
42276 return;
42277 }
42278 static const char LOCATE_parser___ReduceAction472___action[] = "parser::ReduceAction472::(parser::ReduceAction::action)";
42279 void parser___ReduceAction472___action(val_t p0, val_t p1){
42280 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42281 val_t REGB0;
42282 val_t tmp;
42283 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42284 fra.me.file = LOCATE_parser;
42285 fra.me.line = 15352;
42286 fra.me.meth = LOCATE_parser___ReduceAction472___action;
42287 fra.me.has_broke = 0;
42288 fra.me.REG_size = 5;
42289 fra.me.nitni_local_ref_head = NULL;
42290 fra.me.REG[0] = NIT_NULL;
42291 fra.me.REG[1] = NIT_NULL;
42292 fra.me.REG[2] = NIT_NULL;
42293 fra.me.REG[3] = NIT_NULL;
42294 fra.me.REG[4] = NIT_NULL;
42295 fra.me.REG[0] = p0;
42296 fra.me.REG[1] = p1;
42297 /* parser/parser.nit:15354 */
42298 fra.me.REG[2] = NIT_NULL;
42299 /* parser/parser.nit:15355 */
42300 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42301 /* parser/parser.nit:15356 */
42302 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42303 /* parser/parser.nit:15357 */
42304 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42305 /* parser/parser.nit:15358 */
42306 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42307 /* parser/parser.nit:15360 */
42308 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*/;
42309 if (UNTAG_Bool(REGB0)) {
42310 } else {
42311 nit_abort("Assert failed", NULL, LOCATE_parser, 15360);
42312 }
42313 /* parser/parser.nit:15362 */
42314 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*/;
42315 if (UNTAG_Bool(REGB0)) {
42316 } else {
42317 nit_abort("Assert failed", NULL, LOCATE_parser, 15362);
42318 }
42319 /* parser/parser.nit:15363 */
42320 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
42321 /* parser/parser.nit:15367 */
42322 fra.me.REG[2] = fra.me.REG[3];
42323 /* parser/parser.nit:15368 */
42324 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42325 if (UNTAG_Bool(REGB0)) {
42326 } else {
42327 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15368);
42328 }
42329 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42330 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42331 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42332 stack_frame_head = fra.me.prev;
42333 return;
42334 }
42335 static const char LOCATE_parser___ReduceAction473___action[] = "parser::ReduceAction473::(parser::ReduceAction::action)";
42336 void parser___ReduceAction473___action(val_t p0, val_t p1){
42337 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42338 val_t REGB0;
42339 val_t tmp;
42340 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42341 fra.me.file = LOCATE_parser;
42342 fra.me.line = 15373;
42343 fra.me.meth = LOCATE_parser___ReduceAction473___action;
42344 fra.me.has_broke = 0;
42345 fra.me.REG_size = 5;
42346 fra.me.nitni_local_ref_head = NULL;
42347 fra.me.REG[0] = NIT_NULL;
42348 fra.me.REG[1] = NIT_NULL;
42349 fra.me.REG[2] = NIT_NULL;
42350 fra.me.REG[3] = NIT_NULL;
42351 fra.me.REG[4] = NIT_NULL;
42352 fra.me.REG[0] = p0;
42353 fra.me.REG[1] = p1;
42354 /* parser/parser.nit:15375 */
42355 fra.me.REG[2] = NIT_NULL;
42356 /* parser/parser.nit:15376 */
42357 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42358 /* parser/parser.nit:15377 */
42359 fra.me.REG[4] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
42360 /* parser/parser.nit:15379 */
42361 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*/;
42362 if (UNTAG_Bool(REGB0)) {
42363 } else {
42364 nit_abort("Assert failed", NULL, LOCATE_parser, 15379);
42365 }
42366 /* parser/parser.nit:15380 */
42367 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
42368 /* parser/parser.nit:15384 */
42369 fra.me.REG[2] = fra.me.REG[3];
42370 /* parser/parser.nit:15385 */
42371 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42372 if (UNTAG_Bool(REGB0)) {
42373 } else {
42374 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15385);
42375 }
42376 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42377 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42378 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42379 stack_frame_head = fra.me.prev;
42380 return;
42381 }
42382 static const char LOCATE_parser___ReduceAction480___action[] = "parser::ReduceAction480::(parser::ReduceAction::action)";
42383 void parser___ReduceAction480___action(val_t p0, val_t p1){
42384 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42385 val_t REGB0;
42386 val_t tmp;
42387 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42388 fra.me.file = LOCATE_parser;
42389 fra.me.line = 15390;
42390 fra.me.meth = LOCATE_parser___ReduceAction480___action;
42391 fra.me.has_broke = 0;
42392 fra.me.REG_size = 6;
42393 fra.me.nitni_local_ref_head = NULL;
42394 fra.me.REG[0] = NIT_NULL;
42395 fra.me.REG[1] = NIT_NULL;
42396 fra.me.REG[2] = NIT_NULL;
42397 fra.me.REG[3] = NIT_NULL;
42398 fra.me.REG[4] = NIT_NULL;
42399 fra.me.REG[5] = NIT_NULL;
42400 fra.me.REG[0] = p0;
42401 fra.me.REG[1] = p1;
42402 /* parser/parser.nit:15392 */
42403 fra.me.REG[2] = NIT_NULL;
42404 /* parser/parser.nit:15393 */
42405 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42406 /* parser/parser.nit:15394 */
42407 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42408 /* parser/parser.nit:15395 */
42409 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
42410 /* parser/parser.nit:15397 */
42411 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*/;
42412 if (UNTAG_Bool(REGB0)) {
42413 } else {
42414 nit_abort("Assert failed", NULL, LOCATE_parser, 15397);
42415 }
42416 /* parser/parser.nit:15399 */
42417 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
42418 if (UNTAG_Bool(REGB0)) {
42419 } else {
42420 nit_abort("Assert failed", NULL, LOCATE_parser, 15399);
42421 }
42422 /* parser/parser.nit:15400 */
42423 fra.me.REG[5] = NEW_ABraExpr_parser___parser_prod___ABraExpr___init_abraexpr(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
42424 /* parser/parser.nit:15405 */
42425 fra.me.REG[2] = fra.me.REG[5];
42426 /* parser/parser.nit:15406 */
42427 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42428 if (UNTAG_Bool(REGB0)) {
42429 } else {
42430 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15406);
42431 }
42432 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42433 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42434 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42435 stack_frame_head = fra.me.prev;
42436 return;
42437 }
42438 static const char LOCATE_parser___ReduceAction481___action[] = "parser::ReduceAction481::(parser::ReduceAction::action)";
42439 void parser___ReduceAction481___action(val_t p0, val_t p1){
42440 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
42441 val_t REGB0;
42442 val_t tmp;
42443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42444 fra.me.file = LOCATE_parser;
42445 fra.me.line = 15411;
42446 fra.me.meth = LOCATE_parser___ReduceAction481___action;
42447 fra.me.has_broke = 0;
42448 fra.me.REG_size = 7;
42449 fra.me.nitni_local_ref_head = NULL;
42450 fra.me.REG[0] = NIT_NULL;
42451 fra.me.REG[1] = NIT_NULL;
42452 fra.me.REG[2] = NIT_NULL;
42453 fra.me.REG[3] = NIT_NULL;
42454 fra.me.REG[4] = NIT_NULL;
42455 fra.me.REG[5] = NIT_NULL;
42456 fra.me.REG[6] = NIT_NULL;
42457 fra.me.REG[0] = p0;
42458 fra.me.REG[1] = p1;
42459 /* parser/parser.nit:15413 */
42460 fra.me.REG[2] = NIT_NULL;
42461 /* parser/parser.nit:15414 */
42462 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42463 /* parser/parser.nit:15415 */
42464 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42465 /* parser/parser.nit:15416 */
42466 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42467 /* parser/parser.nit:15417 */
42468 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42469 /* parser/parser.nit:15418 */
42470 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42471 /* parser/parser.nit:15419 */
42472 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42473 /* parser/parser.nit:15420 */
42474 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42475 /* parser/parser.nit:15422 */
42476 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*/;
42477 if (UNTAG_Bool(REGB0)) {
42478 } else {
42479 nit_abort("Assert failed", NULL, LOCATE_parser, 15422);
42480 }
42481 /* parser/parser.nit:15424 */
42482 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*/;
42483 if (UNTAG_Bool(REGB0)) {
42484 } else {
42485 nit_abort("Assert failed", NULL, LOCATE_parser, 15424);
42486 }
42487 /* parser/parser.nit:15426 */
42488 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*/;
42489 if (UNTAG_Bool(REGB0)) {
42490 } else {
42491 nit_abort("Assert failed", NULL, LOCATE_parser, 15426);
42492 }
42493 /* parser/parser.nit:15428 */
42494 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
42495 if (UNTAG_Bool(REGB0)) {
42496 } else {
42497 nit_abort("Assert failed", NULL, LOCATE_parser, 15428);
42498 }
42499 /* parser/parser.nit:15429 */
42500 fra.me.REG[3] = NEW_ANewExpr_parser___parser_prod___ANewExpr___init_anewexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
42501 /* parser/parser.nit:15435 */
42502 fra.me.REG[2] = fra.me.REG[3];
42503 /* parser/parser.nit:15436 */
42504 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42505 if (UNTAG_Bool(REGB0)) {
42506 } else {
42507 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15436);
42508 }
42509 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42510 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42511 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42512 stack_frame_head = fra.me.prev;
42513 return;
42514 }
42515 static const char LOCATE_parser___ReduceAction482___action[] = "parser::ReduceAction482::(parser::ReduceAction::action)";
42516 void parser___ReduceAction482___action(val_t p0, val_t p1){
42517 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
42518 val_t REGB0;
42519 val_t tmp;
42520 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42521 fra.me.file = LOCATE_parser;
42522 fra.me.line = 15441;
42523 fra.me.meth = LOCATE_parser___ReduceAction482___action;
42524 fra.me.has_broke = 0;
42525 fra.me.REG_size = 7;
42526 fra.me.nitni_local_ref_head = NULL;
42527 fra.me.REG[0] = NIT_NULL;
42528 fra.me.REG[1] = NIT_NULL;
42529 fra.me.REG[2] = NIT_NULL;
42530 fra.me.REG[3] = NIT_NULL;
42531 fra.me.REG[4] = NIT_NULL;
42532 fra.me.REG[5] = NIT_NULL;
42533 fra.me.REG[6] = NIT_NULL;
42534 fra.me.REG[0] = p0;
42535 fra.me.REG[1] = p1;
42536 /* parser/parser.nit:15443 */
42537 fra.me.REG[2] = NIT_NULL;
42538 /* parser/parser.nit:15444 */
42539 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42540 /* parser/parser.nit:15445 */
42541 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42542 /* parser/parser.nit:15446 */
42543 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42544 /* parser/parser.nit:15447 */
42545 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42546 /* parser/parser.nit:15448 */
42547 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42548 /* parser/parser.nit:15449 */
42549 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42550 /* parser/parser.nit:15450 */
42551 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42552 /* parser/parser.nit:15451 */
42553 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42554 /* parser/parser.nit:15452 */
42555 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42556 /* parser/parser.nit:15454 */
42557 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
42558 if (UNTAG_Bool(REGB0)) {
42559 } else {
42560 nit_abort("Assert failed", NULL, LOCATE_parser, 15454);
42561 }
42562 /* parser/parser.nit:15456 */
42563 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*/;
42564 if (UNTAG_Bool(REGB0)) {
42565 } else {
42566 nit_abort("Assert failed", NULL, LOCATE_parser, 15456);
42567 }
42568 /* parser/parser.nit:15458 */
42569 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*/;
42570 if (UNTAG_Bool(REGB0)) {
42571 } else {
42572 nit_abort("Assert failed", NULL, LOCATE_parser, 15458);
42573 }
42574 /* parser/parser.nit:15460 */
42575 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*/;
42576 if (UNTAG_Bool(REGB0)) {
42577 } else {
42578 nit_abort("Assert failed", NULL, LOCATE_parser, 15460);
42579 }
42580 /* parser/parser.nit:15461 */
42581 fra.me.REG[3] = NEW_ACrangeExpr_parser___parser_prod___ACrangeExpr___init_acrangeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
42582 /* parser/parser.nit:15467 */
42583 fra.me.REG[2] = fra.me.REG[3];
42584 /* parser/parser.nit:15468 */
42585 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42586 if (UNTAG_Bool(REGB0)) {
42587 } else {
42588 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15468);
42589 }
42590 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42591 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42592 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42593 stack_frame_head = fra.me.prev;
42594 return;
42595 }
42596 static const char LOCATE_parser___ReduceAction483___action[] = "parser::ReduceAction483::(parser::ReduceAction::action)";
42597 void parser___ReduceAction483___action(val_t p0, val_t p1){
42598 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
42599 val_t REGB0;
42600 val_t tmp;
42601 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42602 fra.me.file = LOCATE_parser;
42603 fra.me.line = 15473;
42604 fra.me.meth = LOCATE_parser___ReduceAction483___action;
42605 fra.me.has_broke = 0;
42606 fra.me.REG_size = 7;
42607 fra.me.nitni_local_ref_head = NULL;
42608 fra.me.REG[0] = NIT_NULL;
42609 fra.me.REG[1] = NIT_NULL;
42610 fra.me.REG[2] = NIT_NULL;
42611 fra.me.REG[3] = NIT_NULL;
42612 fra.me.REG[4] = NIT_NULL;
42613 fra.me.REG[5] = NIT_NULL;
42614 fra.me.REG[6] = NIT_NULL;
42615 fra.me.REG[0] = p0;
42616 fra.me.REG[1] = p1;
42617 /* parser/parser.nit:15475 */
42618 fra.me.REG[2] = NIT_NULL;
42619 /* parser/parser.nit:15476 */
42620 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42621 /* parser/parser.nit:15477 */
42622 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42623 /* parser/parser.nit:15478 */
42624 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42625 /* parser/parser.nit:15479 */
42626 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42627 /* parser/parser.nit:15480 */
42628 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42629 /* parser/parser.nit:15481 */
42630 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42631 /* parser/parser.nit:15482 */
42632 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42633 /* parser/parser.nit:15483 */
42634 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42635 /* parser/parser.nit:15484 */
42636 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42637 /* parser/parser.nit:15486 */
42638 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
42639 if (UNTAG_Bool(REGB0)) {
42640 } else {
42641 nit_abort("Assert failed", NULL, LOCATE_parser, 15486);
42642 }
42643 /* parser/parser.nit:15488 */
42644 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*/;
42645 if (UNTAG_Bool(REGB0)) {
42646 } else {
42647 nit_abort("Assert failed", NULL, LOCATE_parser, 15488);
42648 }
42649 /* parser/parser.nit:15490 */
42650 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*/;
42651 if (UNTAG_Bool(REGB0)) {
42652 } else {
42653 nit_abort("Assert failed", NULL, LOCATE_parser, 15490);
42654 }
42655 /* parser/parser.nit:15492 */
42656 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TObra, ID_parser___parser_nodes___TObra)) /*cast nullable TObra*/;
42657 if (UNTAG_Bool(REGB0)) {
42658 } else {
42659 nit_abort("Assert failed", NULL, LOCATE_parser, 15492);
42660 }
42661 /* parser/parser.nit:15493 */
42662 fra.me.REG[3] = NEW_AOrangeExpr_parser___parser_prod___AOrangeExpr___init_aorangeexpr(fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
42663 /* parser/parser.nit:15499 */
42664 fra.me.REG[2] = fra.me.REG[3];
42665 /* parser/parser.nit:15500 */
42666 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42667 if (UNTAG_Bool(REGB0)) {
42668 } else {
42669 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15500);
42670 }
42671 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42672 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42673 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42674 stack_frame_head = fra.me.prev;
42675 return;
42676 }
42677 static const char LOCATE_parser___ReduceAction484___action[] = "parser::ReduceAction484::(parser::ReduceAction::action)";
42678 void parser___ReduceAction484___action(val_t p0, val_t p1){
42679 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42680 val_t REGB0;
42681 val_t tmp;
42682 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42683 fra.me.file = LOCATE_parser;
42684 fra.me.line = 15505;
42685 fra.me.meth = LOCATE_parser___ReduceAction484___action;
42686 fra.me.has_broke = 0;
42687 fra.me.REG_size = 4;
42688 fra.me.nitni_local_ref_head = NULL;
42689 fra.me.REG[0] = NIT_NULL;
42690 fra.me.REG[1] = NIT_NULL;
42691 fra.me.REG[2] = NIT_NULL;
42692 fra.me.REG[3] = NIT_NULL;
42693 fra.me.REG[0] = p0;
42694 fra.me.REG[1] = p1;
42695 /* parser/parser.nit:15507 */
42696 fra.me.REG[2] = NIT_NULL;
42697 /* parser/parser.nit:15508 */
42698 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42699 /* parser/parser.nit:15510 */
42700 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
42701 if (UNTAG_Bool(REGB0)) {
42702 } else {
42703 nit_abort("Assert failed", NULL, LOCATE_parser, 15510);
42704 }
42705 /* parser/parser.nit:15511 */
42706 fra.me.REG[3] = NEW_AArrayExpr_parser___parser_prod___AArrayExpr___init_aarrayexpr(fra.me.REG[3]);
42707 /* parser/parser.nit:15514 */
42708 fra.me.REG[2] = fra.me.REG[3];
42709 /* parser/parser.nit:15515 */
42710 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42711 if (UNTAG_Bool(REGB0)) {
42712 } else {
42713 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15515);
42714 }
42715 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42716 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42717 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42718 stack_frame_head = fra.me.prev;
42719 return;
42720 }
42721 static const char LOCATE_parser___ReduceAction485___action[] = "parser::ReduceAction485::(parser::ReduceAction::action)";
42722 void parser___ReduceAction485___action(val_t p0, val_t p1){
42723 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42724 val_t REGB0;
42725 val_t tmp;
42726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42727 fra.me.file = LOCATE_parser;
42728 fra.me.line = 15520;
42729 fra.me.meth = LOCATE_parser___ReduceAction485___action;
42730 fra.me.has_broke = 0;
42731 fra.me.REG_size = 4;
42732 fra.me.nitni_local_ref_head = NULL;
42733 fra.me.REG[0] = NIT_NULL;
42734 fra.me.REG[1] = NIT_NULL;
42735 fra.me.REG[2] = NIT_NULL;
42736 fra.me.REG[3] = NIT_NULL;
42737 fra.me.REG[0] = p0;
42738 fra.me.REG[1] = p1;
42739 /* parser/parser.nit:15522 */
42740 fra.me.REG[2] = NIT_NULL;
42741 /* parser/parser.nit:15523 */
42742 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42743 /* parser/parser.nit:15525 */
42744 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*/;
42745 if (UNTAG_Bool(REGB0)) {
42746 } else {
42747 nit_abort("Assert failed", NULL, LOCATE_parser, 15525);
42748 }
42749 /* parser/parser.nit:15526 */
42750 fra.me.REG[3] = NEW_ASelfExpr_parser___parser_prod___ASelfExpr___init_aselfexpr(fra.me.REG[3]);
42751 /* parser/parser.nit:15529 */
42752 fra.me.REG[2] = fra.me.REG[3];
42753 /* parser/parser.nit:15530 */
42754 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42755 if (UNTAG_Bool(REGB0)) {
42756 } else {
42757 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15530);
42758 }
42759 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42760 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42761 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42762 stack_frame_head = fra.me.prev;
42763 return;
42764 }
42765 static const char LOCATE_parser___ReduceAction486___action[] = "parser::ReduceAction486::(parser::ReduceAction::action)";
42766 void parser___ReduceAction486___action(val_t p0, val_t p1){
42767 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42768 val_t REGB0;
42769 val_t tmp;
42770 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42771 fra.me.file = LOCATE_parser;
42772 fra.me.line = 15535;
42773 fra.me.meth = LOCATE_parser___ReduceAction486___action;
42774 fra.me.has_broke = 0;
42775 fra.me.REG_size = 4;
42776 fra.me.nitni_local_ref_head = NULL;
42777 fra.me.REG[0] = NIT_NULL;
42778 fra.me.REG[1] = NIT_NULL;
42779 fra.me.REG[2] = NIT_NULL;
42780 fra.me.REG[3] = NIT_NULL;
42781 fra.me.REG[0] = p0;
42782 fra.me.REG[1] = p1;
42783 /* parser/parser.nit:15537 */
42784 fra.me.REG[2] = NIT_NULL;
42785 /* parser/parser.nit:15538 */
42786 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42787 /* parser/parser.nit:15540 */
42788 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*/;
42789 if (UNTAG_Bool(REGB0)) {
42790 } else {
42791 nit_abort("Assert failed", NULL, LOCATE_parser, 15540);
42792 }
42793 /* parser/parser.nit:15541 */
42794 fra.me.REG[3] = NEW_ATrueExpr_parser___parser_prod___ATrueExpr___init_atrueexpr(fra.me.REG[3]);
42795 /* parser/parser.nit:15544 */
42796 fra.me.REG[2] = fra.me.REG[3];
42797 /* parser/parser.nit:15545 */
42798 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42799 if (UNTAG_Bool(REGB0)) {
42800 } else {
42801 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15545);
42802 }
42803 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42804 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42805 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42806 stack_frame_head = fra.me.prev;
42807 return;
42808 }
42809 static const char LOCATE_parser___ReduceAction487___action[] = "parser::ReduceAction487::(parser::ReduceAction::action)";
42810 void parser___ReduceAction487___action(val_t p0, val_t p1){
42811 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42812 val_t REGB0;
42813 val_t tmp;
42814 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42815 fra.me.file = LOCATE_parser;
42816 fra.me.line = 15550;
42817 fra.me.meth = LOCATE_parser___ReduceAction487___action;
42818 fra.me.has_broke = 0;
42819 fra.me.REG_size = 4;
42820 fra.me.nitni_local_ref_head = NULL;
42821 fra.me.REG[0] = NIT_NULL;
42822 fra.me.REG[1] = NIT_NULL;
42823 fra.me.REG[2] = NIT_NULL;
42824 fra.me.REG[3] = NIT_NULL;
42825 fra.me.REG[0] = p0;
42826 fra.me.REG[1] = p1;
42827 /* parser/parser.nit:15552 */
42828 fra.me.REG[2] = NIT_NULL;
42829 /* parser/parser.nit:15553 */
42830 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42831 /* parser/parser.nit:15555 */
42832 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*/;
42833 if (UNTAG_Bool(REGB0)) {
42834 } else {
42835 nit_abort("Assert failed", NULL, LOCATE_parser, 15555);
42836 }
42837 /* parser/parser.nit:15556 */
42838 fra.me.REG[3] = NEW_AFalseExpr_parser___parser_prod___AFalseExpr___init_afalseexpr(fra.me.REG[3]);
42839 /* parser/parser.nit:15559 */
42840 fra.me.REG[2] = fra.me.REG[3];
42841 /* parser/parser.nit:15560 */
42842 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42843 if (UNTAG_Bool(REGB0)) {
42844 } else {
42845 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15560);
42846 }
42847 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42848 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42849 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42850 stack_frame_head = fra.me.prev;
42851 return;
42852 }
42853 static const char LOCATE_parser___ReduceAction488___action[] = "parser::ReduceAction488::(parser::ReduceAction::action)";
42854 void parser___ReduceAction488___action(val_t p0, val_t p1){
42855 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42856 val_t REGB0;
42857 val_t tmp;
42858 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42859 fra.me.file = LOCATE_parser;
42860 fra.me.line = 15565;
42861 fra.me.meth = LOCATE_parser___ReduceAction488___action;
42862 fra.me.has_broke = 0;
42863 fra.me.REG_size = 4;
42864 fra.me.nitni_local_ref_head = NULL;
42865 fra.me.REG[0] = NIT_NULL;
42866 fra.me.REG[1] = NIT_NULL;
42867 fra.me.REG[2] = NIT_NULL;
42868 fra.me.REG[3] = NIT_NULL;
42869 fra.me.REG[0] = p0;
42870 fra.me.REG[1] = p1;
42871 /* parser/parser.nit:15567 */
42872 fra.me.REG[2] = NIT_NULL;
42873 /* parser/parser.nit:15568 */
42874 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42875 /* parser/parser.nit:15570 */
42876 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*/;
42877 if (UNTAG_Bool(REGB0)) {
42878 } else {
42879 nit_abort("Assert failed", NULL, LOCATE_parser, 15570);
42880 }
42881 /* parser/parser.nit:15571 */
42882 fra.me.REG[3] = NEW_ANullExpr_parser___parser_prod___ANullExpr___init_anullexpr(fra.me.REG[3]);
42883 /* parser/parser.nit:15574 */
42884 fra.me.REG[2] = fra.me.REG[3];
42885 /* parser/parser.nit:15575 */
42886 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42887 if (UNTAG_Bool(REGB0)) {
42888 } else {
42889 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15575);
42890 }
42891 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42892 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42893 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42894 stack_frame_head = fra.me.prev;
42895 return;
42896 }
42897 static const char LOCATE_parser___ReduceAction489___action[] = "parser::ReduceAction489::(parser::ReduceAction::action)";
42898 void parser___ReduceAction489___action(val_t p0, val_t p1){
42899 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42900 val_t REGB0;
42901 val_t tmp;
42902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42903 fra.me.file = LOCATE_parser;
42904 fra.me.line = 15580;
42905 fra.me.meth = LOCATE_parser___ReduceAction489___action;
42906 fra.me.has_broke = 0;
42907 fra.me.REG_size = 4;
42908 fra.me.nitni_local_ref_head = NULL;
42909 fra.me.REG[0] = NIT_NULL;
42910 fra.me.REG[1] = NIT_NULL;
42911 fra.me.REG[2] = NIT_NULL;
42912 fra.me.REG[3] = NIT_NULL;
42913 fra.me.REG[0] = p0;
42914 fra.me.REG[1] = p1;
42915 /* parser/parser.nit:15582 */
42916 fra.me.REG[2] = NIT_NULL;
42917 /* parser/parser.nit:15583 */
42918 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42919 /* parser/parser.nit:15585 */
42920 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*/;
42921 if (UNTAG_Bool(REGB0)) {
42922 } else {
42923 nit_abort("Assert failed", NULL, LOCATE_parser, 15585);
42924 }
42925 /* parser/parser.nit:15586 */
42926 fra.me.REG[3] = NEW_AIntExpr_parser___parser_prod___AIntExpr___init_aintexpr(fra.me.REG[3]);
42927 /* parser/parser.nit:15589 */
42928 fra.me.REG[2] = fra.me.REG[3];
42929 /* parser/parser.nit:15590 */
42930 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42931 if (UNTAG_Bool(REGB0)) {
42932 } else {
42933 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15590);
42934 }
42935 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42936 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42937 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42938 stack_frame_head = fra.me.prev;
42939 return;
42940 }
42941 static const char LOCATE_parser___ReduceAction490___action[] = "parser::ReduceAction490::(parser::ReduceAction::action)";
42942 void parser___ReduceAction490___action(val_t p0, val_t p1){
42943 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42944 val_t REGB0;
42945 val_t tmp;
42946 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42947 fra.me.file = LOCATE_parser;
42948 fra.me.line = 15595;
42949 fra.me.meth = LOCATE_parser___ReduceAction490___action;
42950 fra.me.has_broke = 0;
42951 fra.me.REG_size = 4;
42952 fra.me.nitni_local_ref_head = NULL;
42953 fra.me.REG[0] = NIT_NULL;
42954 fra.me.REG[1] = NIT_NULL;
42955 fra.me.REG[2] = NIT_NULL;
42956 fra.me.REG[3] = NIT_NULL;
42957 fra.me.REG[0] = p0;
42958 fra.me.REG[1] = p1;
42959 /* parser/parser.nit:15597 */
42960 fra.me.REG[2] = NIT_NULL;
42961 /* parser/parser.nit:15598 */
42962 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
42963 /* parser/parser.nit:15600 */
42964 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*/;
42965 if (UNTAG_Bool(REGB0)) {
42966 } else {
42967 nit_abort("Assert failed", NULL, LOCATE_parser, 15600);
42968 }
42969 /* parser/parser.nit:15601 */
42970 fra.me.REG[3] = NEW_AFloatExpr_parser___parser_prod___AFloatExpr___init_afloatexpr(fra.me.REG[3]);
42971 /* parser/parser.nit:15604 */
42972 fra.me.REG[2] = fra.me.REG[3];
42973 /* parser/parser.nit:15605 */
42974 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
42975 if (UNTAG_Bool(REGB0)) {
42976 } else {
42977 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15605);
42978 }
42979 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
42980 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
42981 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
42982 stack_frame_head = fra.me.prev;
42983 return;
42984 }
42985 static const char LOCATE_parser___ReduceAction491___action[] = "parser::ReduceAction491::(parser::ReduceAction::action)";
42986 void parser___ReduceAction491___action(val_t p0, val_t p1){
42987 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42988 val_t REGB0;
42989 val_t tmp;
42990 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42991 fra.me.file = LOCATE_parser;
42992 fra.me.line = 15610;
42993 fra.me.meth = LOCATE_parser___ReduceAction491___action;
42994 fra.me.has_broke = 0;
42995 fra.me.REG_size = 4;
42996 fra.me.nitni_local_ref_head = NULL;
42997 fra.me.REG[0] = NIT_NULL;
42998 fra.me.REG[1] = NIT_NULL;
42999 fra.me.REG[2] = NIT_NULL;
43000 fra.me.REG[3] = NIT_NULL;
43001 fra.me.REG[0] = p0;
43002 fra.me.REG[1] = p1;
43003 /* parser/parser.nit:15612 */
43004 fra.me.REG[2] = NIT_NULL;
43005 /* parser/parser.nit:15613 */
43006 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43007 /* parser/parser.nit:15615 */
43008 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*/;
43009 if (UNTAG_Bool(REGB0)) {
43010 } else {
43011 nit_abort("Assert failed", NULL, LOCATE_parser, 15615);
43012 }
43013 /* parser/parser.nit:15616 */
43014 fra.me.REG[3] = NEW_ACharExpr_parser___parser_prod___ACharExpr___init_acharexpr(fra.me.REG[3]);
43015 /* parser/parser.nit:15619 */
43016 fra.me.REG[2] = fra.me.REG[3];
43017 /* parser/parser.nit:15620 */
43018 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43019 if (UNTAG_Bool(REGB0)) {
43020 } else {
43021 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15620);
43022 }
43023 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43024 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43025 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43026 stack_frame_head = fra.me.prev;
43027 return;
43028 }
43029 static const char LOCATE_parser___ReduceAction492___action[] = "parser::ReduceAction492::(parser::ReduceAction::action)";
43030 void parser___ReduceAction492___action(val_t p0, val_t p1){
43031 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
43032 val_t REGB0;
43033 val_t tmp;
43034 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43035 fra.me.file = LOCATE_parser;
43036 fra.me.line = 15625;
43037 fra.me.meth = LOCATE_parser___ReduceAction492___action;
43038 fra.me.has_broke = 0;
43039 fra.me.REG_size = 4;
43040 fra.me.nitni_local_ref_head = NULL;
43041 fra.me.REG[0] = NIT_NULL;
43042 fra.me.REG[1] = NIT_NULL;
43043 fra.me.REG[2] = NIT_NULL;
43044 fra.me.REG[3] = NIT_NULL;
43045 fra.me.REG[0] = p0;
43046 fra.me.REG[1] = p1;
43047 /* parser/parser.nit:15627 */
43048 fra.me.REG[2] = NIT_NULL;
43049 /* parser/parser.nit:15628 */
43050 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43051 /* parser/parser.nit:15630 */
43052 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*/;
43053 if (UNTAG_Bool(REGB0)) {
43054 } else {
43055 nit_abort("Assert failed", NULL, LOCATE_parser, 15630);
43056 }
43057 /* parser/parser.nit:15631 */
43058 fra.me.REG[3] = NEW_AStringExpr_parser___parser_prod___AStringExpr___init_astringexpr(fra.me.REG[3]);
43059 /* parser/parser.nit:15634 */
43060 fra.me.REG[2] = fra.me.REG[3];
43061 /* parser/parser.nit:15635 */
43062 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43063 if (UNTAG_Bool(REGB0)) {
43064 } else {
43065 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15635);
43066 }
43067 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43068 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43069 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43070 stack_frame_head = fra.me.prev;
43071 return;
43072 }
43073 static const char LOCATE_parser___ReduceAction494___action[] = "parser::ReduceAction494::(parser::ReduceAction::action)";
43074 void parser___ReduceAction494___action(val_t p0, val_t p1){
43075 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
43076 val_t REGB0;
43077 val_t tmp;
43078 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43079 fra.me.file = LOCATE_parser;
43080 fra.me.line = 15640;
43081 fra.me.meth = LOCATE_parser___ReduceAction494___action;
43082 fra.me.has_broke = 0;
43083 fra.me.REG_size = 6;
43084 fra.me.nitni_local_ref_head = NULL;
43085 fra.me.REG[0] = NIT_NULL;
43086 fra.me.REG[1] = NIT_NULL;
43087 fra.me.REG[2] = NIT_NULL;
43088 fra.me.REG[3] = NIT_NULL;
43089 fra.me.REG[4] = NIT_NULL;
43090 fra.me.REG[5] = NIT_NULL;
43091 fra.me.REG[0] = p0;
43092 fra.me.REG[1] = p1;
43093 /* parser/parser.nit:15642 */
43094 fra.me.REG[2] = NIT_NULL;
43095 /* parser/parser.nit:15643 */
43096 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43097 /* parser/parser.nit:15644 */
43098 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43099 /* parser/parser.nit:15645 */
43100 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43101 /* parser/parser.nit:15647 */
43102 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
43103 if (UNTAG_Bool(REGB0)) {
43104 } else {
43105 nit_abort("Assert failed", NULL, LOCATE_parser, 15647);
43106 }
43107 /* parser/parser.nit:15649 */
43108 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*/;
43109 if (UNTAG_Bool(REGB0)) {
43110 } else {
43111 nit_abort("Assert failed", NULL, LOCATE_parser, 15649);
43112 }
43113 /* parser/parser.nit:15651 */
43114 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
43115 if (UNTAG_Bool(REGB0)) {
43116 } else {
43117 nit_abort("Assert failed", NULL, LOCATE_parser, 15651);
43118 }
43119 /* parser/parser.nit:15652 */
43120 fra.me.REG[3] = NEW_AParExpr_parser___parser_prod___AParExpr___init_aparexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
43121 /* parser/parser.nit:15657 */
43122 fra.me.REG[2] = fra.me.REG[3];
43123 /* parser/parser.nit:15658 */
43124 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43125 if (UNTAG_Bool(REGB0)) {
43126 } else {
43127 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15658);
43128 }
43129 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43130 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43131 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43132 stack_frame_head = fra.me.prev;
43133 return;
43134 }
43135 static const char LOCATE_parser___ReduceAction495___action[] = "parser::ReduceAction495::(parser::ReduceAction::action)";
43136 void parser___ReduceAction495___action(val_t p0, val_t p1){
43137 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
43138 val_t REGB0;
43139 val_t tmp;
43140 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43141 fra.me.file = LOCATE_parser;
43142 fra.me.line = 15663;
43143 fra.me.meth = LOCATE_parser___ReduceAction495___action;
43144 fra.me.has_broke = 0;
43145 fra.me.REG_size = 8;
43146 fra.me.nitni_local_ref_head = NULL;
43147 fra.me.REG[0] = NIT_NULL;
43148 fra.me.REG[1] = NIT_NULL;
43149 fra.me.REG[2] = NIT_NULL;
43150 fra.me.REG[3] = NIT_NULL;
43151 fra.me.REG[4] = NIT_NULL;
43152 fra.me.REG[5] = NIT_NULL;
43153 fra.me.REG[6] = NIT_NULL;
43154 fra.me.REG[7] = NIT_NULL;
43155 fra.me.REG[0] = p0;
43156 fra.me.REG[1] = p1;
43157 /* parser/parser.nit:15665 */
43158 fra.me.REG[2] = NIT_NULL;
43159 /* parser/parser.nit:15666 */
43160 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43161 /* parser/parser.nit:15667 */
43162 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43163 /* parser/parser.nit:15668 */
43164 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43165 /* parser/parser.nit:15669 */
43166 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43167 /* parser/parser.nit:15670 */
43168 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43169 /* parser/parser.nit:15671 */
43170 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43171 /* parser/parser.nit:15672 */
43172 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43173 /* parser/parser.nit:15673 */
43174 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43175 /* parser/parser.nit:15674 */
43176 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43177 /* parser/parser.nit:15675 */
43178 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43179 /* parser/parser.nit:15677 */
43180 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*/;
43181 if (UNTAG_Bool(REGB0)) {
43182 } else {
43183 nit_abort("Assert failed", NULL, LOCATE_parser, 15677);
43184 }
43185 /* parser/parser.nit:15679 */
43186 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
43187 if (UNTAG_Bool(REGB0)) {
43188 } else {
43189 nit_abort("Assert failed", NULL, LOCATE_parser, 15679);
43190 }
43191 /* parser/parser.nit:15681 */
43192 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
43193 if (UNTAG_Bool(REGB0)) {
43194 } else {
43195 nit_abort("Assert failed", NULL, LOCATE_parser, 15681);
43196 }
43197 /* parser/parser.nit:15683 */
43198 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*/;
43199 if (UNTAG_Bool(REGB0)) {
43200 } else {
43201 nit_abort("Assert failed", NULL, LOCATE_parser, 15683);
43202 }
43203 /* parser/parser.nit:15685 */
43204 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
43205 if (UNTAG_Bool(REGB0)) {
43206 } else {
43207 nit_abort("Assert failed", NULL, LOCATE_parser, 15685);
43208 }
43209 /* parser/parser.nit:15686 */
43210 fra.me.REG[3] = NEW_AAsCastExpr_parser___parser_prod___AAsCastExpr___init_aascastexpr(fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
43211 /* parser/parser.nit:15693 */
43212 fra.me.REG[2] = fra.me.REG[3];
43213 /* parser/parser.nit:15694 */
43214 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43215 if (UNTAG_Bool(REGB0)) {
43216 } else {
43217 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15694);
43218 }
43219 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43220 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43221 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43222 stack_frame_head = fra.me.prev;
43223 return;
43224 }
43225 static const char LOCATE_parser___ReduceAction496___action[] = "parser::ReduceAction496::(parser::ReduceAction::action)";
43226 void parser___ReduceAction496___action(val_t p0, val_t p1){
43227 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
43228 val_t REGB0;
43229 val_t tmp;
43230 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43231 fra.me.file = LOCATE_parser;
43232 fra.me.line = 15699;
43233 fra.me.meth = LOCATE_parser___ReduceAction496___action;
43234 fra.me.has_broke = 0;
43235 fra.me.REG_size = 9;
43236 fra.me.nitni_local_ref_head = NULL;
43237 fra.me.REG[0] = NIT_NULL;
43238 fra.me.REG[1] = NIT_NULL;
43239 fra.me.REG[2] = NIT_NULL;
43240 fra.me.REG[3] = NIT_NULL;
43241 fra.me.REG[4] = NIT_NULL;
43242 fra.me.REG[5] = NIT_NULL;
43243 fra.me.REG[6] = NIT_NULL;
43244 fra.me.REG[7] = NIT_NULL;
43245 fra.me.REG[8] = NIT_NULL;
43246 fra.me.REG[0] = p0;
43247 fra.me.REG[1] = p1;
43248 /* parser/parser.nit:15701 */
43249 fra.me.REG[2] = NIT_NULL;
43250 /* parser/parser.nit:15702 */
43251 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43252 /* parser/parser.nit:15703 */
43253 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43254 /* parser/parser.nit:15704 */
43255 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43256 /* parser/parser.nit:15705 */
43257 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43258 /* parser/parser.nit:15706 */
43259 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43260 /* parser/parser.nit:15707 */
43261 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43262 /* parser/parser.nit:15708 */
43263 fra.me.REG[6] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43264 /* parser/parser.nit:15709 */
43265 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43266 /* parser/parser.nit:15710 */
43267 fra.me.REG[7] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43268 /* parser/parser.nit:15711 */
43269 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43270 /* parser/parser.nit:15712 */
43271 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43272 /* parser/parser.nit:15713 */
43273 fra.me.REG[8] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43274 /* parser/parser.nit:15715 */
43275 REGB0 = TAG_Bool((fra.me.REG[8]==NIT_NULL) || VAL_ISA(fra.me.REG[8], COLOR_parser___parser_nodes___AExpr, ID_parser___parser_nodes___AExpr)) /*cast nullable AExpr*/;
43276 if (UNTAG_Bool(REGB0)) {
43277 } else {
43278 nit_abort("Assert failed", NULL, LOCATE_parser, 15715);
43279 }
43280 /* parser/parser.nit:15717 */
43281 REGB0 = TAG_Bool((fra.me.REG[7]==NIT_NULL) || VAL_ISA(fra.me.REG[7], COLOR_parser___parser_nodes___TKwas, ID_parser___parser_nodes___TKwas)) /*cast nullable TKwas*/;
43282 if (UNTAG_Bool(REGB0)) {
43283 } else {
43284 nit_abort("Assert failed", NULL, LOCATE_parser, 15717);
43285 }
43286 /* parser/parser.nit:15719 */
43287 REGB0 = TAG_Bool((fra.me.REG[6]==NIT_NULL) || VAL_ISA(fra.me.REG[6], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
43288 if (UNTAG_Bool(REGB0)) {
43289 } else {
43290 nit_abort("Assert failed", NULL, LOCATE_parser, 15719);
43291 }
43292 /* parser/parser.nit:15721 */
43293 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TKwnot, ID_parser___parser_nodes___TKwnot)) /*cast nullable TKwnot*/;
43294 if (UNTAG_Bool(REGB0)) {
43295 } else {
43296 nit_abort("Assert failed", NULL, LOCATE_parser, 15721);
43297 }
43298 /* parser/parser.nit:15723 */
43299 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TKwnull, ID_parser___parser_nodes___TKwnull)) /*cast nullable TKwnull*/;
43300 if (UNTAG_Bool(REGB0)) {
43301 } else {
43302 nit_abort("Assert failed", NULL, LOCATE_parser, 15723);
43303 }
43304 /* parser/parser.nit:15725 */
43305 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
43306 if (UNTAG_Bool(REGB0)) {
43307 } else {
43308 nit_abort("Assert failed", NULL, LOCATE_parser, 15725);
43309 }
43310 /* parser/parser.nit:15726 */
43311 fra.me.REG[3] = NEW_AAsNotnullExpr_parser___parser_prod___AAsNotnullExpr___init_aasnotnullexpr(fra.me.REG[8], fra.me.REG[7], fra.me.REG[6], fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
43312 /* parser/parser.nit:15734 */
43313 fra.me.REG[2] = fra.me.REG[3];
43314 /* parser/parser.nit:15735 */
43315 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43316 if (UNTAG_Bool(REGB0)) {
43317 } else {
43318 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15735);
43319 }
43320 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43321 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43322 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43323 stack_frame_head = fra.me.prev;
43324 return;
43325 }
43326 static const char LOCATE_parser___ReduceAction497___action[] = "parser::ReduceAction497::(parser::ReduceAction::action)";
43327 void parser___ReduceAction497___action(val_t p0, val_t p1){
43328 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
43329 val_t REGB0;
43330 val_t REGB1;
43331 val_t tmp;
43332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43333 fra.me.file = LOCATE_parser;
43334 fra.me.line = 15740;
43335 fra.me.meth = LOCATE_parser___ReduceAction497___action;
43336 fra.me.has_broke = 0;
43337 fra.me.REG_size = 6;
43338 fra.me.nitni_local_ref_head = NULL;
43339 fra.me.REG[0] = NIT_NULL;
43340 fra.me.REG[1] = NIT_NULL;
43341 fra.me.REG[2] = NIT_NULL;
43342 fra.me.REG[3] = NIT_NULL;
43343 fra.me.REG[4] = NIT_NULL;
43344 fra.me.REG[5] = NIT_NULL;
43345 fra.me.REG[0] = p0;
43346 fra.me.REG[1] = p1;
43347 /* parser/parser.nit:15742 */
43348 fra.me.REG[2] = NIT_NULL;
43349 /* parser/parser.nit:15743 */
43350 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43351 /* parser/parser.nit:15744 */
43352 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43353 /* parser/parser.nit:15745 */
43354 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
43355 /* parser/parser.nit:15747 */
43356 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]*/;
43357 if (UNTAG_Bool(REGB0)) {
43358 } else {
43359 nit_abort("Assert failed", NULL, LOCATE_parser, 15747);
43360 }
43361 /* parser/parser.nit:15749 */
43362 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*/;
43363 if (UNTAG_Bool(REGB0)) {
43364 } else {
43365 nit_abort("Assert failed", NULL, LOCATE_parser, 15749);
43366 }
43367 /* parser/parser.nit:15750 */
43368 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
43369 fra.me.REG[5] = fra.me.REG[4];
43370 /* parser/parser.nit:15751 */
43371 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43372 if (UNTAG_Bool(REGB0)) {
43373 } else {
43374 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43375 if (UNTAG_Bool(REGB1)) {
43376 REGB1 = TAG_Bool(0);
43377 REGB0 = REGB1;
43378 } else {
43379 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
43380 REGB0 = REGB1;
43381 }
43382 }
43383 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43384 if (UNTAG_Bool(REGB0)) {
43385 /* parser/parser.nit:15752 */
43386 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
43387 }
43388 /* parser/parser.nit:15754 */
43389 fra.me.REG[5] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[5]);
43390 /* parser/parser.nit:15757 */
43391 fra.me.REG[2] = fra.me.REG[5];
43392 /* parser/parser.nit:15758 */
43393 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43394 if (UNTAG_Bool(REGB0)) {
43395 } else {
43396 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15758);
43397 }
43398 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43399 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43400 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43401 stack_frame_head = fra.me.prev;
43402 return;
43403 }
43404 static const char LOCATE_parser___ReduceAction498___action[] = "parser::ReduceAction498::(parser::ReduceAction::action)";
43405 void parser___ReduceAction498___action(val_t p0, val_t p1){
43406 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
43407 val_t REGB0;
43408 val_t REGB1;
43409 val_t tmp;
43410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43411 fra.me.file = LOCATE_parser;
43412 fra.me.line = 15763;
43413 fra.me.meth = LOCATE_parser___ReduceAction498___action;
43414 fra.me.has_broke = 0;
43415 fra.me.REG_size = 7;
43416 fra.me.nitni_local_ref_head = NULL;
43417 fra.me.REG[0] = NIT_NULL;
43418 fra.me.REG[1] = NIT_NULL;
43419 fra.me.REG[2] = NIT_NULL;
43420 fra.me.REG[3] = NIT_NULL;
43421 fra.me.REG[4] = NIT_NULL;
43422 fra.me.REG[5] = NIT_NULL;
43423 fra.me.REG[6] = NIT_NULL;
43424 fra.me.REG[0] = p0;
43425 fra.me.REG[1] = p1;
43426 /* parser/parser.nit:15765 */
43427 fra.me.REG[2] = NIT_NULL;
43428 /* parser/parser.nit:15766 */
43429 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43430 /* parser/parser.nit:15767 */
43431 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43432 /* parser/parser.nit:15768 */
43433 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43434 /* parser/parser.nit:15769 */
43435 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
43436 /* parser/parser.nit:15771 */
43437 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]*/;
43438 if (UNTAG_Bool(REGB0)) {
43439 } else {
43440 nit_abort("Assert failed", NULL, LOCATE_parser, 15771);
43441 }
43442 /* parser/parser.nit:15773 */
43443 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]*/;
43444 if (UNTAG_Bool(REGB0)) {
43445 } else {
43446 nit_abort("Assert failed", NULL, LOCATE_parser, 15773);
43447 }
43448 /* parser/parser.nit:15775 */
43449 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*/;
43450 if (UNTAG_Bool(REGB0)) {
43451 } else {
43452 nit_abort("Assert failed", NULL, LOCATE_parser, 15775);
43453 }
43454 /* parser/parser.nit:15776 */
43455 fra.me.REG[5] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[5]);
43456 fra.me.REG[6] = fra.me.REG[5];
43457 /* parser/parser.nit:15777 */
43458 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
43459 fra.me.REG[6] = fra.me.REG[4];
43460 /* parser/parser.nit:15778 */
43461 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43462 if (UNTAG_Bool(REGB0)) {
43463 } else {
43464 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43465 if (UNTAG_Bool(REGB1)) {
43466 REGB1 = TAG_Bool(0);
43467 REGB0 = REGB1;
43468 } else {
43469 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
43470 REGB0 = REGB1;
43471 }
43472 }
43473 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43474 if (UNTAG_Bool(REGB0)) {
43475 /* parser/parser.nit:15779 */
43476 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
43477 }
43478 /* parser/parser.nit:15781 */
43479 fra.me.REG[6] = NEW_ASuperstringExpr_parser___parser_prod___ASuperstringExpr___init_asuperstringexpr(fra.me.REG[6]);
43480 /* parser/parser.nit:15784 */
43481 fra.me.REG[2] = fra.me.REG[6];
43482 /* parser/parser.nit:15785 */
43483 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43484 if (UNTAG_Bool(REGB0)) {
43485 } else {
43486 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15785);
43487 }
43488 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43489 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43490 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43491 stack_frame_head = fra.me.prev;
43492 return;
43493 }
43494 static const char LOCATE_parser___ReduceAction499___action[] = "parser::ReduceAction499::(parser::ReduceAction::action)";
43495 void parser___ReduceAction499___action(val_t p0, val_t p1){
43496 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
43497 val_t REGB0;
43498 val_t REGB1;
43499 val_t tmp;
43500 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43501 fra.me.file = LOCATE_parser;
43502 fra.me.line = 15790;
43503 fra.me.meth = LOCATE_parser___ReduceAction499___action;
43504 fra.me.has_broke = 0;
43505 fra.me.REG_size = 6;
43506 fra.me.nitni_local_ref_head = NULL;
43507 fra.me.REG[0] = NIT_NULL;
43508 fra.me.REG[1] = NIT_NULL;
43509 fra.me.REG[2] = NIT_NULL;
43510 fra.me.REG[3] = NIT_NULL;
43511 fra.me.REG[4] = NIT_NULL;
43512 fra.me.REG[5] = NIT_NULL;
43513 fra.me.REG[0] = p0;
43514 fra.me.REG[1] = p1;
43515 /* parser/parser.nit:15792 */
43516 fra.me.REG[2] = NIT_NULL;
43517 /* parser/parser.nit:15793 */
43518 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43519 /* parser/parser.nit:15794 */
43520 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43521 /* parser/parser.nit:15795 */
43522 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43523 /* parser/parser.nit:15796 */
43524 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43525 /* parser/parser.nit:15797 */
43526 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
43527 /* parser/parser.nit:15800 */
43528 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
43529 if (UNTAG_Bool(REGB0)) {
43530 } else {
43531 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
43532 if (UNTAG_Bool(REGB1)) {
43533 REGB1 = TAG_Bool(0);
43534 REGB0 = REGB1;
43535 } else {
43536 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
43537 REGB0 = REGB1;
43538 }
43539 }
43540 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43541 if (UNTAG_Bool(REGB0)) {
43542 /* parser/parser.nit:15801 */
43543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
43544 }
43545 /* parser/parser.nit:15803 */
43546 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43547 if (UNTAG_Bool(REGB0)) {
43548 } else {
43549 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43550 if (UNTAG_Bool(REGB1)) {
43551 REGB1 = TAG_Bool(0);
43552 REGB0 = REGB1;
43553 } else {
43554 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
43555 REGB0 = REGB1;
43556 }
43557 }
43558 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43559 if (UNTAG_Bool(REGB0)) {
43560 /* parser/parser.nit:15804 */
43561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
43562 }
43563 /* parser/parser.nit:15806 */
43564 fra.me.REG[2] = fra.me.REG[5];
43565 /* parser/parser.nit:15807 */
43566 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43567 if (UNTAG_Bool(REGB0)) {
43568 } else {
43569 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15807);
43570 }
43571 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43572 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43573 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43574 stack_frame_head = fra.me.prev;
43575 return;
43576 }
43577 static const char LOCATE_parser___ReduceAction500___action[] = "parser::ReduceAction500::(parser::ReduceAction::action)";
43578 void parser___ReduceAction500___action(val_t p0, val_t p1){
43579 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
43580 val_t REGB0;
43581 val_t tmp;
43582 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43583 fra.me.file = LOCATE_parser;
43584 fra.me.line = 15812;
43585 fra.me.meth = LOCATE_parser___ReduceAction500___action;
43586 fra.me.has_broke = 0;
43587 fra.me.REG_size = 4;
43588 fra.me.nitni_local_ref_head = NULL;
43589 fra.me.REG[0] = NIT_NULL;
43590 fra.me.REG[1] = NIT_NULL;
43591 fra.me.REG[2] = NIT_NULL;
43592 fra.me.REG[3] = NIT_NULL;
43593 fra.me.REG[0] = p0;
43594 fra.me.REG[1] = p1;
43595 /* parser/parser.nit:15814 */
43596 fra.me.REG[2] = NIT_NULL;
43597 /* parser/parser.nit:15815 */
43598 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43599 /* parser/parser.nit:15817 */
43600 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*/;
43601 if (UNTAG_Bool(REGB0)) {
43602 } else {
43603 nit_abort("Assert failed", NULL, LOCATE_parser, 15817);
43604 }
43605 /* parser/parser.nit:15818 */
43606 fra.me.REG[3] = NEW_AStartStringExpr_parser___parser_prod___AStartStringExpr___init_astartstringexpr(fra.me.REG[3]);
43607 /* parser/parser.nit:15821 */
43608 fra.me.REG[2] = fra.me.REG[3];
43609 /* parser/parser.nit:15822 */
43610 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43611 if (UNTAG_Bool(REGB0)) {
43612 } else {
43613 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15822);
43614 }
43615 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43616 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43617 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43618 stack_frame_head = fra.me.prev;
43619 return;
43620 }
43621 static const char LOCATE_parser___ReduceAction502___action[] = "parser::ReduceAction502::(parser::ReduceAction::action)";
43622 void parser___ReduceAction502___action(val_t p0, val_t p1){
43623 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
43624 val_t REGB0;
43625 val_t tmp;
43626 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43627 fra.me.file = LOCATE_parser;
43628 fra.me.line = 15827;
43629 fra.me.meth = LOCATE_parser___ReduceAction502___action;
43630 fra.me.has_broke = 0;
43631 fra.me.REG_size = 4;
43632 fra.me.nitni_local_ref_head = NULL;
43633 fra.me.REG[0] = NIT_NULL;
43634 fra.me.REG[1] = NIT_NULL;
43635 fra.me.REG[2] = NIT_NULL;
43636 fra.me.REG[3] = NIT_NULL;
43637 fra.me.REG[0] = p0;
43638 fra.me.REG[1] = p1;
43639 /* parser/parser.nit:15829 */
43640 fra.me.REG[2] = NIT_NULL;
43641 /* parser/parser.nit:15830 */
43642 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43643 /* parser/parser.nit:15832 */
43644 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*/;
43645 if (UNTAG_Bool(REGB0)) {
43646 } else {
43647 nit_abort("Assert failed", NULL, LOCATE_parser, 15832);
43648 }
43649 /* parser/parser.nit:15833 */
43650 fra.me.REG[3] = NEW_AMidStringExpr_parser___parser_prod___AMidStringExpr___init_amidstringexpr(fra.me.REG[3]);
43651 /* parser/parser.nit:15836 */
43652 fra.me.REG[2] = fra.me.REG[3];
43653 /* parser/parser.nit:15837 */
43654 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43655 if (UNTAG_Bool(REGB0)) {
43656 } else {
43657 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15837);
43658 }
43659 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43660 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43661 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43662 stack_frame_head = fra.me.prev;
43663 return;
43664 }
43665 static const char LOCATE_parser___ReduceAction503___action[] = "parser::ReduceAction503::(parser::ReduceAction::action)";
43666 void parser___ReduceAction503___action(val_t p0, val_t p1){
43667 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
43668 val_t REGB0;
43669 val_t tmp;
43670 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43671 fra.me.file = LOCATE_parser;
43672 fra.me.line = 15842;
43673 fra.me.meth = LOCATE_parser___ReduceAction503___action;
43674 fra.me.has_broke = 0;
43675 fra.me.REG_size = 4;
43676 fra.me.nitni_local_ref_head = NULL;
43677 fra.me.REG[0] = NIT_NULL;
43678 fra.me.REG[1] = NIT_NULL;
43679 fra.me.REG[2] = NIT_NULL;
43680 fra.me.REG[3] = NIT_NULL;
43681 fra.me.REG[0] = p0;
43682 fra.me.REG[1] = p1;
43683 /* parser/parser.nit:15844 */
43684 fra.me.REG[2] = NIT_NULL;
43685 /* parser/parser.nit:15845 */
43686 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43687 /* parser/parser.nit:15847 */
43688 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*/;
43689 if (UNTAG_Bool(REGB0)) {
43690 } else {
43691 nit_abort("Assert failed", NULL, LOCATE_parser, 15847);
43692 }
43693 /* parser/parser.nit:15848 */
43694 fra.me.REG[3] = NEW_AEndStringExpr_parser___parser_prod___AEndStringExpr___init_aendstringexpr(fra.me.REG[3]);
43695 /* parser/parser.nit:15851 */
43696 fra.me.REG[2] = fra.me.REG[3];
43697 /* parser/parser.nit:15852 */
43698 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43699 if (UNTAG_Bool(REGB0)) {
43700 } else {
43701 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15852);
43702 }
43703 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43704 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43705 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43706 stack_frame_head = fra.me.prev;
43707 return;
43708 }
43709 static const char LOCATE_parser___ReduceAction504___action[] = "parser::ReduceAction504::(parser::ReduceAction::action)";
43710 void parser___ReduceAction504___action(val_t p0, val_t p1){
43711 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
43712 val_t REGB0;
43713 val_t tmp;
43714 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43715 fra.me.file = LOCATE_parser;
43716 fra.me.line = 15857;
43717 fra.me.meth = LOCATE_parser___ReduceAction504___action;
43718 fra.me.has_broke = 0;
43719 fra.me.REG_size = 7;
43720 fra.me.nitni_local_ref_head = NULL;
43721 fra.me.REG[0] = NIT_NULL;
43722 fra.me.REG[1] = NIT_NULL;
43723 fra.me.REG[2] = NIT_NULL;
43724 fra.me.REG[3] = NIT_NULL;
43725 fra.me.REG[4] = NIT_NULL;
43726 fra.me.REG[5] = NIT_NULL;
43727 fra.me.REG[6] = NIT_NULL;
43728 fra.me.REG[0] = p0;
43729 fra.me.REG[1] = p1;
43730 /* parser/parser.nit:15859 */
43731 fra.me.REG[2] = NIT_NULL;
43732 /* parser/parser.nit:15860 */
43733 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43734 /* parser/parser.nit:15861 */
43735 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43736 /* parser/parser.nit:15862 */
43737 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43738 /* parser/parser.nit:15863 */
43739 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43740 /* parser/parser.nit:15864 */
43741 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
43742 /* parser/parser.nit:15866 */
43743 REGB0 = TAG_Bool((fra.me.REG[5]==NIT_NULL) || VAL_ISA(fra.me.REG[5], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
43744 if (UNTAG_Bool(REGB0)) {
43745 } else {
43746 nit_abort("Assert failed", NULL, LOCATE_parser, 15866);
43747 }
43748 /* parser/parser.nit:15868 */
43749 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]*/;
43750 if (UNTAG_Bool(REGB0)) {
43751 } else {
43752 nit_abort("Assert failed", NULL, LOCATE_parser, 15868);
43753 }
43754 /* parser/parser.nit:15869 */
43755 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
43756 fra.me.REG[6] = fra.me.REG[4];
43757 /* parser/parser.nit:15871 */
43758 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
43759 if (UNTAG_Bool(REGB0)) {
43760 } else {
43761 nit_abort("Assert failed", NULL, LOCATE_parser, 15871);
43762 }
43763 /* parser/parser.nit:15872 */
43764 fra.me.REG[3] = NEW_AParExprs_parser___parser_prod___AParExprs___init_aparexprs(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
43765 /* parser/parser.nit:15877 */
43766 fra.me.REG[2] = fra.me.REG[3];
43767 /* parser/parser.nit:15878 */
43768 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43769 if (UNTAG_Bool(REGB0)) {
43770 } else {
43771 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15878);
43772 }
43773 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43774 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43775 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43776 stack_frame_head = fra.me.prev;
43777 return;
43778 }
43779 static const char LOCATE_parser___ReduceAction505___action[] = "parser::ReduceAction505::(parser::ReduceAction::action)";
43780 void parser___ReduceAction505___action(val_t p0, val_t p1){
43781 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
43782 val_t REGB0;
43783 val_t tmp;
43784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43785 fra.me.file = LOCATE_parser;
43786 fra.me.line = 15883;
43787 fra.me.meth = LOCATE_parser___ReduceAction505___action;
43788 fra.me.has_broke = 0;
43789 fra.me.REG_size = 6;
43790 fra.me.nitni_local_ref_head = NULL;
43791 fra.me.REG[0] = NIT_NULL;
43792 fra.me.REG[1] = NIT_NULL;
43793 fra.me.REG[2] = NIT_NULL;
43794 fra.me.REG[3] = NIT_NULL;
43795 fra.me.REG[4] = NIT_NULL;
43796 fra.me.REG[5] = NIT_NULL;
43797 fra.me.REG[0] = p0;
43798 fra.me.REG[1] = p1;
43799 /* parser/parser.nit:15885 */
43800 fra.me.REG[2] = NIT_NULL;
43801 /* parser/parser.nit:15886 */
43802 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43803 /* parser/parser.nit:15887 */
43804 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43805 /* parser/parser.nit:15888 */
43806 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43807 /* parser/parser.nit:15889 */
43808 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
43809 /* parser/parser.nit:15891 */
43810 REGB0 = TAG_Bool((fra.me.REG[4]==NIT_NULL) || VAL_ISA(fra.me.REG[4], COLOR_parser___parser_nodes___TOpar, ID_parser___parser_nodes___TOpar)) /*cast nullable TOpar*/;
43811 if (UNTAG_Bool(REGB0)) {
43812 } else {
43813 nit_abort("Assert failed", NULL, LOCATE_parser, 15891);
43814 }
43815 /* parser/parser.nit:15893 */
43816 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___TCpar, ID_parser___parser_nodes___TCpar)) /*cast nullable TCpar*/;
43817 if (UNTAG_Bool(REGB0)) {
43818 } else {
43819 nit_abort("Assert failed", NULL, LOCATE_parser, 15893);
43820 }
43821 /* parser/parser.nit:15894 */
43822 fra.me.REG[3] = NEW_AParExprs_parser___parser_prod___AParExprs___init_aparexprs(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
43823 /* parser/parser.nit:15899 */
43824 fra.me.REG[2] = fra.me.REG[3];
43825 /* parser/parser.nit:15900 */
43826 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43827 if (UNTAG_Bool(REGB0)) {
43828 } else {
43829 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15900);
43830 }
43831 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43832 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43833 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43834 stack_frame_head = fra.me.prev;
43835 return;
43836 }
43837 static const char LOCATE_parser___ReduceAction506___action[] = "parser::ReduceAction506::(parser::ReduceAction::action)";
43838 void parser___ReduceAction506___action(val_t p0, val_t p1){
43839 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
43840 val_t REGB0;
43841 val_t tmp;
43842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43843 fra.me.file = LOCATE_parser;
43844 fra.me.line = 15905;
43845 fra.me.meth = LOCATE_parser___ReduceAction506___action;
43846 fra.me.has_broke = 0;
43847 fra.me.REG_size = 4;
43848 fra.me.nitni_local_ref_head = NULL;
43849 fra.me.REG[0] = NIT_NULL;
43850 fra.me.REG[1] = NIT_NULL;
43851 fra.me.REG[2] = NIT_NULL;
43852 fra.me.REG[3] = NIT_NULL;
43853 fra.me.REG[0] = p0;
43854 fra.me.REG[1] = p1;
43855 /* parser/parser.nit:15907 */
43856 fra.me.REG[2] = NIT_NULL;
43857 /* parser/parser.nit:15908 */
43858 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___init();
43859 /* parser/parser.nit:15909 */
43860 fra.me.REG[3] = NEW_AListExprs_parser___parser_prod___AListExprs___init_alistexprs(fra.me.REG[3]);
43861 /* parser/parser.nit:15912 */
43862 fra.me.REG[2] = fra.me.REG[3];
43863 /* parser/parser.nit:15913 */
43864 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43865 if (UNTAG_Bool(REGB0)) {
43866 } else {
43867 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15913);
43868 }
43869 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43870 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43871 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43872 stack_frame_head = fra.me.prev;
43873 return;
43874 }
43875 static const char LOCATE_parser___ReduceAction508___action[] = "parser::ReduceAction508::(parser::ReduceAction::action)";
43876 void parser___ReduceAction508___action(val_t p0, val_t p1){
43877 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
43878 val_t REGB0;
43879 val_t REGB1;
43880 val_t tmp;
43881 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43882 fra.me.file = LOCATE_parser;
43883 fra.me.line = 15918;
43884 fra.me.meth = LOCATE_parser___ReduceAction508___action;
43885 fra.me.has_broke = 0;
43886 fra.me.REG_size = 5;
43887 fra.me.nitni_local_ref_head = NULL;
43888 fra.me.REG[0] = NIT_NULL;
43889 fra.me.REG[1] = NIT_NULL;
43890 fra.me.REG[2] = NIT_NULL;
43891 fra.me.REG[3] = NIT_NULL;
43892 fra.me.REG[4] = NIT_NULL;
43893 fra.me.REG[0] = p0;
43894 fra.me.REG[1] = p1;
43895 /* parser/parser.nit:15920 */
43896 fra.me.REG[2] = NIT_NULL;
43897 /* parser/parser.nit:15921 */
43898 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43899 /* parser/parser.nit:15922 */
43900 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
43901 /* parser/parser.nit:15924 */
43902 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*/;
43903 if (UNTAG_Bool(REGB0)) {
43904 } else {
43905 nit_abort("Assert failed", NULL, LOCATE_parser, 15924);
43906 }
43907 /* parser/parser.nit:15925 */
43908 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43909 if (UNTAG_Bool(REGB0)) {
43910 } else {
43911 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
43912 if (UNTAG_Bool(REGB1)) {
43913 REGB1 = TAG_Bool(0);
43914 REGB0 = REGB1;
43915 } else {
43916 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
43917 REGB0 = REGB1;
43918 }
43919 }
43920 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43921 if (UNTAG_Bool(REGB0)) {
43922 /* parser/parser.nit:15926 */
43923 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
43924 }
43925 /* parser/parser.nit:15928 */
43926 fra.me.REG[4] = NEW_AListExprs_parser___parser_prod___AListExprs___init_alistexprs(fra.me.REG[4]);
43927 /* parser/parser.nit:15931 */
43928 fra.me.REG[2] = fra.me.REG[4];
43929 /* parser/parser.nit:15932 */
43930 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
43931 if (UNTAG_Bool(REGB0)) {
43932 } else {
43933 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15932);
43934 }
43935 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
43936 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
43937 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
43938 stack_frame_head = fra.me.prev;
43939 return;
43940 }
43941 static const char LOCATE_parser___ReduceAction511___action[] = "parser::ReduceAction511::(parser::ReduceAction::action)";
43942 void parser___ReduceAction511___action(val_t p0, val_t p1){
43943 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
43944 val_t REGB0;
43945 val_t tmp;
43946 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43947 fra.me.file = LOCATE_parser;
43948 fra.me.line = 15937;
43949 fra.me.meth = LOCATE_parser___ReduceAction511___action;
43950 fra.me.has_broke = 0;
43951 fra.me.REG_size = 7;
43952 fra.me.nitni_local_ref_head = NULL;
43953 fra.me.REG[0] = NIT_NULL;
43954 fra.me.REG[1] = NIT_NULL;
43955 fra.me.REG[2] = NIT_NULL;
43956 fra.me.REG[3] = NIT_NULL;
43957 fra.me.REG[4] = NIT_NULL;
43958 fra.me.REG[5] = NIT_NULL;
43959 fra.me.REG[6] = NIT_NULL;
43960 fra.me.REG[0] = p0;
43961 fra.me.REG[1] = p1;
43962 /* parser/parser.nit:15939 */
43963 fra.me.REG[2] = NIT_NULL;
43964 /* parser/parser.nit:15940 */
43965 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43966 /* parser/parser.nit:15941 */
43967 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43968 /* parser/parser.nit:15942 */
43969 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43970 /* parser/parser.nit:15943 */
43971 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
43972 /* parser/parser.nit:15944 */
43973 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
43974 /* parser/parser.nit:15946 */
43975 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*/;
43976 if (UNTAG_Bool(REGB0)) {
43977 } else {
43978 nit_abort("Assert failed", NULL, LOCATE_parser, 15946);
43979 }
43980 /* parser/parser.nit:15948 */
43981 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]*/;
43982 if (UNTAG_Bool(REGB0)) {
43983 } else {
43984 nit_abort("Assert failed", NULL, LOCATE_parser, 15948);
43985 }
43986 /* parser/parser.nit:15949 */
43987 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
43988 fra.me.REG[6] = fra.me.REG[4];
43989 /* parser/parser.nit:15951 */
43990 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*/;
43991 if (UNTAG_Bool(REGB0)) {
43992 } else {
43993 nit_abort("Assert failed", NULL, LOCATE_parser, 15951);
43994 }
43995 /* parser/parser.nit:15952 */
43996 fra.me.REG[3] = NEW_ABraExprs_parser___parser_prod___ABraExprs___init_abraexprs(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
43997 /* parser/parser.nit:15957 */
43998 fra.me.REG[2] = fra.me.REG[3];
43999 /* parser/parser.nit:15958 */
44000 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44001 if (UNTAG_Bool(REGB0)) {
44002 } else {
44003 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15958);
44004 }
44005 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44006 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44007 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44008 stack_frame_head = fra.me.prev;
44009 return;
44010 }
44011 static const char LOCATE_parser___ReduceAction512___action[] = "parser::ReduceAction512::(parser::ReduceAction::action)";
44012 void parser___ReduceAction512___action(val_t p0, val_t p1){
44013 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44014 val_t REGB0;
44015 val_t REGB1;
44016 val_t tmp;
44017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44018 fra.me.file = LOCATE_parser;
44019 fra.me.line = 15963;
44020 fra.me.meth = LOCATE_parser___ReduceAction512___action;
44021 fra.me.has_broke = 0;
44022 fra.me.REG_size = 5;
44023 fra.me.nitni_local_ref_head = NULL;
44024 fra.me.REG[0] = NIT_NULL;
44025 fra.me.REG[1] = NIT_NULL;
44026 fra.me.REG[2] = NIT_NULL;
44027 fra.me.REG[3] = NIT_NULL;
44028 fra.me.REG[4] = NIT_NULL;
44029 fra.me.REG[0] = p0;
44030 fra.me.REG[1] = p1;
44031 /* parser/parser.nit:15965 */
44032 fra.me.REG[2] = NIT_NULL;
44033 /* parser/parser.nit:15966 */
44034 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44035 /* parser/parser.nit:15967 */
44036 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44037 /* parser/parser.nit:15968 */
44038 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
44039 /* parser/parser.nit:15970 */
44040 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
44041 if (UNTAG_Bool(REGB0)) {
44042 } else {
44043 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
44044 if (UNTAG_Bool(REGB1)) {
44045 REGB1 = TAG_Bool(0);
44046 REGB0 = REGB1;
44047 } else {
44048 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
44049 REGB0 = REGB1;
44050 }
44051 }
44052 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
44053 if (UNTAG_Bool(REGB0)) {
44054 /* parser/parser.nit:15971 */
44055 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
44056 }
44057 /* parser/parser.nit:15973 */
44058 fra.me.REG[2] = fra.me.REG[4];
44059 /* parser/parser.nit:15974 */
44060 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44061 if (UNTAG_Bool(REGB0)) {
44062 } else {
44063 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15974);
44064 }
44065 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44066 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44067 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44068 stack_frame_head = fra.me.prev;
44069 return;
44070 }
44071 static const char LOCATE_parser___ReduceAction513___action[] = "parser::ReduceAction513::(parser::ReduceAction::action)";
44072 void parser___ReduceAction513___action(val_t p0, val_t p1){
44073 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44074 val_t REGB0;
44075 val_t REGB1;
44076 val_t tmp;
44077 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44078 fra.me.file = LOCATE_parser;
44079 fra.me.line = 15979;
44080 fra.me.meth = LOCATE_parser___ReduceAction513___action;
44081 fra.me.has_broke = 0;
44082 fra.me.REG_size = 6;
44083 fra.me.nitni_local_ref_head = NULL;
44084 fra.me.REG[0] = NIT_NULL;
44085 fra.me.REG[1] = NIT_NULL;
44086 fra.me.REG[2] = NIT_NULL;
44087 fra.me.REG[3] = NIT_NULL;
44088 fra.me.REG[4] = NIT_NULL;
44089 fra.me.REG[5] = NIT_NULL;
44090 fra.me.REG[0] = p0;
44091 fra.me.REG[1] = p1;
44092 /* parser/parser.nit:15981 */
44093 fra.me.REG[2] = NIT_NULL;
44094 /* parser/parser.nit:15982 */
44095 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44096 /* parser/parser.nit:15983 */
44097 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44098 /* parser/parser.nit:15984 */
44099 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44100 /* parser/parser.nit:15985 */
44101 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
44102 /* parser/parser.nit:15988 */
44103 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]*/;
44104 if (UNTAG_Bool(REGB0)) {
44105 } else {
44106 nit_abort("Assert failed", NULL, LOCATE_parser, 15988);
44107 }
44108 /* parser/parser.nit:15989 */
44109 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
44110 if (UNTAG_Bool(REGB0)) {
44111 } else {
44112 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
44113 if (UNTAG_Bool(REGB1)) {
44114 REGB1 = TAG_Bool(0);
44115 REGB0 = REGB1;
44116 } else {
44117 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
44118 REGB0 = REGB1;
44119 }
44120 }
44121 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
44122 if (UNTAG_Bool(REGB0)) {
44123 /* parser/parser.nit:15990 */
44124 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
44125 }
44126 /* parser/parser.nit:15992 */
44127 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
44128 fra.me.REG[5] = fra.me.REG[3];
44129 /* parser/parser.nit:15993 */
44130 fra.me.REG[2] = fra.me.REG[5];
44131 /* parser/parser.nit:15994 */
44132 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44133 if (UNTAG_Bool(REGB0)) {
44134 } else {
44135 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 15994);
44136 }
44137 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44138 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44139 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44140 stack_frame_head = fra.me.prev;
44141 return;
44142 }
44143 static const char LOCATE_parser___ReduceAction514___action[] = "parser::ReduceAction514::(parser::ReduceAction::action)";
44144 void parser___ReduceAction514___action(val_t p0, val_t p1){
44145 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44146 val_t REGB0;
44147 val_t tmp;
44148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44149 fra.me.file = LOCATE_parser;
44150 fra.me.line = 15999;
44151 fra.me.meth = LOCATE_parser___ReduceAction514___action;
44152 fra.me.has_broke = 0;
44153 fra.me.REG_size = 5;
44154 fra.me.nitni_local_ref_head = NULL;
44155 fra.me.REG[0] = NIT_NULL;
44156 fra.me.REG[1] = NIT_NULL;
44157 fra.me.REG[2] = NIT_NULL;
44158 fra.me.REG[3] = NIT_NULL;
44159 fra.me.REG[4] = NIT_NULL;
44160 fra.me.REG[0] = p0;
44161 fra.me.REG[1] = p1;
44162 /* parser/parser.nit:16001 */
44163 fra.me.REG[2] = NIT_NULL;
44164 /* parser/parser.nit:16002 */
44165 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44166 /* parser/parser.nit:16003 */
44167 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44168 /* parser/parser.nit:16004 */
44169 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44170 /* parser/parser.nit:16005 */
44171 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44172 /* parser/parser.nit:16007 */
44173 fra.me.REG[2] = fra.me.REG[3];
44174 /* parser/parser.nit:16008 */
44175 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44176 if (UNTAG_Bool(REGB0)) {
44177 } else {
44178 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16008);
44179 }
44180 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44181 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44182 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44183 stack_frame_head = fra.me.prev;
44184 return;
44185 }
44186 static const char LOCATE_parser___ReduceAction515___action[] = "parser::ReduceAction515::(parser::ReduceAction::action)";
44187 void parser___ReduceAction515___action(val_t p0, val_t p1){
44188 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44189 val_t REGB0;
44190 val_t REGB1;
44191 val_t tmp;
44192 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44193 fra.me.file = LOCATE_parser;
44194 fra.me.line = 16013;
44195 fra.me.meth = LOCATE_parser___ReduceAction515___action;
44196 fra.me.has_broke = 0;
44197 fra.me.REG_size = 5;
44198 fra.me.nitni_local_ref_head = NULL;
44199 fra.me.REG[0] = NIT_NULL;
44200 fra.me.REG[1] = NIT_NULL;
44201 fra.me.REG[2] = NIT_NULL;
44202 fra.me.REG[3] = NIT_NULL;
44203 fra.me.REG[4] = NIT_NULL;
44204 fra.me.REG[0] = p0;
44205 fra.me.REG[1] = p1;
44206 /* parser/parser.nit:16015 */
44207 fra.me.REG[2] = NIT_NULL;
44208 /* parser/parser.nit:16016 */
44209 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44210 /* parser/parser.nit:16017 */
44211 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
44212 /* parser/parser.nit:16019 */
44213 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
44214 if (UNTAG_Bool(REGB0)) {
44215 } else {
44216 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
44217 if (UNTAG_Bool(REGB1)) {
44218 REGB1 = TAG_Bool(0);
44219 REGB0 = REGB1;
44220 } else {
44221 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
44222 REGB0 = REGB1;
44223 }
44224 }
44225 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
44226 if (UNTAG_Bool(REGB0)) {
44227 /* parser/parser.nit:16020 */
44228 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
44229 }
44230 /* parser/parser.nit:16022 */
44231 fra.me.REG[2] = fra.me.REG[4];
44232 /* parser/parser.nit:16023 */
44233 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44234 if (UNTAG_Bool(REGB0)) {
44235 } else {
44236 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16023);
44237 }
44238 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44239 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44240 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44241 stack_frame_head = fra.me.prev;
44242 return;
44243 }
44244 static const char LOCATE_parser___ReduceAction516___action[] = "parser::ReduceAction516::(parser::ReduceAction::action)";
44245 void parser___ReduceAction516___action(val_t p0, val_t p1){
44246 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44247 val_t REGB0;
44248 val_t REGB1;
44249 val_t tmp;
44250 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44251 fra.me.file = LOCATE_parser;
44252 fra.me.line = 16028;
44253 fra.me.meth = LOCATE_parser___ReduceAction516___action;
44254 fra.me.has_broke = 0;
44255 fra.me.REG_size = 6;
44256 fra.me.nitni_local_ref_head = NULL;
44257 fra.me.REG[0] = NIT_NULL;
44258 fra.me.REG[1] = NIT_NULL;
44259 fra.me.REG[2] = NIT_NULL;
44260 fra.me.REG[3] = NIT_NULL;
44261 fra.me.REG[4] = NIT_NULL;
44262 fra.me.REG[5] = NIT_NULL;
44263 fra.me.REG[0] = p0;
44264 fra.me.REG[1] = p1;
44265 /* parser/parser.nit:16030 */
44266 fra.me.REG[2] = NIT_NULL;
44267 /* parser/parser.nit:16031 */
44268 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44269 /* parser/parser.nit:16032 */
44270 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44271 /* parser/parser.nit:16033 */
44272 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44273 /* parser/parser.nit:16034 */
44274 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44275 /* parser/parser.nit:16035 */
44276 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44277 /* parser/parser.nit:16036 */
44278 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
44279 /* parser/parser.nit:16038 */
44280 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]*/;
44281 if (UNTAG_Bool(REGB0)) {
44282 } else {
44283 nit_abort("Assert failed", NULL, LOCATE_parser, 16038);
44284 }
44285 /* parser/parser.nit:16040 */
44286 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
44287 fra.me.REG[5] = fra.me.REG[4];
44288 /* parser/parser.nit:16041 */
44289 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
44290 if (UNTAG_Bool(REGB0)) {
44291 } else {
44292 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
44293 if (UNTAG_Bool(REGB1)) {
44294 REGB1 = TAG_Bool(0);
44295 REGB0 = REGB1;
44296 } else {
44297 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
44298 REGB0 = REGB1;
44299 }
44300 }
44301 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
44302 if (UNTAG_Bool(REGB0)) {
44303 /* parser/parser.nit:16042 */
44304 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
44305 }
44306 /* parser/parser.nit:16044 */
44307 fra.me.REG[2] = fra.me.REG[5];
44308 /* parser/parser.nit:16045 */
44309 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44310 if (UNTAG_Bool(REGB0)) {
44311 } else {
44312 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16045);
44313 }
44314 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44315 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44316 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44317 stack_frame_head = fra.me.prev;
44318 return;
44319 }
44320 static const char LOCATE_parser___ReduceAction517___action[] = "parser::ReduceAction517::(parser::ReduceAction::action)";
44321 void parser___ReduceAction517___action(val_t p0, val_t p1){
44322 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44323 val_t REGB0;
44324 val_t tmp;
44325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44326 fra.me.file = LOCATE_parser;
44327 fra.me.line = 16050;
44328 fra.me.meth = LOCATE_parser___ReduceAction517___action;
44329 fra.me.has_broke = 0;
44330 fra.me.REG_size = 5;
44331 fra.me.nitni_local_ref_head = NULL;
44332 fra.me.REG[0] = NIT_NULL;
44333 fra.me.REG[1] = NIT_NULL;
44334 fra.me.REG[2] = NIT_NULL;
44335 fra.me.REG[3] = NIT_NULL;
44336 fra.me.REG[4] = NIT_NULL;
44337 fra.me.REG[0] = p0;
44338 fra.me.REG[1] = p1;
44339 /* parser/parser.nit:16052 */
44340 fra.me.REG[2] = NIT_NULL;
44341 /* parser/parser.nit:16053 */
44342 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44343 /* parser/parser.nit:16054 */
44344 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
44345 /* parser/parser.nit:16056 */
44346 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*/;
44347 if (UNTAG_Bool(REGB0)) {
44348 } else {
44349 nit_abort("Assert failed", NULL, LOCATE_parser, 16056);
44350 }
44351 /* parser/parser.nit:16057 */
44352 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[4], fra.me.REG[3]);
44353 /* parser/parser.nit:16062 */
44354 fra.me.REG[2] = fra.me.REG[3];
44355 /* parser/parser.nit:16063 */
44356 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44357 if (UNTAG_Bool(REGB0)) {
44358 } else {
44359 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16063);
44360 }
44361 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44362 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44363 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44364 stack_frame_head = fra.me.prev;
44365 return;
44366 }
44367 static const char LOCATE_parser___ReduceAction518___action[] = "parser::ReduceAction518::(parser::ReduceAction::action)";
44368 void parser___ReduceAction518___action(val_t p0, val_t p1){
44369 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44370 val_t REGB0;
44371 val_t tmp;
44372 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44373 fra.me.file = LOCATE_parser;
44374 fra.me.line = 16068;
44375 fra.me.meth = LOCATE_parser___ReduceAction518___action;
44376 fra.me.has_broke = 0;
44377 fra.me.REG_size = 6;
44378 fra.me.nitni_local_ref_head = NULL;
44379 fra.me.REG[0] = NIT_NULL;
44380 fra.me.REG[1] = NIT_NULL;
44381 fra.me.REG[2] = NIT_NULL;
44382 fra.me.REG[3] = NIT_NULL;
44383 fra.me.REG[4] = NIT_NULL;
44384 fra.me.REG[5] = NIT_NULL;
44385 fra.me.REG[0] = p0;
44386 fra.me.REG[1] = p1;
44387 /* parser/parser.nit:16070 */
44388 fra.me.REG[2] = NIT_NULL;
44389 /* parser/parser.nit:16071 */
44390 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44391 /* parser/parser.nit:16072 */
44392 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44393 /* parser/parser.nit:16073 */
44394 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
44395 /* parser/parser.nit:16075 */
44396 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]*/;
44397 if (UNTAG_Bool(REGB0)) {
44398 } else {
44399 nit_abort("Assert failed", NULL, LOCATE_parser, 16075);
44400 }
44401 /* parser/parser.nit:16076 */
44402 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
44403 fra.me.REG[5] = fra.me.REG[4];
44404 /* parser/parser.nit:16078 */
44405 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*/;
44406 if (UNTAG_Bool(REGB0)) {
44407 } else {
44408 nit_abort("Assert failed", NULL, LOCATE_parser, 16078);
44409 }
44410 /* parser/parser.nit:16079 */
44411 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(NIT_NULL, fra.me.REG[5], fra.me.REG[3]);
44412 /* parser/parser.nit:16084 */
44413 fra.me.REG[2] = fra.me.REG[3];
44414 /* parser/parser.nit:16085 */
44415 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44416 if (UNTAG_Bool(REGB0)) {
44417 } else {
44418 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16085);
44419 }
44420 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44421 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44422 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44423 stack_frame_head = fra.me.prev;
44424 return;
44425 }
44426 static const char LOCATE_parser___ReduceAction519___action[] = "parser::ReduceAction519::(parser::ReduceAction::action)";
44427 void parser___ReduceAction519___action(val_t p0, val_t p1){
44428 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44429 val_t REGB0;
44430 val_t tmp;
44431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44432 fra.me.file = LOCATE_parser;
44433 fra.me.line = 16090;
44434 fra.me.meth = LOCATE_parser___ReduceAction519___action;
44435 fra.me.has_broke = 0;
44436 fra.me.REG_size = 6;
44437 fra.me.nitni_local_ref_head = NULL;
44438 fra.me.REG[0] = NIT_NULL;
44439 fra.me.REG[1] = NIT_NULL;
44440 fra.me.REG[2] = NIT_NULL;
44441 fra.me.REG[3] = NIT_NULL;
44442 fra.me.REG[4] = NIT_NULL;
44443 fra.me.REG[5] = NIT_NULL;
44444 fra.me.REG[0] = p0;
44445 fra.me.REG[1] = p1;
44446 /* parser/parser.nit:16092 */
44447 fra.me.REG[2] = NIT_NULL;
44448 /* parser/parser.nit:16093 */
44449 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44450 /* parser/parser.nit:16094 */
44451 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44452 /* parser/parser.nit:16095 */
44453 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44454 /* parser/parser.nit:16096 */
44455 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
44456 /* parser/parser.nit:16098 */
44457 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*/;
44458 if (UNTAG_Bool(REGB0)) {
44459 } else {
44460 nit_abort("Assert failed", NULL, LOCATE_parser, 16098);
44461 }
44462 /* parser/parser.nit:16100 */
44463 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*/;
44464 if (UNTAG_Bool(REGB0)) {
44465 } else {
44466 nit_abort("Assert failed", NULL, LOCATE_parser, 16100);
44467 }
44468 /* parser/parser.nit:16101 */
44469 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[4], fra.me.REG[5], fra.me.REG[3]);
44470 /* parser/parser.nit:16106 */
44471 fra.me.REG[2] = fra.me.REG[3];
44472 /* parser/parser.nit:16107 */
44473 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44474 if (UNTAG_Bool(REGB0)) {
44475 } else {
44476 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16107);
44477 }
44478 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44479 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44480 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44481 stack_frame_head = fra.me.prev;
44482 return;
44483 }
44484 static const char LOCATE_parser___ReduceAction520___action[] = "parser::ReduceAction520::(parser::ReduceAction::action)";
44485 void parser___ReduceAction520___action(val_t p0, val_t p1){
44486 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
44487 val_t REGB0;
44488 val_t tmp;
44489 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44490 fra.me.file = LOCATE_parser;
44491 fra.me.line = 16112;
44492 fra.me.meth = LOCATE_parser___ReduceAction520___action;
44493 fra.me.has_broke = 0;
44494 fra.me.REG_size = 7;
44495 fra.me.nitni_local_ref_head = NULL;
44496 fra.me.REG[0] = NIT_NULL;
44497 fra.me.REG[1] = NIT_NULL;
44498 fra.me.REG[2] = NIT_NULL;
44499 fra.me.REG[3] = NIT_NULL;
44500 fra.me.REG[4] = NIT_NULL;
44501 fra.me.REG[5] = NIT_NULL;
44502 fra.me.REG[6] = NIT_NULL;
44503 fra.me.REG[0] = p0;
44504 fra.me.REG[1] = p1;
44505 /* parser/parser.nit:16114 */
44506 fra.me.REG[2] = NIT_NULL;
44507 /* parser/parser.nit:16115 */
44508 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44509 /* parser/parser.nit:16116 */
44510 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44511 /* parser/parser.nit:16117 */
44512 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44513 /* parser/parser.nit:16118 */
44514 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44515 /* parser/parser.nit:16119 */
44516 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
44517 /* parser/parser.nit:16121 */
44518 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*/;
44519 if (UNTAG_Bool(REGB0)) {
44520 } else {
44521 nit_abort("Assert failed", NULL, LOCATE_parser, 16121);
44522 }
44523 /* parser/parser.nit:16123 */
44524 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]*/;
44525 if (UNTAG_Bool(REGB0)) {
44526 } else {
44527 nit_abort("Assert failed", NULL, LOCATE_parser, 16123);
44528 }
44529 /* parser/parser.nit:16124 */
44530 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[6], fra.me.REG[4]);
44531 fra.me.REG[6] = fra.me.REG[4];
44532 /* parser/parser.nit:16126 */
44533 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*/;
44534 if (UNTAG_Bool(REGB0)) {
44535 } else {
44536 nit_abort("Assert failed", NULL, LOCATE_parser, 16126);
44537 }
44538 /* parser/parser.nit:16127 */
44539 fra.me.REG[3] = NEW_AModuleName_parser___parser_prod___AModuleName___init_amodulename(fra.me.REG[5], fra.me.REG[6], fra.me.REG[3]);
44540 /* parser/parser.nit:16132 */
44541 fra.me.REG[2] = fra.me.REG[3];
44542 /* parser/parser.nit:16133 */
44543 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44544 if (UNTAG_Bool(REGB0)) {
44545 } else {
44546 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16133);
44547 }
44548 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44549 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44550 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44551 stack_frame_head = fra.me.prev;
44552 return;
44553 }
44554 static const char LOCATE_parser___ReduceAction521___action[] = "parser::ReduceAction521::(parser::ReduceAction::action)";
44555 void parser___ReduceAction521___action(val_t p0, val_t p1){
44556 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44557 val_t REGB0;
44558 val_t tmp;
44559 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44560 fra.me.file = LOCATE_parser;
44561 fra.me.line = 16138;
44562 fra.me.meth = LOCATE_parser___ReduceAction521___action;
44563 fra.me.has_broke = 0;
44564 fra.me.REG_size = 5;
44565 fra.me.nitni_local_ref_head = NULL;
44566 fra.me.REG[0] = NIT_NULL;
44567 fra.me.REG[1] = NIT_NULL;
44568 fra.me.REG[2] = NIT_NULL;
44569 fra.me.REG[3] = NIT_NULL;
44570 fra.me.REG[4] = NIT_NULL;
44571 fra.me.REG[0] = p0;
44572 fra.me.REG[1] = p1;
44573 /* parser/parser.nit:16140 */
44574 fra.me.REG[2] = NIT_NULL;
44575 /* parser/parser.nit:16141 */
44576 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44577 /* parser/parser.nit:16142 */
44578 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
44579 /* parser/parser.nit:16144 */
44580 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*/;
44581 if (UNTAG_Bool(REGB0)) {
44582 } else {
44583 nit_abort("Assert failed", NULL, LOCATE_parser, 16144);
44584 }
44585 /* parser/parser.nit:16145 */
44586 fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], fra.me.REG[3]);
44587 /* parser/parser.nit:16149 */
44588 fra.me.REG[2] = fra.me.REG[3];
44589 /* parser/parser.nit:16150 */
44590 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44591 if (UNTAG_Bool(REGB0)) {
44592 } else {
44593 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16150);
44594 }
44595 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44596 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44597 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44598 stack_frame_head = fra.me.prev;
44599 return;
44600 }
44601 static const char LOCATE_parser___ReduceAction522___action[] = "parser::ReduceAction522::(parser::ReduceAction::action)";
44602 void parser___ReduceAction522___action(val_t p0, val_t p1){
44603 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
44604 val_t REGB0;
44605 val_t tmp;
44606 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44607 fra.me.file = LOCATE_parser;
44608 fra.me.line = 16155;
44609 fra.me.meth = LOCATE_parser___ReduceAction522___action;
44610 fra.me.has_broke = 0;
44611 fra.me.REG_size = 6;
44612 fra.me.nitni_local_ref_head = NULL;
44613 fra.me.REG[0] = NIT_NULL;
44614 fra.me.REG[1] = NIT_NULL;
44615 fra.me.REG[2] = NIT_NULL;
44616 fra.me.REG[3] = NIT_NULL;
44617 fra.me.REG[4] = NIT_NULL;
44618 fra.me.REG[5] = NIT_NULL;
44619 fra.me.REG[0] = p0;
44620 fra.me.REG[1] = p1;
44621 /* parser/parser.nit:16157 */
44622 fra.me.REG[2] = NIT_NULL;
44623 /* parser/parser.nit:16158 */
44624 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44625 /* parser/parser.nit:16159 */
44626 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44627 /* parser/parser.nit:16160 */
44628 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
44629 /* parser/parser.nit:16162 */
44630 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]*/;
44631 if (UNTAG_Bool(REGB0)) {
44632 } else {
44633 nit_abort("Assert failed", NULL, LOCATE_parser, 16162);
44634 }
44635 /* parser/parser.nit:16163 */
44636 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
44637 fra.me.REG[5] = fra.me.REG[4];
44638 /* parser/parser.nit:16165 */
44639 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*/;
44640 if (UNTAG_Bool(REGB0)) {
44641 } else {
44642 nit_abort("Assert failed", NULL, LOCATE_parser, 16165);
44643 }
44644 /* parser/parser.nit:16166 */
44645 fra.me.REG[3] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[5], fra.me.REG[3]);
44646 /* parser/parser.nit:16170 */
44647 fra.me.REG[2] = fra.me.REG[3];
44648 /* parser/parser.nit:16171 */
44649 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44650 if (UNTAG_Bool(REGB0)) {
44651 } else {
44652 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16171);
44653 }
44654 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44655 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44656 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44657 stack_frame_head = fra.me.prev;
44658 return;
44659 }
44660 static const char LOCATE_parser___ReduceAction523___action[] = "parser::ReduceAction523::(parser::ReduceAction::action)";
44661 void parser___ReduceAction523___action(val_t p0, val_t p1){
44662 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44663 val_t REGB0;
44664 val_t tmp;
44665 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44666 fra.me.file = LOCATE_parser;
44667 fra.me.line = 16176;
44668 fra.me.meth = LOCATE_parser___ReduceAction523___action;
44669 fra.me.has_broke = 0;
44670 fra.me.REG_size = 5;
44671 fra.me.nitni_local_ref_head = NULL;
44672 fra.me.REG[0] = NIT_NULL;
44673 fra.me.REG[1] = NIT_NULL;
44674 fra.me.REG[2] = NIT_NULL;
44675 fra.me.REG[3] = NIT_NULL;
44676 fra.me.REG[4] = NIT_NULL;
44677 fra.me.REG[0] = p0;
44678 fra.me.REG[1] = p1;
44679 /* parser/parser.nit:16178 */
44680 fra.me.REG[2] = NIT_NULL;
44681 /* parser/parser.nit:16179 */
44682 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44683 /* parser/parser.nit:16180 */
44684 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
44685 /* parser/parser.nit:16182 */
44686 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]*/;
44687 if (UNTAG_Bool(REGB0)) {
44688 } else {
44689 nit_abort("Assert failed", NULL, LOCATE_parser, 16182);
44690 }
44691 /* parser/parser.nit:16183 */
44692 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
44693 fra.me.REG[4] = fra.me.REG[3];
44694 /* parser/parser.nit:16184 */
44695 fra.me.REG[4] = NEW_AQualified_parser___parser_prod___AQualified___init_aqualified(fra.me.REG[4], NIT_NULL);
44696 /* parser/parser.nit:16188 */
44697 fra.me.REG[2] = fra.me.REG[4];
44698 /* parser/parser.nit:16189 */
44699 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44700 if (UNTAG_Bool(REGB0)) {
44701 } else {
44702 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16189);
44703 }
44704 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44705 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44706 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44707 stack_frame_head = fra.me.prev;
44708 return;
44709 }
44710 static const char LOCATE_parser___ReduceAction524___action[] = "parser::ReduceAction524::(parser::ReduceAction::action)";
44711 void parser___ReduceAction524___action(val_t p0, val_t p1){
44712 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44713 val_t REGB0;
44714 val_t tmp;
44715 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44716 fra.me.file = LOCATE_parser;
44717 fra.me.line = 16194;
44718 fra.me.meth = LOCATE_parser___ReduceAction524___action;
44719 fra.me.has_broke = 0;
44720 fra.me.REG_size = 4;
44721 fra.me.nitni_local_ref_head = NULL;
44722 fra.me.REG[0] = NIT_NULL;
44723 fra.me.REG[1] = NIT_NULL;
44724 fra.me.REG[2] = NIT_NULL;
44725 fra.me.REG[3] = NIT_NULL;
44726 fra.me.REG[0] = p0;
44727 fra.me.REG[1] = p1;
44728 /* parser/parser.nit:16196 */
44729 fra.me.REG[2] = NIT_NULL;
44730 /* parser/parser.nit:16197 */
44731 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44732 /* parser/parser.nit:16198 */
44733 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44734 /* parser/parser.nit:16199 */
44735 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44736 /* parser/parser.nit:16201 */
44737 fra.me.REG[2] = fra.me.REG[3];
44738 /* parser/parser.nit:16202 */
44739 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44740 if (UNTAG_Bool(REGB0)) {
44741 } else {
44742 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16202);
44743 }
44744 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44745 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44746 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44747 stack_frame_head = fra.me.prev;
44748 return;
44749 }
44750 static const char LOCATE_parser___ReduceAction525___action[] = "parser::ReduceAction525::(parser::ReduceAction::action)";
44751 void parser___ReduceAction525___action(val_t p0, val_t p1){
44752 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44753 val_t REGB0;
44754 val_t tmp;
44755 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44756 fra.me.file = LOCATE_parser;
44757 fra.me.line = 16207;
44758 fra.me.meth = LOCATE_parser___ReduceAction525___action;
44759 fra.me.has_broke = 0;
44760 fra.me.REG_size = 4;
44761 fra.me.nitni_local_ref_head = NULL;
44762 fra.me.REG[0] = NIT_NULL;
44763 fra.me.REG[1] = NIT_NULL;
44764 fra.me.REG[2] = NIT_NULL;
44765 fra.me.REG[3] = NIT_NULL;
44766 fra.me.REG[0] = p0;
44767 fra.me.REG[1] = p1;
44768 /* parser/parser.nit:16209 */
44769 fra.me.REG[2] = NIT_NULL;
44770 /* parser/parser.nit:16210 */
44771 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44772 /* parser/parser.nit:16211 */
44773 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44774 /* parser/parser.nit:16212 */
44775 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44776 /* parser/parser.nit:16214 */
44777 fra.me.REG[2] = fra.me.REG[3];
44778 /* parser/parser.nit:16215 */
44779 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44780 if (UNTAG_Bool(REGB0)) {
44781 } else {
44782 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16215);
44783 }
44784 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44785 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44786 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44787 stack_frame_head = fra.me.prev;
44788 return;
44789 }
44790 static const char LOCATE_parser___ReduceAction526___action[] = "parser::ReduceAction526::(parser::ReduceAction::action)";
44791 void parser___ReduceAction526___action(val_t p0, val_t p1){
44792 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44793 val_t REGB0;
44794 val_t tmp;
44795 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44796 fra.me.file = LOCATE_parser;
44797 fra.me.line = 16220;
44798 fra.me.meth = LOCATE_parser___ReduceAction526___action;
44799 fra.me.has_broke = 0;
44800 fra.me.REG_size = 4;
44801 fra.me.nitni_local_ref_head = NULL;
44802 fra.me.REG[0] = NIT_NULL;
44803 fra.me.REG[1] = NIT_NULL;
44804 fra.me.REG[2] = NIT_NULL;
44805 fra.me.REG[3] = NIT_NULL;
44806 fra.me.REG[0] = p0;
44807 fra.me.REG[1] = p1;
44808 /* parser/parser.nit:16222 */
44809 fra.me.REG[2] = NIT_NULL;
44810 /* parser/parser.nit:16223 */
44811 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44812 /* parser/parser.nit:16224 */
44813 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44814 if (UNTAG_Bool(REGB0)) {
44815 } else {
44816 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16224);
44817 }
44818 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44819 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44820 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44821 stack_frame_head = fra.me.prev;
44822 return;
44823 }
44824 static const char LOCATE_parser___ReduceAction528___action[] = "parser::ReduceAction528::(parser::ReduceAction::action)";
44825 void parser___ReduceAction528___action(val_t p0, val_t p1){
44826 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44827 val_t REGB0;
44828 val_t tmp;
44829 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44830 fra.me.file = LOCATE_parser;
44831 fra.me.line = 16229;
44832 fra.me.meth = LOCATE_parser___ReduceAction528___action;
44833 fra.me.has_broke = 0;
44834 fra.me.REG_size = 5;
44835 fra.me.nitni_local_ref_head = NULL;
44836 fra.me.REG[0] = NIT_NULL;
44837 fra.me.REG[1] = NIT_NULL;
44838 fra.me.REG[2] = NIT_NULL;
44839 fra.me.REG[3] = NIT_NULL;
44840 fra.me.REG[4] = NIT_NULL;
44841 fra.me.REG[0] = p0;
44842 fra.me.REG[1] = p1;
44843 /* parser/parser.nit:16231 */
44844 fra.me.REG[2] = NIT_NULL;
44845 /* parser/parser.nit:16232 */
44846 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44847 /* parser/parser.nit:16233 */
44848 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
44849 /* parser/parser.nit:16235 */
44850 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]*/;
44851 if (UNTAG_Bool(REGB0)) {
44852 } else {
44853 nit_abort("Assert failed", NULL, LOCATE_parser, 16235);
44854 }
44855 /* parser/parser.nit:16236 */
44856 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
44857 fra.me.REG[4] = fra.me.REG[3];
44858 /* parser/parser.nit:16237 */
44859 fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
44860 /* parser/parser.nit:16240 */
44861 fra.me.REG[2] = fra.me.REG[4];
44862 /* parser/parser.nit:16241 */
44863 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44864 if (UNTAG_Bool(REGB0)) {
44865 } else {
44866 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16241);
44867 }
44868 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44869 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44870 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44871 stack_frame_head = fra.me.prev;
44872 return;
44873 }
44874 static const char LOCATE_parser___ReduceAction529___action[] = "parser::ReduceAction529::(parser::ReduceAction::action)";
44875 void parser___ReduceAction529___action(val_t p0, val_t p1){
44876 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44877 val_t REGB0;
44878 val_t tmp;
44879 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44880 fra.me.file = LOCATE_parser;
44881 fra.me.line = 16246;
44882 fra.me.meth = LOCATE_parser___ReduceAction529___action;
44883 fra.me.has_broke = 0;
44884 fra.me.REG_size = 5;
44885 fra.me.nitni_local_ref_head = NULL;
44886 fra.me.REG[0] = NIT_NULL;
44887 fra.me.REG[1] = NIT_NULL;
44888 fra.me.REG[2] = NIT_NULL;
44889 fra.me.REG[3] = NIT_NULL;
44890 fra.me.REG[4] = NIT_NULL;
44891 fra.me.REG[0] = p0;
44892 fra.me.REG[1] = p1;
44893 /* parser/parser.nit:16248 */
44894 fra.me.REG[2] = NIT_NULL;
44895 /* parser/parser.nit:16249 */
44896 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44897 /* parser/parser.nit:16250 */
44898 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44899 /* parser/parser.nit:16251 */
44900 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
44901 /* parser/parser.nit:16253 */
44902 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]*/;
44903 if (UNTAG_Bool(REGB0)) {
44904 } else {
44905 nit_abort("Assert failed", NULL, LOCATE_parser, 16253);
44906 }
44907 /* parser/parser.nit:16254 */
44908 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], fra.me.REG[3]);
44909 fra.me.REG[4] = fra.me.REG[3];
44910 /* parser/parser.nit:16255 */
44911 fra.me.REG[4] = NEW_ADoc_parser___parser_prod___ADoc___init_adoc(fra.me.REG[4]);
44912 /* parser/parser.nit:16258 */
44913 fra.me.REG[2] = fra.me.REG[4];
44914 /* parser/parser.nit:16259 */
44915 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44916 if (UNTAG_Bool(REGB0)) {
44917 } else {
44918 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16259);
44919 }
44920 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44921 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44922 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44923 stack_frame_head = fra.me.prev;
44924 return;
44925 }
44926 static const char LOCATE_parser___ReduceAction531___action[] = "parser::ReduceAction531::(parser::ReduceAction::action)";
44927 void parser___ReduceAction531___action(val_t p0, val_t p1){
44928 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
44929 val_t REGB0;
44930 val_t tmp;
44931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44932 fra.me.file = LOCATE_parser;
44933 fra.me.line = 16264;
44934 fra.me.meth = LOCATE_parser___ReduceAction531___action;
44935 fra.me.has_broke = 0;
44936 fra.me.REG_size = 3;
44937 fra.me.nitni_local_ref_head = NULL;
44938 fra.me.REG[0] = NIT_NULL;
44939 fra.me.REG[1] = NIT_NULL;
44940 fra.me.REG[2] = NIT_NULL;
44941 fra.me.REG[0] = p0;
44942 fra.me.REG[1] = p1;
44943 /* parser/parser.nit:16266 */
44944 fra.me.REG[2] = NIT_NULL;
44945 /* parser/parser.nit:16267 */
44946 fra.me.REG[2] = NIT_NULL;
44947 /* parser/parser.nit:16268 */
44948 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44949 if (UNTAG_Bool(REGB0)) {
44950 } else {
44951 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16268);
44952 }
44953 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44954 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44955 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44956 stack_frame_head = fra.me.prev;
44957 return;
44958 }
44959 static const char LOCATE_parser___ReduceAction532___action[] = "parser::ReduceAction532::(parser::ReduceAction::action)";
44960 void parser___ReduceAction532___action(val_t p0, val_t p1){
44961 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44962 val_t REGB0;
44963 val_t tmp;
44964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44965 fra.me.file = LOCATE_parser;
44966 fra.me.line = 16273;
44967 fra.me.meth = LOCATE_parser___ReduceAction532___action;
44968 fra.me.has_broke = 0;
44969 fra.me.REG_size = 4;
44970 fra.me.nitni_local_ref_head = NULL;
44971 fra.me.REG[0] = NIT_NULL;
44972 fra.me.REG[1] = NIT_NULL;
44973 fra.me.REG[2] = NIT_NULL;
44974 fra.me.REG[3] = NIT_NULL;
44975 fra.me.REG[0] = p0;
44976 fra.me.REG[1] = p1;
44977 /* parser/parser.nit:16275 */
44978 fra.me.REG[2] = NIT_NULL;
44979 /* parser/parser.nit:16276 */
44980 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
44981 /* parser/parser.nit:16278 */
44982 fra.me.REG[2] = fra.me.REG[3];
44983 /* parser/parser.nit:16279 */
44984 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
44985 if (UNTAG_Bool(REGB0)) {
44986 } else {
44987 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16279);
44988 }
44989 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
44990 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
44991 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
44992 stack_frame_head = fra.me.prev;
44993 return;
44994 }
44995 static const char LOCATE_parser___ReduceAction533___action[] = "parser::ReduceAction533::(parser::ReduceAction::action)";
44996 void parser___ReduceAction533___action(val_t p0, val_t p1){
44997 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44998 val_t REGB0;
44999 val_t tmp;
45000 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45001 fra.me.file = LOCATE_parser;
45002 fra.me.line = 16284;
45003 fra.me.meth = LOCATE_parser___ReduceAction533___action;
45004 fra.me.has_broke = 0;
45005 fra.me.REG_size = 4;
45006 fra.me.nitni_local_ref_head = NULL;
45007 fra.me.REG[0] = NIT_NULL;
45008 fra.me.REG[1] = NIT_NULL;
45009 fra.me.REG[2] = NIT_NULL;
45010 fra.me.REG[3] = NIT_NULL;
45011 fra.me.REG[0] = p0;
45012 fra.me.REG[1] = p1;
45013 /* parser/parser.nit:16286 */
45014 fra.me.REG[2] = NIT_NULL;
45015 /* parser/parser.nit:16287 */
45016 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45017 /* parser/parser.nit:16288 */
45018 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45019 /* parser/parser.nit:16289 */
45020 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45021 if (UNTAG_Bool(REGB0)) {
45022 } else {
45023 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16289);
45024 }
45025 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45026 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45027 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45028 stack_frame_head = fra.me.prev;
45029 return;
45030 }
45031 static const char LOCATE_parser___ReduceAction534___action[] = "parser::ReduceAction534::(parser::ReduceAction::action)";
45032 void parser___ReduceAction534___action(val_t p0, val_t p1){
45033 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
45034 val_t REGB0;
45035 val_t tmp;
45036 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45037 fra.me.file = LOCATE_parser;
45038 fra.me.line = 16294;
45039 fra.me.meth = LOCATE_parser___ReduceAction534___action;
45040 fra.me.has_broke = 0;
45041 fra.me.REG_size = 4;
45042 fra.me.nitni_local_ref_head = NULL;
45043 fra.me.REG[0] = NIT_NULL;
45044 fra.me.REG[1] = NIT_NULL;
45045 fra.me.REG[2] = NIT_NULL;
45046 fra.me.REG[3] = NIT_NULL;
45047 fra.me.REG[0] = p0;
45048 fra.me.REG[1] = p1;
45049 /* parser/parser.nit:16296 */
45050 fra.me.REG[2] = NIT_NULL;
45051 /* parser/parser.nit:16297 */
45052 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45053 /* parser/parser.nit:16298 */
45054 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45055 /* parser/parser.nit:16299 */
45056 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45057 /* parser/parser.nit:16300 */
45058 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45059 if (UNTAG_Bool(REGB0)) {
45060 } else {
45061 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16300);
45062 }
45063 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45064 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45065 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45066 stack_frame_head = fra.me.prev;
45067 return;
45068 }
45069 static const char LOCATE_parser___ReduceAction806___action[] = "parser::ReduceAction806::(parser::ReduceAction::action)";
45070 void parser___ReduceAction806___action(val_t p0, val_t p1){
45071 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45072 val_t REGB0;
45073 val_t tmp;
45074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45075 fra.me.file = LOCATE_parser;
45076 fra.me.line = 16305;
45077 fra.me.meth = LOCATE_parser___ReduceAction806___action;
45078 fra.me.has_broke = 0;
45079 fra.me.REG_size = 6;
45080 fra.me.nitni_local_ref_head = NULL;
45081 fra.me.REG[0] = NIT_NULL;
45082 fra.me.REG[1] = NIT_NULL;
45083 fra.me.REG[2] = NIT_NULL;
45084 fra.me.REG[3] = NIT_NULL;
45085 fra.me.REG[4] = NIT_NULL;
45086 fra.me.REG[5] = NIT_NULL;
45087 fra.me.REG[0] = p0;
45088 fra.me.REG[1] = p1;
45089 /* parser/parser.nit:16307 */
45090 fra.me.REG[2] = NIT_NULL;
45091 /* parser/parser.nit:16308 */
45092 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45093 /* parser/parser.nit:16309 */
45094 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45095 /* parser/parser.nit:16310 */
45096 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45097 /* parser/parser.nit:16312 */
45098 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*/;
45099 if (UNTAG_Bool(REGB0)) {
45100 } else {
45101 nit_abort("Assert failed", NULL, LOCATE_parser, 16312);
45102 }
45103 /* parser/parser.nit:16314 */
45104 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*/;
45105 if (UNTAG_Bool(REGB0)) {
45106 } else {
45107 nit_abort("Assert failed", NULL, LOCATE_parser, 16314);
45108 }
45109 /* parser/parser.nit:16316 */
45110 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*/;
45111 if (UNTAG_Bool(REGB0)) {
45112 } else {
45113 nit_abort("Assert failed", NULL, LOCATE_parser, 16316);
45114 }
45115 /* parser/parser.nit:16317 */
45116 fra.me.REG[3] = NEW_AIssetAttrExpr_parser___parser_prod___AIssetAttrExpr___init_aissetattrexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
45117 /* parser/parser.nit:16322 */
45118 fra.me.REG[2] = fra.me.REG[3];
45119 /* parser/parser.nit:16323 */
45120 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45121 if (UNTAG_Bool(REGB0)) {
45122 } else {
45123 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16323);
45124 }
45125 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45126 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45127 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45128 stack_frame_head = fra.me.prev;
45129 return;
45130 }
45131 static const char LOCATE_parser___ReduceAction807___action[] = "parser::ReduceAction807::(parser::ReduceAction::action)";
45132 void parser___ReduceAction807___action(val_t p0, val_t p1){
45133 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45134 val_t REGB0;
45135 val_t tmp;
45136 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45137 fra.me.file = LOCATE_parser;
45138 fra.me.line = 16328;
45139 fra.me.meth = LOCATE_parser___ReduceAction807___action;
45140 fra.me.has_broke = 0;
45141 fra.me.REG_size = 5;
45142 fra.me.nitni_local_ref_head = NULL;
45143 fra.me.REG[0] = NIT_NULL;
45144 fra.me.REG[1] = NIT_NULL;
45145 fra.me.REG[2] = NIT_NULL;
45146 fra.me.REG[3] = NIT_NULL;
45147 fra.me.REG[4] = NIT_NULL;
45148 fra.me.REG[0] = p0;
45149 fra.me.REG[1] = p1;
45150 /* parser/parser.nit:16330 */
45151 fra.me.REG[2] = NIT_NULL;
45152 /* parser/parser.nit:16331 */
45153 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45154 /* parser/parser.nit:16332 */
45155 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45156 /* parser/parser.nit:16334 */
45157 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*/;
45158 if (UNTAG_Bool(REGB0)) {
45159 } else {
45160 nit_abort("Assert failed", NULL, LOCATE_parser, 16334);
45161 }
45162 /* parser/parser.nit:16336 */
45163 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*/;
45164 if (UNTAG_Bool(REGB0)) {
45165 } else {
45166 nit_abort("Assert failed", NULL, LOCATE_parser, 16336);
45167 }
45168 /* parser/parser.nit:16337 */
45169 fra.me.REG[3] = NEW_AAttrExpr_parser___parser_prod___AAttrExpr___init_aattrexpr(fra.me.REG[4], fra.me.REG[3]);
45170 /* parser/parser.nit:16341 */
45171 fra.me.REG[2] = fra.me.REG[3];
45172 /* parser/parser.nit:16342 */
45173 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45174 if (UNTAG_Bool(REGB0)) {
45175 } else {
45176 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16342);
45177 }
45178 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45179 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45180 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45181 stack_frame_head = fra.me.prev;
45182 return;
45183 }
45184 static const char LOCATE_parser___ReduceAction808___action[] = "parser::ReduceAction808::(parser::ReduceAction::action)";
45185 void parser___ReduceAction808___action(val_t p0, val_t p1){
45186 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
45187 val_t REGB0;
45188 val_t tmp;
45189 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45190 fra.me.file = LOCATE_parser;
45191 fra.me.line = 16347;
45192 fra.me.meth = LOCATE_parser___ReduceAction808___action;
45193 fra.me.has_broke = 0;
45194 fra.me.REG_size = 7;
45195 fra.me.nitni_local_ref_head = NULL;
45196 fra.me.REG[0] = NIT_NULL;
45197 fra.me.REG[1] = NIT_NULL;
45198 fra.me.REG[2] = NIT_NULL;
45199 fra.me.REG[3] = NIT_NULL;
45200 fra.me.REG[4] = NIT_NULL;
45201 fra.me.REG[5] = NIT_NULL;
45202 fra.me.REG[6] = NIT_NULL;
45203 fra.me.REG[0] = p0;
45204 fra.me.REG[1] = p1;
45205 /* parser/parser.nit:16349 */
45206 fra.me.REG[2] = NIT_NULL;
45207 /* parser/parser.nit:16350 */
45208 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45209 /* parser/parser.nit:16351 */
45210 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45211 /* parser/parser.nit:16352 */
45212 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45213 /* parser/parser.nit:16353 */
45214 fra.me.REG[6] = NEW_Array_standard___collection___array___Array___init();
45215 /* parser/parser.nit:16355 */
45216 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*/;
45217 if (UNTAG_Bool(REGB0)) {
45218 } else {
45219 nit_abort("Assert failed", NULL, LOCATE_parser, 16355);
45220 }
45221 /* parser/parser.nit:16357 */
45222 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*/;
45223 if (UNTAG_Bool(REGB0)) {
45224 } else {
45225 nit_abort("Assert failed", NULL, LOCATE_parser, 16357);
45226 }
45227 /* parser/parser.nit:16359 */
45228 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
45229 if (UNTAG_Bool(REGB0)) {
45230 } else {
45231 nit_abort("Assert failed", NULL, LOCATE_parser, 16359);
45232 }
45233 /* parser/parser.nit:16360 */
45234 fra.me.REG[6] = NEW_ACallExpr_parser___parser_prod___ACallExpr___init_acallexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3], fra.me.REG[6]);
45235 /* parser/parser.nit:16366 */
45236 fra.me.REG[2] = fra.me.REG[6];
45237 /* parser/parser.nit:16367 */
45238 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45239 if (UNTAG_Bool(REGB0)) {
45240 } else {
45241 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16367);
45242 }
45243 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45244 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45245 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45246 stack_frame_head = fra.me.prev;
45247 return;
45248 }
45249 static const char LOCATE_parser___ReduceAction811___action[] = "parser::ReduceAction811::(parser::ReduceAction::action)";
45250 void parser___ReduceAction811___action(val_t p0, val_t p1){
45251 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45252 val_t REGB0;
45253 val_t tmp;
45254 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45255 fra.me.file = LOCATE_parser;
45256 fra.me.line = 16372;
45257 fra.me.meth = LOCATE_parser___ReduceAction811___action;
45258 fra.me.has_broke = 0;
45259 fra.me.REG_size = 6;
45260 fra.me.nitni_local_ref_head = NULL;
45261 fra.me.REG[0] = NIT_NULL;
45262 fra.me.REG[1] = NIT_NULL;
45263 fra.me.REG[2] = NIT_NULL;
45264 fra.me.REG[3] = NIT_NULL;
45265 fra.me.REG[4] = NIT_NULL;
45266 fra.me.REG[5] = NIT_NULL;
45267 fra.me.REG[0] = p0;
45268 fra.me.REG[1] = p1;
45269 /* parser/parser.nit:16374 */
45270 fra.me.REG[2] = NIT_NULL;
45271 /* parser/parser.nit:16375 */
45272 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45273 /* parser/parser.nit:16376 */
45274 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45275 /* parser/parser.nit:16377 */
45276 fra.me.REG[5] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45277 /* parser/parser.nit:16379 */
45278 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*/;
45279 if (UNTAG_Bool(REGB0)) {
45280 } else {
45281 nit_abort("Assert failed", NULL, LOCATE_parser, 16379);
45282 }
45283 /* parser/parser.nit:16381 */
45284 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*/;
45285 if (UNTAG_Bool(REGB0)) {
45286 } else {
45287 nit_abort("Assert failed", NULL, LOCATE_parser, 16381);
45288 }
45289 /* parser/parser.nit:16383 */
45290 REGB0 = TAG_Bool((fra.me.REG[3]==NIT_NULL) || VAL_ISA(fra.me.REG[3], COLOR_parser___parser_nodes___AExprs, ID_parser___parser_nodes___AExprs)) /*cast nullable AExprs*/;
45291 if (UNTAG_Bool(REGB0)) {
45292 } else {
45293 nit_abort("Assert failed", NULL, LOCATE_parser, 16383);
45294 }
45295 /* parser/parser.nit:16384 */
45296 fra.me.REG[3] = NEW_AInitExpr_parser___parser_prod___AInitExpr___init_ainitexpr(fra.me.REG[5], fra.me.REG[4], fra.me.REG[3]);
45297 /* parser/parser.nit:16389 */
45298 fra.me.REG[2] = fra.me.REG[3];
45299 /* parser/parser.nit:16390 */
45300 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45301 if (UNTAG_Bool(REGB0)) {
45302 } else {
45303 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16390);
45304 }
45305 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45306 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45307 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45308 stack_frame_head = fra.me.prev;
45309 return;
45310 }
45311 static const char LOCATE_parser___ReduceAction824___action[] = "parser::ReduceAction824::(parser::ReduceAction::action)";
45312 void parser___ReduceAction824___action(val_t p0, val_t p1){
45313 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
45314 val_t REGB0;
45315 val_t tmp;
45316 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45317 fra.me.file = LOCATE_parser;
45318 fra.me.line = 16395;
45319 fra.me.meth = LOCATE_parser___ReduceAction824___action;
45320 fra.me.has_broke = 0;
45321 fra.me.REG_size = 4;
45322 fra.me.nitni_local_ref_head = NULL;
45323 fra.me.REG[0] = NIT_NULL;
45324 fra.me.REG[1] = NIT_NULL;
45325 fra.me.REG[2] = NIT_NULL;
45326 fra.me.REG[3] = NIT_NULL;
45327 fra.me.REG[0] = p0;
45328 fra.me.REG[1] = p1;
45329 /* parser/parser.nit:16397 */
45330 fra.me.REG[2] = NIT_NULL;
45331 /* parser/parser.nit:16398 */
45332 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45333 /* parser/parser.nit:16399 */
45334 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45335 /* parser/parser.nit:16400 */
45336 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45337 /* parser/parser.nit:16402 */
45338 fra.me.REG[2] = fra.me.REG[3];
45339 /* parser/parser.nit:16403 */
45340 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45341 if (UNTAG_Bool(REGB0)) {
45342 } else {
45343 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16403);
45344 }
45345 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45346 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45347 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45348 stack_frame_head = fra.me.prev;
45349 return;
45350 }
45351 static const char LOCATE_parser___ReduceAction825___action[] = "parser::ReduceAction825::(parser::ReduceAction::action)";
45352 void parser___ReduceAction825___action(val_t p0, val_t p1){
45353 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
45354 val_t REGB0;
45355 val_t tmp;
45356 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45357 fra.me.file = LOCATE_parser;
45358 fra.me.line = 16408;
45359 fra.me.meth = LOCATE_parser___ReduceAction825___action;
45360 fra.me.has_broke = 0;
45361 fra.me.REG_size = 4;
45362 fra.me.nitni_local_ref_head = NULL;
45363 fra.me.REG[0] = NIT_NULL;
45364 fra.me.REG[1] = NIT_NULL;
45365 fra.me.REG[2] = NIT_NULL;
45366 fra.me.REG[3] = NIT_NULL;
45367 fra.me.REG[0] = p0;
45368 fra.me.REG[1] = p1;
45369 /* parser/parser.nit:16410 */
45370 fra.me.REG[2] = NIT_NULL;
45371 /* parser/parser.nit:16411 */
45372 fra.me.REG[3] = NEW_AImplicitSelfExpr_parser___parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr();
45373 /* parser/parser.nit:16412 */
45374 fra.me.REG[2] = fra.me.REG[3];
45375 /* parser/parser.nit:16413 */
45376 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45377 if (UNTAG_Bool(REGB0)) {
45378 } else {
45379 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16413);
45380 }
45381 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45382 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45383 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45384 stack_frame_head = fra.me.prev;
45385 return;
45386 }
45387 static const char LOCATE_parser___ReduceAction832___action[] = "parser::ReduceAction832::(parser::ReduceAction::action)";
45388 void parser___ReduceAction832___action(val_t p0, val_t p1){
45389 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45390 val_t REGB0;
45391 val_t REGB1;
45392 val_t tmp;
45393 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45394 fra.me.file = LOCATE_parser;
45395 fra.me.line = 16418;
45396 fra.me.meth = LOCATE_parser___ReduceAction832___action;
45397 fra.me.has_broke = 0;
45398 fra.me.REG_size = 5;
45399 fra.me.nitni_local_ref_head = NULL;
45400 fra.me.REG[0] = NIT_NULL;
45401 fra.me.REG[1] = NIT_NULL;
45402 fra.me.REG[2] = NIT_NULL;
45403 fra.me.REG[3] = NIT_NULL;
45404 fra.me.REG[4] = NIT_NULL;
45405 fra.me.REG[0] = p0;
45406 fra.me.REG[1] = p1;
45407 /* parser/parser.nit:16420 */
45408 fra.me.REG[2] = NIT_NULL;
45409 /* parser/parser.nit:16421 */
45410 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45411 /* parser/parser.nit:16422 */
45412 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45413 /* parser/parser.nit:16424 */
45414 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45415 if (UNTAG_Bool(REGB0)) {
45416 } else {
45417 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45418 if (UNTAG_Bool(REGB1)) {
45419 REGB1 = TAG_Bool(0);
45420 REGB0 = REGB1;
45421 } else {
45422 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45423 REGB0 = REGB1;
45424 }
45425 }
45426 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45427 if (UNTAG_Bool(REGB0)) {
45428 /* parser/parser.nit:16425 */
45429 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
45430 }
45431 /* parser/parser.nit:16427 */
45432 fra.me.REG[2] = fra.me.REG[4];
45433 /* parser/parser.nit:16428 */
45434 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45435 if (UNTAG_Bool(REGB0)) {
45436 } else {
45437 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16428);
45438 }
45439 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45440 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45441 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45442 stack_frame_head = fra.me.prev;
45443 return;
45444 }
45445 static const char LOCATE_parser___ReduceAction833___action[] = "parser::ReduceAction833::(parser::ReduceAction::action)";
45446 void parser___ReduceAction833___action(val_t p0, val_t p1){
45447 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45448 val_t REGB0;
45449 val_t REGB1;
45450 val_t tmp;
45451 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45452 fra.me.file = LOCATE_parser;
45453 fra.me.line = 16433;
45454 fra.me.meth = LOCATE_parser___ReduceAction833___action;
45455 fra.me.has_broke = 0;
45456 fra.me.REG_size = 6;
45457 fra.me.nitni_local_ref_head = NULL;
45458 fra.me.REG[0] = NIT_NULL;
45459 fra.me.REG[1] = NIT_NULL;
45460 fra.me.REG[2] = NIT_NULL;
45461 fra.me.REG[3] = NIT_NULL;
45462 fra.me.REG[4] = NIT_NULL;
45463 fra.me.REG[5] = NIT_NULL;
45464 fra.me.REG[0] = p0;
45465 fra.me.REG[1] = p1;
45466 /* parser/parser.nit:16435 */
45467 fra.me.REG[2] = NIT_NULL;
45468 /* parser/parser.nit:16436 */
45469 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45470 /* parser/parser.nit:16437 */
45471 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45472 /* parser/parser.nit:16438 */
45473 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45474 /* parser/parser.nit:16440 */
45475 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]*/;
45476 if (UNTAG_Bool(REGB0)) {
45477 } else {
45478 nit_abort("Assert failed", NULL, LOCATE_parser, 16440);
45479 }
45480 /* parser/parser.nit:16442 */
45481 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
45482 fra.me.REG[5] = fra.me.REG[4];
45483 /* parser/parser.nit:16443 */
45484 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45485 if (UNTAG_Bool(REGB0)) {
45486 } else {
45487 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45488 if (UNTAG_Bool(REGB1)) {
45489 REGB1 = TAG_Bool(0);
45490 REGB0 = REGB1;
45491 } else {
45492 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45493 REGB0 = REGB1;
45494 }
45495 }
45496 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45497 if (UNTAG_Bool(REGB0)) {
45498 /* parser/parser.nit:16444 */
45499 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
45500 }
45501 /* parser/parser.nit:16446 */
45502 fra.me.REG[2] = fra.me.REG[5];
45503 /* parser/parser.nit:16447 */
45504 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45505 if (UNTAG_Bool(REGB0)) {
45506 } else {
45507 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16447);
45508 }
45509 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45510 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45511 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45512 stack_frame_head = fra.me.prev;
45513 return;
45514 }
45515 static const char LOCATE_parser___ReduceAction834___action[] = "parser::ReduceAction834::(parser::ReduceAction::action)";
45516 void parser___ReduceAction834___action(val_t p0, val_t p1){
45517 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45518 val_t REGB0;
45519 val_t REGB1;
45520 val_t tmp;
45521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45522 fra.me.file = LOCATE_parser;
45523 fra.me.line = 16452;
45524 fra.me.meth = LOCATE_parser___ReduceAction834___action;
45525 fra.me.has_broke = 0;
45526 fra.me.REG_size = 5;
45527 fra.me.nitni_local_ref_head = NULL;
45528 fra.me.REG[0] = NIT_NULL;
45529 fra.me.REG[1] = NIT_NULL;
45530 fra.me.REG[2] = NIT_NULL;
45531 fra.me.REG[3] = NIT_NULL;
45532 fra.me.REG[4] = NIT_NULL;
45533 fra.me.REG[0] = p0;
45534 fra.me.REG[1] = p1;
45535 /* parser/parser.nit:16454 */
45536 fra.me.REG[2] = NIT_NULL;
45537 /* parser/parser.nit:16455 */
45538 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45539 /* parser/parser.nit:16456 */
45540 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45541 /* parser/parser.nit:16458 */
45542 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45543 if (UNTAG_Bool(REGB0)) {
45544 } else {
45545 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45546 if (UNTAG_Bool(REGB1)) {
45547 REGB1 = TAG_Bool(0);
45548 REGB0 = REGB1;
45549 } else {
45550 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45551 REGB0 = REGB1;
45552 }
45553 }
45554 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45555 if (UNTAG_Bool(REGB0)) {
45556 /* parser/parser.nit:16459 */
45557 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
45558 }
45559 /* parser/parser.nit:16461 */
45560 fra.me.REG[2] = fra.me.REG[4];
45561 /* parser/parser.nit:16462 */
45562 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45563 if (UNTAG_Bool(REGB0)) {
45564 } else {
45565 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16462);
45566 }
45567 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45568 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45569 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45570 stack_frame_head = fra.me.prev;
45571 return;
45572 }
45573 static const char LOCATE_parser___ReduceAction835___action[] = "parser::ReduceAction835::(parser::ReduceAction::action)";
45574 void parser___ReduceAction835___action(val_t p0, val_t p1){
45575 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45576 val_t REGB0;
45577 val_t REGB1;
45578 val_t tmp;
45579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45580 fra.me.file = LOCATE_parser;
45581 fra.me.line = 16467;
45582 fra.me.meth = LOCATE_parser___ReduceAction835___action;
45583 fra.me.has_broke = 0;
45584 fra.me.REG_size = 6;
45585 fra.me.nitni_local_ref_head = NULL;
45586 fra.me.REG[0] = NIT_NULL;
45587 fra.me.REG[1] = NIT_NULL;
45588 fra.me.REG[2] = NIT_NULL;
45589 fra.me.REG[3] = NIT_NULL;
45590 fra.me.REG[4] = NIT_NULL;
45591 fra.me.REG[5] = NIT_NULL;
45592 fra.me.REG[0] = p0;
45593 fra.me.REG[1] = p1;
45594 /* parser/parser.nit:16469 */
45595 fra.me.REG[2] = NIT_NULL;
45596 /* parser/parser.nit:16470 */
45597 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45598 /* parser/parser.nit:16471 */
45599 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45600 /* parser/parser.nit:16472 */
45601 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45602 /* parser/parser.nit:16474 */
45603 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]*/;
45604 if (UNTAG_Bool(REGB0)) {
45605 } else {
45606 nit_abort("Assert failed", NULL, LOCATE_parser, 16474);
45607 }
45608 /* parser/parser.nit:16476 */
45609 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
45610 fra.me.REG[5] = fra.me.REG[4];
45611 /* parser/parser.nit:16477 */
45612 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45613 if (UNTAG_Bool(REGB0)) {
45614 } else {
45615 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45616 if (UNTAG_Bool(REGB1)) {
45617 REGB1 = TAG_Bool(0);
45618 REGB0 = REGB1;
45619 } else {
45620 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45621 REGB0 = REGB1;
45622 }
45623 }
45624 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45625 if (UNTAG_Bool(REGB0)) {
45626 /* parser/parser.nit:16478 */
45627 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
45628 }
45629 /* parser/parser.nit:16480 */
45630 fra.me.REG[2] = fra.me.REG[5];
45631 /* parser/parser.nit:16481 */
45632 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45633 if (UNTAG_Bool(REGB0)) {
45634 } else {
45635 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16481);
45636 }
45637 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45638 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45639 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45640 stack_frame_head = fra.me.prev;
45641 return;
45642 }
45643 static const char LOCATE_parser___ReduceAction836___action[] = "parser::ReduceAction836::(parser::ReduceAction::action)";
45644 void parser___ReduceAction836___action(val_t p0, val_t p1){
45645 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45646 val_t REGB0;
45647 val_t REGB1;
45648 val_t tmp;
45649 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45650 fra.me.file = LOCATE_parser;
45651 fra.me.line = 16486;
45652 fra.me.meth = LOCATE_parser___ReduceAction836___action;
45653 fra.me.has_broke = 0;
45654 fra.me.REG_size = 5;
45655 fra.me.nitni_local_ref_head = NULL;
45656 fra.me.REG[0] = NIT_NULL;
45657 fra.me.REG[1] = NIT_NULL;
45658 fra.me.REG[2] = NIT_NULL;
45659 fra.me.REG[3] = NIT_NULL;
45660 fra.me.REG[4] = NIT_NULL;
45661 fra.me.REG[0] = p0;
45662 fra.me.REG[1] = p1;
45663 /* parser/parser.nit:16488 */
45664 fra.me.REG[2] = NIT_NULL;
45665 /* parser/parser.nit:16489 */
45666 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45667 /* parser/parser.nit:16490 */
45668 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45669 /* parser/parser.nit:16492 */
45670 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45671 if (UNTAG_Bool(REGB0)) {
45672 } else {
45673 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45674 if (UNTAG_Bool(REGB1)) {
45675 REGB1 = TAG_Bool(0);
45676 REGB0 = REGB1;
45677 } else {
45678 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45679 REGB0 = REGB1;
45680 }
45681 }
45682 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45683 if (UNTAG_Bool(REGB0)) {
45684 /* parser/parser.nit:16493 */
45685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
45686 }
45687 /* parser/parser.nit:16495 */
45688 fra.me.REG[2] = fra.me.REG[4];
45689 /* parser/parser.nit:16496 */
45690 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45691 if (UNTAG_Bool(REGB0)) {
45692 } else {
45693 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16496);
45694 }
45695 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45696 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45697 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45698 stack_frame_head = fra.me.prev;
45699 return;
45700 }
45701 static const char LOCATE_parser___ReduceAction837___action[] = "parser::ReduceAction837::(parser::ReduceAction::action)";
45702 void parser___ReduceAction837___action(val_t p0, val_t p1){
45703 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45704 val_t REGB0;
45705 val_t REGB1;
45706 val_t tmp;
45707 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45708 fra.me.file = LOCATE_parser;
45709 fra.me.line = 16501;
45710 fra.me.meth = LOCATE_parser___ReduceAction837___action;
45711 fra.me.has_broke = 0;
45712 fra.me.REG_size = 6;
45713 fra.me.nitni_local_ref_head = NULL;
45714 fra.me.REG[0] = NIT_NULL;
45715 fra.me.REG[1] = NIT_NULL;
45716 fra.me.REG[2] = NIT_NULL;
45717 fra.me.REG[3] = NIT_NULL;
45718 fra.me.REG[4] = NIT_NULL;
45719 fra.me.REG[5] = NIT_NULL;
45720 fra.me.REG[0] = p0;
45721 fra.me.REG[1] = p1;
45722 /* parser/parser.nit:16503 */
45723 fra.me.REG[2] = NIT_NULL;
45724 /* parser/parser.nit:16504 */
45725 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45726 /* parser/parser.nit:16505 */
45727 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45728 /* parser/parser.nit:16506 */
45729 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45730 /* parser/parser.nit:16508 */
45731 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]*/;
45732 if (UNTAG_Bool(REGB0)) {
45733 } else {
45734 nit_abort("Assert failed", NULL, LOCATE_parser, 16508);
45735 }
45736 /* parser/parser.nit:16510 */
45737 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
45738 fra.me.REG[5] = fra.me.REG[4];
45739 /* parser/parser.nit:16511 */
45740 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45741 if (UNTAG_Bool(REGB0)) {
45742 } else {
45743 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45744 if (UNTAG_Bool(REGB1)) {
45745 REGB1 = TAG_Bool(0);
45746 REGB0 = REGB1;
45747 } else {
45748 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45749 REGB0 = REGB1;
45750 }
45751 }
45752 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45753 if (UNTAG_Bool(REGB0)) {
45754 /* parser/parser.nit:16512 */
45755 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
45756 }
45757 /* parser/parser.nit:16514 */
45758 fra.me.REG[2] = fra.me.REG[5];
45759 /* parser/parser.nit:16515 */
45760 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45761 if (UNTAG_Bool(REGB0)) {
45762 } else {
45763 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16515);
45764 }
45765 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45766 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45767 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45768 stack_frame_head = fra.me.prev;
45769 return;
45770 }
45771 static const char LOCATE_parser___ReduceAction838___action[] = "parser::ReduceAction838::(parser::ReduceAction::action)";
45772 void parser___ReduceAction838___action(val_t p0, val_t p1){
45773 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45774 val_t REGB0;
45775 val_t REGB1;
45776 val_t tmp;
45777 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45778 fra.me.file = LOCATE_parser;
45779 fra.me.line = 16520;
45780 fra.me.meth = LOCATE_parser___ReduceAction838___action;
45781 fra.me.has_broke = 0;
45782 fra.me.REG_size = 5;
45783 fra.me.nitni_local_ref_head = NULL;
45784 fra.me.REG[0] = NIT_NULL;
45785 fra.me.REG[1] = NIT_NULL;
45786 fra.me.REG[2] = NIT_NULL;
45787 fra.me.REG[3] = NIT_NULL;
45788 fra.me.REG[4] = NIT_NULL;
45789 fra.me.REG[0] = p0;
45790 fra.me.REG[1] = p1;
45791 /* parser/parser.nit:16522 */
45792 fra.me.REG[2] = NIT_NULL;
45793 /* parser/parser.nit:16523 */
45794 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45795 /* parser/parser.nit:16524 */
45796 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45797 /* parser/parser.nit:16526 */
45798 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45799 if (UNTAG_Bool(REGB0)) {
45800 } else {
45801 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45802 if (UNTAG_Bool(REGB1)) {
45803 REGB1 = TAG_Bool(0);
45804 REGB0 = REGB1;
45805 } else {
45806 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45807 REGB0 = REGB1;
45808 }
45809 }
45810 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45811 if (UNTAG_Bool(REGB0)) {
45812 /* parser/parser.nit:16527 */
45813 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
45814 }
45815 /* parser/parser.nit:16529 */
45816 fra.me.REG[2] = fra.me.REG[4];
45817 /* parser/parser.nit:16530 */
45818 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45819 if (UNTAG_Bool(REGB0)) {
45820 } else {
45821 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16530);
45822 }
45823 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45824 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45825 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45826 stack_frame_head = fra.me.prev;
45827 return;
45828 }
45829 static const char LOCATE_parser___ReduceAction839___action[] = "parser::ReduceAction839::(parser::ReduceAction::action)";
45830 void parser___ReduceAction839___action(val_t p0, val_t p1){
45831 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45832 val_t REGB0;
45833 val_t REGB1;
45834 val_t tmp;
45835 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45836 fra.me.file = LOCATE_parser;
45837 fra.me.line = 16535;
45838 fra.me.meth = LOCATE_parser___ReduceAction839___action;
45839 fra.me.has_broke = 0;
45840 fra.me.REG_size = 6;
45841 fra.me.nitni_local_ref_head = NULL;
45842 fra.me.REG[0] = NIT_NULL;
45843 fra.me.REG[1] = NIT_NULL;
45844 fra.me.REG[2] = NIT_NULL;
45845 fra.me.REG[3] = NIT_NULL;
45846 fra.me.REG[4] = NIT_NULL;
45847 fra.me.REG[5] = NIT_NULL;
45848 fra.me.REG[0] = p0;
45849 fra.me.REG[1] = p1;
45850 /* parser/parser.nit:16537 */
45851 fra.me.REG[2] = NIT_NULL;
45852 /* parser/parser.nit:16538 */
45853 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45854 /* parser/parser.nit:16539 */
45855 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45856 /* parser/parser.nit:16540 */
45857 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45858 /* parser/parser.nit:16542 */
45859 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]*/;
45860 if (UNTAG_Bool(REGB0)) {
45861 } else {
45862 nit_abort("Assert failed", NULL, LOCATE_parser, 16542);
45863 }
45864 /* parser/parser.nit:16544 */
45865 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
45866 fra.me.REG[5] = fra.me.REG[4];
45867 /* parser/parser.nit:16545 */
45868 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45869 if (UNTAG_Bool(REGB0)) {
45870 } else {
45871 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45872 if (UNTAG_Bool(REGB1)) {
45873 REGB1 = TAG_Bool(0);
45874 REGB0 = REGB1;
45875 } else {
45876 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45877 REGB0 = REGB1;
45878 }
45879 }
45880 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45881 if (UNTAG_Bool(REGB0)) {
45882 /* parser/parser.nit:16546 */
45883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
45884 }
45885 /* parser/parser.nit:16548 */
45886 fra.me.REG[2] = fra.me.REG[5];
45887 /* parser/parser.nit:16549 */
45888 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45889 if (UNTAG_Bool(REGB0)) {
45890 } else {
45891 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16549);
45892 }
45893 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45894 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45895 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45896 stack_frame_head = fra.me.prev;
45897 return;
45898 }
45899 static const char LOCATE_parser___ReduceAction840___action[] = "parser::ReduceAction840::(parser::ReduceAction::action)";
45900 void parser___ReduceAction840___action(val_t p0, val_t p1){
45901 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45902 val_t REGB0;
45903 val_t REGB1;
45904 val_t tmp;
45905 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45906 fra.me.file = LOCATE_parser;
45907 fra.me.line = 16554;
45908 fra.me.meth = LOCATE_parser___ReduceAction840___action;
45909 fra.me.has_broke = 0;
45910 fra.me.REG_size = 5;
45911 fra.me.nitni_local_ref_head = NULL;
45912 fra.me.REG[0] = NIT_NULL;
45913 fra.me.REG[1] = NIT_NULL;
45914 fra.me.REG[2] = NIT_NULL;
45915 fra.me.REG[3] = NIT_NULL;
45916 fra.me.REG[4] = NIT_NULL;
45917 fra.me.REG[0] = p0;
45918 fra.me.REG[1] = p1;
45919 /* parser/parser.nit:16556 */
45920 fra.me.REG[2] = NIT_NULL;
45921 /* parser/parser.nit:16557 */
45922 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45923 /* parser/parser.nit:16558 */
45924 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
45925 /* parser/parser.nit:16560 */
45926 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45927 if (UNTAG_Bool(REGB0)) {
45928 } else {
45929 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45930 if (UNTAG_Bool(REGB1)) {
45931 REGB1 = TAG_Bool(0);
45932 REGB0 = REGB1;
45933 } else {
45934 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
45935 REGB0 = REGB1;
45936 }
45937 }
45938 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45939 if (UNTAG_Bool(REGB0)) {
45940 /* parser/parser.nit:16561 */
45941 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
45942 }
45943 /* parser/parser.nit:16563 */
45944 fra.me.REG[2] = fra.me.REG[4];
45945 /* parser/parser.nit:16564 */
45946 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
45947 if (UNTAG_Bool(REGB0)) {
45948 } else {
45949 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16564);
45950 }
45951 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
45952 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
45953 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
45954 stack_frame_head = fra.me.prev;
45955 return;
45956 }
45957 static const char LOCATE_parser___ReduceAction841___action[] = "parser::ReduceAction841::(parser::ReduceAction::action)";
45958 void parser___ReduceAction841___action(val_t p0, val_t p1){
45959 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45960 val_t REGB0;
45961 val_t REGB1;
45962 val_t tmp;
45963 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45964 fra.me.file = LOCATE_parser;
45965 fra.me.line = 16569;
45966 fra.me.meth = LOCATE_parser___ReduceAction841___action;
45967 fra.me.has_broke = 0;
45968 fra.me.REG_size = 6;
45969 fra.me.nitni_local_ref_head = NULL;
45970 fra.me.REG[0] = NIT_NULL;
45971 fra.me.REG[1] = NIT_NULL;
45972 fra.me.REG[2] = NIT_NULL;
45973 fra.me.REG[3] = NIT_NULL;
45974 fra.me.REG[4] = NIT_NULL;
45975 fra.me.REG[5] = NIT_NULL;
45976 fra.me.REG[0] = p0;
45977 fra.me.REG[1] = p1;
45978 /* parser/parser.nit:16571 */
45979 fra.me.REG[2] = NIT_NULL;
45980 /* parser/parser.nit:16572 */
45981 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45982 /* parser/parser.nit:16573 */
45983 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
45984 /* parser/parser.nit:16574 */
45985 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
45986 /* parser/parser.nit:16576 */
45987 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]*/;
45988 if (UNTAG_Bool(REGB0)) {
45989 } else {
45990 nit_abort("Assert failed", NULL, LOCATE_parser, 16576);
45991 }
45992 /* parser/parser.nit:16578 */
45993 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
45994 fra.me.REG[5] = fra.me.REG[4];
45995 /* parser/parser.nit:16579 */
45996 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45997 if (UNTAG_Bool(REGB0)) {
45998 } else {
45999 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46000 if (UNTAG_Bool(REGB1)) {
46001 REGB1 = TAG_Bool(0);
46002 REGB0 = REGB1;
46003 } else {
46004 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46005 REGB0 = REGB1;
46006 }
46007 }
46008 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46009 if (UNTAG_Bool(REGB0)) {
46010 /* parser/parser.nit:16580 */
46011 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46012 }
46013 /* parser/parser.nit:16582 */
46014 fra.me.REG[2] = fra.me.REG[5];
46015 /* parser/parser.nit:16583 */
46016 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46017 if (UNTAG_Bool(REGB0)) {
46018 } else {
46019 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16583);
46020 }
46021 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46022 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46023 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46024 stack_frame_head = fra.me.prev;
46025 return;
46026 }
46027 static const char LOCATE_parser___ReduceAction844___action[] = "parser::ReduceAction844::(parser::ReduceAction::action)";
46028 void parser___ReduceAction844___action(val_t p0, val_t p1){
46029 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46030 val_t REGB0;
46031 val_t REGB1;
46032 val_t tmp;
46033 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46034 fra.me.file = LOCATE_parser;
46035 fra.me.line = 16588;
46036 fra.me.meth = LOCATE_parser___ReduceAction844___action;
46037 fra.me.has_broke = 0;
46038 fra.me.REG_size = 5;
46039 fra.me.nitni_local_ref_head = NULL;
46040 fra.me.REG[0] = NIT_NULL;
46041 fra.me.REG[1] = NIT_NULL;
46042 fra.me.REG[2] = NIT_NULL;
46043 fra.me.REG[3] = NIT_NULL;
46044 fra.me.REG[4] = NIT_NULL;
46045 fra.me.REG[0] = p0;
46046 fra.me.REG[1] = p1;
46047 /* parser/parser.nit:16590 */
46048 fra.me.REG[2] = NIT_NULL;
46049 /* parser/parser.nit:16591 */
46050 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46051 /* parser/parser.nit:16592 */
46052 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
46053 /* parser/parser.nit:16594 */
46054 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46055 if (UNTAG_Bool(REGB0)) {
46056 } else {
46057 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46058 if (UNTAG_Bool(REGB1)) {
46059 REGB1 = TAG_Bool(0);
46060 REGB0 = REGB1;
46061 } else {
46062 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46063 REGB0 = REGB1;
46064 }
46065 }
46066 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46067 if (UNTAG_Bool(REGB0)) {
46068 /* parser/parser.nit:16595 */
46069 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
46070 }
46071 /* parser/parser.nit:16597 */
46072 fra.me.REG[2] = fra.me.REG[4];
46073 /* parser/parser.nit:16598 */
46074 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46075 if (UNTAG_Bool(REGB0)) {
46076 } else {
46077 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16598);
46078 }
46079 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46080 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46081 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46082 stack_frame_head = fra.me.prev;
46083 return;
46084 }
46085 static const char LOCATE_parser___ReduceAction845___action[] = "parser::ReduceAction845::(parser::ReduceAction::action)";
46086 void parser___ReduceAction845___action(val_t p0, val_t p1){
46087 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46088 val_t REGB0;
46089 val_t REGB1;
46090 val_t tmp;
46091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46092 fra.me.file = LOCATE_parser;
46093 fra.me.line = 16603;
46094 fra.me.meth = LOCATE_parser___ReduceAction845___action;
46095 fra.me.has_broke = 0;
46096 fra.me.REG_size = 6;
46097 fra.me.nitni_local_ref_head = NULL;
46098 fra.me.REG[0] = NIT_NULL;
46099 fra.me.REG[1] = NIT_NULL;
46100 fra.me.REG[2] = NIT_NULL;
46101 fra.me.REG[3] = NIT_NULL;
46102 fra.me.REG[4] = NIT_NULL;
46103 fra.me.REG[5] = NIT_NULL;
46104 fra.me.REG[0] = p0;
46105 fra.me.REG[1] = p1;
46106 /* parser/parser.nit:16605 */
46107 fra.me.REG[2] = NIT_NULL;
46108 /* parser/parser.nit:16606 */
46109 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46110 /* parser/parser.nit:16607 */
46111 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46112 /* parser/parser.nit:16608 */
46113 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46114 /* parser/parser.nit:16610 */
46115 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]*/;
46116 if (UNTAG_Bool(REGB0)) {
46117 } else {
46118 nit_abort("Assert failed", NULL, LOCATE_parser, 16610);
46119 }
46120 /* parser/parser.nit:16612 */
46121 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46122 fra.me.REG[5] = fra.me.REG[4];
46123 /* parser/parser.nit:16613 */
46124 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46125 if (UNTAG_Bool(REGB0)) {
46126 } else {
46127 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46128 if (UNTAG_Bool(REGB1)) {
46129 REGB1 = TAG_Bool(0);
46130 REGB0 = REGB1;
46131 } else {
46132 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46133 REGB0 = REGB1;
46134 }
46135 }
46136 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46137 if (UNTAG_Bool(REGB0)) {
46138 /* parser/parser.nit:16614 */
46139 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46140 }
46141 /* parser/parser.nit:16616 */
46142 fra.me.REG[2] = fra.me.REG[5];
46143 /* parser/parser.nit:16617 */
46144 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46145 if (UNTAG_Bool(REGB0)) {
46146 } else {
46147 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16617);
46148 }
46149 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46150 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46151 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46152 stack_frame_head = fra.me.prev;
46153 return;
46154 }
46155 static const char LOCATE_parser___ReduceAction846___action[] = "parser::ReduceAction846::(parser::ReduceAction::action)";
46156 void parser___ReduceAction846___action(val_t p0, val_t p1){
46157 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46158 val_t REGB0;
46159 val_t REGB1;
46160 val_t tmp;
46161 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46162 fra.me.file = LOCATE_parser;
46163 fra.me.line = 16622;
46164 fra.me.meth = LOCATE_parser___ReduceAction846___action;
46165 fra.me.has_broke = 0;
46166 fra.me.REG_size = 5;
46167 fra.me.nitni_local_ref_head = NULL;
46168 fra.me.REG[0] = NIT_NULL;
46169 fra.me.REG[1] = NIT_NULL;
46170 fra.me.REG[2] = NIT_NULL;
46171 fra.me.REG[3] = NIT_NULL;
46172 fra.me.REG[4] = NIT_NULL;
46173 fra.me.REG[0] = p0;
46174 fra.me.REG[1] = p1;
46175 /* parser/parser.nit:16624 */
46176 fra.me.REG[2] = NIT_NULL;
46177 /* parser/parser.nit:16625 */
46178 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46179 /* parser/parser.nit:16626 */
46180 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
46181 /* parser/parser.nit:16628 */
46182 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46183 if (UNTAG_Bool(REGB0)) {
46184 } else {
46185 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46186 if (UNTAG_Bool(REGB1)) {
46187 REGB1 = TAG_Bool(0);
46188 REGB0 = REGB1;
46189 } else {
46190 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46191 REGB0 = REGB1;
46192 }
46193 }
46194 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46195 if (UNTAG_Bool(REGB0)) {
46196 /* parser/parser.nit:16629 */
46197 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
46198 }
46199 /* parser/parser.nit:16631 */
46200 fra.me.REG[2] = fra.me.REG[4];
46201 /* parser/parser.nit:16632 */
46202 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46203 if (UNTAG_Bool(REGB0)) {
46204 } else {
46205 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16632);
46206 }
46207 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46208 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46209 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46210 stack_frame_head = fra.me.prev;
46211 return;
46212 }
46213 static const char LOCATE_parser___ReduceAction847___action[] = "parser::ReduceAction847::(parser::ReduceAction::action)";
46214 void parser___ReduceAction847___action(val_t p0, val_t p1){
46215 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46216 val_t REGB0;
46217 val_t REGB1;
46218 val_t tmp;
46219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46220 fra.me.file = LOCATE_parser;
46221 fra.me.line = 16637;
46222 fra.me.meth = LOCATE_parser___ReduceAction847___action;
46223 fra.me.has_broke = 0;
46224 fra.me.REG_size = 6;
46225 fra.me.nitni_local_ref_head = NULL;
46226 fra.me.REG[0] = NIT_NULL;
46227 fra.me.REG[1] = NIT_NULL;
46228 fra.me.REG[2] = NIT_NULL;
46229 fra.me.REG[3] = NIT_NULL;
46230 fra.me.REG[4] = NIT_NULL;
46231 fra.me.REG[5] = NIT_NULL;
46232 fra.me.REG[0] = p0;
46233 fra.me.REG[1] = p1;
46234 /* parser/parser.nit:16639 */
46235 fra.me.REG[2] = NIT_NULL;
46236 /* parser/parser.nit:16640 */
46237 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46238 /* parser/parser.nit:16641 */
46239 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46240 /* parser/parser.nit:16642 */
46241 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46242 /* parser/parser.nit:16644 */
46243 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]*/;
46244 if (UNTAG_Bool(REGB0)) {
46245 } else {
46246 nit_abort("Assert failed", NULL, LOCATE_parser, 16644);
46247 }
46248 /* parser/parser.nit:16646 */
46249 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46250 fra.me.REG[5] = fra.me.REG[4];
46251 /* parser/parser.nit:16647 */
46252 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46253 if (UNTAG_Bool(REGB0)) {
46254 } else {
46255 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46256 if (UNTAG_Bool(REGB1)) {
46257 REGB1 = TAG_Bool(0);
46258 REGB0 = REGB1;
46259 } else {
46260 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46261 REGB0 = REGB1;
46262 }
46263 }
46264 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46265 if (UNTAG_Bool(REGB0)) {
46266 /* parser/parser.nit:16648 */
46267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46268 }
46269 /* parser/parser.nit:16650 */
46270 fra.me.REG[2] = fra.me.REG[5];
46271 /* parser/parser.nit:16651 */
46272 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46273 if (UNTAG_Bool(REGB0)) {
46274 } else {
46275 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16651);
46276 }
46277 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46278 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46279 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46280 stack_frame_head = fra.me.prev;
46281 return;
46282 }
46283 static const char LOCATE_parser___ReduceAction848___action[] = "parser::ReduceAction848::(parser::ReduceAction::action)";
46284 void parser___ReduceAction848___action(val_t p0, val_t p1){
46285 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46286 val_t REGB0;
46287 val_t REGB1;
46288 val_t tmp;
46289 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46290 fra.me.file = LOCATE_parser;
46291 fra.me.line = 16656;
46292 fra.me.meth = LOCATE_parser___ReduceAction848___action;
46293 fra.me.has_broke = 0;
46294 fra.me.REG_size = 5;
46295 fra.me.nitni_local_ref_head = NULL;
46296 fra.me.REG[0] = NIT_NULL;
46297 fra.me.REG[1] = NIT_NULL;
46298 fra.me.REG[2] = NIT_NULL;
46299 fra.me.REG[3] = NIT_NULL;
46300 fra.me.REG[4] = NIT_NULL;
46301 fra.me.REG[0] = p0;
46302 fra.me.REG[1] = p1;
46303 /* parser/parser.nit:16658 */
46304 fra.me.REG[2] = NIT_NULL;
46305 /* parser/parser.nit:16659 */
46306 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46307 /* parser/parser.nit:16660 */
46308 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
46309 /* parser/parser.nit:16662 */
46310 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46311 if (UNTAG_Bool(REGB0)) {
46312 } else {
46313 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46314 if (UNTAG_Bool(REGB1)) {
46315 REGB1 = TAG_Bool(0);
46316 REGB0 = REGB1;
46317 } else {
46318 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46319 REGB0 = REGB1;
46320 }
46321 }
46322 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46323 if (UNTAG_Bool(REGB0)) {
46324 /* parser/parser.nit:16663 */
46325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
46326 }
46327 /* parser/parser.nit:16665 */
46328 fra.me.REG[2] = fra.me.REG[4];
46329 /* parser/parser.nit:16666 */
46330 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46331 if (UNTAG_Bool(REGB0)) {
46332 } else {
46333 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16666);
46334 }
46335 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46336 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46337 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46338 stack_frame_head = fra.me.prev;
46339 return;
46340 }
46341 static const char LOCATE_parser___ReduceAction849___action[] = "parser::ReduceAction849::(parser::ReduceAction::action)";
46342 void parser___ReduceAction849___action(val_t p0, val_t p1){
46343 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46344 val_t REGB0;
46345 val_t REGB1;
46346 val_t tmp;
46347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46348 fra.me.file = LOCATE_parser;
46349 fra.me.line = 16671;
46350 fra.me.meth = LOCATE_parser___ReduceAction849___action;
46351 fra.me.has_broke = 0;
46352 fra.me.REG_size = 6;
46353 fra.me.nitni_local_ref_head = NULL;
46354 fra.me.REG[0] = NIT_NULL;
46355 fra.me.REG[1] = NIT_NULL;
46356 fra.me.REG[2] = NIT_NULL;
46357 fra.me.REG[3] = NIT_NULL;
46358 fra.me.REG[4] = NIT_NULL;
46359 fra.me.REG[5] = NIT_NULL;
46360 fra.me.REG[0] = p0;
46361 fra.me.REG[1] = p1;
46362 /* parser/parser.nit:16673 */
46363 fra.me.REG[2] = NIT_NULL;
46364 /* parser/parser.nit:16674 */
46365 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46366 /* parser/parser.nit:16675 */
46367 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46368 /* parser/parser.nit:16676 */
46369 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46370 /* parser/parser.nit:16678 */
46371 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]*/;
46372 if (UNTAG_Bool(REGB0)) {
46373 } else {
46374 nit_abort("Assert failed", NULL, LOCATE_parser, 16678);
46375 }
46376 /* parser/parser.nit:16680 */
46377 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46378 fra.me.REG[5] = fra.me.REG[4];
46379 /* parser/parser.nit:16681 */
46380 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46381 if (UNTAG_Bool(REGB0)) {
46382 } else {
46383 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46384 if (UNTAG_Bool(REGB1)) {
46385 REGB1 = TAG_Bool(0);
46386 REGB0 = REGB1;
46387 } else {
46388 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46389 REGB0 = REGB1;
46390 }
46391 }
46392 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46393 if (UNTAG_Bool(REGB0)) {
46394 /* parser/parser.nit:16682 */
46395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46396 }
46397 /* parser/parser.nit:16684 */
46398 fra.me.REG[2] = fra.me.REG[5];
46399 /* parser/parser.nit:16685 */
46400 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46401 if (UNTAG_Bool(REGB0)) {
46402 } else {
46403 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16685);
46404 }
46405 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46406 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46407 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46408 stack_frame_head = fra.me.prev;
46409 return;
46410 }
46411 static const char LOCATE_parser___ReduceAction850___action[] = "parser::ReduceAction850::(parser::ReduceAction::action)";
46412 void parser___ReduceAction850___action(val_t p0, val_t p1){
46413 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46414 val_t REGB0;
46415 val_t REGB1;
46416 val_t tmp;
46417 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46418 fra.me.file = LOCATE_parser;
46419 fra.me.line = 16690;
46420 fra.me.meth = LOCATE_parser___ReduceAction850___action;
46421 fra.me.has_broke = 0;
46422 fra.me.REG_size = 5;
46423 fra.me.nitni_local_ref_head = NULL;
46424 fra.me.REG[0] = NIT_NULL;
46425 fra.me.REG[1] = NIT_NULL;
46426 fra.me.REG[2] = NIT_NULL;
46427 fra.me.REG[3] = NIT_NULL;
46428 fra.me.REG[4] = NIT_NULL;
46429 fra.me.REG[0] = p0;
46430 fra.me.REG[1] = p1;
46431 /* parser/parser.nit:16692 */
46432 fra.me.REG[2] = NIT_NULL;
46433 /* parser/parser.nit:16693 */
46434 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46435 /* parser/parser.nit:16694 */
46436 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
46437 /* parser/parser.nit:16696 */
46438 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46439 if (UNTAG_Bool(REGB0)) {
46440 } else {
46441 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46442 if (UNTAG_Bool(REGB1)) {
46443 REGB1 = TAG_Bool(0);
46444 REGB0 = REGB1;
46445 } else {
46446 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46447 REGB0 = REGB1;
46448 }
46449 }
46450 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46451 if (UNTAG_Bool(REGB0)) {
46452 /* parser/parser.nit:16697 */
46453 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
46454 }
46455 /* parser/parser.nit:16699 */
46456 fra.me.REG[2] = fra.me.REG[4];
46457 /* parser/parser.nit:16700 */
46458 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46459 if (UNTAG_Bool(REGB0)) {
46460 } else {
46461 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16700);
46462 }
46463 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46464 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46465 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46466 stack_frame_head = fra.me.prev;
46467 return;
46468 }
46469 static const char LOCATE_parser___ReduceAction851___action[] = "parser::ReduceAction851::(parser::ReduceAction::action)";
46470 void parser___ReduceAction851___action(val_t p0, val_t p1){
46471 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46472 val_t REGB0;
46473 val_t REGB1;
46474 val_t tmp;
46475 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46476 fra.me.file = LOCATE_parser;
46477 fra.me.line = 16705;
46478 fra.me.meth = LOCATE_parser___ReduceAction851___action;
46479 fra.me.has_broke = 0;
46480 fra.me.REG_size = 6;
46481 fra.me.nitni_local_ref_head = NULL;
46482 fra.me.REG[0] = NIT_NULL;
46483 fra.me.REG[1] = NIT_NULL;
46484 fra.me.REG[2] = NIT_NULL;
46485 fra.me.REG[3] = NIT_NULL;
46486 fra.me.REG[4] = NIT_NULL;
46487 fra.me.REG[5] = NIT_NULL;
46488 fra.me.REG[0] = p0;
46489 fra.me.REG[1] = p1;
46490 /* parser/parser.nit:16707 */
46491 fra.me.REG[2] = NIT_NULL;
46492 /* parser/parser.nit:16708 */
46493 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46494 /* parser/parser.nit:16709 */
46495 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46496 /* parser/parser.nit:16710 */
46497 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46498 /* parser/parser.nit:16712 */
46499 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]*/;
46500 if (UNTAG_Bool(REGB0)) {
46501 } else {
46502 nit_abort("Assert failed", NULL, LOCATE_parser, 16712);
46503 }
46504 /* parser/parser.nit:16714 */
46505 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46506 fra.me.REG[5] = fra.me.REG[4];
46507 /* parser/parser.nit:16715 */
46508 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46509 if (UNTAG_Bool(REGB0)) {
46510 } else {
46511 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46512 if (UNTAG_Bool(REGB1)) {
46513 REGB1 = TAG_Bool(0);
46514 REGB0 = REGB1;
46515 } else {
46516 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46517 REGB0 = REGB1;
46518 }
46519 }
46520 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46521 if (UNTAG_Bool(REGB0)) {
46522 /* parser/parser.nit:16716 */
46523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46524 }
46525 /* parser/parser.nit:16718 */
46526 fra.me.REG[2] = fra.me.REG[5];
46527 /* parser/parser.nit:16719 */
46528 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46529 if (UNTAG_Bool(REGB0)) {
46530 } else {
46531 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16719);
46532 }
46533 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46534 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46535 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46536 stack_frame_head = fra.me.prev;
46537 return;
46538 }
46539 static const char LOCATE_parser___ReduceAction853___action[] = "parser::ReduceAction853::(parser::ReduceAction::action)";
46540 void parser___ReduceAction853___action(val_t p0, val_t p1){
46541 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46542 val_t REGB0;
46543 val_t REGB1;
46544 val_t tmp;
46545 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46546 fra.me.file = LOCATE_parser;
46547 fra.me.line = 16724;
46548 fra.me.meth = LOCATE_parser___ReduceAction853___action;
46549 fra.me.has_broke = 0;
46550 fra.me.REG_size = 6;
46551 fra.me.nitni_local_ref_head = NULL;
46552 fra.me.REG[0] = NIT_NULL;
46553 fra.me.REG[1] = NIT_NULL;
46554 fra.me.REG[2] = NIT_NULL;
46555 fra.me.REG[3] = NIT_NULL;
46556 fra.me.REG[4] = NIT_NULL;
46557 fra.me.REG[5] = NIT_NULL;
46558 fra.me.REG[0] = p0;
46559 fra.me.REG[1] = p1;
46560 /* parser/parser.nit:16726 */
46561 fra.me.REG[2] = NIT_NULL;
46562 /* parser/parser.nit:16727 */
46563 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46564 /* parser/parser.nit:16728 */
46565 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46566 /* parser/parser.nit:16729 */
46567 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46568 /* parser/parser.nit:16731 */
46569 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]*/;
46570 if (UNTAG_Bool(REGB0)) {
46571 } else {
46572 nit_abort("Assert failed", NULL, LOCATE_parser, 16731);
46573 }
46574 /* parser/parser.nit:16733 */
46575 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46576 fra.me.REG[5] = fra.me.REG[4];
46577 /* parser/parser.nit:16734 */
46578 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46579 if (UNTAG_Bool(REGB0)) {
46580 } else {
46581 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46582 if (UNTAG_Bool(REGB1)) {
46583 REGB1 = TAG_Bool(0);
46584 REGB0 = REGB1;
46585 } else {
46586 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46587 REGB0 = REGB1;
46588 }
46589 }
46590 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46591 if (UNTAG_Bool(REGB0)) {
46592 /* parser/parser.nit:16735 */
46593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46594 }
46595 /* parser/parser.nit:16737 */
46596 fra.me.REG[2] = fra.me.REG[5];
46597 /* parser/parser.nit:16738 */
46598 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46599 if (UNTAG_Bool(REGB0)) {
46600 } else {
46601 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16738);
46602 }
46603 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46604 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46605 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46606 stack_frame_head = fra.me.prev;
46607 return;
46608 }
46609 static const char LOCATE_parser___ReduceAction854___action[] = "parser::ReduceAction854::(parser::ReduceAction::action)";
46610 void parser___ReduceAction854___action(val_t p0, val_t p1){
46611 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46612 val_t REGB0;
46613 val_t REGB1;
46614 val_t tmp;
46615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46616 fra.me.file = LOCATE_parser;
46617 fra.me.line = 16743;
46618 fra.me.meth = LOCATE_parser___ReduceAction854___action;
46619 fra.me.has_broke = 0;
46620 fra.me.REG_size = 5;
46621 fra.me.nitni_local_ref_head = NULL;
46622 fra.me.REG[0] = NIT_NULL;
46623 fra.me.REG[1] = NIT_NULL;
46624 fra.me.REG[2] = NIT_NULL;
46625 fra.me.REG[3] = NIT_NULL;
46626 fra.me.REG[4] = NIT_NULL;
46627 fra.me.REG[0] = p0;
46628 fra.me.REG[1] = p1;
46629 /* parser/parser.nit:16745 */
46630 fra.me.REG[2] = NIT_NULL;
46631 /* parser/parser.nit:16746 */
46632 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46633 /* parser/parser.nit:16747 */
46634 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
46635 /* parser/parser.nit:16749 */
46636 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46637 if (UNTAG_Bool(REGB0)) {
46638 } else {
46639 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46640 if (UNTAG_Bool(REGB1)) {
46641 REGB1 = TAG_Bool(0);
46642 REGB0 = REGB1;
46643 } else {
46644 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46645 REGB0 = REGB1;
46646 }
46647 }
46648 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46649 if (UNTAG_Bool(REGB0)) {
46650 /* parser/parser.nit:16750 */
46651 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
46652 }
46653 /* parser/parser.nit:16752 */
46654 fra.me.REG[2] = fra.me.REG[4];
46655 /* parser/parser.nit:16753 */
46656 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46657 if (UNTAG_Bool(REGB0)) {
46658 } else {
46659 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16753);
46660 }
46661 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46662 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46663 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46664 stack_frame_head = fra.me.prev;
46665 return;
46666 }
46667 static const char LOCATE_parser___ReduceAction855___action[] = "parser::ReduceAction855::(parser::ReduceAction::action)";
46668 void parser___ReduceAction855___action(val_t p0, val_t p1){
46669 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46670 val_t REGB0;
46671 val_t REGB1;
46672 val_t tmp;
46673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46674 fra.me.file = LOCATE_parser;
46675 fra.me.line = 16758;
46676 fra.me.meth = LOCATE_parser___ReduceAction855___action;
46677 fra.me.has_broke = 0;
46678 fra.me.REG_size = 6;
46679 fra.me.nitni_local_ref_head = NULL;
46680 fra.me.REG[0] = NIT_NULL;
46681 fra.me.REG[1] = NIT_NULL;
46682 fra.me.REG[2] = NIT_NULL;
46683 fra.me.REG[3] = NIT_NULL;
46684 fra.me.REG[4] = NIT_NULL;
46685 fra.me.REG[5] = NIT_NULL;
46686 fra.me.REG[0] = p0;
46687 fra.me.REG[1] = p1;
46688 /* parser/parser.nit:16760 */
46689 fra.me.REG[2] = NIT_NULL;
46690 /* parser/parser.nit:16761 */
46691 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46692 /* parser/parser.nit:16762 */
46693 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46694 /* parser/parser.nit:16763 */
46695 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46696 /* parser/parser.nit:16765 */
46697 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]*/;
46698 if (UNTAG_Bool(REGB0)) {
46699 } else {
46700 nit_abort("Assert failed", NULL, LOCATE_parser, 16765);
46701 }
46702 /* parser/parser.nit:16767 */
46703 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46704 fra.me.REG[5] = fra.me.REG[4];
46705 /* parser/parser.nit:16768 */
46706 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46707 if (UNTAG_Bool(REGB0)) {
46708 } else {
46709 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46710 if (UNTAG_Bool(REGB1)) {
46711 REGB1 = TAG_Bool(0);
46712 REGB0 = REGB1;
46713 } else {
46714 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46715 REGB0 = REGB1;
46716 }
46717 }
46718 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46719 if (UNTAG_Bool(REGB0)) {
46720 /* parser/parser.nit:16769 */
46721 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46722 }
46723 /* parser/parser.nit:16771 */
46724 fra.me.REG[2] = fra.me.REG[5];
46725 /* parser/parser.nit:16772 */
46726 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46727 if (UNTAG_Bool(REGB0)) {
46728 } else {
46729 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16772);
46730 }
46731 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46732 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46733 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46734 stack_frame_head = fra.me.prev;
46735 return;
46736 }
46737 static const char LOCATE_parser___ReduceAction857___action[] = "parser::ReduceAction857::(parser::ReduceAction::action)";
46738 void parser___ReduceAction857___action(val_t p0, val_t p1){
46739 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46740 val_t REGB0;
46741 val_t tmp;
46742 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46743 fra.me.file = LOCATE_parser;
46744 fra.me.line = 16777;
46745 fra.me.meth = LOCATE_parser___ReduceAction857___action;
46746 fra.me.has_broke = 0;
46747 fra.me.REG_size = 6;
46748 fra.me.nitni_local_ref_head = NULL;
46749 fra.me.REG[0] = NIT_NULL;
46750 fra.me.REG[1] = NIT_NULL;
46751 fra.me.REG[2] = NIT_NULL;
46752 fra.me.REG[3] = NIT_NULL;
46753 fra.me.REG[4] = NIT_NULL;
46754 fra.me.REG[5] = NIT_NULL;
46755 fra.me.REG[0] = p0;
46756 fra.me.REG[1] = p1;
46757 /* parser/parser.nit:16779 */
46758 fra.me.REG[2] = NIT_NULL;
46759 /* parser/parser.nit:16780 */
46760 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46761 /* parser/parser.nit:16781 */
46762 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46763 /* parser/parser.nit:16782 */
46764 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46765 /* parser/parser.nit:16784 */
46766 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]*/;
46767 if (UNTAG_Bool(REGB0)) {
46768 } else {
46769 nit_abort("Assert failed", NULL, LOCATE_parser, 16784);
46770 }
46771 /* parser/parser.nit:16786 */
46772 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]*/;
46773 if (UNTAG_Bool(REGB0)) {
46774 } else {
46775 nit_abort("Assert failed", NULL, LOCATE_parser, 16786);
46776 }
46777 /* parser/parser.nit:16787 */
46778 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46779 fra.me.REG[5] = fra.me.REG[4];
46780 /* parser/parser.nit:16788 */
46781 fra.me.REG[3] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[3]);
46782 fra.me.REG[5] = fra.me.REG[3];
46783 /* parser/parser.nit:16789 */
46784 fra.me.REG[2] = fra.me.REG[5];
46785 /* parser/parser.nit:16790 */
46786 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46787 if (UNTAG_Bool(REGB0)) {
46788 } else {
46789 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16790);
46790 }
46791 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46792 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46793 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46794 stack_frame_head = fra.me.prev;
46795 return;
46796 }
46797 static const char LOCATE_parser___ReduceAction861___action[] = "parser::ReduceAction861::(parser::ReduceAction::action)";
46798 void parser___ReduceAction861___action(val_t p0, val_t p1){
46799 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46800 val_t REGB0;
46801 val_t REGB1;
46802 val_t tmp;
46803 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46804 fra.me.file = LOCATE_parser;
46805 fra.me.line = 16795;
46806 fra.me.meth = LOCATE_parser___ReduceAction861___action;
46807 fra.me.has_broke = 0;
46808 fra.me.REG_size = 6;
46809 fra.me.nitni_local_ref_head = NULL;
46810 fra.me.REG[0] = NIT_NULL;
46811 fra.me.REG[1] = NIT_NULL;
46812 fra.me.REG[2] = NIT_NULL;
46813 fra.me.REG[3] = NIT_NULL;
46814 fra.me.REG[4] = NIT_NULL;
46815 fra.me.REG[5] = NIT_NULL;
46816 fra.me.REG[0] = p0;
46817 fra.me.REG[1] = p1;
46818 /* parser/parser.nit:16797 */
46819 fra.me.REG[2] = NIT_NULL;
46820 /* parser/parser.nit:16798 */
46821 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46822 /* parser/parser.nit:16799 */
46823 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46824 /* parser/parser.nit:16800 */
46825 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46826 /* parser/parser.nit:16802 */
46827 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]*/;
46828 if (UNTAG_Bool(REGB0)) {
46829 } else {
46830 nit_abort("Assert failed", NULL, LOCATE_parser, 16802);
46831 }
46832 /* parser/parser.nit:16804 */
46833 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46834 fra.me.REG[5] = fra.me.REG[4];
46835 /* parser/parser.nit:16805 */
46836 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46837 if (UNTAG_Bool(REGB0)) {
46838 } else {
46839 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46840 if (UNTAG_Bool(REGB1)) {
46841 REGB1 = TAG_Bool(0);
46842 REGB0 = REGB1;
46843 } else {
46844 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46845 REGB0 = REGB1;
46846 }
46847 }
46848 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46849 if (UNTAG_Bool(REGB0)) {
46850 /* parser/parser.nit:16806 */
46851 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46852 }
46853 /* parser/parser.nit:16808 */
46854 fra.me.REG[2] = fra.me.REG[5];
46855 /* parser/parser.nit:16809 */
46856 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46857 if (UNTAG_Bool(REGB0)) {
46858 } else {
46859 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16809);
46860 }
46861 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46862 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46863 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46864 stack_frame_head = fra.me.prev;
46865 return;
46866 }
46867 static const char LOCATE_parser___ReduceAction862___action[] = "parser::ReduceAction862::(parser::ReduceAction::action)";
46868 void parser___ReduceAction862___action(val_t p0, val_t p1){
46869 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46870 val_t REGB0;
46871 val_t REGB1;
46872 val_t tmp;
46873 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46874 fra.me.file = LOCATE_parser;
46875 fra.me.line = 16814;
46876 fra.me.meth = LOCATE_parser___ReduceAction862___action;
46877 fra.me.has_broke = 0;
46878 fra.me.REG_size = 5;
46879 fra.me.nitni_local_ref_head = NULL;
46880 fra.me.REG[0] = NIT_NULL;
46881 fra.me.REG[1] = NIT_NULL;
46882 fra.me.REG[2] = NIT_NULL;
46883 fra.me.REG[3] = NIT_NULL;
46884 fra.me.REG[4] = NIT_NULL;
46885 fra.me.REG[0] = p0;
46886 fra.me.REG[1] = p1;
46887 /* parser/parser.nit:16816 */
46888 fra.me.REG[2] = NIT_NULL;
46889 /* parser/parser.nit:16817 */
46890 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46891 /* parser/parser.nit:16818 */
46892 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
46893 /* parser/parser.nit:16820 */
46894 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46895 if (UNTAG_Bool(REGB0)) {
46896 } else {
46897 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46898 if (UNTAG_Bool(REGB1)) {
46899 REGB1 = TAG_Bool(0);
46900 REGB0 = REGB1;
46901 } else {
46902 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46903 REGB0 = REGB1;
46904 }
46905 }
46906 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46907 if (UNTAG_Bool(REGB0)) {
46908 /* parser/parser.nit:16821 */
46909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
46910 }
46911 /* parser/parser.nit:16823 */
46912 fra.me.REG[2] = fra.me.REG[4];
46913 /* parser/parser.nit:16824 */
46914 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46915 if (UNTAG_Bool(REGB0)) {
46916 } else {
46917 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16824);
46918 }
46919 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46920 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46921 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46922 stack_frame_head = fra.me.prev;
46923 return;
46924 }
46925 static const char LOCATE_parser___ReduceAction863___action[] = "parser::ReduceAction863::(parser::ReduceAction::action)";
46926 void parser___ReduceAction863___action(val_t p0, val_t p1){
46927 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
46928 val_t REGB0;
46929 val_t REGB1;
46930 val_t tmp;
46931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46932 fra.me.file = LOCATE_parser;
46933 fra.me.line = 16829;
46934 fra.me.meth = LOCATE_parser___ReduceAction863___action;
46935 fra.me.has_broke = 0;
46936 fra.me.REG_size = 6;
46937 fra.me.nitni_local_ref_head = NULL;
46938 fra.me.REG[0] = NIT_NULL;
46939 fra.me.REG[1] = NIT_NULL;
46940 fra.me.REG[2] = NIT_NULL;
46941 fra.me.REG[3] = NIT_NULL;
46942 fra.me.REG[4] = NIT_NULL;
46943 fra.me.REG[5] = NIT_NULL;
46944 fra.me.REG[0] = p0;
46945 fra.me.REG[1] = p1;
46946 /* parser/parser.nit:16831 */
46947 fra.me.REG[2] = NIT_NULL;
46948 /* parser/parser.nit:16832 */
46949 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46950 /* parser/parser.nit:16833 */
46951 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
46952 /* parser/parser.nit:16834 */
46953 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
46954 /* parser/parser.nit:16836 */
46955 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]*/;
46956 if (UNTAG_Bool(REGB0)) {
46957 } else {
46958 nit_abort("Assert failed", NULL, LOCATE_parser, 16836);
46959 }
46960 /* parser/parser.nit:16838 */
46961 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
46962 fra.me.REG[5] = fra.me.REG[4];
46963 /* parser/parser.nit:16839 */
46964 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46965 if (UNTAG_Bool(REGB0)) {
46966 } else {
46967 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
46968 if (UNTAG_Bool(REGB1)) {
46969 REGB1 = TAG_Bool(0);
46970 REGB0 = REGB1;
46971 } else {
46972 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
46973 REGB0 = REGB1;
46974 }
46975 }
46976 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46977 if (UNTAG_Bool(REGB0)) {
46978 /* parser/parser.nit:16840 */
46979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
46980 }
46981 /* parser/parser.nit:16842 */
46982 fra.me.REG[2] = fra.me.REG[5];
46983 /* parser/parser.nit:16843 */
46984 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
46985 if (UNTAG_Bool(REGB0)) {
46986 } else {
46987 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16843);
46988 }
46989 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
46990 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
46991 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
46992 stack_frame_head = fra.me.prev;
46993 return;
46994 }
46995 static const char LOCATE_parser___ReduceAction864___action[] = "parser::ReduceAction864::(parser::ReduceAction::action)";
46996 void parser___ReduceAction864___action(val_t p0, val_t p1){
46997 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46998 val_t REGB0;
46999 val_t REGB1;
47000 val_t tmp;
47001 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47002 fra.me.file = LOCATE_parser;
47003 fra.me.line = 16848;
47004 fra.me.meth = LOCATE_parser___ReduceAction864___action;
47005 fra.me.has_broke = 0;
47006 fra.me.REG_size = 5;
47007 fra.me.nitni_local_ref_head = NULL;
47008 fra.me.REG[0] = NIT_NULL;
47009 fra.me.REG[1] = NIT_NULL;
47010 fra.me.REG[2] = NIT_NULL;
47011 fra.me.REG[3] = NIT_NULL;
47012 fra.me.REG[4] = NIT_NULL;
47013 fra.me.REG[0] = p0;
47014 fra.me.REG[1] = p1;
47015 /* parser/parser.nit:16850 */
47016 fra.me.REG[2] = NIT_NULL;
47017 /* parser/parser.nit:16851 */
47018 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47019 /* parser/parser.nit:16852 */
47020 fra.me.REG[4] = NEW_Array_standard___collection___array___Array___init();
47021 /* parser/parser.nit:16854 */
47022 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
47023 if (UNTAG_Bool(REGB0)) {
47024 } else {
47025 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
47026 if (UNTAG_Bool(REGB1)) {
47027 REGB1 = TAG_Bool(0);
47028 REGB0 = REGB1;
47029 } else {
47030 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
47031 REGB0 = REGB1;
47032 }
47033 }
47034 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47035 if (UNTAG_Bool(REGB0)) {
47036 /* parser/parser.nit:16855 */
47037 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
47038 }
47039 /* parser/parser.nit:16857 */
47040 fra.me.REG[2] = fra.me.REG[4];
47041 /* parser/parser.nit:16858 */
47042 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47043 if (UNTAG_Bool(REGB0)) {
47044 } else {
47045 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16858);
47046 }
47047 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47048 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47049 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47050 stack_frame_head = fra.me.prev;
47051 return;
47052 }
47053 static const char LOCATE_parser___ReduceAction865___action[] = "parser::ReduceAction865::(parser::ReduceAction::action)";
47054 void parser___ReduceAction865___action(val_t p0, val_t p1){
47055 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
47056 val_t REGB0;
47057 val_t REGB1;
47058 val_t tmp;
47059 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47060 fra.me.file = LOCATE_parser;
47061 fra.me.line = 16863;
47062 fra.me.meth = LOCATE_parser___ReduceAction865___action;
47063 fra.me.has_broke = 0;
47064 fra.me.REG_size = 6;
47065 fra.me.nitni_local_ref_head = NULL;
47066 fra.me.REG[0] = NIT_NULL;
47067 fra.me.REG[1] = NIT_NULL;
47068 fra.me.REG[2] = NIT_NULL;
47069 fra.me.REG[3] = NIT_NULL;
47070 fra.me.REG[4] = NIT_NULL;
47071 fra.me.REG[5] = NIT_NULL;
47072 fra.me.REG[0] = p0;
47073 fra.me.REG[1] = p1;
47074 /* parser/parser.nit:16865 */
47075 fra.me.REG[2] = NIT_NULL;
47076 /* parser/parser.nit:16866 */
47077 fra.me.REG[3] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47078 /* parser/parser.nit:16867 */
47079 fra.me.REG[4] = CALL_parser___Parser___pop(fra.me.REG[1])(fra.me.REG[1]);
47080 /* parser/parser.nit:16868 */
47081 fra.me.REG[5] = NEW_Array_standard___collection___array___Array___init();
47082 /* parser/parser.nit:16870 */
47083 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]*/;
47084 if (UNTAG_Bool(REGB0)) {
47085 } else {
47086 nit_abort("Assert failed", NULL, LOCATE_parser, 16870);
47087 }
47088 /* parser/parser.nit:16872 */
47089 fra.me.REG[4] = CALL_parser___ReduceAction___concat(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[5], fra.me.REG[4]);
47090 fra.me.REG[5] = fra.me.REG[4];
47091 /* parser/parser.nit:16873 */
47092 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
47093 if (UNTAG_Bool(REGB0)) {
47094 } else {
47095 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
47096 if (UNTAG_Bool(REGB1)) {
47097 REGB1 = TAG_Bool(0);
47098 REGB0 = REGB1;
47099 } else {
47100 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
47101 REGB0 = REGB1;
47102 }
47103 }
47104 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47105 if (UNTAG_Bool(REGB0)) {
47106 /* parser/parser.nit:16874 */
47107 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
47108 }
47109 /* parser/parser.nit:16876 */
47110 fra.me.REG[2] = fra.me.REG[5];
47111 /* parser/parser.nit:16877 */
47112 REGB0 = TAG_Bool(ATTR_parser___ReduceAction____goto(fra.me.REG[0])!=NIT_NULL);
47113 if (UNTAG_Bool(REGB0)) {
47114 } else {
47115 nit_abort("Uninitialized attribute %s", "_goto", LOCATE_parser, 16877);
47116 }
47117 REGB0 = ATTR_parser___ReduceAction____goto(fra.me.REG[0]);
47118 REGB0 = CALL_parser___Parser___go_to(fra.me.REG[1])(fra.me.REG[1], REGB0);
47119 CALL_parser___Parser___push(fra.me.REG[1])(fra.me.REG[1], REGB0, fra.me.REG[2]);
47120 stack_frame_head = fra.me.prev;
47121 return;
47122 }